Commit Graph

236 Commits

Author SHA1 Message Date
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
49cc70de9a xbps-checkvers: rewrite check_reverts without malloc 2019-06-15 23:50:50 +02:00
3805fd5297 xbps-checkvers: use proplib data structures and add cache file 2019-06-15 23:50:50 +02:00
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
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
260d21877f tests/xbps-checkvers: add --manual mode test 2019-06-13 20:12:05 +02:00
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
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
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
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
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
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
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
77b90951ea test: fix typo in remove_directoy and move to right place 2019-06-07 20:13:39 +02:00
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
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
121d0fbb64 tests: add test for removing package with ignored dependency 2019-06-02 18:24:03 +02:00
3533af846f tests: add tests for absolute configuration include 2019-05-22 15:05:45 +02:00
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
fa5911bb00 tests: test for removal of nested directories 2019-05-16 11:04:48 +02:00
208573d368 tests: install_and_update_revdeps: improve to catch more cases. 2019-05-14 23:34:53 +02:00
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
4162ec2bd6 tests: add test for useless alternative switch on package removal 2019-04-22 14:51:32 +02:00
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
6fe9a05d93 tests: improve previous (dupdeps). 2019-04-22 14:51:13 +02:00
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
a65630df03 tests: fix ingorepkg tests 2019-04-20 11:53:06 +02:00
66524481b2 tests: update test for setting one altenatives group
Closes: #47 [via git-merge-pr]
2019-04-20 11:10:34 +02:00
ea2cb1d369 unpack: keep conf_files replaced with symlinks, unpack as .new-pkgver 2019-04-20 10:56:08 +02:00
2ad2659d4c tests: disable failing test 2019-04-20 10:54:51 +02:00
4999f3f2fc tests: add xbps-install update test (replace directory with symlink) 2019-04-20 10:46:59 +02:00
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
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
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
25427fca7d tests: xbps-create with fifo in destdir 2019-04-14 12:37:24 +02:00
4e267de72d tests: fix downgrade hold test 2019-04-14 12:08:49 +02:00
53e6f5c75f tests: add downgrade hold test 2019-04-14 11:53:07 +02:00
31737ff946 tests/xbps/libxbps/config: safer string handling
Closes: #61 [via git-merge-pr]
2019-03-22 19:14:08 +01:00
d41cafbe52 tests: add test for shlib-provides with replaces 2019-03-22 19:14:08 +01:00
d7c2e87d55 tests: make tests POSIX shell compatible 2019-03-22 19:14:08 +01:00
219f6c2310 xbps-rindex: add test to trigger stage deadlock 2018-06-28 13:30:14 +02:00
dd7a0d073b lib/package_alternatives.c: remove previous symlinks 2016-09-05 02:03:30 +02:00
3a067f2e20 tests: check if empty stage correctly gets removed 2016-03-22 09:47:25 +01:00
b9ce711848 tests: add tests to ensure that packages in stage are not removed 2016-03-21 11:23:48 +01:00
abde080ac1 tests: add test for staged packages 2016-03-21 08:31:18 +01:00
5b66679929 tests: xbps-rindex add missing atf_test_case 2016-03-20 21:36:30 +01:00
067687ce28 libxbps: ignore updates for pkgs with held deps. Close #143 2016-02-06 09:03:54 +01:00
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
0fa676f50c tests/libxbps/update_hold: fix previous. 2016-02-05 11:27:07 +01:00
d211825a18 tests: move and rename on hold test to the correct file. 2016-02-05 11:14:18 +01:00