Juan RP
4ae3d03594
lib/transaction_revdeps.c: resource leak (CID 62723)
2014-10-05 07:29:23 +02:00
Juan RP
aae88aa253
lib/verifysig.c: resource leak (CID 62727)
2014-10-05 07:27:13 +02:00
Juan RP
dd851f18a2
lib/package_unpack.c: zero out struct (CID 62755)
2014-10-05 07:12:30 +02:00
Juan RP
96a117c558
lib/repo_pkgdeps.c: fix a double free in error branch (CID 62754)
2014-10-05 07:09:40 +02:00
Juan RP
bc9ddcfcc8
lib/initend.c: rename a var to make gcc-4.6.x happy.
2014-10-04 22:02:56 +02:00
Juan RP
2fe35a5bf3
lib/package_unpack.c: do not initialize xucd at all, unnecessary.
...
Initializing with {0} wasn't understood with gcc-4.6.x on travis-ci,
so just remove it.
2014-10-04 21:59:47 +02:00
Juan RP
742af69185
Fix libxbps/update_shlibs:shlib_bump_revdep_diff test.
...
How to reproduce it:
- A-1.0_1 provides liba.so.1
- B-1.0_1 provides libb.so.1
- C-1.0_1 requires liba.so.1 and libb.so.1
- A-2.0_1 provides liba.so.2
- C-2.0_1 required liba.so.2
This test case failed because it was checking the required shared libraries
from current installed package, rather than the updated pkg in transaction.
2014-09-29 15:25:09 +02:00
Enno Boland
42f0152dce
trans_find_pkg(): search for reverts match with correct pkgver
2014-09-28 22:22:20 +02:00
Juan RP
2711b07b77
Fix package files removal with only read bit set.
...
The previous code was checking incorrectly if the file had the write
bit set, and this is wrong because a package could have files with
only the read bit set (0444).
2014-09-28 13:33:15 +02:00
Juan RP
72cefcfc83
Introduce xbps_mmap_file() and use it in strategic points.
...
Rather than using a random buffer from stack or heap, and decide
what size to use, create a private memory mapped object...
This simplifies the code in lib/verifysig.c and xbps-create.
2014-09-27 13:00:34 +02:00
Juan RP
97045960f9
xbps_pkg_reverts: style.
2014-09-27 11:28:29 +02:00
Enno Boland
b5a169b65c
xbps_pkg_reverts: this function can do more than just return false!
2014-09-23 21:18:47 +02:00
Enno Boland
a421bf7db5
xbps_pkg_reverts: return bool instead of int.
2014-09-23 20:50:34 +02:00
Enno Boland
dbab3f2cfc
xbps_pkg_reverts: use version instead of pkgname-version to find reverts
2014-09-23 18:22:57 +02:00
Enno Boland
50fb6c1605
rename xbps_pkgver_is_reverted to xbps_pkg_reverts
2014-09-23 13:54:06 +02:00
Enno Boland
cd9a9e78a8
lib/transaction_ops.c: trans_find_pkg will check the revert field too.
...
- if a package on the repo has a lower version than installed
libxbps will check if this package reverts the one installed
and downgrades to it if so.
2014-09-23 13:54:06 +02:00
Enno Boland
18204aeac1
lib/util.c: add function which tests if a given pkgver is reverted by a given pkg.
2014-09-23 13:54:06 +02:00
Enno Boland
5bbcdf2c62
lib/util_hash.c: enlarge read buffer for xbps_file_hash to increase performance.
2014-09-18 18:34:15 +02:00
Juan RP
f52eea34d4
xbps-install: abort transaction if there's insufficient disk space on rootdir.
...
The free disk space wasn't computed correctly and xbps-install(8) wasn't
handling ENOSPC rval in xbps_transaction_prepare().
2014-09-18 12:11:02 +02:00
Juan RP
741f8fbe04
lib/util_hash.c: update copyright year.
2014-09-17 07:24:00 +02:00
Juan RP
72c64c7626
xbps_file_hash: reduce memory footprint and process file in small chunks.
...
With xbps-rindex(8) -c/-r being multithreaded, the memory usage was
insanely high in the build server, with peaks of almost 4GB (this depends
on the file size being processed and number of threads).
Process the file in small chunks instead to compute the SHA256 hash.
2014-09-17 06:50:46 +02:00
Juan RP
6894980983
lib/package_msg.c: fix a heap overflow (noticed by @Gottox).
2014-09-16 09:13:32 +02:00
Juan RP
e902619220
Remove empty self replaced pkg arrays from pkgdb.
2014-09-14 18:16:43 +02:00
Juan RP
ac2c517bd7
Fixed install/update tests on pkgs with no files.
2014-09-14 18:04:10 +02:00
Juan RP
c9514ad617
libxbps: fixed replaces/replace_vpkg test case.
2014-09-14 12:50:17 +02:00
Juan RP
2b7c4d568a
Remove pkg self replacement from pkgdb; this must not be propagated.
2014-09-13 18:14:04 +02:00
Juan RP
dea31f0a15
Add xbps_remove_{pkgname,string}_from_array() to the API.
2014-09-13 18:13:25 +02:00
Juan RP
b42c3d8498
lib/pkgdb_conversion.c: avoid copying dangling pointer if "repository-origin" is unexistent.
2014-09-13 16:59:19 +02:00
Juan RP
d67f8bdc8c
xbps_register_pkg: do not modify the transaction pkg dictionary, use a copy instead.
...
Due to not using a copy the replace tests were failing at the configure phase,
because the "transaction" object was removed.
2014-09-13 13:31:56 +02:00
Juan RP
598022a60b
xbps_transaction_commit: add more debugging to know the unconfigured pkg reason.
2014-09-13 12:21:49 +02:00
Juan RP
411480e43d
pkgdb: repository-origin -> repository to match the repo pkg obj.
2014-09-13 10:49:13 +02:00
Juan RP
287665009b
Drop unused headers.
2014-09-13 08:54:12 +02:00
Juan RP
39aca1bbc9
Implement shlib checks for all pkg revdeps in the transaction.
...
Added three new test cases to verify its correctness.
2014-09-12 11:49:34 +02:00
Juan RP
4978fe9844
lib/transaction_package_replace.c: misc optimizations.
2014-09-11 17:55:05 +02:00
Juan RP
4ab831888a
xbps_repo_sync: fix swapped args (Hi Tox!)
2014-09-11 13:38:26 +02:00
Juan RP
2207517e13
Disable best pkg matching code; see NEWS for more information.
2014-09-11 12:19:52 +02:00
Juan RP
ed6b3c00f5
xbps_entry_install_conf_file: fix non debug build.
2014-09-11 11:56:23 +02:00
Juan RP
e1124800a5
lib/repo_sync.c: xbps_fetch_file_dest() expects 4 args not 5 (hi Tox)
2014-09-11 11:51:20 +02:00
Enno Boland
4689b07b85
lib/repo_sync.c: use xbps_fetch_file_dest() instead of xbps_fetch_delta().
...
Until the generation of deltas does not work reliably just download
the repo files instead of trying to get the delta.
2014-09-11 11:39:54 +02:00
Juan RP
30ea08e605
lib/transaction_ops.c: detect updates when an exact pkg version is set.
2014-09-11 11:13:20 +02:00
Juan RP
e4ff957e42
xbps_find_pkg_orphans: fix regression adding false positives.
2014-09-11 09:05:57 +02:00
Juan RP
dba767fb05
lib/pkgdb_conversion.c: remove metafile-sha256 obj if pkg contains no files.
2014-09-11 08:18:03 +02:00
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
c61317e219
lib/external/fexec.c: fix build with glibc>=2.20 (needs _DEFAULT_SOURCE).
2014-09-08 18:46:12 +02:00
Juan RP
b67d4ec975
lib/download.c: debug: print url info only if it's available.
2014-09-07 09:45:47 +02:00
Juan RP
8ad8bca958
xbps_rpool_foreach: take into account xbps_repo_open returning NULL.
2014-09-07 09:35:38 +02:00
Juan RP
5863ec17fe
libxbps: two new functions to get the pkgver and arch components in a filename.
...
- xbps_binpkg_pkgver() returns a heap allocated string with the pkgver component.
- xbps_binpkg_arch() returns a heap allocated string with the architecture component.
A basename, full path or relative path is supported, i.e:
/path/to/foo-1.0_1.x86_64.xbps
../../foo/blah-0.1_1.x86_64.xbps
baz-0.1_1.x86_64.xbps
2014-09-05 20:59:00 +02:00
Juan RP
e2470f8697
xbps_entry_install_conf_file: add more assertions.
2014-09-05 20:58:20 +02:00
Juan RP
685a85a466
xbps_find_pkg_orphans: also take into account virtual pkgs.
2014-09-05 13:10:50 +02:00