Commit Graph

218 Commits

Author SHA1 Message Date
Juan RP
59a8d3d20e alternatives: skip dup alternative groups. 2015-10-31 11:47:58 +01:00
Juan RP
cb857dfc27 Alternatives framework for xbps (2/2).
See xbps-alternatives(1) for more information.

Thanks to all who helped to design this and for fixing grammar in
the manual page.
2015-10-30 12:24:46 +01:00
Juan RP
03f8cad872 tests/libxbps/conflicts: add 4 new tests cases. 2015-10-29 08:43:59 +01:00
Juan RP
a13a7fa896 Implemented reverse conflicts for pkgs in pkgdb and transaction. 2015-10-28 05:23:42 +01:00
Juan RP
4de397c5a2 tests: add two test cases for xbps-checkvers(1); #120 remains unfixed. 2015-10-21 09:29:45 +02:00
Juan RP
e16ca06d5b tests/xbps/libxbps/shell/cyclic_deps.sh: use atf_expect_death instead. 2015-10-21 09:29:21 +02:00
Juan RP
24af8cde9b xbps-install(1): implement #109.
-n/--dry-run mode now prints "installed_size" obj as 5th argument,
and "filename-size" as 6th argument (if available).

Close #109
2015-10-19 19:02:26 +02:00
Juan RP
103caf0694 libxbps: extend the fix for #116 even more for the expected case.
This now catches both test cases correctly.
2015-10-19 18:19:24 +02:00
Juan RP
b069eb14ae libxbps: fixed issue #116 (vpkg does not replace pkg with update in trans).
Thanks to @dominikh for the test case.
2015-10-19 18:01:43 +02:00
Juan RP
782ec10111 xbps-create(1): timestamps of metadata files are now set to epoch.
Thanks to @Gottox for finding the real issue.
2015-09-03 11:12:49 +02:00
Juan RP
0d5385ad2b xbps-checkvers: fixed an endless loop with "reverts" containing extra alphanumeric chars. 2015-07-27 09:44:25 +02:00
Juan RP
22ffc14026 Override and use a sane umask when performing pkg configuration.
Close #106
2015-06-28 05:14:02 +02:00
Juan RP
c5d6556c50 xbps-remove: fix #95 (xbps-remove -R pkg lists/removes orphans) 2015-05-06 17:21:13 +02:00
Juan RP
68a8b8543d tests: new tests to verify xbps autoupdating itself. 2015-03-29 09:57:37 +02:00
Juan RP
bb4ebf8152 tests: add test case when installing a pkg with unresolved circular deps. 2015-03-21 11:48:26 +01:00
Juan RP
dc47dfd593 xbps_get_pkg_fulldeptree: detect pkgs depending on itself via virtual pkgs.
Reported by Duncan Overbrook.

Update NEWS with recent changes.
2015-03-20 08:03:06 +01:00
Juan RP
441f147f05 Fix reinstallation of pkgs in repolock mode.
At the time we've been searching for the pkg in a repo, no repos
were registered resulting in EINVAL. While here, if there's no
declared repos return ENOENT instead.
2015-03-05 21:23:58 +01:00
Juan RP
7bff8aa350 tests/update_repolock: fix repo order and use readlink -f to fix travis-ci. 2015-03-03 12:57:49 +01:00
Juan RP
4922c808f4 Implemented feature #77 (Add package repository locked mode)
Close #77
2015-03-03 12:11:28 +01:00
Juan RP
976718417b libxbps: remove "skip-obsoletes" handling; unnecessary with the mtime checks. 2015-02-26 19:51:03 +01:00
Juan RP
b6b446d32e libxbps: properly detect obsolete files with files being between pkgs.
120 test cases now successfully pass, and all known issues about
pkg updates that move files between them should be gone (hopefully).
2015-02-26 19:37:46 +01:00
Juan RP
8de52caa2f tests: two more test cases to verify moving files between pkgs.
There are now 2 broken test cases thanks to the fixed xbps-pkgdb(8).
2015-02-26 12:02:06 +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
ae8ce64542 Restore pkg file timestamps while unpacking as regular user.
Requested by @dominikh.
2015-02-21 16:52:27 +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
69e3a50e75 xbps-create: handle correctly another case of relative symlinks. 2015-02-19 09:44:09 +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
3c34c300d1 xbps-create(8): record target file or relative symlinks correctly. 2015-02-18 14:55:54 +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
1cf8646a2d tests: two new test cases for downgrading vpkg providers. 2015-02-08 10:41:50 +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
88fe064e36 tests: remove: add a test case to verify revdeps with xbps-remove(8). 2015-02-02 09:38:05 +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
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
9d8e2d0250 tests: issue31: test should fail with ENOTEMPTY rather than 0. 2015-01-18 10:06:46 +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
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
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
1f6a5c0e47 libxbps: detection of orphaned packages is now 66% faster. 2015-01-10 05:43:35 +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
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
Juan RP
89d11e871f xbps-{install,query}: added -i to ignore repos defined in xbps.d.
See the NEWS file for more information.
2014-11-21 10:56:41 +01:00
Juan RP
428a747fad Fix #69 (No way to set globally a custom architecture)
The "architecture" configuration keyword is now available to override
the native machine architecture returned by (uname(2)).

