01dbb968dd
Welcome pkgdb-0.38.
2014-09-11 00:12:12 +02:00
e92e86c2db
Share code to show pre-remove/post-install msgs.
2014-07-27 17:39:24 +02:00
a28046332f
Implemented support for pre-remove and post-install messages.
...
Close #44
2014-07-27 11:24:49 +02:00
0e7e2c0148
lib/package_remove.c: typo fix.
2014-05-22 10:49:01 +02:00
350852bf76
lib/package_remove.c: avoid many small heap allocs and simplify.
2014-05-22 10:42:27 +02:00
4530c79bb2
Make sure that root symlinks in void are never removed or detected as obsoletes.
...
Added/improved test cases to detect those conditions work as expected.
2014-03-31 10:16:18 +02:00
56786ed315
xbps_remove_pkg: misc debugging tweaks.
2014-03-13 21:07:44 +01:00
0416b067d0
Use a POSIX lock for pkgdb and only issue pkgdb writes in exact points.
...
- Rather than using a POSIX named semaphore use a POSIX lock (lockf(3))
for pkgdb for writers. Writers that cannot acquire the pkgdb lock will
get EAGAIN rather then being blocked.
- Due to using a file lock we cannot write the pkgdb every time a package
is being unpacked, configured or removed. Instead pkgdb is only written
at the end of a specific point in the transaction (unpack, configure, remove)
or via xbps_pkgdb_unlock().
2014-03-04 14:37:10 +01:00
9101241b20
Fix pkg symlink removal introduced in the two phase package removal feature.
2014-02-26 10:05:19 +01:00
f74bf1c1c8
New custom configuration file format that does not need confuse.
2014-02-25 16:42:52 +01:00
596a8c199f
Improve two phase pkg removal: do the check for all entry types.
2014-02-09 12:53:15 +01:00
61fa9b8c7e
Improve package removal by using a two phase approach: check and removal.
2014-02-09 11:54:49 +01:00
292be5c420
Make sure that all symlinks in a package are removed, not just dangling symlinks.
2014-01-12 17:10:07 +01:00
35e4182250
Fully remove the obsolete softreplace code.
2013-12-25 11:12:52 +01:00
dce26db1de
libxbps: pkg remove: never remove base symlinks in the root directory.
...
The /bin, /sbin, /lib, /lib32, /lib64, /var/run symlinks should never be removed
in Void, so be safe and ignore the removal of them.
Added another test to the testsuite to verify its correctness.
2013-11-28 10:27:36 +01:00
d0380d5cd2
lib/package_remove.c: add a bit of debugging if pkg wasn't found in pkgdb.
2013-11-17 11:33:16 +01:00
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
9d80524a34
Minor optimization: no need to check if obj is NULL, prop_object_type() does that already.
2013-06-14 12:22:29 +02:00
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
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
7c1a0ac3e8
New pkgdb (0.21) and repo index (1.7) format, see NEWS for info.
2013-03-05 04:08:42 +01:00
eb61aabca8
xbps_remove_pkg: fix a double free.
2013-02-19 14:58:56 +01:00
a8e8e8fd5d
xbps_remove_pkg: ignore ELOOP in realpath() when checking symlinks.
...
Probably it is a broken symlink, so we don't have to care about it.
2013-02-04 16:35:15 +01:00
b5bb1debe4
Partial revert of 5d59a15faf
.
...
Error out if "pre-remove" script action fails, otherwise package is
removed but its files are still there (ouch).
2013-01-14 14:01:35 +01:00
5d59a15faf
libxbps: even if executing a pre-remove action fails, continue removing pkg.
...
This is no reason to stop removing a pkg, so just continue and fully
remove the pkg.
2012-12-29 07:13:49 +01:00
0f22579a34
libxbps: fixed regression executing "pre-remove" action in installed pkgs.
2012-12-28 10:42:13 +01:00
f45352dbf8
Added support for dynamic generation of revdeps for installed packages.
2012-11-30 17:40:52 +01:00
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
85c0641cc8
xbps_{configure,remove}_pkg: do not use meta cache when executing scripts.
...
This fixes executing INSTALL/REMOVE scripts with the right version currently
installed, i.e kernel post-install failed to execute correctly its kernel
hooks due to passing a wrong version.
2012-11-26 23:25:41 +01:00
0edba07106
xbps_remove_pkg: fix dbg printf args.
2012-11-19 14:45:09 +01:00
34ae90f1c3
xbps_remove_pkg: force pkgdb flush after unregister.
2012-11-19 14:40:41 +01:00
5397dd4937
xbps_remove_pkg: handle all cases where pkg meta plist is unavail.
2012-11-19 14:08:01 +01:00
556bbd495e
xbps_remove_pkg: recover from an assertion if pkg meta plist doesn't exist.
2012-11-19 13:29:09 +01:00
e08c258967
xbps_remove_pkg: no need to release pkgd from metadir.
2012-11-18 12:06:46 +01:00
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
34bd49f85a
New pkg metadata structure for 0.18. See the NEWS file for info.
2012-11-16 16:55:35 +01:00
df0d5d7330
Get rid of pkg state half-unpacked; not-installed state is good enough.
2012-11-11 09:42:30 +01:00
d6735d5685
xbps_xasprintf: do not return NULL anymore; remove checks for this.
2012-11-11 09:37:27 +01:00
310e619ea3
Remove unnecessary variable assignments reported by cppcheck.
2012-11-06 09:28:34 +01:00
abdf6e710d
xbps_remove_pkg: do not pass dangling pointers to state cb after removing pkgdict.
2012-07-04 09:52:51 +02:00
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
20bb1af589
xbps_remove_pkg: return proper error if metadata files cannot be removed.
2012-06-09 10:05:29 +02:00
6a4de0127d
libxbps: introduce the concept of "soft replace"; see the NEWS file.
2012-05-25 17:24:36 +02:00
d075f7182a
When removing pkg files, remove only dangling symlinks after regular files.
...
This is required for the upcoming eglibc package.
2012-05-25 14:31:42 +02:00
9acec7883b
xbps_remove_pkg: do not error out if files.plist not found, just continue.
2012-05-21 23:03:29 +02:00
ef6d1adf91
xbps_set_pkg_state_installed: simplify (API change).
...
The third optional argument "pkgver" clearly is useless because we can
create it internally with "pkgname" and "version" arguments instead.
Also make the "version" argument mandatory.
2012-04-10 09:43:59 +02:00
6940505de9
regpkgdb rototill: renamed to pkgdb, improve the public API.
2012-01-20 11:10:52 +01:00
a7f3a56e19
Make xbps_(un)register_pkg() accept a boolean arg to flush regpkgdb on success.
2011-12-28 05:57:04 +01:00
9d767f19cb
xbps_remove_pkg: issue a XBPS_STATE_REMOVE_FAIL state cb if access(2) failed.
2011-12-24 01:30:57 +01:00
3b7491d29b
Merged purge code in remove, configurable transaction regpkgdb flushing.
...
See the NEWS file for info.
2011-12-24 01:05:26 +01:00