XBPS 0.46 is out

A new XBPS stable version has been released: 0.46. This is a minor release that contains multiple bugfixes.

  • xbps-*: all utilities are now using getopt_long() rather than getopt() to avoid the differences with glibc and musl when processing arguments. Thanks to Chris M. Brannon for #103

  • xbps_transaction_prepare(): do not release the transaction dictionary if it returns ENOSPC, we need it to have access to this data to print required/free space. Fixes #101

  • xbps-uchroot(1): now handles SIG{INT,TERM,QUIT} signals to clean up the temporary masterdir if -t is set.

  • /usr/sbin is now a symlink in void, don’t consider it as obsolete and never remove it even if it was detected as obsolete.

  • xbps-rindex(1): use -s, --sign to initialize the repository archive with the required metadata to allow signed packages. Added -S, --sign-pkg to sign a specific package archive. This allows to sign a specific package, rather than all packages available in that repository.

  • If the repository write lock is already taken, sleep for 1 second, rather than looping endlessly without any timing; this consumed too much CPU time gratuitously.

  • If verifying a pkg signature fails for some reason, i.e: pkg archive is incomplete, signature file is incomplete, whatever, just remove both files. Let’s assume next time the files are downloaded they will be valid.

Please report issues at https://github.com/voidlinux/xbps/issues.