An update checker.
lua5.4
lua-curl
To build a script bundle, lmerge is also needed.
$ cd src
$ make # creates rollmeow
$ chmod +x rollmeow
The bundled script rollmeow
could be run directly.
rollmeow [options] [PKGNAME1] [PKGNAME2] ...
For options,
--conf CONF
: useCONF
as configuration file--sync
: sync package cache before reporting--diff
: only print outdated packages--json
: JSON format output--info
: show information about a package--showmatch
: show regex matches, useful for debugging--manual
: show manually checked packages, which are omitted in output for compatibility.--verbose
: be verbose
Configuration file for rollmeow is simply a normal Lua program, which should return a table with fields listed below:
{
function string evalDownstream(string pkgname)
function string fetchUpstream(string url)
string cachePath
table packages
number connections
}
evalDownstream
: Returns downstream version string of packagepkgname
fetchUpstream
: (deprecated) Returns content ofurl
as a stringconnections
: Maximum number of concurrent fetch connections.cachePath
: A path to store upstream version caches.packages
: see next section
{
url: string
regex: string
postMatch: string function(string match)
filter: boolean function([string] verArray)
note: string
}
url
: URL to fetchregex
: A Lua regex, will be used to match version strings-
modifier is not available and is recognized as a normal character. A package omittingregex
property will be recognized as required manually checking.postMatch
: A hook to process matched results.filter
: Called with each matched version, should return false if this version should be ignored.verArray
is the version string splited by dot (.
)note
: An optional note to the package. Not used internally, but rollmeow adds special marks on packages with available notes. Could be listed with--info
.
url
is required for all packages.