Prior to this change, xbps-query --cat would abort if the entry file
name would contain non ascii characters as it returns ARCHIVE_WARN
when failing to use iconv to the users character encoding without
having locales initialized.
Other places in xbps already ignore ARCHIVE_WARN.
Previously xbps just ignored hold packages, now it will exit
with an error code in case there is a dependency conflict
with a held dependency since it would previously result
in inconsistent dependency state.
when repolocked package has newer version in other repository and other
package depend on that newer version, repolocked package was updated and
swiched to other repo, while repolock status was left enabled
It is a common confusion that --yes should also accept new signing keys;
it really shouldn't, so document that explicitly. Also explain how to
tell XBPS about trusted keys.
Deleting obsolete directories is different from deleting obsolete files,
files need to be deleted by the first package that might change the file
into a different file type.
Directories need to be deleted by the last package that removes files
out of the directory to avoid ENOTEMPTY if another package has a file in
the given directory which is uninstalled later.
This fixes#282.
Those packages are going to be either updated or uninstalled,
changing the transaction type breaks this.
There is no apperent reason to change the type anyways.
- internalize scripts so we can use them before unpacking packages.
- moves some required metadata checks out of the package unpack stage
so errors do not leave the system in a half unpacked state.
xbps_transaction_files will be changed later to use the loaded
files.plist instead of opening each binary package on its own again.
Subpackages without main package installed wasn't reported
at all. This can produce duplicates in output, but checkvers'
output isn't good to loop over without passing through
./xbps-src sort-dependencies anyway.
Closes: #404 [via git-merge-pr]