Commit Graph
100 Commits
Author SHA1 Message Date
Juan RP c712c99ced xbps-pkgdb: exit with error if any test fails. 2015-02-26 12:01:20 +01:00
Juan RP 7c52471ff6 tests: add test case to verify pkg file timestamps are updated correctly. 2015-02-26 10:40:15 +01:00
Juan RP cbe493858c libxbps: apply file timestamps to unmodified files on-disk while unpacking. 2015-02-25 11:10:18 +01:00
Juan RP b133b9023c lib/package_unpack.c: wrap some long lines and fix an obvious error. 2015-02-24 09:34:39 +01:00
Juan RP 725ef2472d xbps-uhelper: sync error messages with reality. 2015-02-23 16:56:47 +01:00
Juan RP b909e8edc3 xbps-pkgdb: fix use-after-free introduced in 3855d2e. 2015-02-23 08:26:20 +01:00
Juan RP 3855d2e2fb xbps-pkgdb(8): check pkg file mtime (iff the obj is available). 2015-02-22 18:45:47 +01:00
Juan RP 2cae0cba01 xbps-create(8): store file mtime in metadata for upcoming changes. 2015-02-22 18:20:32 +01:00
Juan RP ae8ce64542 Restore pkg file timestamps while unpacking as regular user.
Requested by @dominikh.
2015-02-21 16:52:27 +01:00
Juan RP 3692ecb537 xbps-query/search: fix previous. 2015-02-20 11:07:35 +01:00
Juan RP 341e8a10ae xbps-query/search: minor optimizations. 2015-02-20 11:01:18 +01:00
Juan RP 7e21f1ee1a xbps_symlink_target: rename var to avoid shadowing a global var. 2015-02-19 11:44:10 +01:00
Juan RP 9083191e4b xbps_symlink_target: double free in rootdir == '/' case. 2015-02-19 11:39:59 +01:00
Juan RP 6d65e76f91 xbps_symlink_target: fix a memleak. 2015-02-19 11:36:09 +01:00
Juan RP a05e039cce Revert "Stop converting relative symlinks to absolute."
This reverts commit 9ae3638429.

This change is ok, but cannot be used right now because all existing
binpkgs were created with an old xbps-create(8).
2015-02-19 11:11:58 +01:00
Juan RP 9ae3638429 Stop converting relative symlinks to absolute.
There's no reason to make them absolute, simply store in the metadata
the target file as is. This vastly simplifies the code and makes all
test pass correctly.
2015-02-19 11:04:34 +01:00
Juan RP 2f9dd7237b NEWS: mention xbps-pkgdb(8) recent fixes. 2015-02-19 10:33:43 +01:00
Juan RP 67eba7d912 Improve detection of target file in relative symlinks.
If xbps-create(8) did not guess the target file of relative symlinks for
some reason, just compare the current symlink and what's stored as is,
without converting it to absolute.

This might happen with dangling relative symlinks or existing binary
packages that were not created with a newer xbps-create(8).
2015-02-19 10:24:24 +01:00
Juan RP 05f879ec09 Introduce xbps_symlink_target() and use it in two places.
This code is now shared by xbps-pkgdb and libxbps/xbps-remove.
2015-02-19 09:47:09 +01:00
Juan RP 69e3a50e75 xbps-create: handle correctly another case of relative symlinks. 2015-02-19 09:44:09 +01:00
Juan RP 9c47bc0b1a xbps-re{configure,move}: fix previous. 2015-02-18 17:02:50 +01:00
Juan RP 96b76c28e5 xbps-reconfigure: do not bother to print useless msgs about unknown states.
Those states are not meaningful for the application.
2015-02-18 16:56:34 +01:00
Juan RP 73c0d68acd xbps-remove: do not bother to print useless msgs about unknown states.
Those states are not meaningful for the application.
2015-02-18 16:55:42 +01:00
Juan RP 45f624eae2 tests: another test case to verify removal of dangling symlinks. 2015-02-18 16:46:45 +01:00
Juan RP c4acbbe698 tests: more test cases to verify removal of symlinks. 2015-02-18 16:10:08 +01:00
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
Juan RP 9aaff4e2d0 xbps-dgraph: -m --metadata was documented but not enabled in getopt (oops). 2015-01-11 08:58:02 +01:00
Juan RP 7dea05f507 xbps_pkgdb_update: added 3rd bool arg "update", not update in memory pkgdb.
If true, the in memory pkgdb dict will be updated with data from the on-disk pkgdb.
2015-01-10 19:42:09 +01:00
Juan RP 7c153a2b15 pkgdb: disable pkgdb conversion code; 0.38 was released long ago. 2015-01-10 19:26:37 +01:00
Juan RP d4a25b7ebf xbps-remove: xbps_pkgdb_unlock -> xbps_end. 2015-01-10 19:26:24 +01:00
Juan RP ee175a2a68 Improve xbps_end() and use it before exit(3)ing.
- Simplify xbps_repo_open::repo_get_dict().
- Use xbps_end() in the utils where necessary.
- Make xbps_end() call xbps_pkgdb_unlock() if necessary.
- Make xbps_end() release rpool resources.
- Make xbps_end() release resources from xbps_handle.
- Fixed 90% of reported leaks (still reachable at exit) from valgrind.

