Commit Graph

829 Commits

Author SHA1 Message Date
Juan RP
ae9363b620 lib/plist_fetch.c: fix a memleak in error path. 2013-12-05 16:55:26 +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
dce26db1de libxbps: pkg remove: never remove base symlinks in the root directory.
The /bin, /sbin, /lib, /lib32, /lib64, /var/run symlinks should never be removed
in Void, so be safe and ignore the removal of them.

Added another test to the testsuite to verify its correctness.
2013-11-28 10:27:36 +01:00
Juan RP
4e427ded92 xbps_file_hash: simplify and use read(2). 2013-11-26 13:08:44 +01:00
Juan RP
a30623c65c Revert "lib/util_hash.c: xbps_file_hash: remove unnecessary memset() call."
This reverts commit febc673f1e.
2013-11-26 10:40:53 +01:00
Juan RP
5a7eb2255d Revert "lib/download.c: xbps_fetch_file: remove unnecesary memset() calls."
This reverts commit 74970f2e92.
2013-11-26 10:31:16 +01:00
Juan RP
79bf795e1a lib/package_unpack.c: make clang stfu due to -Wmissing-field-initializers. 2013-11-19 10:39:46 +01:00
Juan RP
8d7c899d48 lib/package_unpack.c: initiliaze struct rather than memset. 2013-11-18 18:23:31 +01:00
Juan RP
74970f2e92 lib/download.c: xbps_fetch_file: remove unnecesary memset() calls. 2013-11-18 18:20:41 +01:00
Juan RP
febc673f1e lib/util_hash.c: xbps_file_hash: remove unnecessary memset() call. 2013-11-18 18:12:58 +01:00
Juan RP
ef67a79419 lib/repo_keys.c: remove unnecessary OpenSSL_add_all_xxx() calls. 2013-11-18 17:35:09 +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
c9825feb29 util.c: add stricter checks for pkgver conformance (v2).
There was another case where it now was failing: "fs-utils-v1.00_1".

Previous code didn't take into account that a valid version might also
contain a non digit after '-'.

Added more tests to the testsuite to verify its correctness.
2013-11-17 12:25:02 +01:00
Juan RP
c44d7070a4 util.c: add stricter checks for pkgver conformance.
Make xbps_pkg_{name,version} return NULL if next character
after the last '-' character is not a digit, and if there's a digit
make sure that there exists a '_' character too.

Added more tests to the testsuite to catch this. With these changes
'python-e_dbus' is properly detected and validated.
2013-11-17 11:34:14 +01:00
Juan RP
d0380d5cd2 lib/package_remove.c: add a bit of debugging if pkg wasn't found in pkgdb. 2013-11-17 11:33:16 +01:00
Juan RP
44533f9f57 lib/package_unpack.c: compute unpack cb stats only once. 2013-11-15 10:36:31 +01:00
Juan RP
6d9bb47fba unpack: make sure to remove only on-disk files if file type does not match.
Added another ATF test-case to make sure it works properly.
2013-11-09 08:59:02 +01:00
Juan RP
efdb0eb5a4 lib/pubkey2fp.c: style tweak. 2013-11-08 12:28:01 +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
0909c81cdb xbps_pubkey2fp: simplify and eliminate the extra copy of returned data type. 2013-11-08 09:10:40 +01:00
Juan RP
89ab9a4b0c xbps_repo_key_import: check that returned hex fingerprint is not NULL. 2013-11-08 09:09:35 +01:00
Juan RP
8f36f8e638 Make sure that configuration files are properly kept or unpacked.
Added two new test cases to verify it works as advertised.
2013-11-06 10:45:33 +01:00
Juan RP
c1fafcd339 Fix #20 and added an ATF test-case. 2013-11-05 09:56:36 +01:00
Juan RP
f09eab62cd Fix #18. An ATF test-case will be imported in a while. 2013-11-01 18:05:11 +01:00
Juan RP
747f250202 unpack: apply correctly file permissions to existent files.
Will be backported to the 0.26.x branch.
2013-10-30 12:02:16 +01:00
Juan RP
0247b49f86 xbps_repo_key_import: ignore local repos. 2013-10-28 12:51:03 +01:00
Juan RP
aad0502b95 xbps_repo_key_import: also print repourl in state cb. 2013-10-15 09:58:51 +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
27723e94ff Optimize repository API functions.
- Remove xbps_repo_get_plist() and try to internalize all members at
  xbps_repo_open() time.

- Added xbps_repo_open_idxfiles() to also internalize the index-files
  plist from repository, which is really huge and must only be internalized
  when needed.

- Improve how signed and verified repositories are detected.

- Misc optimizations and small performance improvements.

Bump XBPS_API_VERSION.
2013-10-07 10:19:04 +02:00
Juan RP
c69134f851 xbps_repository_is_remote: optimize and check for http:// first. 2013-10-07 09:23:25 +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
192ffa2d58 Update API documentation and dot files. 2013-09-25 11:15:04 +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
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
fce411bac6 xbps_rpool_foreach: ignore invalid repos. 2013-09-17 16:24:19 +02:00
Juan RP
e6aade53a0 xbps_repo_get_pkg_revdeps: ignore invalid repos. 2013-09-17 16:19:56 +02:00
Juan RP
12546e4b70 Revert "lib/repo_pkgdeps.c: check for wrong dependencies earlier."
This reverts commit eed9c89375.
2013-09-17 09:04:01 +02:00
Juan RP
ac158ec2f6 lib/transaction_sortdeps.c: fix a comment. 2013-09-16 11:31:56 +02:00
Juan RP
eed9c89375 lib/repo_pkgdeps.c: check for wrong dependencies earlier. 2013-09-16 11:28:55 +02:00
Juan RP
3f376998c2 lib/plist_find.c: remove a noisy/useless dbg printf. 2013-09-16 11:24:09 +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
571d8748b4 lib/package_unpack.c: fix a double free. 2013-08-30 15:34:29 +02:00
Juan RP
010e5df415 lib/transaction_commit.c: add missing arg to xbps_dbg_printf(). 2013-08-29 15:49:23 +02:00
Juan RP
f4dc832229 Revert "lib/package_config_files.c: fixed a memleak."
This reverts commit c04d54f020.
2013-08-29 15:30:14 +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
1bea5725ae lib/package_script.c: misc cleanups. 2013-08-29 12:13:59 +02:00
Juan RP
20fb38142b lib/package_unpack.c: fixed two memleaks. 2013-08-29 12:06:04 +02:00
Juan RP
c04d54f020 lib/package_config_files.c: fixed a memleak. 2013-08-29 12:05:59 +02:00
Juan RP
71a602fd27 lib/archive.c: fixed memleaks in error paths; misc cleanups. 2013-08-29 11:57:57 +02:00