f9b6dd9d2d
proplib: anonymous mappings need MAP_ANON.
...
Somehow I removed this accidentally in a previous change... sigh.
2015-03-11 17:06:45 +01:00
95d650bdb1
lib/transaction_shlibs.c: add a printf to see what's going on.
2015-03-07 08:02:39 +01:00
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
4922c808f4
Implemented feature #77 (Add package repository locked mode)
...
Close #77
2015-03-03 12:11:28 +01:00
976718417b
libxbps: remove "skip-obsoletes" handling; unnecessary with the mtime checks.
2015-02-26 19:51:03 +01:00
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
cbe493858c
libxbps: apply file timestamps to unmodified files on-disk while unpacking.
2015-02-25 11:10:18 +01:00
b133b9023c
lib/package_unpack.c: wrap some long lines and fix an obvious error.
2015-02-24 09:34:39 +01:00
7e21f1ee1a
xbps_symlink_target: rename var to avoid shadowing a global var.
2015-02-19 11:44:10 +01:00
9083191e4b
xbps_symlink_target: double free in rootdir == '/' case.
2015-02-19 11:39:59 +01:00
6d65e76f91
xbps_symlink_target: fix a memleak.
2015-02-19 11:36:09 +01:00
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
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
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
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
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
628a344560
libxbps: fix a memleak introduced in 1403826fa
.
2015-02-17 16:39:04 +01:00
1403826fa6
libxbps: detect and remove properly symlinks with relative targets.
...
Close #78
2015-02-17 11:59:05 +01:00
0fc297a471
lib/transaction_ops.c: minor optimization.
2015-02-16 11:18:58 +01:00
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
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
4e0ce0fbb4
libxbps: make the vpkg_provider_and_revdeps_downgrade test case work.
2015-02-10 10:55:05 +01:00
1ebb245672
xbps_transaction_store: print repo too.
2015-02-05 10:26:53 +01:00
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
d607655371
libxbps: globally check for unresolved reverse dependencies.
...
Close #46 . See NEWS for more information.
2015-02-03 10:20:13 +01:00
3bc6354550
lib/repo_pkgdeps.c: fix some debug printfs.
2015-02-02 09:37:34 +01:00
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
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
cbf1cfe0f5
libxbps: improve debug messages again.
2015-01-21 11:39:45 +01:00
b7fd0dcac5
xbps_transaction_shlibs: take into account shlibs from pkgs in the transaction.
2015-01-18 12:44:26 +01:00
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
d11230a29d
libxbps: abort pkg unpacking as soon as a file cannot be written.
...
Close #74
2015-01-18 10:22:05 +01:00
bce27b968e
xbps_find_*pkg_in_array: fix logic when transaction obj string matches.
2015-01-17 06:04:22 +01:00
e438aae13c
transaction_revdeps.c: remove dead code.
2015-01-14 21:00:37 +01:00
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
a651f33832
xbps_pkgdb_release: don't bother releasing everything.
2015-01-14 17:34:00 +01:00
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
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
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
7c153a2b15
pkgdb: disable pkgdb conversion code; 0.38 was released long ago.
2015-01-10 19:26:37 +01:00
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
8196811e2e
lib/repo.c: indent previous.
2015-01-10 12:00:36 +01:00
b09faadebc
xbps-{install,query}: --repository now accepts relative paths in local repos.
2015-01-10 11:59:31 +01:00
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
1f6a5c0e47
libxbps: detection of orphaned packages is now 66% faster.
2015-01-10 05:43:35 +01:00
5d7a5a646d
xbps_repo_get_pkg_revdeps: find pkg via repo_get_xxx not rpool_get_xxx.
2015-01-06 07:58:45 +01:00
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
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
b513a5e15e
libfetch: misc cleanups due to nbcompat removal.
2014-12-28 03:34:36 +01:00
4ee6f943dd
libfetch: fix races in the cache connection code.
...
Tested by @Gottox.
2014-12-23 10:52:54 +01:00