That was to silence valgrind's memcheck with --leak-check=full.
2015-01-10 19:11:31 +01:00
Juan RP d98442d84e xbps-{install,query}.8: absolute path in --repository is not a requirement now. 2015-01-10 12:02:20 +01:00
Juan RP 8196811e2e lib/repo.c: indent previous. 2015-01-10 12:00:36 +01:00
Juan RP b09faadebc xbps-{install,query}: --repository now accepts relative paths in local repos. 2015-01-10 11:59:31 +01:00
Juan RP 283fb4bc06 xbps-remove: misc changes to the clean-cache mode.
- If orphans mode is not set, exit directly.
- Simplify the clean-cache code to avoid unnecessary allocs in some cases.
2015-01-10 11:13:26 +01:00
Juan RP ee9aa98a64 xbps-query: some minor memleaks found by valgrind. 2015-01-10 08:01:36 +01:00
Juan RP 7b3a500139 libxbps: the provides obj now expects exact pkgver strings.
This reduces extra allocs and simplifies the code, which was just
there to workaround some broken pkgs anyway.
2015-01-10 07:26:23 +01:00
Juan RP dc157614d0 COPYING: bump copyright year. 2015-01-10 05:44:16 +01:00
Juan RP 1f6a5c0e47 libxbps: detection of orphaned packages is now 66% faster. 2015-01-10 05:43:35 +01:00
Juan RP 0ec2dd98ce NEWS: mention another performance improvement. 2015-01-08 10:35:07 +01:00
Juan RP cdf7fc81af xbps-query(8): performance improvement to the ownedby mode with --regex.
Only compile the ERE once, rather than on any file. Found and suggested
by Christian Neukirchen (@chneukirchen).
2015-01-08 10:32:08 +01:00
Juan RP 5d7a5a646d xbps_repo_get_pkg_revdeps: find pkg via repo_get_xxx not rpool_get_xxx. 2015-01-06 07:58:45 +01:00
Juan RP 52fc0043e0 README: add a section explaining where to find static bins. 2015-01-05 16:28:34 +01:00
Juan RP ef923fb22b Post release bump. 2015-01-05 16:09:48 +01:00
Juan RP f05dcb2378 Bump to 0.43.1. 2015-01-05 16:08:41 +01:00
Juan RP 9d582abe0f Fixed a regression with virtual packages declared via xbps.d(5).
Added a new test case to verify its correctness. Somehow virtual packages
declared via xbps.d(5) were not working correctly for dependencies.

This now works as expected with vpkgs declared with and without a version
component.
2015-01-05 16:04:22 +01:00
Juan RP 3e01986864 Post release bump. 2014-12-31 08:59:34 +01:00
Juan RP fa46c853c5 NEWS: prepare 0.43. 2014-12-31 08:58:32 +01:00
Juan RP 576000307d NEWS: mention that pcc>=1.1.0 is a supported compiler. 2014-12-31 08:56:30 +01:00
Juan RP 65f9a43b5e Fallback to -fstack-protector if -strong is not supported. 2014-12-31 08:55:09 +01:00
Juan RP eee895c6d8 Fixed a regression in vpkgs and improve xbps.d(5) virtualpkg declarations.
See the NEWS file for more information.
2014-12-31 08:51:45 +01:00