Juan RP
ffbdfeef63
xbps-rindex/index-clean: fix a minor resource leak (CID #98689 ).
2015-07-26 08:38:12 +02:00
Juan RP
5f56b130fc
xbps-rindex/index-clean: fix a resouce leak (CID #98689 ).
2015-07-26 08:17:17 +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
b459e4542f
xbps-rindex: eliminate locking and update repo index immutable dicts.
2015-05-22 12:20:49 +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
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
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
4a188a433a
bin/xbps-rindex/index-clean.c: CID 62708 (NULL pointer dereference)
2014-10-07 07:50:03 +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
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
dacbb2f22f
Fixed some warnings reported by clang.
2014-04-20 10:02:54 +02: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
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
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
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
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
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
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
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
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
68770053e9
xbps-rindex: fixed cleaning obsolete entries from index-files in clean mode (-c).
2013-04-06 21:30:31 +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
e2176ec4b6
bin: no point in cleaning up resources when it's exiting...
2012-12-14 11:58:30 +01:00
Juan RP
a0443fc4ce
xbps-rindex(8): clean mode (-c) is now multithreaded.
2012-12-14 04:59:47 +01:00