Commit Graph

868 Commits

Author SHA1 Message Date
Juan RP
c301cc32e5 xbps-query(8): -S mode prints keys with ANSI bold escape code. 2014-08-05 01:22:58 +02:00
Juan RP
0b116a0f3f xbps-query(8): --search --property now works with <number> objects.
For example to find a package where its binpkg file is bigger than 1GB:

	$ xbps-query --regex -s [0-9][0-9][0-9][0-9]MB -p filename-size
2014-08-02 12:11:28 +02:00
Juan RP
766cbcf683 xbps-remove(8): fix assertion when the cachedir is empty. 2014-08-02 10:00:54 +02:00
Juan RP
f8d8f91a08 Implement support to "preserve" existent on-disk files.
See NEWS for more information. Fix #51
2014-08-01 15:09:51 +02:00
Juan RP
a28046332f Implemented support for pre-remove and post-install messages.
Close #44
2014-07-27 11:24:49 +02:00
Juan RP
38aba4ce60 xbps-install: fix previous of previous (heh). 2014-07-14 09:49:21 +02:00
Juan RP
314e345a5e xbps-install: fix previous; only print pkgs that have "download" property. 2014-07-14 09:43:52 +02:00
Juan RP
26fca48da2 xbps-install(8): added support to list pkgs that will be downloaded from remote repos. 2014-07-14 09:30:28 +02:00
Juan RP
4356b6fd65 Abort transaction if there's not enough free space on disk.
Close #7.
2014-07-13 11:45:04 +02:00
Juan RP
ad28774f2f bin/xbps-install/transaction.c: simplify. 2014-07-13 09:34:54 +02:00
Juan RP
36ad783f07 xbps-query/search: handle vpkg matches into its own conditional; a small performance improvement. 2014-07-06 09:33:59 +02:00
Juan RP
9349e5fc40 xbps-install/state_cb.c: do not treat XBPS_STATE_DOWNLOAD always as an error. 2014-07-03 08:33:37 +02:00
Juan RP
e60677116d Fix #43 (xbps-install: unhelpful message for invalid dependency)
If a package that is going to be installed or updated contains invalid
dependencies return ENXIO and XBPS_STATE_INVALID_DEP xbps state to clients.

This improves the error messages returned to the clients when such
condition happens.
2014-07-02 10:59:25 +02:00
Juan RP
6bb61adb0e Enable syslog logging by default; updated API to use xbps_handle::flags. 2014-06-04 09:39:02 +02:00
Juan RP
a3c253d03c xbps-query: check regcomp() return value. 2014-06-03 12:50:34 +02:00
Juan RP
b9e44009d9 xbps-create(8): new option -t, --tags to store tags/categories metadata. 2014-05-29 11:36:39 +02:00
Juan RP
9e1132c950 xbps-query.8: explain modes and accepted options a bit more detailed. 2014-05-27 12:01:48 +02:00
Juan RP
61a1d33995 xbps-install(8): implemented single pkg updates without -u, --update.
The -u, --update is now only necessary to perform full system updates.

Close #35 (https://github.com/voidlinux/xbps/issues/35)
2014-05-27 11:33:45 +02:00
Juan RP
91344451a3 xbps-query: another argc fixup. 2014-05-27 08:19:08 +02:00
Juan RP
ca8619dd57 xbps-query: fix fallout due to no_argument -> required_argument changes. 2014-05-26 18:05:30 +02:00
Juan RP
0ffc536b48 xbps-query: initialize some modes correctly; remove obsolete -D option. 2014-05-26 17:59:58 +02:00
Juan RP
f1cb7f43dc xbps-query: fix arg[cv] logic added in previous. 2014-05-26 17:52:41 +02:00
Juan RP
0eadaab19d xbps-query: added --regex to use EREs in ownedby and search modes.
This replaces previous -S, --search-regex option. The regex option
can now be used in the ownedby and search modes.

