Juan RP
0f69773273
lib/transaction_ops.c: more debug.
2019-06-21 13:14:24 +02:00
Juan RP
c44e1f958d
lib/transaction_prepare.c: update for rename.
2019-06-21 10:48:17 +02:00
Juan RP
fcab44dbd3
lib/transaction_dictionary.c -> transaction_prepare.c.
2019-06-21 10:46:32 +02:00
q66 and Juan RP
a72cbf3c23
lib/package_unpack.c: silence gcc false positive
...
On some systems, something like this happens:
package_unpack.c:375:11: error: 'buf' may be used uninitialized in this function
This is not actually a bug as logically `buf` is always initialized
in that place, but gcc doesn't like it anyway.
2019-06-21 08:59:46 +02:00
Duncaen
70867bd774
lib/transaction_files.c: fix size_t printf
2019-06-20 18:04:47 +02:00
Duncaen and Duncan Overbruck
dc547d9f50
lib/transaction_files.c: skip preserved files while looking for obsoletes
2019-06-20 14:53:08 +02:00
Duncaen
093950dba2
lib/fetch: remove port from happy eyeballs verbose logs, wrong cast and redundant
2019-06-20 13:28:14 +02:00
Duncaen
81a736a5ac
lib/fetch: cleanup happy eyeballs and add verbose logging
2019-06-20 12:15:30 +02:00
Duncaen and Duncan Overbruck
a3af0e5559
lib/fetch: remember if ipv6 or ipv4 are unreachable and don't try to connect again
2019-06-20 11:32:12 +02:00
Duncaen and Duncan Overbruck
3527a1374a
lib/fetch: set connect timeout to 300 seconds
2019-06-20 11:32:12 +02:00
Juan RP
3a00a9eb9b
xbps_rpool_foreach: process all entries in order.
...
if xbps_repo_open() fails then the repo is removed from array
xbps_repo_remove() but as we've removed the entry from it,
the index won't be valid any more, resulting in skipped entries.
If a entry is removed restart again at the correct index.
Close #127
2019-06-18 23:44:36 +02:00
Juan RP
6627ffb84f
xbps_package_remove: use xbps_set_pkg_state_dictionary().
...
fixes a use-after-free found by @duncaen via gcc -fsanitize=address.
2019-06-18 20:55:47 +02:00
Juan RP
829c5835f1
alternatives: respect (and love) current provider.
...
Added a new test case to verify.
Close #126
2019-06-18 20:47:55 +02:00
Duncaen and Duncan Overbruck
8837e8c607
lib/transaction_files.c: better handle preserve files
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
f2b119ef31
lib/transaction_files.c: better error and debug messages and minor cleanup
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
6877d28139
lib/package_find_obsoletes.c: remove in favor of transaction file checks
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
0efb59a979
lib/transaction_files.c: fix undefined behaviour
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
f45c6798c9
lib/transaction_files.c: update package archive compressions
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
8a81f6ce86
lib/package_unpack.c: use transaction obsolete detection
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
658f87b9c5
lib/transaction_files.c: rework to remove obsoletes before unpacking
2019-06-18 19:54:22 +02:00
Duncaen and Duncan Overbruck
29f1433afd
lib/transaction_files.c: collect file installs/removals to correctly find obsoletes
2019-06-18 19:54:22 +02:00
Juan RP
00d552424d
lib/repo.c: fix dead assignment.
...
Found by clang-analyzer.
Bug Summary
File: lib/repo.c
Warning: line 162, column 3
Value stored to 'rv' is never read
2019-06-18 18:49:29 +02:00
Juan RP
ab44f4ef80
lib/portableproplib/rb.c: fix dead initialization.
...
Found by clang analyzer.
Bug Summary
File: lib/portableproplib/rb.c
Warning: line 363, column 19
Value stored to 'grandpa' during its initialization is never read
2019-06-18 18:49:29 +02:00
Juan RP
6b84d75dc1
lib/transaction_dictionary.c: fix dead assignment.
...
Found by clang-analyzer.
Bug Summary
File: lib/transaction_dictionary.c
Warning: line 68, column 2
Value stored to 'rootdir_free_size' is never read
2019-06-18 18:49:29 +02:00
Juan RP
6fe5bbc596
lib/transaction_ops.c: fix a dead assignment.
...
Found by clang-analyzer.
Bug Summary
File: lib/transaction_ops.c
Warning: line 274, column 4
Value stored to 'rv' is never read
2019-06-18 18:49:29 +02:00
Juan RP
363f5a93de
lib/Makefile: disable pkgdb_conversion.c.
...
It was made many years ago to update the pkgdb format, but
it's innecessary to build it by default because is dead code.
Anyway keep it just in case pkgdb format changes.
2019-06-18 18:49:29 +02:00
Juan RP
fd88298755
lib/fetch/common.c: fix memleak in happy_eyeballs_connect.
...
Found by clang-analyzer.
Bug Summary
File: lib/fetch/common.c
Warning: line 587, column 4
Potential leak of memory pointed to by 'pfd'
2019-06-18 18:49:29 +02:00
Juan RP
d16a2fc987
xbps_init: fix a logic error.
...
Initialize rv to avoid a logic error.
Found by clang-analyzer.
Bug Summary
File: lib/initend.c
Warning: line 101, column 10
The left operand of '<' is a garbage value
2019-06-18 18:49:29 +02:00
Juan RP
87f7766c5f
xbps_symlink_target: fix two memleaks found by clang-analyzer.
2019-06-18 18:49:29 +02:00
Juan RP
d36d37fc6a
lib/external/fexec.c: fix potential insecure usage in vfork().
...
Reported by clang-analyzer.
After reading the linux man-pages vfork(2) manpage I came to the
conclusion that it's better to change the behaviour of the
original source (NetBSD) and change this to use fork(2).
2019-06-18 18:49:29 +02:00
Juan RP
b672e1a7f2
Improved "xbps auto-updating itself" behaviour.
...
Always check if there's a new xbps package version available
while *installing* or *updating* in any form.
This fixes the following scenario:
- xbps-0.53_10 is currently installed
- xbps-0.54_1 is available in repo
- xbps-install --update netbsd-wtf || xbps-install new-pkg || xbps-install --update
As expected any of the following scenarios in last cmd will use *this*
transaction to autoupdate xbps and its reverse dependencies.
Another transaction will be necessary to install or update the other unrelated
packages.
Added a new test case to verify this case and improve the other test
cases with more extensive checks.
2019-06-17 12:02:02 +02:00
Juan RP
7f75910054
libxbps: added support for multiple compression formats in repodata.
...
Also don't use obsolete libarchive interfaces.
2019-06-17 07:14:24 +02:00
Juan RP
59dffd76cc
lib/package_fulldeptree.c: simplify.
2019-06-17 05:38:36 +02:00
Duncaen and Juan RP
b2f5afd02e
lib/repo: add xbps_repo_remove and use it in xbps_rpool_foreach
...
https://github.com/void-linux/xbps/issues/3
2019-06-15 21:11:07 +02:00
Duncaen and Duncan Overbruck
104e8393f3
lib/fetch: fix happy eyeballs without any usable addresses and catch more errors
2019-06-15 19:19:40 +02:00
Duncaen and Duncan Overbruck
8018833010
lib/fetch: add FORCE_IPV{4,6} environment variables
2019-06-15 19:19:40 +02:00
Juan RP
271601dd0e
fulldeptree: replace another assert() with proper return code.
...
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-15 18:15:13 +02:00
Juan RP
a9a889c54d
fulldeptree: return a proper error if deps can't be resolved.
...
xbps_get_pkg_fulldeptree() now returns NULL and sets errno to ENODEV
when there are missing dependencies, rather than assert()ing.
Added another test case to check returned error codes.
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-15 18:04:20 +02:00
Juan RP and GitHub
82e7d11db8
Merge pull request #116 from Duncaen/umask
...
umask "fixes"
2019-06-15 13:08:32 +02:00
Duncaen
45fc07260c
xbps_binpkg_exists: fix access() on remote packages and avoid malloc
2019-06-14 23:21:06 +02:00
Duncaen
008e1ed901
lib/external/fexec.c: run child with 022 umask
2019-06-14 21:09:15 +02:00
Duncaen
c3f6f485a3
lib/repo_sync.c: set umask before creating repo cache directories
2019-06-14 21:08:55 +02:00
Juan RP
04291329aa
Bump XBPS_API_VERSION and libxbps major soname.
...
- struct xbps_handle was modified.
- xbps_pkg_is_ignored() was added to the API.
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-14 09:54:51 +02:00
Juan RP and Duncan Overbruck
f6116fc2ac
xbps_pkgdb_lock(): check if rootfs is writable.
...
As shown in https://github.com/void-linux/xbps/issues/110
/var might be rw, while / might be ro.
Check this via xbps_pkgdb_lock() for both things.
Close #110
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-13 17:41:01 +02:00
Juan RP and Duncan Overbruck
c3b2d7ca53
libxbps: fix xbps autoupdate when its revdeps are up-to-date.
...
The current code was failing because while checking for updates
on its reverse dependencies, up-to-date versions were treated
as an error.
Added a new test case to verify that it works as expected.
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-13 14:18:31 +02:00
Juan RP and Duncan Overbruck
cf4f0f4aa0
xbps_alternatives_register: fix a memleak.
...
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-11 19:53:19 +02:00
Juan RP and Duncan Overbruck
bcd80f2936
xbps_alternatives_register: update pkgdb alternatives dictionary.
...
... otherwise the entry might not be added to our array and won't
hit pkgdb.
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-11 19:53:19 +02:00
Juan RP and Duncan Overbruck
1c85083a94
lib/package_alternatives.c: update copyright.
...
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-11 19:53:19 +02:00
Juan RP and Duncan Overbruck
f06edd8850
xbps_alternatives_register: no need to check for 'alloc'.
...
Found by @huglovefan. Thanks.
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-11 19:53:19 +02:00
Juan RP and Duncan Overbruck
639ff2d642
xbps_alternatives_register: get rid of an unnecessary change.
...
Signed-off-by: Juan RP <xtraeme@gmail.com >
2019-06-11 19:53:19 +02:00