This commit restores the formerly unreachable code path handling the
case where the local file is identical with the remote file.
Fixes bug introduced in 66f84a8b59
Add test cases for xbps-fetch, including testing for:
- remote file identical with local file
- multiple files fetched
- error handling for multiple files fetched
After checking in the source the actually exported fields,
a few of them don't exist anymore and a few were omitted.
Also fixed some orthographic/syntax typos.
keepconf is a boring option and is not needed in most situations. Make
this more clear in the documentation, e.g. that it only affects
*unchanged* configuration files, and that changed configuration files
are unaffected by this option.
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.