Commit Graph

79 Commits

Author SHA1 Message Date
Juan RP 01dbb968dd Welcome pkgdb-0.38. 2014-09-11 00:12:12 +02:00
Juan RP fb9c94fab9 Added support to use pkg shlib-{provides,requires} objects.
This effectively checks that all pkgs in a transaction to be installed
or updated, have not unmatched shared libraries, which might happen with
pkgs that had major soname bumps.

This implementation slow downs xbps_transaction_prepare() 2x, due to
the use of xbps_pkgdb_get_pkg_metadata(). A new pkgdb format is required
that adds the pkg shlib-provides objects to pkgdb, avoiding the need
to use xbps_pkgdb_get_pkg_metadata().
2014-09-09 11:08:54 +02:00
Juan RP e92e86c2db Share code to show pre-remove/post-install msgs. 2014-07-27 17:39:24 +02:00
Juan RP b980e2109f include/xbps_api_impl.h: confuse.h is not necessary anymore. 2014-02-25 17:04:13 +01:00
Juan RP f74bf1c1c8 New custom configuration file format that does not need confuse. 2014-02-25 16:42:52 +01:00
Juan RP 4d1cdcac0c Fix concurrency issues in pkgdb: only allow 1 write transaction at the same time.
This implementation relies on a POSIX named semaphore, which is also
required by xbps-rindex(8).
2014-02-23 08:23:14 +01:00
Juan RP 596a8c199f Improve two phase pkg removal: do the check for all entry types. 2014-02-09 12:53:15 +01:00
Juan RP 5eea259c13 Remove the config.h kludge and override vasprintf detection via HAVE_VASPRINTF. 2014-01-20 18:50:33 +01:00
Juan RP 3042dcd7aa include/xbps_api_impl.h: remove __{BEGIN,END}_DECLS to make musl happy. 2014-01-07 21:19:03 +01:00
Juan RP 35e4182250 Fully remove the obsolete softreplace code. 2013-12-25 11:12:52 +01:00
Juan RP ec0d38c469 Implement per pkg RSA signatures and on-demand repository access. 2013-12-24 10:43:55 +01:00
Juan RP 2a21354a1c Make some reorganization in struct xbps_handle.
The variables to set cachedir, rootdir and metadir have been
changed to "array of chars", this way there are no extra allocations.

Update clients accordingly and bump API version.
2013-12-16 11:46:39 +01:00
Juan RP 1f16a22791 Add NDEBUG to CPPFLAGS if --enable-debug is unset. 2013-12-06 11:55:08 +01:00
Juan RP 2952c69c7a Define NDEBUG for assert() if --enable-debug is not specified. 2013-11-08 09:11:47 +01:00
Juan RP a5ecaa493f New utility: xbps-rkeys(8) to manage RSA public keys. 2013-10-09 10:13:07 +02:00
Juan RP 0db47cff9c Always build with DEBUG and enable assertions. 2013-10-07 08:20:42 +02:00
Juan RP 8d5c48b861 Added support for the long awaited feature: RSA signed repositories. 2013-10-05 11:38:04 +02:00
Juan RP 24ff0472dd Use fs blksize from stat(2)ed file when reading archives. 2013-08-29 14:30:14 +02:00
Juan RP 789165339a Drop useless/unused xbps_add_obj_to_{array,dict} functions. 2013-08-18 10:25:17 +02:00
Juan RP 1999fbd771 Relax libarchive version requirement to 2.8.0. 2013-08-16 10:26:36 +02:00
Juan RP 84d14286a8 More libarchive-2.x compat. 2013-08-15 11:55:20 +02:00
Juan RP 505a933097 Added support to verify reverse dependencies in a transaction.
See https://plus.google.com/106812073015308749022/posts/ZXMHimd8iKd
2013-06-27 16:52:31 +02:00
Juan RP 09e116b7f0 xbps_api.h -> xbps.h 2013-06-20 12:31:02 +02:00
Juan RP 42c0766c00 Get rid of libfetch and proplib external dependencies.
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_.
2013-06-20 10:26:12 +02:00
Juan RP 4ef66d99bb Drop requirement of confuse header for the public API; it's only used by libxbps. 2013-06-19 11:29:04 +02:00
Juan RP 99be698979 Use a single file to store repository data.
This is just the starting point to extend repositories with PGP signatures.
2013-06-10 10:28:39 +02:00
Juan RP c504a73f08 Re-use pkgname from unpack to handle config files. 2013-03-08 10:11:16 +01:00
Juan RP 0a1859987a Respect automatic-install mode from pkgdb in transaction updates.
Also simplify register/unregister and remove useless state definitions.
2013-03-07 10:03:59 +01:00
Juan RP 7c1a0ac3e8 New pkgdb (0.21) and repo index (1.7) format, see NEWS for info. 2013-03-05 04:08:42 +01:00
Juan RP 5471c7f46c Add libarchive compat definitions for 3.1.2. 2013-02-20 14:52:01 +01:00
Juan RP 2c1e4e502d XBPS can now be built on NetBSD (and probably any other BSD variant). 2012-12-06 12:58:17 +01:00
Juan RP f45352dbf8 Added support for dynamic generation of revdeps for installed packages. 2012-11-30 17:40:52 +01:00
Juan RP 63c1883201 Major API/ABI cleanup bringing performance improvements and fixes.
These are the core interfaces in the new API:

