Commit Graph

1544 Commits

Author SHA1 Message Date
09125769bd Verify index-meta 2019-11-02 11:53:14 +01:00
4e3d4d2287 Don't assume repodata is signed when has index-meta.plist 2019-11-02 11:53:14 +01:00
381b7b7600 Sign index-meta 2019-11-02 11:53:14 +01:00
b4e93a95bf Turn off repodata signing 2019-11-02 11:53:14 +01:00
ce4873a1f1 Use predefined constant in place of magic string 2019-11-02 11:53:14 +01:00
a7830cf780 Verify repodata signature 2019-11-02 11:53:14 +01:00
04194f44c8 Sign repodata 2019-11-02 11:53:14 +01:00
6886a73288 Bump to 0.57.1 and libxbps micro. 2019-10-27 09:50:11 +01:00
b9b6f43300 package_script.c: fix runtime with tcc
Making `shells` a global declaration does not seem to make tcc happy, so make this a local variable in `xbps_pkg_exec_buffer` instead.
2019-10-27 09:38:50 +01:00
bc59d0b407 lib/package_script.c: try to find a usable shell instead of using /bin/sh 2019-10-27 09:38:50 +01:00
98e09e01e1 lib/package_alternatives.c: check if alternative is a symlink before removing it
Original commit by @duncaen ... but couldn't find this anywhere.
2019-10-27 08:44:37 +01:00
3854bd103f lib/transaction_fetch.c: fix memory leak 2019-10-25 23:38:01 +02:00
143b13f9e6 lib/transaction_fetch.c: move fetch and verify binpkgs and make use of xbps_fetch_file_digest 2019-10-25 23:38:01 +02:00
6ed0c8c5c5 lib/verifysig.c: add xbps_verify_signature to verify signature against digest 2019-10-25 23:38:01 +02:00
62c1102cc4 lib/util.c: xbps_remote_binpkg_exists to check if signature and binpkg are cached 2019-10-25 23:38:01 +02:00
d2bdd9574e lib/download.c: add xbps_fetch_file{_dest,}_digest 2019-10-25 23:38:01 +02:00
699b2bdd3b lib/util.c: verify revision in xbps_pkg_{version,revision,name} 2019-10-25 23:37:23 +02:00
7b4a925302 bin/xbps-rindex: better error handling for writing repodata archives
This fixes issues when writes fail (as example if the disk is full),
where xbps would create empty repodata or stagedata archives.
2019-10-25 23:36:44 +02:00
f0d62b9a80 lib/transaction_files.c: fix conf handling
This only changes the debug messages, because modified files and conf
files are handled the same on removal and unless a conf file changes
the file type it is never deleted.
2019-08-06 13:49:42 +02:00
fa23602561 lib/transaction_files.c: rename remove to removepkg to not shadow remove(3) 2019-08-05 15:56:04 +02:00
df22b0384d lib/package_remove.c: fix uninitialized xbps_array_t 2019-08-05 15:48:11 +02:00
c815d3d5f5 lib/package_remove.c: fix check_remove_pkg_files if euid is 0
True means the check failed, false means success
2019-08-05 15:41:23 +02:00
e59ded73ae lib/conf.c: don't stop after the first error and print error
This fixes void-linux/xbps#153.
2019-08-05 15:28:24 +02:00
745ba32641 lib/package_remove.c: use obsolete_files from transaction 2019-08-05 14:56:21 +02:00
f0d90d3fec lib/transaction_files.c: prepare to use obsolete files detection on package removal 2019-08-05 14:55:21 +02:00
f103b91663 Revert "lib/transaction_{revdeps,prepare}.c: try to update packages if necessary"
This reverts commit 0e950156fc.
2019-08-05 11:48:15 +02:00
cb28e7959a Revert "lib/transaction_ops.c: remove updating all reverse dependencies"
This reverts commit 5e4d33a58f.
2019-08-05 11:48:11 +02:00
0e950156fc lib/transaction_{revdeps,prepare}.c: try to update packages if necessary
`xbps_transaction_revdeps` will now try to add updates for packages to the
transaction if the dependency is not satisified anymore due to a package
install/update.

