• Debian/watch file does not ignore beta version

    From =?UTF-8?Q?Hilmar_Preu=c3=9fe?=@21:1/5 to debian mentors on Fri Jun 25 00:10:01 2021
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --xP6dle1XrbmPAxeOlYE8jp2JBsAggQfbf
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Language: en-GB
    Content-Transfer-Encoding: quoted-printable

    Hi,

    this is the current debian/watch file for proftp, it is not in the
    archive yet, just on salsa:

    version=4 opts=repack,compression=gz,repacksuffix=+dfsg,dversionmangle=s/\+dfsg//,\ uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\ pgpsigurlmangle=s@archive/refs/tags@releases/download@;\ s@v([^\/]+)\.tar\.gz@v$1/proftpd-$1\.tar\.gz@;\
    s/$/.asc/ \
    https://github.com/proftpd/proftpd/tags .*/v?(\d\S+)\.tar\.gz

    According to [1] the entry "uversionmangle=..." should handle the case
    that there could be beta/rc versions, which should be ignored. When
    doing an uscan now it downloads happily version v1.3.8rc1, which is
    available from upstream, instead of the expected 1.3.7b.

    What am I doing wrong?

    Hilmar

    [1] https://wiki.debian.org/debian/watch#Common_mistakes
    --
    sigfault



    --xP6dle1XrbmPAxeOlYE8jp2JBsAggQfbf--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEcp2AQcerGO6T86F6DIccTGU8H1kFAmDVALEFAwAAAAAACgkQDIccTGU8H1n3 eBAAgtA36Mv/17JXz6KLl3xu/WhfO/kbAKXImV/ozTe26US8/GbSyghEgF3wQ87SQHgv4x9HmGcy NVt9QNsxebfvZACgKujOpccUbSoCw/nuqbMhpxS5JPKdSH5xP6rn3x6drsGnPzBJO4uO7Ot0o1bJ cOEiV0mymhHushlBtttIJRPSHsW+PdTURG+mXjbSP9UvhfpIDEGP9vAuF09PyYM+SqimiqKe9SJ/ q2ZyJ0XAdmIE7TxS0KTieo9W5zh/io1p4QiWJpBSLxCRBBWOgcHucz8qASBkMFJz14fnhv/jiw3N Oloa0e0gi9plu4lSn2M58+NvL6IHnEQHiFSC6ybqoHKfben46fXKXEeig2yltO4K83BghLYiXp5v +n/KgQWXKR9vH8V59ihmLSh5WuN2nPNS2qyNqtTKqavrCH/fVWAH0+eaSyJgCWVgzfYp1lcuS7oP oZHYXscmMszbLj6HVtX28iAjhkHOsE4dWr9bQlVPHW0hqScLl2AHvqRUVJkjz2GmlhVLD4k704tG vzk76dL65XOrrc7trMNLA88FoHnICVvpPwLlFPsyFpzK8T/iPJzUV3QzbAZ5mxbnN6u8bdoEVAQv dSSR7qeQS6TldaMw7SiXn5HGjf0rphngpUNq05dFPp270hJznhB4rqktI7Ih5ZurYv768XP2tor1 uL8=
    =WS9I
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Paul Wise@21:1/5 to All on Fri Jun 25 03:40:01 2021
    On Thu, Jun 24, 2021 at 10:01 PM Hilmar Preuße wrote:

    uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
    ...
    According to [1] the entry "uversionmangle=..." should handle the case
    that there could be beta/rc versions, which should be ignored. When
    doing an uscan now it downloads happily version v1.3.8rc1, which is
    available from upstream, instead of the expected 1.3.7b.

    Using uscan --verbose helps diagnose the issue:

    uversionmangle just adds the ~ character into rc versions in the right
    place, it doesn't make the matched versions disappear. Since there is
    no v1.3.8 tag yet, the latest tag v1.3.8rc1 gets assigned version
    1.3.8~rc1, which is later than the 1.3.7b version.

    There are two ways to make the rc versions disappear:

    Make the version matching regex ignore them.

    Make uversionmangle change their versions so they are earlier than all
    the other versions.

    Personally I would do neither of these and instead start uploading
    beta/rc versions to experimental, you can get valuable feedback from
    CI/users this way that can then feed back upstream to fix any issues
    before the final release.

    PS: I suggest using mode=git, because the GitHub tags pages are
    paginated, cutting off older versions.

    --
    bye,
    pabs

    https://wiki.debian.org/PaulWise

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Hilmar_Preu=c3=9fe?=@21:1/5 to Paul Wise on Sat Sep 4 18:10:02 2021
    On 6/25/21 3:32 AM, Paul Wise wrote:
    On Thu, Jun 24, 2021 at 10:01 PM Hilmar Preuße wrote:

    Hi,

    Sorry for late Reply!

    uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/,\
    ...
    According to [1] the entry "uversionmangle=..." should handle the case
    that there could be beta/rc versions, which should be ignored. When
    doing an uscan now it downloads happily version v1.3.8rc1, which is
    available from upstream, instead of the expected 1.3.7b.

    Using uscan --verbose helps diagnose the issue:

    It is on:

    https://pastebin.com/ncjU2fpU

    uversionmangle just adds the ~ character into rc versions in the right
    place, it doesn't make the matched versions disappear. Since there is
    no v1.3.8 tag yet, the latest tag v1.3.8rc1 gets assigned version
    1.3.8~rc1, which is later than the 1.3.7b version.

    OK, understood.

    There are two ways to make the rc versions disappear:

    Make the version matching regex ignore them.

    I guess this will be the pattern in the last line:

    https://github.com/proftpd/proftpd/tags .*/v?(\d\S+)\.tar\.gz

    I'll try to fix it.

    Make uversionmangle change their versions so they are earlier than all
    the other versions.

    Not sure how to do that.

    Personally I would do neither of these and instead start uploading
    beta/rc versions to experimental, you can get valuable feedback from
    CI/users this way that can then feed back upstream to fix any issues
    before the final release.

    Currently I'm busy enough to care about unstable, stable etc. Packaging experimental is a very good idea but currently far out of my scope.

    Hilmar

    PS: I suggest using mode=git, because the GitHub tags pages are
    paginated, cutting off older versions.

    Failed to use it correctly, will have a look at that later. Anway the
    pastebin shows that uscan goes far enough into the past. Thanks for the
    hint!

    --
    #206401 http://counter.li.org

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)