The XBPS_ARCH environment variable still has preference.
2014-11-19 11:36:09 +01:00
Juan RP
b2bc7af66e Fix #68 (xbps_binpkg_arch() asserts if arch contains a dash) 2014-11-19 11:14:37 +01:00
Juan RP
3afb9d709d Get rid of repodata index-files; the archive is now 8x smaller.
See the NEWS file for more information.
2014-11-13 17:09:43 +01:00
Juan RP
805cabc1c4 tests: add another test case to verify pkg files are replaced correctly. 2014-11-13 11:20:06 +01:00
Juan RP
e81a71129c tests: new test case to verify pkg files are replaced correctly. 2014-11-13 09:21:24 +01:00
Juan RP
039a155918 xbps-create(8): fix #64 "incorrect installed-size with hardlinks" 2014-11-12 12:37:35 +01:00
Juan RP
53f13d579e Added the "bestmatching" configuration keyword to enable pkg best matching.
See the NEWS file for more information.
2014-11-07 10:07:51 +01:00
Juan RP
759f7e7fba tests: use abs path to repodir in xbps-rindex. 2014-11-06 11:21:32 +01:00
Juan RP
5183b0a7e7 tests: enable debugging in xbps-rindex (2/2). 2014-11-06 11:02:14 +01:00
Juan RP
4086c0a4c6 tests: enable debugging in xbps-rindex to see what's going on. 2014-11-06 10:56:15 +01:00
Juan RP
5b522109f7 Replaced config/system {repo,preserve,virtualpkg}.d with a single directory.
See the NEWS file for more information.
2014-11-06 09:58:04 +01:00
Juan RP
595136704e Get rid of system virtualpkg.d support (<prefix>/share/xbps/virtualpkg.d).
Binary packages do not need to provide those virtualpkg configuration files
anymore; all vpkg info is now collected from pkgdb.
2014-11-04 11:17:27 +01:00
Juan RP
5fe3594cb5 Make sure that modified symlinks are preserved.
When removing a package, symlinks owned by this package that have been
modified should be preserved, unless the force flag is set via xbps-remove(8).
2014-10-25 06:43:30 +02:00
Juan RP
627a5afaaf Make sure that automatic/manual installation modes are set as expected. 2014-10-20 07:59:06 +02:00
Juan RP
231582e671 libxbps: make sure to not add dups in transaction for remove. 2014-10-19 11:22:17 +02:00
Juan RP
fb868454b2 libxbps: make sure to not add dups in transaction for install/update. 2014-10-19 11:00:40 +02:00
Juan RP
ff189fd210 Replaced redundant dependency sorting code with a simpler implementation.
This fixes the issue found by "xbps-src bootstrap" when a package
without "provides" was declared as a virtual package.
2014-10-18 12:35:47 +02:00
Juan RP
5b5a948f15 tests: xbps-rindex/add: set rootdir to not use host repo.d 2014-10-17 10:14:58 +02:00
Juan RP
5c8c7b1172 tests: xbps-rindex/add: rework some tests to use xbps-query -s rather than -Ro. 2014-10-17 10:08:59 +02:00
Juan RP
d7633e88e0 Fix #62 (Dup replaced pkgs in transaction) 2014-10-17 09:52:32 +02:00
Juan RP
1a3982bb57 tests: libxbps/shell: fix tests that use ln(1) -r on travis-ci. 2014-10-06 14:24:42 +02:00
Juan RP
1546e44e70 tests: libxbps/issue20: do not use ln(1) -r; fails with travis-ci. 2014-10-06 14:20:52 +02:00
Juan RP
01781b3b7e Added support to run tests in place.
- ./configure --enable-tests && make
	- kyua test -k tests/xbps/Kyuafile