`xbps_transaction_prepare` will now check the return value of
`xbps_transaction_revdeps` and repeat the dependency resolution,
until `xbps_transaction_revdeps` returns 0, which means that it didn't
add any new packages to the transaction.
2019-07-03 00:48:57 +02:00
5e4d33a58f lib/transaction_ops.c: remove updating all reverse dependencies 2019-07-03 00:48:57 +02:00
041eed8255 lib/package_fulldeptree.c: also use the initial item from the hashtable 2019-07-02 09:48:05 +02:00
7c3029589c lib/package_fulldeptree.c: don't add the package itself to the fulldeptree result
This was noticed a few days ago by @leah2.
2019-07-02 09:48:05 +02:00
57256c2328 lib/package_fulldeptree.c: add items to result if they are found in the hashtable 2019-07-02 09:48:05 +02:00
b60054267b lib/package_orphans.c: the argument is not UNUSED 2019-07-02 09:48:05 +02:00
0677678387 Added LTO support and fix warnings (maybe-uninitialized). 2019-06-27 18:09:26 +02:00
d6aebd45f0 fetch/http.c: fix tcc build failure.
fetch/http.c:1475: warning: function might return no value: 'parse_index'

The code uses abort() before returning anything; return a proper
return value instead.
2019-06-26 14:57:39 +02:00
d72091a206 lib/transaction_files.c: fix returning error on hash mismatch 2019-06-26 13:07:16 +02:00
b39e341426 libxbps: don't check revdeps on removal of ignored packages 2019-06-23 12:23:17 +02:00
11e5190a36 lib/fetch: happy_eyeballs_connect check for waiting connections before
decrementing them, remove dead code
2019-06-23 12:14:21 +02:00
66f66ab7a1 Revert "xbps_array_foreach_cb_multi: fix incorrect array counter."
This reverts commit 08aa44602f.

The element still has to be processed and ignored by one of the
threads, it is not the last entry this will make the actually last item
be ignored.
2019-06-23 11:14:37 +02:00
a4dd0221ac lib/plist.c: fix xbps_array_foreach_cb_multi processing entries multiple times
the first thread to finish will start again from 0 (`reserved`) until
0+slicecount, next thread will then start from the end of the previous
thread which is already wrong, resulting in processing the first
slicecount*maxthreads entries twice.

The first slicecount*maxthreads entries are accounted by the thread
creation loop and `reserved` has to start at the first unaccounted index.
2019-06-23 11:14:37 +02:00
173c834fc8 lib/pkgdb.c: initialize pkgdb_fd.
otherwise xbps_pkgdb_unlock will always succeed.
2019-06-23 11:05:03 +02:00
97672bd79f pkgdb: fix two issues in _update() and _release().
xbps_pkgdb_update: inverted condition that made it 'flush' when !flush.
xbps_pkgdb_release: xhp->pkgdb might be NULL, but unlock pkgdb anyway.
2019-06-22 18:47:13 +02:00
7e762cc357 lib/fetch.c: ignore EADDRNOTAVAIL and try next ip 2019-06-21 20:23:55 +02:00
2f1fd70a4e xbps_transaction_prepare: initialize trans dict!
... otherwise it will always return ENXIO
2019-06-21 17:13:06 +02:00
fe943eb7d2 xbps-install(1): added -D, --download-only.
Added `-D, --download-only` flag to allow downloading
packages to the cache without attempting to install them.

Contributed by Toyam Cox via #9

Adapted to master by yours truly.

Close #9
2019-06-21 15:57:25 +02:00
4f717dc597 xbps-install(1): added -I, --ignore-file-conflicts.
If set it will continue with the transaction and will
just print what are the conflicting files without returning
EEXIST.

This is a temporary solution for void where there are still
some packages with conflicting files (qt5-host-tools vs qt5-tools-devel).

With input by @duncaen
2019-06-21 15:31:04 +02:00
9a72aaf577 xbps_transaction_files: report all conflicting files not just the first. 2019-06-21 13:48:47 +02:00
0f69773273 lib/transaction_ops.c: more debug. 2019-06-21 13:14:24 +02:00
c44e1f958d lib/transaction_prepare.c: update for rename. 2019-06-21 10:48:17 +02:00
fcab44dbd3 lib/transaction_dictionary.c -> transaction_prepare.c. 2019-06-21 10:46:32 +02:00