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
Juan RP
d95d5ba113
xbps_array_foreach_cb_multi: remove useless mutex.
2013-12-08 08:07:45 +01:00
Juan RP
2c9ab6a1f2
xbps_pkgdb_get_pkg_metadata: avoid an extra function call.
2013-12-08 08:07:10 +01:00
Juan RP
2d5a8dee19
xbps_find_pkg_orphans: minor optimizations.
2013-12-08 08:06:28 +01:00
Juan RP
e23c64bc84
lib/portableproplib: fixes to allow building with NDEBUG (assert()s disabled).
2013-12-06 11:54:34 +01:00
Juan RP
ae9363b620
lib/plist_fetch.c: fix a memleak in error path.
2013-12-05 16:55:26 +01:00
Juan RP
4403caa434
Add repos set in xbps_handle::repositories to the top of the list.
...
That means that now xbps-install(8) and xbps-query(8) --repository
option does not override the repository list of a configuration file.
2013-12-04 16:59:15 +01:00
Juan RP
d98468515a
Fix #25 correctly: compare against repo->signature.
2013-11-30 08:30:25 +01:00
Juan RP
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
Juan RP
4e427ded92
xbps_file_hash: simplify and use read(2).
2013-11-26 13:08:44 +01:00
Juan RP
a30623c65c
Revert "lib/util_hash.c: xbps_file_hash: remove unnecessary memset() call."
...
This reverts commit febc673f1e
.
2013-11-26 10:40:53 +01:00