Commit Graph

2509 Commits

Author SHA1 Message Date
Juan RP
1722635e08 Introduce xbps_sanitize_path() to fix #78 properly.
This removes multiple slashes of a path and returns you a buffer with
the sanitized string.
2015-02-18 15:12:39 +01:00
Juan RP
3c34c300d1 xbps-create(8): record target file or relative symlinks correctly. 2015-02-18 14:55:54 +01:00
Juan RP
628a344560 libxbps: fix a memleak introduced in 1403826fa. 2015-02-17 16:39:04 +01:00
Juan RP
1403826fa6 libxbps: detect and remove properly symlinks with relative targets.
Close #78
2015-02-17 11:59:05 +01:00
Juan RP
38e71e8e1c xbps-checkvers: more fixes and new test cases.
- This now checks for vars that have refs to other vars:

	pkgname=${_myvar}

- This now checks for unwanted garbage before assignment:

	. ./source/file
	pkgname=${_myvar}

- Misc tweaks to use my coding style.
2015-02-17 10:20:59 +01:00
Juan RP
7cdba2ed14 xbps-checkvers(8): fixed segfaults with missing vars on templates. 2015-02-16 18:53:45 +01:00
Juan RP
07d5e93bb0 tests/xbps-checkvers: new tests to detect incorrect behaviour. 2015-02-16 17:25:37 +01:00
Juan RP
c0c3771965 xbps-remove.8: improve -F desc. 2015-02-16 11:19:09 +01:00
Juan RP
0fc297a471 lib/transaction_ops.c: minor optimization. 2015-02-16 11:18:58 +01:00
Juan RP
2aa844f3f7 lib/Makefile: remove some disabled warnings for lib{fetch,portableproplib}.
There's no need to set _GNU_SOURCE and disable those compiler warning flags.
2015-02-15 05:47:35 +01:00
Juan RP
b8b4694b33 portableproplib: use posix_madvise rather than madvise.
The posix variant is the standardized version of madvise.
2015-02-15 05:42:18 +01:00
Juan RP
6d57c6db4b README: remove two "features" that are not quite true. 2015-02-10 11:06:56 +01:00
Juan RP
4e0ce0fbb4 libxbps: make the vpkg_provider_and_revdeps_downgrade test case work. 2015-02-10 10:55:05 +01:00
Juan RP
1cf8646a2d tests: two new test cases for downgrading vpkg providers. 2015-02-08 10:41:50 +01:00
Juan RP
1ebb245672 xbps_transaction_store: print repo too. 2015-02-05 10:26:53 +01:00
Juan RP
c0d7d930de libxbps: make sure that revdeps of vpkg providers are always resolved.
Added new test cases to verify its correctness in upgrades and removals.
2015-02-05 10:04:42 +01:00
Juan RP
d607655371 libxbps: globally check for unresolved reverse dependencies.
Close #46. See NEWS for more information.
2015-02-03 10:20:13 +01:00
Juan RP
7d23a7e69c tests: remove: three new test cases to verify pkg removal of revdeps. 2015-02-03 09:58:24 +01:00
Juan RP
1d0a8649da bin/xbps-install/util.c: properly report pkgs to be removed. 2015-02-02 09:49:16 +01:00
Juan RP
88fe064e36 tests: remove: add a test case to verify revdeps with xbps-remove(8). 2015-02-02 09:38:05 +01:00
Juan RP
3bc6354550 lib/repo_pkgdeps.c: fix some debug printfs. 2015-02-02 09:37:34 +01:00
Juan RP
0c208bb744 xbps-query(8): ownedby: do not follow symlinks and print target file too. 2015-01-29 17:32:14 +01:00
Juan RP
20276fc068 xbps-install: add additional actions to the column output.
- downgrade if new version in repos is less than installed one.
- reinstall if both versions are equal.

and additionally always print installed pkg version, irrespectively of
the transaction mode.

Close #72
2015-01-29 09:58:32 +01:00
Juan RP
e95300e952 xbps-install/util: print installed version in pkgs on hold mode. 2015-01-28 18:06:58 +01:00
Juan RP
076b3f8c44 libxbps: add pkgs on hold mode to the transaction, but ignore them.
Those are there mostly to be shown by the clients and notify that
there's an update in repos that is being ignored.

