[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

uscan roadmap



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


Reply to: