Juan RP
7d7f08b559
xbps-rindex/sign: fix a resource leak (CID #98687 ).
2015-07-26 08:12:22 +02:00
Juan RP
9d70fcd8d0
xbps-rindex/index-clean: handle possible NULL pointer derefs (CID #98685 ).
2015-07-26 08:06:38 +02:00
Juan RP
97c8eb0c36
xbps-rindex: fix a double close (CID #98694 ).
2015-07-26 07:59:16 +02:00
Juan RP
d86cece411
xbps-rindex(1): add support to sign specific pkgs, not the whole repo.
...
See NEWS for more information.
2015-06-04 16:01:43 +02:00
Juan RP
b459e4542f
xbps-rindex: eliminate locking and update repo index immutable dicts.
2015-05-22 12:20:49 +02:00
Juan RP
fcdd71aac4
Move xbps utils manpages to the section 1 (user commands).
2015-05-16 09:46:10 +02:00
Juan RP
3ef9350787
xbps-rindex/clean: simplify.
2015-04-09 12:14:03 +02:00
Juan RP
9a16283575
Introduce xbps_repo_{un,}lock() to serialize write access to repodata.
...
We use a simple file lock that is created with O_CREAT|O_EXCL.
This should fix the concurrency issues with multiple processes
running xbps-rindex -a/-c on the same repository/arch combo.
2015-03-25 12:00:59 +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
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
925ec15c3d
xbps-rindex: do not add "packaged-with" obj to the index.
...
With our current xbps-src it's unnecessary because the current git
revision is already recorded in "source-revisions".
2014-12-09 12:41:33 +01:00
Juan RP
395e147c6c
xbps.d(5) - XBPS configuration directory
2014-12-09 11:41:35 +01:00
Juan RP
c8d91348a1
xbps-rindex.8: improve -s --sign mode.
2014-12-06 11:23:41 +01:00
Juan RP
a71e428610
xbps-rindex.8: clarify abs paths, detail -f with -a.
2014-11-29 08:27:33 +01:00
Juan RP
1789e527a9
Gratuitous ABI break: xbps_binpkg_get_xxx() -> xbps_archive_fetch_xxx().
2014-11-21 09:51:57 +01:00
Juan RP
a6516505e9
xbps-query(8: added --cat=FILE mode support.
...
- This mode prints to stdout the matching FILE stored in a binary package.
- ABI break: renamed xbps_get_pkg_plist_from_binpkg() xbps_binpkg_get_plist().
- Added xbps_binpkg_get_file() as a generic way to get pkg file contents.
- Removed useless comments from xbps_api_impl.h.
2014-11-17 15:45:46 +01:00
Juan RP
3afb9d709d
Get rid of repodata index-files; the archive is now 8x smaller.
...
See the NEWS file for more information.
2014-11-13 17:09:43 +01:00
Juan RP
84be0dcd8b
xbps-rindex: use correct argv index.
2014-11-06 11:33:04 +01:00
Juan RP
51ec53846c
xbps-rindex: added 'd' to shortopts.
2014-11-06 11:14:29 +01:00
Juan RP
40c3e048b0
xbps-rindex: added -d/--debug option.
2014-11-06 10:54:52 +01:00
Juan RP
d4374fb9af
xbps-rindex: fix CID 62741 correctly (untrusted value as argument)
2014-10-07 10:11:14 +02:00
Juan RP
4a188a433a
bin/xbps-rindex/index-clean.c: CID 62708 (NULL pointer dereference)
2014-10-07 07:50:03 +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
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