Bird 3.1.0 tarball missing version info
Hi all, I stumbled over, that Bird 3.1.0 in Arch Linux is missing all version information. Having peeked at the PKGBUILD it seems to do nothing weird, so I have reproduced it by hand. Steps: $ wget <https://gitlab.nic.cz/labs/bird/-/archive/v3.1.0/bird-v3.1.0.tar.gz> $ tar axvf bird-v3.1.0.tar.gz $ cd bird-v3.1.0 $ autoreconf -vif $ ./configure $ make $ ./bird --version The latter shows (like "show status" on the real Arch package) BIRD version +detached. It seems like the error is in tools/version, that only works in a git repo. The following patch is a suggestion for a fix --- ../bird-v3.1.0-failed/tools/version 2025-04-03 20:39:22.000000000 +0200 +++ tools/version 2025-04-24 11:02:58.276023973 +0200 @@ -1,5 +1,12 @@ #!/bin/bash +# Are we in a release tarball? +git status >& /dev/null +if [ $? -eq 128 ]; then + realpath . | awk -F/ '{print $NF}' | cut -dv -f 2 + exit 0 +fi + # Aren't we directly at version? TAG=$(git tag | grep -F $(git describe))if [ -n "$TAG" ]; then Otherwise, the Arch package seems to work fine. Regards, Svenne
I just thought of what if git is missing. Then it returns 127 and not 128. So maybe the test should be "-gt 0" instead of "-eq 128". Svenne On Thursday, 24 April 2025 at 11:05:37 +02:00, Svenne Krap <svenne@kracon.dk> wrote:
Hi all,
I stumbled over, that Bird 3.1.0 in Arch Linux is missing all version information.
Having peeked at the PKGBUILD it seems to do nothing weird, so I have reproduced it by hand.
Steps:
$ wget <https://gitlab.nic.cz/labs/bird/-/archive/v3.1.0/bird-v3.1.0.tar.gz> $ tar axvf bird-v3.1.0.tar.gz $ cd bird-v3.1.0 $ autoreconf -vif $ ./configure $ make $ ./bird --version
The latter shows (like "show status" on the real Arch package)
BIRD version +detached.
It seems like the error is in tools/version, that only works in a git repo.
The following patch is a suggestion for a fix
--- ../bird-v3.1.0-failed/tools/version 2025-04-03 20:39:22.000000000 +0200 +++ tools/version 2025-04-24 11:02:58.276023973 +0200 @@ -1,5 +1,12 @@ #!/bin/bash
+# Are we in a release tarball? +git status >& /dev/null +if [ $? -eq 128 ]; then + realpath . | awk -F/ '{print $NF}' | cut -dv -f 2 + exit 0 +fi + # Aren't we directly at version? TAG=$(git tag | grep -F $(git describe)) if [ -n "$TAG" ]; then
Otherwise, the Arch package seems to work fine.
Regards,
Svenne
Hello Svenne, On Thu, Apr 24, 2025 at 11:05:37AM +0200, Svenne Krap wrote:
I stumbled over, that Bird 3.1.0 in Arch Linux is missing all version information.
I screwed up the release machinery and failed to test it properly before releasing 3.1.0 (and other versions). We are in the process of fixing it and we expect to release 3.1.1 and 2.17.1 quite soon to rectify that and some other bugs we missed.
[...]
$ ./bird --version
The latter shows (like "show status" on the real Arch package)
BIRD version +detached.
It seems like the error is in tools/version, that only works in a git repo.
Confirming, there is a problem.
The following patch is a suggestion for a fix [...]
If only this was the only problem with that script. :facepalm: We have already decided to do a little bit more than just fixing that, most notably we need to update our CI machinery, including automatic checks of the full release process. As soon as we are done with that, this script (including the patch) becomes half-obsolete. Yet, thanks for the patch!
Otherwise, the Arch package seems to work fine.
Thanks, that's good to know. Sorry for all the fuss Maria -- Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
participants (2)
-
Maria Matejka -
Svenne Krap