Also added -S, --show option which is the default mode if no other
mode set, and defaults to it to preserve compatibility.
2014-05-26 17:30:44 +02:00
Juan RP
0fbab93383 xbps-query/search.c: simplify regex matching code. 2014-05-26 08:36:33 +02:00
Juan RP
1f0605810c xbps-query: added -S, --search-regex to match EREs against pkg props in repos. 2014-05-25 11:03:31 +02:00
Juan RP
6b83ec7039 xbps-create: initialize two vars to make gcc-4.9 with -fstack-protector-strong happy. 2014-05-16 09:47:35 +02:00
Juan RP
ae70e2c7f4 xbps-uchroot: fixed clang warnings. 2014-05-15 17:05:11 +02:00
Juan RP
ccc5a29a27 xbps-pkgdb/check_pkg_symlinks: avoid many small allocations and fix a small memleak. 2014-05-13 22:54:43 +02:00
Juan RP
26c1e80933 xbps-remove(8): -n,--dry-run option does not need pkgdb write perms anymore. 2014-05-06 16:25:52 +02:00
Juan RP
bbae14f187 xbps-remove(8): -O,--clean-cache is now multithreaded. 2014-05-06 12:17:18 +02:00
Juan RP
35de44fcbd xbps-query(8): fix a segfault with -Rf if pkg is in repodata but not its binpkg. 2014-05-02 17:23:53 +02:00
Juan RP
bbc737a3ee xbps-uhelper: apply some indentation to usage(). 2014-04-21 11:03:18 +02:00
Juan RP
43090cef2a Xref xbps-uchroot(8) 2014-04-21 10:58:09 +02:00
Juan RP
bb491e2667 libxbps: detect and ignore incorrect deps of a pkg if those are virtual pkgs. 2014-04-20 16:54:50 +02:00
Juan RP
119d059c9b bin/xbps-rindex/index-add.c: fix a mistake in previous cleanups. 2014-04-20 10:36:17 +02:00
Juan RP
dacbb2f22f Fixed some warnings reported by clang. 2014-04-20 10:02:54 +02:00
Juan RP
5c3c192d16 xbps-uchroot(8): now with a manual page. 2014-04-18 09:45:25 +02:00
Juan RP
1d74c1c144 xbps-install(8): -n,--dry-run option does not need pkgdb write perms anymore. 2014-04-18 09:06:53 +02:00
Juan RP
1fb3c501ed xbps-{install,query}.8: clarify package expression matching. 2014-04-18 08:53:14 +02:00
Juan RP
20fcf3ad0a xbps-install: sync usage() with reality. 2014-04-17 11:39:47 +02:00
Juan RP
f3274fd13a xbps-query: sync usage() with reality. 2014-04-17 11:39:36 +02:00
Juan RP
5d0ffd8f03 xbps-checkvers: added -d,--debug and -R,--repository=url options.
- -d, --debug new option to enable xbps debug output.
- --distdir short option has been changed to -D.
- -R, --repository=url new option to append repos to the xbps list.
2014-04-17 10:31:00 +02:00
Juan RP
c2c149bd29 xbps-checkvers: use --longopt=FOO in usage(). 2014-04-17 10:03:33 +02:00
Juan RP
ed70fe5009 xbps-query(8): fix a segfault with '-vL' for local unsigned repositories. 2014-04-13 12:24:26 +02:00
Juan RP
b71bda2ba4 xbps-create(8): new option (--compression) to set compression format. 2014-04-11 14:16:58 +02:00
Juan RP
0c3638231c xbps-checkvers: use --distdir option as it is in the original implementation. 2014-04-07 14:11:47 +02:00
Juan RP
8244f57320 bin/*: update manpages with Xref xbps-checkvers(8). 2014-04-07 12:22:55 +02:00
Juan RP
1800aa3434 xbps-checkvers: added a manpage. 2014-04-07 12:20:09 +02:00
Juan RP
e559b9ef9e xbps-checkvers: added -V --version flag; update copyright. 2014-04-07 12:18:20 +02:00
Juan RP
806bcdfe54 xbps-checkvers: make usage() follow xbps style. 2014-04-07 10:53:32 +02:00
Juan RP
1ff1fc90cb Renamed xbps-repo-checkvers -> xbps-checkvers. 2014-04-07 10:45:25 +02:00
Juan RP
f270e6a025 xbps-repo-checkvers: added support to check for outdated pkgs in a rootdir.
New options:
	-i, --installed [to check for outdated pkgs in a rootdir]
	-r, --rootdir [to set the root directory]

The utility name does not make sense anymore and will be renamed in an
upcoming commit.
2014-04-07 10:39:12 +02:00
Juan RP
eb1f1d197d Merge xbps-repo-checkvers from https://github.com/xdave/xbps-src-utils
This is the 2-clause BSD implementation that does not use any external
dependency (other than libxbps).

Written by xdave.

Made some minor changes to build cleanly.
2014-04-06 12:21:24 +02:00
Juan RP
9ace61225d xbps-uchroot: new utility merged from xbps-src, must have appropiate permissions to work. 2014-04-01 10:26:22 +02:00
Juan RP
ee9479cc57 xbps-rindex: --sign bugfix to avoid garbage in the PEM RSA public key buffer. 2014-03-31 12:00:08 +02:00
Juan RP
981bff38cf xbps-query.8: sync with reality. 2014-03-21 14:15:25 +01:00
Juan RP
cb66092fbc xbps-query: added support for -p/--property argument in search mode.
See the NEWS file for more information.
2014-03-21 13:19:40 +01:00
Juan RP
f2868856ee xbps-query: in local mode print all objs from pkgdb. 2014-03-21 11:14:16 +01:00
Juan RP
9eebead5d7 xbps-query: print the 'hold' object on installed packages. 2014-03-21 09:33:18 +01:00
Juan RP
878d2bf7e2 xbps-dgraph: only set rootdir it was set (fix #33). 2014-03-10 10:20:04 +01:00
Juan RP
2bb915c9d5 xbps-uhelper: update usage() for fetch and add Gottox to copyright. 2014-03-04 15:08:14 +01:00
Juan RP
0416b067d0 Use a POSIX lock for pkgdb and only issue pkgdb writes in exact points.
- Rather than using a POSIX named semaphore use a POSIX lock (lockf(3))
for pkgdb for writers. Writers that cannot acquire the pkgdb lock will
get EAGAIN rather then being blocked.

- Due to using a file lock we cannot write the pkgdb every time a package
is being unpacked, configured or removed. Instead pkgdb is only written
at the end of a specific point in the transaction (unpack, configure, remove)
or via xbps_pkgdb_unlock().
2014-03-04 14:37:10 +01:00
Enno Boland
8cdd242f85 xbps-uhelper fetch supports user defined output file
xbps-uhelper now supports downloading files with a defined destination.

The syntax of fetch is "URI>FILENAME". So if you call

	xbps-uhelper fetch "http://foobar.com/foo.tar.gz>bar.tar.gz"

the output file will be named "bar.tar.gz"
2014-03-04 14:22:02 +01:00
Juan RP
f74bf1c1c8 New custom configuration file format that does not need confuse. 2014-02-25 16:42:52 +01:00
Juan RP
73764a90fe xbps-remove: missed an error path where pkgdb lock must be released. 2014-02-23 10:31:36 +01:00
Juan RP
4d1cdcac0c Fix concurrency issues in pkgdb: only allow 1 write transaction at the same time.
This implementation relies on a POSIX named semaphore, which is also
required by xbps-rindex(8).
2014-02-23 08:23:14 +01:00
Juan RP
f97ea2b915 xbps-remove: make -O also remove signature files and skip pkgs with unmatched arch. 2014-02-07 03:50:30 +01:00
Juan RP
9fe6b363d6 Revert "xbps-rindex: [sign] free pubkey data obj after externalizing index-meta."
This reverts commit 11e04685ef.
2014-02-06 16:34:59 +01:00
Juan RP
06b0f86ef4 Revert "xbps-rindex: [sign] pubkey buffer must be kept until index-meta is externalized too."
This reverts commit cbe05bd0f4.
2014-02-06 16:34:45 +01:00
Juan RP
cbe05bd0f4 xbps-rindex: [sign] pubkey buffer must be kept until index-meta is externalized too. 2014-02-06 12:26:17 +01:00
Juan RP
11e04685ef xbps-rindex: [sign] free pubkey data obj after externalizing index-meta.
Otherwise the externalization process might give unexpected results.
2014-02-06 11:52:36 +01:00
Juan RP
306fe4968e xbps-rindex: clear file permission bits before creating our named semaphore.
Due to the file permission bits (umask(3)) the semaphore wasn't created
with correct permissions.
2014-02-05 15:27:35 +01:00
Juan RP
4f7385e4a6 xbps-rindex: switch named semaphore only for the target architecture. 2014-01-31 18:44:24 +01:00
Juan RP
f5e1fff93a xbps-rindex: use a POSIX named semaphore to avoid concurrency issues. 2014-01-31 11:35:31 +01:00
Juan RP
915b8b2557 bin/xbps-rindex/sign.c: fix a stupid typo. 2014-01-30 19:46:46 +01:00
Juan RP
ea26fb3d3f bin/xbps-rindex/sign.c: initialize var for strcmp(). 2014-01-30 19:33:14 +01:00
Juan RP
d08e76a386 Keep repo metadata if possible when updating repodata (xbps-rindex -a/-c).
API/ABI incompat changes, you've been warned.
2014-01-30 13:07:34 +01:00
Juan RP
b21f4c9a59 xbps-rindex: clean mode: fixed random false positives with multiple threads. 2014-01-29 16:58:38 +01:00
Juan RP
c03505b13e Fix #30 (segment fault in xbps-rindex) 2014-01-22 11:53:08 +01:00
Juan RP
7f5bd2f8a3 bin/xbps-rindex/sign.c: add 0.27 compat again. 2014-01-21 16:36:44 +01:00
Juan RP
72f37de770 Fix #29 (xbps-rindex does not sign repodata if no pkg has been signed) 2014-01-21 11:06:02 +01:00
Juan RP
5eea259c13 Remove the config.h kludge and override vasprintf detection via HAVE_VASPRINTF. 2014-01-20 18:50:33 +01:00
Juan RP
804a39c63b Added XBPS_ARCH environment var to override uname(2) machine result. 2014-01-09 11:41:25 +01:00
Juan RP
6537004532 xbps-create: do not use FTW_MOUNT with nftw(3).
There's not much point in using FTW_MOUNT anyway because we don't care
if files are in another filesystem. This makes it work with musl
(which uses a different behaviour when FTW_MOUNT is set).
2014-01-08 20:16:02 +01:00
Juan RP
23650f1c66 bin/xbps-rindex/sign.c: add 0.27 compat glue. 2014-01-03 10:53:55 +01:00
Juan RP
3ca442eb3d xbps-rindex: [add] re-add all package objects to the index. 2013-12-30 10:27:54 +01:00
Juan RP
0a9522210a bin/xbps-rindex/sign.c: use access(2) to check if pkg signature exists. 2013-12-26 07:59:11 +01:00
Juan RP
3730f9f5a4 bin/xbps-install/state_cb.c: use pkgver obj from pkgdb. 2013-12-25 11:12:03 +01:00
Juan RP
98748bdcd1 bin/xbps-rindex/remove-obsoletes.c: also remove pkg signature files. 2013-12-24 12:02:33 +01:00
Juan RP
0a5fa442f2 bin/xbps-query/list.c: remove extra newline. 2013-12-24 11:08:48 +01:00
Juan RP
e4b2193786 bin/xbps-rindex/sign.c: fix a -Wsign-compare warning. 2013-12-24 10:58:55 +01:00
Juan RP
ec0d38c469 Implement per pkg RSA signatures and on-demand repository access. 2013-12-24 10:43:55 +01:00
Juan RP
0744b76946 xbps-xxx.8: update issues url. 2013-12-17 15:38:56 +01:00
Juan RP
2e45e7c5f7 xbps-remove.8: explain how to show the pkg remove script. 2013-12-17 15:36:07 +01:00
Juan RP
77b41d7696 xbps-reconfigure.8: explain how to show the pkg install script. 2013-12-17 15:28:22 +01:00
Juan RP
2a21354a1c Make some reorganization in struct xbps_handle.
The variables to set cachedir, rootdir and metadir have been
changed to "array of chars", this way there are no extra allocations.

Update clients accordingly and bump API version.
2013-12-16 11:46:39 +01:00
Juan RP
cc19818680 Improve stats in the transaction dictionary. 2013-12-16 07:24:17 +01:00
Juan RP
e8c454f3d2 xbps-query: do not print pkg dirs in local ownedby mode, it's unnecessary. 2013-12-12 15:34:37 +01:00
Juan RP
711f2ea7f5 bin/xbps-rindex/sign.c: fix a double free in error path found by clang-analyzer. 2013-12-11 12:39:15 +01:00
Juan RP
4403caa434 Add repos set in xbps_handle::repositories to the top of the list.
That means that now xbps-install(8) and xbps-query(8) --repository
option does not override the repository list of a configuration file.
2013-12-04 16:59:15 +01:00