This explicitly enables the in memory fetch/store of remote repository
data archives mode, ignoring existing on-disk repodata archives.
This changes the previous behaviour of falling back to this mode if no
on-disk repodata archives were found.
Thanks to @Gottox and @dominikh for comments.
- This mode prints to stdout the matching FILE stored in a binary package.
- ABI break: renamed xbps_get_pkg_plist_from_binpkg() xbps_binpkg_get_plist().
- Added xbps_binpkg_get_file() as a generic way to get pkg file contents.
- Removed useless comments from xbps_api_impl.h.
- xbps_repo_open() accepts a third argument (bool) to acquire a POSIX file
lock on the repository archive.
- xbps_repo_close() accepts a second argument (bool) to release a POSIX file
lock on the repository archive.
This avoids the issue of multiple xbps-rindex(8) processes being blocked
even for different repositories on the same architecture, resulting in
unnecessary contention.
- Repository keys are now stored in a new directory on metadir (/var/db/xbps):
<metadir>/key>
- Repository keys are stored with the hex fingerprint of its RSA
public key in a plist dictionary:
<metadir>/keys/xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.plist
- Drop xbps-rkeys(8) and merge its functionality into xbps-install(8) and
xbps-query(8).
- xbps-query(8) -vL now shows some more details of remote repositories:
3134 http://localhost:8000 (RSA signed, verified)
Signed-by: Void Linux
4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
16 http://localhost:8000/nonfree (RSA signed, verified)
Signed-by: Void Linux
4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
Bump XBPS_API_VERSION.
- Remove xbps_repo_get_plist() and try to internalize all members at
xbps_repo_open() time.
- Added xbps_repo_open_idxfiles() to also internalize the index-files
plist from repository, which is really huge and must only be internalized
when needed.
- Improve how signed and verified repositories are detected.
- Misc optimizations and small performance improvements.
Bump XBPS_API_VERSION.
The list of required external deps is now confuse, libarchive and openssl.
libxbps now includes a wrapper for proplib prefixed with xbps_ rather than prop_.