Idea by @chneukirchen.
2015-01-28 12:07:47 +01:00
Juan RP
9bc3275515 xbps-install/state_cb: log XBPS_STATE_UPDATE via syslog too.
This way the updates are also recorded via syslog.
2015-01-28 09:48:20 +01:00
Juan RP
1e0b005482 tests: another test to verify moving files to dependency without replaces. 2015-01-28 08:27:40 +01:00
Juan RP
571d96fa92 libxbps: make sure to remove pkg metadata file on upgrades with skip-obsoletes.
This fixes the following case:

 - A-1.0_1 is installed and owns bin/foo.
 - A-1.1_1 is in the transaction and depends on B-1.0_1 that owns bin/foo.
 - B-1.0_1 is in the transaction and replaces A<1.1_1.
 - A-1.1_1 in the transaction now has "skip-obsoletes".
 - A is updated to 1.1_1, its metadata file (<pkgname>-files.plist) wasn't removed.

Added two new test cases to verify moving files from/to a dependency.
2015-01-27 17:53:37 +01:00
Juan RP
f324ea5352 tests: another test case to verify that moving files between pkgs work. 2015-01-27 11:26:34 +01:00
Juan RP
d519ed3d15 xbps-checkvers: misc changes to fix issues I've found.
- Clear completely the rcv struct.
- Remove unapplicable free()a before assignment (wtf)
- Fix usage, -C expects a path to a directory not a filename.
- Remove obsolete xbps.conf handling, this is unnecessary (xbps.d(5)).
- Random tweaks after a quick inspection.
2015-01-22 18:44:39 +01:00
Juan RP
cbf1cfe0f5 libxbps: improve debug messages again. 2015-01-21 11:39:45 +01:00
Juan RP
f11dc1a7b1 xbps-query.8: mention that -p is also accepted with -S (show/default mode). 2015-01-18 19:14:30 +01:00
Juan RP
94d0e4e131 xbps-query(8): --regex now matches EREs in case insensitive mode. 2015-01-18 17:50:26 +01:00
Juan RP
b7fd0dcac5 xbps_transaction_shlibs: take into account shlibs from pkgs in the transaction. 2015-01-18 12:44:26 +01:00
Juan RP
f9eef6aa0d Perform global tracking of unresolved shlibs before accepting transaction.
Rather than checking per package being installed or updated, check
all installed packages to have all its shlib-requires resolved.
2015-01-18 10:23:52 +01:00
Juan RP
d11230a29d libxbps: abort pkg unpacking as soon as a file cannot be written.
Close #74
2015-01-18 10:22:05 +01:00
Juan RP
9d8e2d0250 tests: issue31: test should fail with ENOTEMPTY rather than 0. 2015-01-18 10:06:46 +01:00
Juan RP
1251583154 xbps-{pkgdb,reconfigure}: flush pkgdb in case it was modified.
Regression introduced with the recent xbps_end() changes.
2015-01-17 12:06:13 +01:00
Juan RP
94e9754fb1 tests: another test to verify revdeps with unknown shlib providers. 2015-01-17 06:10:49 +01:00
Juan RP
bce27b968e xbps_find_*pkg_in_array: fix logic when transaction obj string matches. 2015-01-17 06:04:22 +01:00
Juan RP
bb3c404d5f tests: update_shlibs: improve two tests and fix descr for another one. 2015-01-17 05:54:55 +01:00
Juan RP
757d1bda68 tests: add test for another kind of versioned soname bump.
This fails currently... working in a solution that works globally.
2015-01-17 03:19:45 +01:00
Juan RP
e438aae13c transaction_revdeps.c: remove dead code. 2015-01-14 21:00:37 +01:00
Juan RP
676888b5c1 xbps-query: optimize the search mode with --regex (compile ERE once). 2015-01-14 20:53:01 +01:00
Juan RP
8263449f94 xbps_end: don't bother releasing everything; pkgdb is enough.
xbps-query -L now: 115ms
xbps-query -L before: 148ms

Fuck you valgrind!
2015-01-14 18:43:17 +01:00
Juan RP
a651f33832 xbps_pkgdb_release: don't bother releasing everything. 2015-01-14 17:34:00 +01:00
Juan RP
8f1e7d9e55 question: accept enter key as default preset value. 2015-01-12 10:22:30 +01:00
Juan RP
f7142412c9 utils: implement issue #73 (only pay attention to the first char).
The answer can now just be 'y/Y' to accept it or 'n/N' to deny it.
Close #73
2015-01-11 16:52:04 +01:00
Juan RP
91b7b2fd5a Use a sane umask(2) before unpacking package files.
See https://github.com/voidlinux/void-packages/issues/835
for more information.
2015-01-11 11:01:09 +01:00
Juan RP
b23855f692 xbps_repo_close: only unlock the file lock if repo was opened as such.
If xbps_repo_open() was called with the lock arg set, xbps_repo_close()
will now unlock the repo file lock, without the need to set it.

This avoids the need to always unlock the file lock even if it wasn't
locked previously. This also introduceds an ABI/API break, but this
way it's cleaner.
2015-01-11 09:11:38 +01:00