Juan RP
960c3fdcdf
bin/xbps-pkgdb/check.c: CID 62721 (argument cannot be negative)
2014-10-07 07:25:25 +02:00
Juan RP
5bec421726
bin/xbps-rindex/index-add.c: add assertions to make coverity happy (CID 62741)
2014-10-06 17:13:06 +02:00
Juan RP
b96d1c9f4e
bin/xbps-rindex/sign.c: CID 62699 (dereference NULL return value)
2014-10-05 13:20:18 +02:00
Juan RP
1edd4e2ecf
bin/xbps-create/main.c: CID 62678 (unchecked return value)
2014-10-05 12:33:45 +02:00
Juan RP
f74f079d9d
bin/xbps-checkvers/main.c: CID 62673 (unchecked return value)
2014-10-05 12:25:58 +02:00
Juan RP
616af5c207
bin/xbps-create/main.c: CID 62713 (dead code)
2014-10-05 12:16:39 +02:00
Juan RP
fe80347a32
bin/xbps-checkvers/main.c: use-after-free (CID 62743)
2014-10-05 10:06:42 +02:00
Juan RP
14da590f41
bin/xbps-checkvers/main.c: fix CID 62667 (2/2)
2014-10-05 09:56:42 +02:00
Juan RP
d006d60497
bin/xbps-rindex/index-clean.c: use-after-free (CID 62752)
2014-10-05 09:47:48 +02:00
Juan RP
15743d20ea
bin/xbps-checkvers/main.c: fix CID 62667 correctly.
2014-10-05 09:44:39 +02:00
Juan RP
54b72d8f81
bin/xbps-rindex/index-add.c: fix CID 62685 correctly.
2014-10-05 09:35:42 +02:00
Juan RP
2902a43aab
bin/xbps-query/list.c: fix CID 62690 correctly.
2014-10-05 09:31:32 +02:00
Juan RP
3b0917c24a
bin/xbps-rindex/index-add.c: use-after-free (CID 62764)
2014-10-05 09:23:03 +02:00
Juan RP
f7441d24cf
bin/xbps-create/main.c: fix CID 62686 correctly; all tests pass now.
2014-10-05 08:55:32 +02:00
Juan RP
9f873072b4
bin/xbps-query/list.c: resource leak (CID 62690)
2014-10-05 08:14:17 +02:00
Juan RP
2fe9fbe777
bin/xbps-create/main.c: Out-of-bounds write (CID 62686)
2014-10-05 08:09:42 +02:00
Juan RP
ced1ce4b40
bin/xbps-rindex/index-add.c: resource leak (CID 62685)
2014-10-05 08:06:12 +02:00
Juan RP
0af6db77e6
bin/xbps-remove/clean-cache.c: resource leak (CID 62680)
2014-10-05 08:00:31 +02:00
Juan RP
596a37defa
bin/xbps-checkvers/main.c: buffer not NUL terminated (CID 62667)
2014-10-05 07:55:27 +02:00
Juan RP
810c5d8de0
bin/xbps-pkgdb/check_pkg_symlinks.c: buffer not NUL terminated (CID 62665)
2014-10-05 07:43:39 +02:00
Juan RP
b5713ecf12
bin/xbps-rindex/remove-obsoletes.c: resource leak (CID 62695)
2014-10-05 07:40:18 +02:00
Juan RP
73e81addba
bin/xbps-rindex/remove-obsoletes.c: resource leak (CID 62707)
2014-10-05 07:34:15 +02:00
Juan RP
62cb6f14e6
bin/xbps-rindex/index-add.c: resource leak (CID 62718)
2014-10-05 07:31:07 +02:00
Juan RP
a15dc24fe8
bin/xbps-pkgdb/check_pkg_symlinks.c: uninitialized pointer read (CID 62730)
2014-10-05 07:23:53 +02:00
Juan RP
83c981884c
bin/xbps-query/show-deps.c: initialize a var to make gcc-4.6 happy.
2014-10-04 22:08:07 +02:00
Juan RP
8f25116d54
bin/xbps-install/main.c: rename a var to make gcc-4.6 happy.
2014-10-04 22:05:33 +02:00
Juan RP
966718bb7d
bin/*/*.8: fixed mdoc errors/warnings reported by mandoc -Wall.
2014-09-30 11:36:08 +02:00
Juan RP
ef7e8bdfe3
xbps-query.8: mdoc fix.
2014-09-28 09:29:08 +02:00
Enno Boland
7e47614b4d
bin/xbps-checkvers: take reverts field in account
2014-09-27 20:51:21 +02:00
Juan RP
0f5ce62ba9
xbps-create: fix build introduced in previous.
2014-09-27 13:11:43 +02:00
Juan RP
72cefcfc83
Introduce xbps_mmap_file() and use it in strategic points.
...
Rather than using a random buffer from stack or heap, and decide
what size to use, create a private memory mapped object...
This simplifies the code in lib/verifysig.c and xbps-create.
2014-09-27 13:00:34 +02:00
Juan RP
ba0cdabe1e
bin/xbps-pkgdb/check.c: fix assertion due to double free.
2014-09-27 12:22:13 +02:00
Enno Boland
2fe65dccec
rename xbps-packages to void-packages
2014-09-26 14:24:06 +02:00
Enno Boland
b5f357bd5e
bin/xbps-create: update manpage.
2014-09-23 20:50:59 +02:00
Enno Boland
78203c1735
bin/xbps-rindex: fix adding packages with reverts.
2014-09-23 19:14:45 +02:00
Enno Boland
50fb6c1605
rename xbps_pkgver_is_reverted to xbps_pkg_reverts
2014-09-23 13:54:06 +02:00
Enno Boland
ebd614dff6
bin/xbps-rindex: take the revert field in account.
...
- if the user wants to add a package which is older than the
one in the index, xbps-rindex will check if the package
reverts the one on the index. If so the package will be added
regardless of its version
- if the user wants to add a package which is newer than the
one on the index, xbps-rindex will check if the package on the
index reverts the one the user wants to add. If so the package
will be skipped regardless of its version.
2014-09-23 13:54:06 +02:00
Enno Boland
33032429c2
bin/xbps-create: allow to define the reverts field for a package.
2014-09-23 13:54:06 +02:00
Christian Neukirchen
cfc0e3b9d9
xbps-create: do not compress with xz -9
...
xz -9 is very expensive in terms of CPU and memory usage, and also
memory usage for decompression. Thus we stick to default of -6 for
xz. For gzip and bzip2, -9 is ok.
2014-09-19 16:38:31 +02:00
Juan RP
f52eea34d4
xbps-install: abort transaction if there's insufficient disk space on rootdir.
...
The free disk space wasn't computed correctly and xbps-install(8) wasn't
handling ENOSPC rval in xbps_transaction_prepare().
2014-09-18 12:11:02 +02:00
Juan RP
20326738ed
bin/xbps-install/fetch_cb.c: optimize: only call isatty() once.
2014-09-18 10:21:24 +02:00
Juan RP
2550d3d006
xbps-query: do not print ANSI escape codes if stdout is not a tty.
2014-09-18 10:14:42 +02:00
Juan RP
f80df0fa22
xbps-{install,remove}: print guards in post-install/pre-remove messages.
...
This avoids the need to manually add them to the {INSTALL,REMOVE}.msg
files in binary packages, and saves some bytes in the repository archive
and binary packages.
Idea by @dominikh.
2014-09-16 09:58:27 +02:00
Juan RP
dee7852af8
xbps-rindex: fix -a/--add mode repodata archive permissions.
...
The repodata archive wasn't group writable, resulting in a new archive
created from scratch if the fd wasn't writable.
repodata archives are now created with 0664 mode, this way its main group
also can write to it.
2014-09-15 12:15:42 +02:00
Juan RP
567382c3a2
xbps-rindex: fix musl build: needs -lcrypto explicitly.
2014-09-14 20:01:05 +02:00
Juan RP
e902619220
Remove empty self replaced pkg arrays from pkgdb.
2014-09-14 18:16:43 +02:00
Juan RP
2b7c4d568a
Remove pkg self replacement from pkgdb; this must not be propagated.
2014-09-13 18:14:04 +02:00
Juan RP
411480e43d
pkgdb: repository-origin -> repository to match the repo pkg obj.
2014-09-13 10:49:13 +02:00
Juan RP
287665009b
Drop unused headers.
2014-09-13 08:54:12 +02:00
Juan RP
f26a9c1e2b
xbps-{install,query}.8: sync with reality.
2014-09-12 12:15:03 +02:00
Juan RP
39aca1bbc9
Implement shlib checks for all pkg revdeps in the transaction.
...
Added three new test cases to verify its correctness.
2014-09-12 11:49:34 +02:00
Juan RP
b306adf52b
bin/xbps-query/ownedby.c: take into account pkgs with no files.
2014-09-11 18:10:04 +02:00
Juan RP
dea7ea888e
bin/*/*.8: sync with reality.
2014-09-11 12:21:33 +02:00
Juan RP
f9d162e639
xbps-install: show "pkgname (curver -> newver)" in updates; requested by @chneukirchen.
2014-09-11 11:43:15 +02:00
Juan RP
e32f7f4909
xbps-pkgdb: unfix previous, pkg metafile must be internalized.
2014-09-11 08:04:51 +02:00
Juan RP
bd2bb98fa7
xbps-pkgdb: update for pkgdb-0.38.
2014-09-11 08:00:37 +02:00
Juan RP
ed67cad564
xbps-query(8): added local search mode support (-s [-p]).
2014-09-11 01:15:51 +02:00
Juan RP
01dbb968dd
Welcome pkgdb-0.38.
2014-09-11 00:12:12 +02:00
Juan RP
56ab438d3c
xbps-install: indentation.
2014-09-07 09:34:33 +02:00
Juan RP
05e7a59f03
xbps_handle: constify xbps_xxx_cb_data argument.
2014-09-06 09:46:03 +02:00
Juan RP
1a024773af
xbps-remove: use xbps_binpkg_{arch,pkgver} for -O (clean-cache).
...
The new implementation is almost 1s faster than before on my system.
2014-09-05 21:09:27 +02:00
Juan RP
d7d749312d
xbps-rindex: use xbps_binpkg_{arch,pkgver} for -r (remove-obsoletes).
...
This is magnituds faster than before; some results:
$ for f in 1 2 3; do time xbps-rindex -r /var/cache/xbps/ &>/dev/null; done
real 0m0.624s
user 0m2.163s
sys 0m0.032s
real 0m0.590s
user 0m2.159s
sys 0m0.023s
real 0m0.584s
user 0m2.144s
sys 0m0.039s
$ for f in 1 2 3; do time LD_PRELOAD=$PWD/lib/libxbps.so.2.0.0 ./bin/xbps-rindex/xbps-rindex -r /var/cache/xbps &>/dev/null; done
real 0m0.037s
user 0m0.030s
sys 0m0.010s
real 0m0.036s
user 0m0.032s
sys 0m0.007s
real 0m0.037s
user 0m0.035s
sys 0m0.006s
$
2014-09-05 21:07:07 +02:00
Juan RP
b73d40092c
xbps-uhelper: new targets: binpkgarch and binpkgver.
...
- binpkgarch: returns the architecture component of a xbps filename.
- binpkgver: returns the pkgver component of a xbps filename.
2014-09-05 21:06:06 +02:00
Juan RP
013731c502
Acquire/release a POSIX file lock on repository archives.
...
- xbps_repo_open() accepts a third argument (bool) to acquire a POSIX file
lock on the repository archive.
- xbps_repo_close() accepts a second argument (bool) to release a POSIX file
lock on the repository archive.
This avoids the issue of multiple xbps-rindex(8) processes being blocked
even for different repositories on the same architecture, resulting in
unnecessary contention.
2014-09-05 12:26:42 +02:00
Juan RP
bc92b387cb
Really fix #53 this time: with or without -n.
2014-08-23 16:25:51 +02:00
Juan RP
8939e8697d
bin/*/*.8: add missing End-List macros (.El).
2014-08-23 09:26:02 +02:00
Juan RP
c8c331bd9a
xbps-uchroot.8: document required kernel options.
2014-08-23 09:20:07 +02:00
Juan RP
74b3cb0e64
Only build/install xbps-uchroot(8) on linux.
2014-08-23 09:06:46 +02:00
Juan RP
1d2dabca09
xbps-query(8): fix --fulldeptree with pkgs that have multiple vpkgs.
2014-08-23 08:47:38 +02:00
Juan RP
4c14785480
Fix #53 (xbps-install with multiple arguments shouldn't fail if one is already installed).
2014-08-23 08:02:40 +02:00
Juan RP
0e745c29e8
xbps-install.8: clarify -ff behaviour.
2014-08-21 19:05:07 +02:00
Juan RP
3f22aca00c
xbps-query: fix an obvious tyop that broke -RX.
2014-08-19 16:59:25 +02:00
Juan RP
d7c7783ac2
xbps-query(8): added --fulldeptree to print a full dependency tree with -x.
...
This fixes the regression introduced in 0.37 with -xx; -xx is not supported
anymore, use `--fulldeptree -x`.
2014-08-19 13:14:37 +02:00
Juan RP
f83fed1ea6
Merge pull request #52 from Gottox/xdelta
...
support for fetching file deltas for repo_sync.
2014-08-13 21:38:35 +02:00
Enno Boland
80f4c2ed17
bin/xbps-uhelper/main.c: fix english. It's 'identical to' not 'identical than'
2014-08-12 08:09:47 +02:00
Enno Boland
64fe81d1bd
bin/xbps-uhelper/main.c: fetch accepts >=2 arguments, not only 2 arguments
2014-08-12 08:09:47 +02:00
Juan RP
c5d56bbf83
xbps-uchroot(8): do not remount / unnecessarily.
2014-08-12 07:53:59 +02:00
Enno Boland
89c1b88dfd
bin/xbps-uhelper: fix flags for xfetch
2014-08-11 19:24:33 +02:00
Enno Boland
040e114ad4
lib/download.c: add basic support for vcdiffs
2014-08-11 18:40:44 +02:00
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
Juan RP
d98468515a
Fix #25 correctly: compare against repo->signature.
2013-11-30 08:30:25 +01:00
Juan RP
e86f9def03
xbps-rindex: fix #25 (--sign unnecessarily regenerates <arch>-repodata).
2013-11-30 08:04:37 +01:00
Juan RP
7c57918950
xbps-rindex(8): fix #24 and added an ATF test case.
2013-11-29 17:30:45 +01:00
Juan RP
30a500b5b3
xbps-rindex: clean: fix a regression introduced yesterday (use-after-free).
2013-11-28 11:29:48 +01:00
Juan RP
5d63f6f442
xbps-rindex: clean: avoid printing obj key after removal (dangling pointer) v2.
2013-11-27 15:00:37 +01:00
Juan RP
a8dc0dbdec
xbps-rindex: clean: avoid printing obj key after removal (dangling pointer).
2013-11-27 14:54:21 +01:00
Juan RP
ef67b56054
xbps-rindex: clean: ignore invalid entries from index-files.
2013-11-25 11:27:11 +01:00
Juan RP
20213deb10
xbps-rindex: clean: use the correct key from index-files.
2013-11-25 11:05:06 +01:00
Juan RP
ae8925d907
xbps-rindex: in add mode also remove old entry from index-files.
2013-11-25 11:03:51 +01:00
Juan RP
d2f2796c85
xbps-rindex: redo the clean mode in two passes as it was intended in previous commit.
2013-11-25 10:45:05 +01:00
Juan RP
172c84040c
xbps-rindex: fix clean mode while removing obsolete entries on index-files with updates.
2013-11-25 10:16:38 +01:00
Juan RP
17228eb12b
xbps-query(8): do not print useless stuff with -vL.
2013-11-18 16:52:12 +01:00
Juan RP
8882b0215f
Redo how the repository keys are stored.
...
- Repository keys are now stored in a new directory on metadir (/var/db/xbps):
<metadir>/key>
- Repository keys are stored with the hex fingerprint of its RSA
public key in a plist dictionary:
<metadir>/keys/xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.plist
- Drop xbps-rkeys(8) and merge its functionality into xbps-install(8) and
xbps-query(8).
- xbps-query(8) -vL now shows some more details of remote repositories:
3134 http://localhost:8000 (RSA signed, verified)
Signed-by: Void Linux
4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
16 http://localhost:8000/nonfree (RSA signed, verified)
Signed-by: Void Linux
4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
Bump XBPS_API_VERSION.
2013-11-18 16:05:46 +01:00
Juan RP
e03d49f6bf
xbps-install: size required on disk == dlsize+instsize.
2013-11-15 10:29:07 +01:00
Juan RP
53ecaf9819
Remove xbps_print_hexfp() from API and move it xbps-rindex, where it belongs.
2013-11-08 09:12:29 +01:00
Juan RP
89c62c626c
xbps-rindex: [clean] the filesclean test now passes successfully.
2013-11-03 11:15:56 +01:00
Juan RP
3602774bc3
xbps-rindex: [clean] make sure to pass a valid repository url.
2013-11-03 10:16:58 +01:00
Juan RP
616d4420d2
xbps-rindex(8): fix #19 . An ATF test-case will be imported later.
2013-11-02 11:34:55 +01:00
Juan RP
f39f7ff2fa
xbps-rkeys: print the error if pubkey cannot be imported.
2013-10-28 12:46:23 +01:00
Juan RP
7b0e9967b1
xbps-uhelper: added 'real-version' action.
...
- This prints to stdout the version of an installed "real" package,
not virtual. The 'version' action can be used to match any "real" and
"virtual" package instead.
- Drop strcasecmp() to check actions and use strcmp() instead.
2013-10-22 09:56:55 +02:00
Juan RP
ab5b356b5b
xbps-rindex: initialize idxfiles in repo to access to it.
2013-10-18 09:36:25 +02:00
Juan RP
70047586ee
Xref xbps-rkeys(8)
2013-10-12 10:13:32 +02:00
Juan RP
43b9be6046
xbps-rindex(8): added support for XBPS_PASSPHRASE env var.
...
- XBPS_PASSPHRASE (if set) will be supplied as passphrase when signing repos.
- Use the default OpenSSL passphrase cb when loading the private key.
2013-10-12 09:55:03 +02:00
Juan RP
c91050fc35
xbps-rindex(8): added -v --verbose option (mainly for -r mode).
2013-10-10 10:43:01 +02:00
Juan RP
a5ecaa493f
New utility: xbps-rkeys(8) to manage RSA public keys.
2013-10-09 10:13:07 +02:00
Juan RP
250916fa6a
xbps-query: use the _multi version to find out largest pkgver string.
2013-10-08 10:39:20 +02:00
Juan RP
f3b0b19258
xbps-rindex: remove -c --clean mode and adapt to the new libxbps API.
...
- Removed -c --clean mode. It's not too useful and adds a considerable
amount of gratuitous code. It takes almost the same time than
adding all pkgs from scratch.
- When creating the repository data always add the meta plist at the
2nd position in the archive, to optimize its access.
- Misc improvements.
2013-10-07 10:23:14 +02:00
Juan RP
1f270e3a1a
xbps-query: adapt to the new libxbps API.
2013-10-07 10:22:45 +02:00
Juan RP
8d5c48b861
Added support for the long awaited feature: RSA signed repositories.
2013-10-05 11:38:04 +02:00
Juan RP
27db8e89c4
xbps-query: replace -D --defrepo' option with
-R' and `--repository=url'.
...
The argument in `--repository' is optional, therefore must be specified
with `=' to work. If no argument is specified, repository mode is enabled
preserving the repository list of configuration file.
2013-09-18 17:13:43 +02:00
Juan RP
5e1432f418
Added support to specify multiple repositories via cmdline ( close #17 ).
2013-09-18 16:45:05 +02:00
Juan RP
c514894152
xbps-{install,remove}: remove the stupid rw checks on rootdir/metadir.
2013-09-18 15:43:55 +02:00
Juan RP
023484ca0b
Introduce xbps_{array,pkgdb}_foreach_cb_multi() and use it where appropiate.
...
In some tasks the single threaded implementation outperms the multithreaded
one. Use it where it really makes a difference. The _multi() routines do not
spawn any thread if _SC_NPROCESSORS_ONLN == 1.
Bump XBPS_API_VERSION.
2013-09-17 16:30:13 +02:00
Juan RP
af4e90aae8
xbps-rindex: register pkgs in index-files by pkgname and use xbps_array_foreach_cb().
...
This simplifies accessing/removing pkgs in this dictionary.
2013-09-16 10:41:42 +02:00
Juan RP
98e1687ef5
Re-add all pkg metadata objects to the repository index.
2013-09-16 09:09:56 +02:00
Juan RP
c5acbc7953
mk/prog.mk: set MAN to $(BIN).8 by default.
2013-09-16 08:57:24 +02:00
Juan RP
0a48738634
bin/xbps-remove/main.c: fix a memleak in the clean-cache code.
2013-09-15 10:25:47 +02:00
Juan RP
4057e4961c
Use C99 for loop initializers.
...
That means that a C99 compiler is now mandatory.
2013-09-15 10:06:49 +02:00
Juan RP
9a9c816552
xbps-query.8: remove dup block.
2013-09-13 09:17:00 +02:00
Juan RP
24ff0472dd
Use fs blksize from stat(2)ed file when reading archives.
2013-08-29 14:30:14 +02:00
Juan RP
a039330f3c
Misc cleanups: use __attribute__((__unused__)); remove dead code.
2013-08-29 10:45:30 +02:00
Juan RP
add4484ad8
bin/xbps-query/xbps-query.8: document -H --list-hold-pkgs.
2013-08-18 11:06:45 +02:00
Juan RP
22ae6295f5
manpages: use github url for bugreports.
2013-08-18 10:17:45 +02:00
Juan RP
1999fbd771
Relax libarchive version requirement to 2.8.0.
2013-08-16 10:26:36 +02:00
Juan RP
84d14286a8
More libarchive-2.x compat.
2013-08-15 11:55:20 +02:00
Juan RP
776b94e6bc
Remove PackagesOnHold from xbps.conf; use xbps-pkgdb -m hold|unhold instead.
...
To put a package on hold mode:
$ xbps-pkgdb -m hold foo
To unhold the package:
$ xbps-pkgdb -m unhold foo
To list packages on hold mode:
$ xbps-query -H
This also close #12 from github.
2013-08-12 14:46:54 +02:00
Juan RP
9c9d5b58dd
Assume 80 columns if TIOCGWINSZ ws.col is bogus (0).
2013-08-10 12:59:59 +02:00
Juan RP
2f9bd4f9a2
bin/xbps-rindex/remove-obsoletes.c: fix use-after-free.
2013-08-07 16:01:59 +02:00
Juan RP
4428cac154
xbps-query: ignore non working repos; misc fixes.
2013-07-27 20:02:07 +02:00
Juan RP
0c7701f2bc
Introduce xbps_array_foreach_cb() and use it in random code.
...
This routine will spawn a thread per core to process N items stored
in the specified array, the last thread gets the remainder of items left.
Results have shown that xbps benefits if there is a considerable amount
of items and number of threads being spawned.
Use it in xbps_pkgdb_foreach_cb(), xbps-pkgdb(8), xbps-query(8)
and xbps-rindex(8).
On UP systems there's no overhead because pthread(3) is not used at all.
WIP! investigate if it can be used in libxbps (xbps_rpool_foreach()),
and finish conversion of xbps-rindex(8) -c.
2013-07-27 09:47:16 +02:00
Juan RP
84d0e429ab
bin/xbps-query/list.c: simplify list_orphans().
2013-07-27 06:11:48 +02:00
Juan RP
20f2d10527
xbps-query(8): -L now prints all repos, including non working repos ( close #11 ).
2013-07-26 11:42:52 +02:00
Juan RP
e0643acbb0
xbps-query(8): fixed some memleaks in local/remote ownedby mode.
2013-07-21 10:49:30 +02:00
Juan RP
6358cf43fc
xbps-query: fix regression in -R, also print repository string object.
2013-07-07 09:59:25 +02:00
Juan RP
6d87bf04d0
Revert "xbps-rindex: [add] add index-files.plist the first in the repo archive."
...
This reverts commit e76874f513
.
This slows down some ops that were much faster before; will use another approach.
2013-07-04 11:05:42 +02:00
Juan RP
e76874f513
xbps-rindex: [add] add index-files.plist the first in the repo archive.
...
By having index.plist the 2nd entry in archive there are more chances
to skip identical bytes in the archive via rsync.
2013-07-04 03:33:42 +02:00
Juan RP
505a933097
Added support to verify reverse dependencies in a transaction.
...
See https://plus.google.com/106812073015308749022/posts/ZXMHimd8iKd
2013-06-27 16:52:31 +02:00
Juan RP
09e116b7f0
xbps_api.h -> xbps.h
2013-06-20 12:31:02 +02:00
Juan RP
42c0766c00
Get rid of libfetch and proplib external dependencies.
...
The list of required external deps is now confuse, libarchive and openssl.
libxbps now includes a wrapper for proplib prefixed with xbps_ rather than prop_.
2013-06-20 10:26:12 +02:00
Juan RP
55af300e65
xbps-create: needs stdarg.h.
2013-06-19 11:28:51 +02:00
Juan RP
02a11ed08c
xbps-rindex: add: remove unused headers; prop_array_count checks for NULL pointers.
2013-06-19 09:20:44 +02:00
Juan RP
03575cecd0
xbps-create: s/size_t/unsigned int/ to iter in prop_arrays.
2013-06-15 10:29:43 +02:00
Juan RP
3abe48b68a
Introduce xbps_repo_get_pkg_plist() and use it in xbps-query -R.
2013-06-14 10:22:10 +02:00
Juan RP
5c3985ddf1
xbps-query: search: simplify and use xbps_match_virtual_pkg_in_dict().
2013-06-14 09:40:10 +02:00
Juan RP
89ded69bed
xbps-query: use get_maxcols() from xbps-install.
2013-06-14 09:33:27 +02:00
Juan RP
5f2bba7f4e
Move functionality to resolve revdeps from repos to libxbps.
2013-06-14 08:13:51 +02:00
Juan RP
8a05bc5f24
xbps-dgraph: installed_size obj is in bytes; fix a comment.
2013-06-14 05:12:15 +02:00
Juan RP
7b2942e789
xbps-dgraph: only add revdeps when it's necessary.
2013-06-13 17:44:44 +02:00
Juan RP
6b397198bf
xbps-dgraph: completely updated and working as before.
2013-06-13 17:41:16 +02:00
Juan RP
f868dd7816
xbps-dgraph: make this work again; needs more changes yet.
2013-06-12 10:34:01 +02:00
Juan RP
db1efb3aa6
Relax memory requirements on 64bit platforms; fix two memleaks.
2013-06-12 10:04:10 +02:00