Commit Graph

174 Commits

Author SHA1 Message Date
Enno Boland
635db51c27 lib/package_alternatives.c: always use relative symlinks in alternatives
This commit adds relative link support to lib/package_alternatives.c.
Instead of creating absolute links, xbps will create relative links
to the target. This allows to follow links on systems even if the
aren't mounted on /.
2015-11-07 08:40:57 +01:00
Juan RP
9b0cde3267 xbps-alternatives: dangling symlinks are now supported. 2015-11-02 21:02:37 +01:00
Joey Gouly
b4ef9954e7 Fix #120 by stripping comments from the end of lines.
The debug printing is also moved after variable substitution.
Now it prints:
  foo/template: _var foo
  foo/template: pkgname foo

It used to print:
  foo/template: _var foo
  foo/template: pkgname ${_var}
2015-10-31 16:49:55 +00:00
Juan RP
512122da4c alternatives: really make relative symlinks this time. 2015-10-31 14:01:20 +01:00
Juan RP
e3a0164355 tests/xbps-alternatives: extend register_one_relative test case. 2015-10-31 13:08:13 +01:00
Joey Gouly
b06ce15136 Allow relative symlinks in xbps-alternatives. 2015-10-31 11:54:01 +00:00
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