Skip to content

eweOS/rollmeow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rollmeow

An update checker.

Installation

Dependency

  • lua5.4
  • lua-curl

To build a script bundle, lmerge is also needed.

Build Script Bundle

	$ cd src
	$ make			# creates rollmeow
	$ chmod +x rollmeow

The bundled script rollmeow could be run directly.

Usage

	rollmeow [options] [PKGNAME1] [PKGNAME2] ...

For options,

  • --conf CONF: use CONF 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 Format

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 package pkgname
  • fetchUpstream: (deprecated) Returns content of url as a string
  • connections: Maximum number of concurrent fetch connections.
  • cachePath: A path to store upstream version caches.
  • packages: see next section

Package Format

{
	url:		string
	regex:		string
	postMatch:	string function(string match)
	filter:		boolean function([string] verArray)
	note:		string
}
  • url: URL to fetch
  • regex: A Lua regex, will be used to match version strings - modifier is not available and is recognized as a normal character. A package omitting regex 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.