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
d006d60497
bin/xbps-rindex/index-clean.c: use-after-free (CID 62752)
2014-10-05 09:47:48 +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
3b0917c24a
bin/xbps-rindex/index-add.c: use-after-free (CID 62764)
2014-10-05 09:23:03 +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
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
966718bb7d
bin/*/*.8: fixed mdoc errors/warnings reported by mandoc -Wall.
2014-09-30 11:36:08 +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
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
287665009b
Drop unused headers.
2014-09-13 08:54:12 +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
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
8939e8697d
bin/*/*.8: add missing End-List macros (.El).
2014-08-23 09:26:02 +02:00
Juan RP
43090cef2a
Xref xbps-uchroot(8)
2014-04-21 10:58:09 +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
8244f57320
bin/*: update manpages with Xref xbps-checkvers(8).
2014-04-07 12:22:55 +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
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
804a39c63b
Added XBPS_ARCH environment var to override uname(2) machine result.
2014-01-09 11:41:25 +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
98748bdcd1
bin/xbps-rindex/remove-obsoletes.c: also remove pkg signature files.
2013-12-24 12:02:33 +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
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
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
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
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
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
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
8d5c48b861
Added support for the long awaited feature: RSA signed repositories.
2013-10-05 11:38:04 +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
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
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
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
2f9bd4f9a2
bin/xbps-rindex/remove-obsoletes.c: fix use-after-free.
2013-08-07 16:01:59 +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
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
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
02a11ed08c
xbps-rindex: add: remove unused headers; prop_array_count checks for NULL pointers.
2013-06-19 09:20:44 +02:00
Juan RP
db1efb3aa6
Relax memory requirements on 64bit platforms; fix two memleaks.
2013-06-12 10:04:10 +02:00
Juan RP
99be698979
Use a single file to store repository data.
...
This is just the starting point to extend repositories with PGP signatures.
2013-06-10 10:28:39 +02:00
Juan RP
53217fd51b
xbps-rindex: added -f --force flag to forcefully register a pkg with -a --add.
2013-05-02 10:46:30 +02:00
Juan RP
3a5d6b1376
xbps-rindex: fixed writing repo index-files (regression added in e29f221
).
2013-04-17 14:20:48 +02:00
Juan RP
68770053e9
xbps-rindex: fixed cleaning obsolete entries from index-files in clean mode (-c).
2013-04-06 21:30:31 +02:00
Juan RP
074a2f0747
bin/xbps-rindex/index-add.c: remove completely unused var.
2013-04-04 10:09:52 +02:00
Juan RP
6ac76f68ed
bin/xbps-rindex/index-add.c: remove unused variable.
2013-04-04 10:04:45 +02:00
Juan RP
e29f2216e2
xbps-rindex: fix memleaks in error paths.
2013-04-04 09:55:12 +02:00
Juan RP
5cb74b7ec9
xbps-rindex: fixed -c --clean mode (missing args wtf).
2013-03-05 05:03:15 +01:00
Juan RP
7c1a0ac3e8
New pkgdb (0.21) and repo index (1.7) format, see NEWS for info.
2013-03-05 04:08:42 +01:00
Juan RP
1f324a76a2
xbps-{install,query,rindex}.8: document environment var: XBPS_TARGET_ARCH.
2013-02-20 11:42:06 +01:00
Juan RP
82a8263f37
xbps-rindex(8): fix crash in -r when a pkg cannot be removed.
2013-01-16 16:25:29 +01:00
Juan RP
bb877b0db7
xbps-rindex: -a does not remove outdated binpkgs anymore; use -r instead.
2012-12-15 11:13:32 +01:00
Juan RP
e2176ec4b6
bin: no point in cleaning up resources when it's exiting...
2012-12-14 11:58:30 +01:00
Juan RP
41f753248f
xbps-rindex(8): remove obsoletes mode (-r) is now multithreaded.
2012-12-14 09:47:47 +01:00