Juan RP
be05118aa8
libxbps: verify repodata signatures even if rootdir is unset.
...
xbps-rindex(1) has a -r option that sets the remove mode,
due to the changes added to sign repodata we need to access
to the correct directory where repository public keys are
stored. This makes the code use `$PWD/keys` before falling
back to `metadir`.
Fixes the test suite to run with unprivileged users (non root).
2019-11-24 12:52:50 +01:00
q66
85b8b3bbb7
lib/package_alternatives.c: prune obsolete alternatives groups
...
In the edge case when an updated package has different (or no)
alternatives groups, make sure to prune those that are in pkgdb
but not in the newly installed package.
A potentially common case of this is when a package that formerly
had alternatives gets removed and a transitional metapackage
takes its place (which has no alternatives).
When the new package has no dependencies, oldest next possible
alternatives group will be used. This is because that indicates
a removed package. When there are dependencies, the newest one
will be used; as this indicates a transitional package.
2019-11-17 13:22:15 +01:00
Piotr Wójcik
d785e7e483
Tests for signing metadata
2019-11-02 11:53:14 +01:00
Piotr Wójcik
699b2bdd3b
lib/util.c: verify revision in xbps_pkg_{version,revision,name}
2019-10-25 23:37:23 +02:00
Duncan Overbruck
7b66a2885b
tests: add two more tests for preserving and force removal of conf files
2019-08-06 13:49:51 +02:00
Duncan Overbruck
c88f15c8fa
tests: add two new test cases for keep and removal of modified files
2019-08-05 14:45:19 +02:00
Duncan Overbruck
f215411362
tests: add another testcase for transitional package replaces/provides
2019-08-05 14:44:39 +02:00
Duncan Overbruck
b20e1f5192
Revert "tests: add another case to install_and_update_revdeps test"
...
This reverts commit f6bc7f621c
.
2019-08-05 11:49:40 +02:00
Duncan Overbruck
4f6a5a51de
tests: obsolete files test to prove that alternatives don't need to be considered
2019-08-02 11:44:26 +02:00
Duncaen
f6bc7f621c
tests: add another case to install_and_update_revdeps test
...
The new case checks if xbps is smart enough to only update packages that
require an update due to revdep updates.
2019-07-03 00:48:57 +02:00
Duncaen
7c3029589c
lib/package_fulldeptree.c: don't add the package itself to the fulldeptree result
...
This was noticed a few days ago by @leah2.
2019-07-02 09:48:05 +02:00
Duncaen
f9233a862c
tests: cover more cases find_pkg_orphans_test:find_all_orphans_test
2019-07-02 09:48:05 +02:00
Juan RP
db00ccc3b0
tests/xbps-remove/orphans: use -r root.
2019-06-27 07:57:13 +02:00
Duncaen
cc1c984e9a
tests: add xbps-remove tests
2019-06-26 22:22:44 +02:00
Duncaen
3c07036c24
tests: new obsolete files test with modified files which should catch bug from previous commit
2019-06-26 13:23:18 +02:00
Juan RP
f9477e08a7
tests/update_itself: improve test case on_any_op even more.
2019-06-25 23:13:17 +02:00
Duncaen
5fc340a838
tests: add test for removal of ignored package
2019-06-23 12:23:17 +02:00
Juan RP
4f717dc597
xbps-install(1): added -I, --ignore-file-conflicts.
...
If set it will continue with the transaction and will
just print what are the conflicting files without returning
EEXIST.
This is a temporary solution for void where there are still
some packages with conflicting files (qt5-host-tools vs qt5-tools-devel).
With input by @duncaen
2019-06-21 15:31:04 +02:00
Duncaen
2cccb31508
tests: add two test cases for obsolete preserved files
2019-06-20 14:53:08 +02:00
Juan RP
a3209f4b57
tests: rename some tests to make .gitignore effective.
2019-06-20 12:50:10 +02:00
Juan RP
b37dd066c9
tests: fix manpage refs.
2019-06-20 11:02:40 +02:00
Juan RP
818e399a8c
tests/xbps-checkvers: update tests for new output fmt.
2019-06-19 13:48:22 +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
27b9da6c9a
tests: don't rely one files mtime
2019-06-18 19:54:22 +02:00
Duncaen
f4bf826c7f
tests: add two more test cases for obsolete files
2019-06-18 19:54:22 +02:00
Duncaen
f6bf9b44ce
tests: add tests for package preserve keyword
2019-06-18 19:54:22 +02:00
Duncaen
3915d523d0
tests: add test for conflicting files in transaction
2019-06-18 19:54:22 +02:00
Duncaen
247463e359
tests: add two new tests for transaction_files
2019-06-18 19:54:22 +02:00
Duncaen
6877d28139
lib/package_find_obsoletes.c: remove in favor of transaction file checks
2019-06-18 19:54:22 +02:00
Duncaen
888289786b
tests: move file type change tests to obsolete files
2019-06-18 19:54:22 +02:00
Duncaen
bf4740040f
tests: Update package to meta moving files to dependency and replaces
...
https://github.com/void-linux/xbps/issues/12
2019-06-18 19:54:22 +02:00
Duncaen
c8ef119f4b
tests: enable debug flag in directory to symlink test
2019-06-18 19:54:22 +02:00
Duncaen
f5e6d33c6e
tests: update test issue31
2019-06-18 19:54:22 +02:00
Duncaen
69e64e6c21
tests: enable test 'replace directory with symlink'
2019-06-18 19:54:22 +02:00
Johannes Brechtmann
514dca27ef
tests: update replaces file with directory
2019-06-18 19:54:22 +02:00
Duncaen
66e5b721ae
tests: obsoletefiles_test:reinstall_obsoletes add debug flag and different rv
2019-06-18 19:54:22 +02:00
Duncaen
2a9029b736
tests: fix tests; transaction detect if multiple packages install the same file
2019-06-18 19:54:22 +02:00
Duncaen
c533f1bd52
tests: change the obsoletefiles tests to have the same mtime
...
This is required because the of reproducibility changes.
2019-06-18 19:54:22 +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
Duncaen
49cc70de9a
xbps-checkvers: rewrite check_reverts without malloc
2019-06-15 23:50:50 +02:00
Duncaen
3805fd5297
xbps-checkvers: use proplib data structures and add cache file
2019-06-15 23:50:50 +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
3a70495ba6
tests/cyclic_dep_full: fix xbps-query cmd.
...
Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-15 16:34:08 +02:00
Duncaen
260d21877f
tests/xbps-checkvers: add --manual mode test
2019-06-13 20:12:05 +02:00
Juan RP
b69a399b52
tests/xbps-checkvers: update tests for new output format.
...
Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-13 20:12:05 +02:00
Juan RP
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
5913205dcf
tests/xbps-alternatives: indent "more_entries_update" test case.
...
Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-11 19:53:19 +02:00
Juan RP
d021698365
tests/xbps-alternatives: new test case that fails.
...
Contributed by @duncaen.
Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-11 19:53:19 +02:00
Juan RP
72c66530c7
tests/xbps-alternatives: new test case, fixes for others.
...
New test case from @duncaen, fails currently.
Fixes for other test cases.
Signed-off-by: Juan RP <xtraeme@gmail.com>
2019-06-11 19:53:19 +02:00
Juan RP
6204bc25f6
tests/xbps-alternatives: rename test to "remove_current_provider".
...
Also use -r in xbps-alternatives, by @duncaen.
2019-06-11 19:53:19 +02:00
Juan RP
5af8067973
tests/xbps-alternatives: add a new test.
...
This new test case checks that provider fallbacks to the first one
when the current provider is removed.
The test fails currently.
2019-06-11 19:53:19 +02:00
Johannes Brechtmann
77b90951ea
test: fix typo in remove_directoy and move to right place
2019-06-07 20:13:39 +02:00
Juan RP
dc65f62ad7
tests/remove_symlinks_dangling: fix test, noticed by @jnbr.
...
Somehow I confused the test case name.
2019-06-07 20:13:24 +02:00
Juan RP
9e2c00ee8b
libxbps: remove dangling symlinks properly.
...
This fixes removal of packages that contain multiple levels
of dangling symlinks, i.e faenza-icon-theme and probably others.
Close #23
2019-06-07 20:13:24 +02:00
Duncaen
121d0fbb64
tests: add test for removing package with ignored dependency
2019-06-02 18:24:03 +02:00
Duncaen
3533af846f
tests: add tests for absolute configuration include
2019-05-22 15:05:45 +02:00
Duncaen
85bf13f138
lib: move conf parsing to lib/conf.c and refactor to not rely on getcwd/chdir
...
This fixes https://github.com/voidlinux/xbps/issues/158
2019-05-22 13:22:10 +02:00
Johannes Brechtmann
fa5911bb00
tests: test for removal of nested directories
2019-05-16 11:04:48 +02:00
Juan RP
208573d368
tests: install_and_update_revdeps: improve to catch more cases.
2019-05-14 23:34:53 +02:00
Juan RP
108a165534
libxbps: try to update revdeps when installing or updating pkgs.
...
This fixes the cases where a pkg installation or update
could break its revdeps due to not satisfying dependencies.
When performing an install or update, xbps now always checks if
there are updates for its revdeps and get added to the transaction.
See the two new test cases for more information.
2019-05-14 23:34:53 +02:00
Duncaen
4162ec2bd6
tests: add test for useless alternative switch on package removal
2019-04-22 14:51:32 +02:00
Juan RP
ffed6ff707
tests/shell/incorrect_deps: get rif of an unnecessary line.
...
Closes : #81 [via git-merge-pr]
2019-04-22 14:51:13 +02:00
Juan RP
6fe9a05d93
tests: improve previous (dupdeps).
2019-04-22 14:51:13 +02:00
Juan RP
c658e41747
fulldeptree: make sure there are no dups.
...
Added a test case to verify that dup deps are discarded
completely.
2019-04-22 14:51:13 +02:00
Duncaen
a65630df03
tests: fix ingorepkg tests
2019-04-20 11:53:06 +02:00
human
66524481b2
tests: update test for setting one altenatives group
...
Closes : #47 [via git-merge-pr]
2019-04-20 11:10:34 +02:00
Duncaen
ea2cb1d369
unpack: keep conf_files replaced with symlinks, unpack as .new-pkgver
2019-04-20 10:56:08 +02:00
Duncaen
2ad2659d4c
tests: disable failing test
2019-04-20 10:54:51 +02:00
Duncaen
4999f3f2fc
tests: add xbps-install update test (replace directory with symlink)
2019-04-20 10:46:59 +02:00
Duncaen
d1667fd931
Add the ability to ignore packages
...
The previous idea was to use virtual packages in the users configuration
to satisfy dependencies by mapping them to existing installed packages.
Using virtual packages for it doesn't work as expected and trying to make
it work would break other functionalities of virtual packages, like the
version satisfaction checks for `provides` and the ability to replace
virtual packages with real packages. The virtual package functionality
should be used exclusively for virtual packages.
This allows users to specify packages packages that should be ignored.
Ignored packages in dependencies are always satisfied without installing
the package, while updating or installing a package that depends on an
ignored package.
This does NOT ignore the shlib checks, ignoring a package that provides
required shared libraries will abort the transaction as if there was no
package that provides the required shared library.
2019-04-19 23:07:59 +02:00
Juan RP
291faddf8c
xbps now also updates revdeps of itself if there's an update.
...
Close https://github.com/void-linux/xbps/issues/77
Closes : #78 [via git-merge-pr]
2019-04-19 22:57:42 +02:00
Juan RP
580a5ba29b
xbps_get_pkg_fulldeptree(): fix all known bugs and make it 50x faster.
...
faster: use a hash table with pkg names on the transaction dict,
the process of collecting and sorting is now 50x faster or
even more (kde5).
bugs: this now detects cyclic deps and returns with an appropropiate
return value: ELOOP and ENOENT in xbps-query(1) --fulldeptree.
Ping me if you need more details :-)
Close https://github.com/void-linux/xbps/issues/16
Close https://github.com/void-linux/xbps/issues/5
2019-04-19 22:57:42 +02:00
Duncaen
25427fca7d
tests: xbps-create with fifo in destdir
2019-04-14 12:37:24 +02:00
Duncaen
4e267de72d
tests: fix downgrade hold test
2019-04-14 12:08:49 +02:00
Duncaen
53e6f5c75f
tests: add downgrade hold test
2019-04-14 11:53:07 +02:00
Cameron Nemo
31737ff946
tests/xbps/libxbps/config: safer string handling
...
Closes : #61 [via git-merge-pr]
2019-03-22 19:14:08 +01:00
Duncaen
d41cafbe52
tests: add test for shlib-provides with replaces
2019-03-22 19:14:08 +01:00
Duncaen
d7c2e87d55
tests: make tests POSIX shell compatible
2019-03-22 19:14:08 +01:00
Enno Boland
219f6c2310
xbps-rindex: add test to trigger stage deadlock
2018-06-28 13:30:14 +02:00
Duncaen
dd7a0d073b
lib/package_alternatives.c: remove previous symlinks
2016-09-05 02:03:30 +02:00
Enno Boland
3a067f2e20
tests: check if empty stage correctly gets removed
2016-03-22 09:47:25 +01:00
Enno Boland
b9ce711848
tests: add tests to ensure that packages in stage are not removed
2016-03-21 11:23:48 +01:00
Enno Boland
abde080ac1
tests: add test for staged packages
2016-03-21 08:31:18 +01:00
Enno Boland
5b66679929
tests: xbps-rindex add missing atf_test_case
2016-03-20 21:36:30 +01:00
Juan RP
067687ce28
libxbps: ignore updates for pkgs with held deps. Close #143
2016-02-06 09:03:54 +01:00
Juan RP
b759ca4b07
xbps-install(1): do not exit if pkg is up-to-date in dry-run mode.
...
Close #145
2016-02-05 11:27:40 +01:00
Juan RP
0fa676f50c
tests/libxbps/update_hold: fix previous.
2016-02-05 11:27:07 +01:00
Juan RP
d211825a18
tests: move and rename on hold test to the correct file.
2016-02-05 11:14:18 +01:00
Juan RP
bd00a0b096
tests: comment out the cyclic_dep_full test for now.
2016-02-04 10:41:10 +01:00
Juan RP
ccc4b3ccf0
tests: cyclic_deps/cyclic_dep_full: set timeout to 5.
2016-02-04 10:38:58 +01:00
Juan RP
377ec33ecf
tests/xbps-install: #143 has not yet been resolved; mark as known bug for now.
2016-02-02 11:08:05 +01:00
yupi2
099d11a448
tests: reproducible segfault
2016-01-02 13:47:38 -06:00
Enno Boland
4e7cc1fb39
tests: fixing a wrong return value.
2016-01-02 18:29:09 +01:00
Enno Boland
35e4f31234
tests: fix test as it was failing for the wrong reason.
2016-01-02 18:21:26 +01:00
Enno Boland
87b9c2e099
tests: add test case for issue #143
...
Segfault when attempting to install a package on hold
2016-01-02 17:43:58 +01:00
Juan RP
93b50bc4dc
alternatives: preserve order while updating pkgs (thanks chris2/duncaen).
2015-11-17 16:32:12 +01:00
Juan RP
b3c7d27c6b
alternatives: fix creation of symlinks with unexistent dirs.
...
If an alternative needs to create /usr/bin/foo, and /usr/bin
does not exist, this directory must be created prior to create
the symlink.
2015-11-14 07:26:27 +01:00
Juan RP
2202482e0e
conflicts: really fix the issue with on hold pkgs and update test case.
2015-11-12 13:23:00 +01:00
Juan RP
784e43d876
conflicts: do not take into account conflicts for on hold pkgs.
2015-11-12 12:24:33 +01:00
Juan RP
0cf4a2c0c0
conflicts: another bugfix + test case.
2015-11-10 15:36:25 +01:00