2014-10-06 11:59:16 +02:00
Juan RP
691cd26482 tests: use xbps-install -d in two test cases. 2014-10-05 08:55:57 +02:00
Juan RP
43b450d6fb tests: new test to verify another shlibs revdep case (currently it fails). 2014-09-29 14:56:32 +02:00
Enno Boland
0c27c66d2a tests: correct test description. 2014-09-29 08:57:12 +02:00
Enno Boland
06cc3600f4 tests: remove useless LD_PRELOAD= 2014-09-29 08:52:35 +02:00
Enno Boland
f50a5df3c2 tests: add test case for reverts which simulates a full workflow. 2014-09-28 22:22:56 +02:00
Juan RP
2a89552375 tests: new test to verify pkg files removal with files that only have read bit set.
This currently fails but will be fixed in an upcoming change.
2014-09-28 13:28:56 +02:00
Juan RP
2dc92ab966 tests: enable xbps-checkvers tests added by @Gottox. 2014-09-27 22:57:44 +02:00
Enno Boland
4fda229efb xbps-checkvers: add tests. 2014-09-27 20:51:21 +02:00
Enno Boland
4467518329 bin/xbps-rindex: add unit tests to test rindex behavior for adding packages with reverts. 2014-09-23 19:17:31 +02:00
Enno Boland
511fdc4215 xbps_pkg_reverts: add unit tests to test this functionality. 2014-09-23 18:26:03 +02:00
Juan RP
68bb09bc58 tests: two new tests to verify pkg install/update with no files. 2014-09-14 18:03:29 +02:00
Juan RP
c36c641350 tests/libxbps/replace: another test case for replaces and vpkgs. 2014-09-14 12:49:38 +02:00
Juan RP
842a91149d tests/libxbps/replace: add more debugging to see what's going on. 2014-09-13 12:21:24 +02:00
Juan RP
60e9bbac3d tests/libxbps/replace: check that pkgs were configured too.
These two tests currently fail.
2014-09-13 12:11:24 +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
01dbb968dd Welcome pkgdb-0.38. 2014-09-11 00:12:12 +02:00
Juan RP
d0a4cc5b9d tests: install_with_vpkg_deps: fix order. 2014-09-04 10:11:46 +02:00
Juan RP
bc92b387cb Really fix #53 this time: with or without -n. 2014-08-23 16:25:51 +02:00
Juan RP
4c14785480 Fix #53 (xbps-install with multiple arguments shouldn't fail if one is already installed). 2014-08-23 08:02:40 +02:00
Juan RP
7cef93ce07 Added support to replace vpkgs when the real pkgname matches any installed vpkg. 2014-08-22 12:44:18 +02:00
Juan RP
f8d8f91a08 Implement support to "preserve" existent on-disk files.
See NEWS for more information. Fix #51
2014-08-01 15:09:51 +02:00
Juan RP
cc6f9901f1 Fix #50 (Existent files on disk might be overwritten by packages with conf_files). 2014-07-30 16:18:57 +02:00
Juan RP
f5fe2c35c7 tests: new test for vpkgs to reproduce awk/base-system-busybox fallout.
This test currently fails and must be fixed.
2014-07-12 09:40:36 +02:00
Juan RP
1857672e14 tests: add another test case for GH issue #45.
The test passes completely and cannot be make to segfault in any provided case.

I'll continue investigating...
2014-07-08 16:34:47 +02:00
Juan RP
21f32a75c5 Fixed a new issue with vpkgs replacing the same vpkg they are providing.
Added a new testcase to verify its correctness.
2014-07-01 15:35:55 +02:00