Hi,
after few discussions with some devscripts maintainers, we decided to
build a new "version=5" format for debian/watch.
Principles:
* keep compatibility with versions 3 and 4, no need to change all
debian/watch files
* new version 5 format using the same syntax than other debian/* files
(rfc822 + "# comments")
* no option renaming (becomes case-insensitive to be compliant with
all formats)
* Version 5:
* Main (first) paragraph contains "Version: 5" and optional options
that change default values for source-paragraph
* URL and regex are separated
* Some default values change. For example, `dversionmangle` default
value will be "auto" (drop +dfsg, ~ds,...), uversionmangle=s/-/~/g,
filenamemangle=s/.*?(\d[\d\.]*@ARCHIVE_EXT@)/@PACKAGE@-$1/...
Example:
Version: 5
Source: https://...
Some new features to simplify debian/watch:
* a scheme option with the following values:
* "stable": digit-only versions (maybe default value)
* "semver": semver versions only (see semver.org)
* "any": version matching current @ANY_VERSION@ macro
Example:
Version: 5
Scheme: stable
Source: https://...
Component: foo
Source: https://...
Component: bar
Source: https://...
Scheme: semver
Then a current GitHub changes from:
version=4
opts=\
dversionmangle=auto,\
filenamemangle=s/.*?(\d[\d\.]*@ARCHIVE_EXT@/@PACKAGE@-$1/ \
https://github.com/foo/bar/tags .*/archive/.*/v?([\d\.]+).tar.gz
to:
Version: 5
Scheme: stable
Source: https://github.com/foo/bar/tags
Then to include rc/beta releases:
Version: 5
Scheme: semver
Source: https://github.com/foo/bar/tags
Version 5 adds also new macros (used by Scheme of course):
* @STABLE_VERSION@
* @SEMVER@
Uscan API will also provide a "write" function usable by a provided
script to convert old formats to new.
Of course, comments are welcome!
Cheers,
Yadd