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