rpool - Interface to interact with the repository pool.
rindex - Interface to interact with repository indexes.
pkgdb - Interface to interact with local packages.
transaction - Interface to interact with a transaction.

This also brings new repository index format, making the index file
per architecture and being incompatible with previous versions.

The transaction frequency flush option has been removed, and due to
the nature of package states it was causing more harm than good.

More changes coming soon, but the API shall remain stable from now on.
2012-11-30 07:11:51 +01:00
Juan RP 7f577e005c metadir: replace uthash simply with a dictionary. 2012-11-21 23:07:38 +01:00
Juan RP 46f7a808b4 xbps_metadir: use an hash table (via uthash): 15s vs 1m10s. 2012-11-18 02:38:24 +01:00
Juan RP b0fab7a3ee Implemented a cache to get pkg dicts from metadir.
This improves xbps-pkgdb -a marginally, but still seems to be a bit slow.
2012-11-16 21:50:52 +01:00
Juan RP 863f12e349 Improved finding obsolete files while upgrading pkgs. 2012-10-24 07:45:00 +02:00
Juan RP 0f3d4f4a19 libxbps: hide compat symbols. 2012-06-18 09:52:19 +02:00
Juan RP 3e9e87fc2a libxbps: require a pointer to xbps_handle in functions that need it.
This removes 2 global vars from lib/initend.c and easier to know
what functions require access to xbps_handle.
2012-06-14 08:22:11 +02:00
Juan RP c61ba8dfcc Added support for package conflicts. 2012-06-11 16:14:03 +02:00
Juan RP 9441f9f14b libxbps: multiple random changes for overall performance increase. 2012-06-04 23:22:33 +02:00
Juan RP 27aacf97f4 xbps_file_exec: simplify and don't chroot when rootdir == /.
Before that change we were chroot(2)ing even when rootdir was set to /.
2012-05-30 17:44:39 +02:00
Juan RP a94dd5dbfa Revert "libxbps: implement xbps_file_exec() with posix_spawn()."
This reverts commit 5aa05f4c72.
2012-05-30 17:26:25 +02:00
Juan RP 5aa05f4c72 libxbps: implement xbps_file_exec() with posix_spawn(). 2012-05-30 14:45:47 +02:00
Juan RP 922ee1f1b6 libxbps: rename xbps_repository_pool_xxx to xbps_rpool_xxx. 2012-05-30 10:56:32 +02:00
Juan RP 5e0b06dc00 xbps-bin: improve def unpack cb to print more meaningful messages. 2012-05-06 16:48:47 +02:00
Juan RP e698acf440 Make xbps_find_virtualpkg_conf_xxx private again, unused in test suite now. 2012-03-13 11:37:50 +01:00
Juan RP 749e03aa29 Make xbps_find_virtualpkg_conf_in_xxx_by_xxx part of the API and add kyua tests. 2012-03-12 17:51:50 +01:00
Juan RP 715990a1e5 Make xbps_find_virtualpkg_in_dict_by_xxx part of the API and add kyua tests. 2012-03-12 16:36:46 +01:00
Juan RP 35c2e2a75d Enable assertions by default, even with --debug disabled. 2012-03-12 11:22:18 +01:00