Commit Graph

1006 Commits

Author SHA1 Message Date
Juan RP
1597727814 xbps-uunshare: do not fail if /proc/self/setgroups does not exist.
3.16 supports user_namespaces(7) but does not have /proc/self/setgroups.

Found by @cheneukirchen.
2015-03-09 12:34:57 +01:00
Juan RP
25f7228920 xbps-reconfigure: add -i/--ignore to usage; thanks @chneukirchen. 2015-03-08 10:22:15 +01:00
Juan RP
acb00d52e4 xbps-checkvers(8): fix manually added packages as arguments.
Regression introduced in the 0.44 changes.
2015-03-07 09:11:12 +01:00
Juan RP
77e83d4b17 xbps-uunshare: for compat with uchroot, use the uid/gid of the calling process.
... rather than setting this up for uid/gid 0.
2015-03-06 07:39:31 +01:00
Juan RP
3da2c3fdda xbps-uunshare: silence a clang warning. 2015-03-05 19:24:33 +01:00
Juan RP
26944cf6be xbps-uunshare: chdir to the correct dir for bind mounts. 2015-03-05 19:06:39 +01:00
Juan RP
a1d1b3e480 bin/Makefile: restrict xbps-uunshare(8) only on linux. 2015-03-05 18:46:01 +01:00
Juan RP
58e6d71d24 New utility: xbps-uunshare(8) - like xbps-uchroot(8) with user_namespaces(7). 2015-03-05 18:44:20 +01:00
Juan RP
927254c43e xbps-rindex(8): fix -s short option (omitted in shortopts). 2015-03-03 16:10:03 +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
db21c045d2 xbps-create(8): use fdatasync() rather than fsync().
The latter could be too expensive, and we only care for the data to be written
to the binary package because a bit later we rename() the temporary file,
which will ensure a data flush to disk.
2015-02-27 11:04:25 +01:00
Juan RP
04da57e4f9 xbps-pkgdb: when checking pkg files, ignore mtime with mutable files. 2015-02-27 10:38:50 +01:00
Juan RP
c712c99ced xbps-pkgdb: exit with error if any test fails. 2015-02-26 12:01:20 +01:00
Juan RP
725ef2472d xbps-uhelper: sync error messages with reality. 2015-02-23 16:56:47 +01:00
Juan RP
b909e8edc3 xbps-pkgdb: fix use-after-free introduced in 3855d2e. 2015-02-23 08:26:20 +01:00
Juan RP
3855d2e2fb xbps-pkgdb(8): check pkg file mtime (iff the obj is available). 2015-02-22 18:45:47 +01:00
Juan RP
2cae0cba01 xbps-create(8): store file mtime in metadata for upcoming changes. 2015-02-22 18:20:32 +01:00
Juan RP
3692ecb537 xbps-query/search: fix previous. 2015-02-20 11:07:35 +01:00
Juan RP
341e8a10ae xbps-query/search: minor optimizations. 2015-02-20 11:01:18 +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
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
Juan RP
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
Juan RP
69e3a50e75 xbps-create: handle correctly another case of relative symlinks. 2015-02-19 09:44:09 +01:00
Juan RP
9c47bc0b1a xbps-re{configure,move}: fix previous. 2015-02-18 17:02:50 +01:00
Juan RP
96b76c28e5 xbps-reconfigure: do not bother to print useless msgs about unknown states.
Those states are not meaningful for the application.
2015-02-18 16:56:34 +01:00
Juan RP
73c0d68acd xbps-remove: do not bother to print useless msgs about unknown states.
Those states are not meaningful for the application.
2015-02-18 16:55:42 +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
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
c0c3771965 xbps-remove.8: improve -F desc. 2015-02-16 11:19:09 +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
1d0a8649da bin/xbps-install/util.c: properly report pkgs to be removed. 2015-02-02 09:49:16 +01:00
Juan RP
0c208bb744 xbps-query(8): ownedby: do not follow symlinks and print target file too. 2015-01-29 17:32:14 +01:00
Juan RP
20276fc068 xbps-install: add additional actions to the column output.
- downgrade if new version in repos is less than installed one.
- reinstall if both versions are equal.

and additionally always print installed pkg version, irrespectively of
the transaction mode.

Close #72
2015-01-29 09:58:32 +01:00
Juan RP
e95300e952 xbps-install/util: print installed version in pkgs on hold mode. 2015-01-28 18:06:58 +01:00
Juan RP
9bc3275515 xbps-install/state_cb: log XBPS_STATE_UPDATE via syslog too.
This way the updates are also recorded via syslog.
2015-01-28 09:48:20 +01:00
Juan RP
d519ed3d15 xbps-checkvers: misc changes to fix issues I've found.
- Clear completely the rcv struct.
- Remove unapplicable free()a before assignment (wtf)
- Fix usage, -C expects a path to a directory not a filename.
- Remove obsolete xbps.conf handling, this is unnecessary (xbps.d(5)).
- Random tweaks after a quick inspection.
2015-01-22 18:44:39 +01:00
Juan RP
f11dc1a7b1 xbps-query.8: mention that -p is also accepted with -S (show/default mode). 2015-01-18 19:14:30 +01:00
Juan RP
94d0e4e131 xbps-query(8): --regex now matches EREs in case insensitive mode. 2015-01-18 17:50:26 +01:00
Juan RP
1251583154 xbps-{pkgdb,reconfigure}: flush pkgdb in case it was modified.
Regression introduced with the recent xbps_end() changes.
2015-01-17 12:06:13 +01:00
Juan RP
676888b5c1 xbps-query: optimize the search mode with --regex (compile ERE once). 2015-01-14 20:53:01 +01:00
Juan RP
8f1e7d9e55 question: accept enter key as default preset value. 2015-01-12 10:22:30 +01:00
Juan RP
f7142412c9 utils: implement issue #73 (only pay attention to the first char).
The answer can now just be 'y/Y' to accept it or 'n/N' to deny it.
Close #73
2015-01-11 16:52:04 +01:00
Juan RP
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
Juan RP
9aaff4e2d0 xbps-dgraph: -m --metadata was documented but not enabled in getopt (oops). 2015-01-11 08:58:02 +01:00
Juan RP
d4a25b7ebf xbps-remove: xbps_pkgdb_unlock -> xbps_end. 2015-01-10 19:26:24 +01:00
Juan RP
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
Juan RP
d98442d84e xbps-{install,query}.8: absolute path in --repository is not a requirement now. 2015-01-10 12:02:20 +01:00
Juan RP
b09faadebc xbps-{install,query}: --repository now accepts relative paths in local repos. 2015-01-10 11:59:31 +01:00