Juan RP
ed4a33e4d0
xbps_pkgdb_init: initialize xhp->pkgdb_plist if it wasn't before.
2014-03-04 14:59:58 +01:00
Juan RP
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
Enno Boland
59ee6b6733
Adding xbps_fetch_file_dest().
...
This function is similiar to xbps_fetch_file(). In contrast to xbps_fetch_file()
xbps_fetch_file_dest has an extra paramenter which allow to define an output file
for the request.
2014-03-04 14:19:52 +01:00
Juan RP
f20694a5bf
xbps_entry_install_conf_file: use archive_entry_copy to set new entry pathname.
2014-03-04 09:44:58 +01:00
Juan RP
9101241b20
Fix pkg symlink removal introduced in the two phase package removal feature.
2014-02-26 10:05:19 +01:00
Juan RP
8c47021ec3
Fix #31 and add new test case to reproduce it.
2014-02-25 22:55:39 +01:00
Juan RP
a511292316
lib/plist_find.c: do not return a false positive while matching vpkgs.
2014-02-25 18:43:33 +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
1ad01b952a
xbps_transaction_commit: reset var value if binpkg/signature was downloaded successfully.
2014-02-24 11:35:28 +01:00
Juan RP
4d38311fbe
xbps_configure_pkg: show/return proper return value in an error path.
2014-02-23 10:32:21 +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
187d635447
xbps_transaction_commit: return error if downloading binpkg/signature fails.
2014-02-23 08:15:32 +01:00
Juan RP
2fa0d56658
Fixed a xbps_pkgpattern_name() crash and a test to reproduce it (found by Gottox).
2014-02-15 01:26:42 +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
61fa9b8c7e
Improve package removal by using a two phase approach: check and removal.
2014-02-09 11:54:49 +01:00
Juan RP
27f7bbd44d
xbps_verify_file_signature: there's no repo->hexfp anymore, compute it instead.
2014-01-30 19:34:26 +01:00
Juan RP
3405866ae2
lib/repo_pkgdeps.c: check correctly for errno after our call, not after free(3).
...
The issue was that xbps_pkgdb_get_pkg() did not find any package,
and the code was free(3)ing heap allocated memory before checking for
errno. I suspect that free(3) has touched errno and this errno value
has been propagated to the next code.
Found after a bit of testing on repo.voidlinux.eu.
2014-01-30 17:47:59 +01:00
Juan RP
d08e76a386
Keep repo metadata if possible when updating repodata (xbps-rindex -a/-c).
...
API/ABI incompat changes, you've been warned.
2014-01-30 13:07:34 +01:00
Juan RP
fb5fb91fa3
lib/transaction_commit.c: fix a double free (reported by Hanspolo).
2014-01-28 20:51:57 +01:00
Juan RP
c03505b13e
Fix #30 (segment fault in xbps-rindex)
2014-01-22 11:53:08 +01:00
Juan RP
e9bc52a01b
Fix #28 (Verification fails due to missing signature).
2014-01-21 10:06:48 +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
16fc064aef
Remove obsolete files also on package reinstalls (and downgrades).
2014-01-15 21:52:35 +01:00
Juan RP
6943eedd26
Partial revert of 36adf15
(lib code is not yet ready).
2014-01-15 21:03:53 +01:00
Juan RP
36adf15c6b
tests: new test to verify obsolete files code works in updates and reinstalls.
2014-01-15 20:59:49 +01:00
Juan RP
98a3723902
Respect installation mode also on reinstall (and downgrade).
2014-01-15 16:17:41 +01:00
Juan RP
292be5c420
Make sure that all symlinks in a package are removed, not just dangling symlinks.
2014-01-12 17:10:07 +01:00
Juan RP
804a39c63b
Added XBPS_ARCH environment var to override uname(2) machine result.
2014-01-09 11:41:25 +01:00
Juan RP
ae81cd1ea9
lib/initend.c: define _BSD_SOURCE for strlcpy() with musl.
2014-01-07 21:20:42 +01:00
Juan RP
29cf8e9ba8
xbps_repo_open: just call xbps_pubkey2fp() if pubkey is valid (issue #27 ).
2014-01-06 10:01:49 +01:00
Juan RP
767566558c
xbps_transaction_commit: initialize bool var to avoid unexpected branch.
2014-01-03 11:38:19 +01:00
Juan RP
35e4182250
Fully remove the obsolete softreplace code.
2013-12-25 11:12:52 +01:00
Juan RP
92a73a9a54
lib/package_unpack.c: remove redundant assertions.
2013-12-25 09:00:51 +01:00
Juan RP
447759941f
Merge rpool_get.c into rpool.c.
2013-12-25 08:48:24 +01:00
Juan RP
0cf9047bd2
unpack: use files.plist from binpkg when checking for configuration files.
2013-12-25 08:40:45 +01:00
Juan RP
73509b3556
lib/package_unpack.c: remove dead code (softreplace).
2013-12-25 08:35:55 +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
3c0edd40c8
lib/package_unpack.c: only create rootdir if it doesn't exist once.
2013-12-21 12:03:38 +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
2c16e23646
lib/transaction_sortdeps.c: bump copyright year.
2013-12-16 09:18:54 +01:00
Juan RP
a84d7c0199
lib/transaction_sortdeps.c: remove dead code.
2013-12-16 09:18:19 +01:00
Juan RP
67cfc4ebad
rpool: switch "struct xbps_repo" to be part of the rpool simpleq.
...
The previous internal "struct rpool" was an extra structure that
can be avoided by just using "struct xbps_repo" directly.
This makes rpool use (at least) 4KB less per repository and 1
extra allocation.
2013-12-16 08:49:33 +01:00
Juan RP
b1309644e5
lib/transaction_sortdeps.c: there's no need to use TAILQ_FOREACH_SAFE.
2013-12-16 08:44:14 +01:00
Juan RP
851eb26596
xbps_repo_open: fix f7b4587
and really pass the correct size this time.
2013-12-16 07:45:51 +01:00
Juan RP
f7b4587e11
xbps_repo_open: pass the correct size to realloc().
2013-12-16 07:31:15 +01:00
Juan RP
cc19818680
Improve stats in the transaction dictionary.
2013-12-16 07:24:17 +01:00
Juan RP
ec6f7a3013
lib/transaction_dictionary.c: modify how transaction stats are computed.
2013-12-14 04:54:52 +01:00
Juan RP
2ab90bdc09
Fixed issue #26 (Replacing an installed pkg multiple times).
2013-12-12 18:24:24 +01:00
Juan RP
865dffde58
xbps_repo_open: switch to archive_read_data_block() and misc tweaks.
2013-12-12 00:18:08 +01:00
Juan RP
4f6fb2ff67
lib/rpool_get.c: move asserts to the parent function.
2013-12-08 08:08:26 +01:00