]>
git.ipfire.org Git - people/ms/pakfire.git/log
Michael Tremer [Tue, 13 Jul 2021 13:25:30 +0000 (13:25 +0000)]
archive: Refactor parser for legacy chksums format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 13:24:15 +0000 (13:24 +0000)]
util: Move read_hexdigest to pakfire_unhexlify
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 13:20:04 +0000 (13:20 +0000)]
archive: Deal with digests as unsigned char
This is the native type for OpenSSL and libarchive so we can avoid some type casting
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 12:23:15 +0000 (12:23 +0000)]
archive: Refactor loading scriptlets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 11:58:15 +0000 (11:58 +0000)]
archive: Drop old verification code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 11:55:59 +0000 (11:55 +0000)]
archive: Fail hard when files do not have a checksum
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 11:47:35 +0000 (11:47 +0000)]
archive: Improve verification speed
We validate all checksums before we generate a signature for an archive,
but on verification, we only check the best checksum.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 11:40:10 +0000 (11:40 +0000)]
archive: Verify all checksums
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 13 Jul 2021 11:37:28 +0000 (11:37 +0000)]
packager: Write payload to mtree for correct hashing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 18:11:29 +0000 (18:11 +0000)]
archive: Add flags argument to walk helper function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 17:50:52 +0000 (17:50 +0000)]
archive: Read checksums from mtree
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 17:47:25 +0000 (17:47 +0000)]
archive: Add buckets for digests
To be able to read multiple digests in one go, we simply add multiple
entries to the same checksum object.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 17:10:49 +0000 (17:10 +0000)]
packager: Write type into outer mtree
libarchive requires reading the file name to recognise a line as a valid
entry.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 17:10:28 +0000 (17:10 +0000)]
archive: Implement scaffolding to verify checksums
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 17:09:29 +0000 (17:09 +0000)]
configure: Require libarchive >= 3.5.0
This is required to get the ability to read digests from mtrees.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 11:01:45 +0000 (11:01 +0000)]
archive: Set verify status after successful signature check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 10:53:03 +0000 (10:53 +0000)]
key: Do not free gpgme's result
I interpret the documentation that this is required, however it causes a
double free when the context is being released.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 10:50:09 +0000 (10:50 +0000)]
_pakfire: Fix reference counting of keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 12 Jul 2021 10:39:21 +0000 (10:39 +0000)]
archive: Refactor find_archive_entry
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 17:06:58 +0000 (17:06 +0000)]
archive: Write signatures to archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 17:06:30 +0000 (17:06 +0000)]
archive: Open archives in r+ mode
This allows us to write to the files, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 17:05:32 +0000 (17:05 +0000)]
key: Store the timestamp of the signature if wanted
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 17:04:04 +0000 (17:04 +0000)]
archive: Add function that finds the end of an archive to append files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 15:03:17 +0000 (15:03 +0000)]
archive: Implement creating a signature
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 15:02:16 +0000 (15:02 +0000)]
key: Add function that can sign data
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 13:40:32 +0000 (14:40 +0100)]
execute: Check for CLONE_INTO_CGROUP at compile time
This allows building Pakfire with older kernels, but causes that
processes are not forked into the correct cgroup.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 13:39:16 +0000 (14:39 +0100)]
configure: Fix syntax error in Python module check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 11 Jul 2021 13:34:42 +0000 (14:34 +0100)]
configure: Permit build with Python >= 3.6
OpenSUSE Leap only ships Python 3.6
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 15:21:17 +0000 (15:21 +0000)]
archive: verify: Return status as an argument
This avoids that it can be confused with any error code that is being
returned.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 15:20:54 +0000 (15:20 +0000)]
pakfire_archive_verify_strerror: Handle all possible errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:57:48 +0000 (14:57 +0000)]
archive: Set verify status to "not signed" before checking for signatures
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:49:59 +0000 (14:49 +0000)]
pakfire: Change type from Pakfire to struct pakfire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:26:11 +0000 (14:26 +0000)]
filelist: Change type from PakfireFilelist to struct pakfire_filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:21:25 +0000 (14:21 +0000)]
archive: Change type from PakfireArchive to struct pakfire_archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:14:19 +0000 (14:14 +0000)]
Makefile: Fix whitespace issue
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:13:46 +0000 (14:13 +0000)]
pakfire: Drop old CLI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 14:12:29 +0000 (14:12 +0000)]
pakfire: Implement deleting keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 10:29:06 +0000 (10:29 +0000)]
pakfire: Add scaffolding to manually sign packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 10:19:58 +0000 (10:19 +0000)]
_pakfire: Fix memory leaks in generating key lists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 10:12:58 +0000 (10:12 +0000)]
key: Refactor exporting keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 9 Jul 2021 09:50:47 +0000 (09:50 +0000)]
key: Refactor importing keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 17:06:30 +0000 (17:06 +0000)]
pakfire: Add some scaffolding to verify archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 17:02:47 +0000 (17:02 +0000)]
_pakfire: Add function to simply open archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 16:44:03 +0000 (16:44 +0000)]
pakfire: Move key commands to a subparser
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 12:57:45 +0000 (12:57 +0000)]
key: Do not try to access attributes without checking whether they exist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 12:57:23 +0000 (12:57 +0000)]
key: Implement fetching keys from the internet
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 11:30:58 +0000 (11:30 +0000)]
archive: Sanity-check pakfire-format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 11:12:50 +0000 (11:12 +0000)]
archive: Log more information about signatures
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 11:12:37 +0000 (11:12 +0000)]
archive: Drop debugging line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 8 Jul 2021 10:59:29 +0000 (10:59 +0000)]
archive: Initialize GPGME before trying to use data functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 22:14:59 +0000 (22:14 +0000)]
archive: Drop old signature data type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 22:06:32 +0000 (22:06 +0000)]
archive: Refactor scaffolding for signature check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 20:45:01 +0000 (20:45 +0000)]
key: Propagate offline mode to gpgme
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 20:36:17 +0000 (20:36 +0000)]
pakfire: Implement exporting keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 20:29:02 +0000 (20:29 +0000)]
key: Fetch generated keys in an easier way
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 20:24:49 +0000 (20:24 +0000)]
key: Refactor finding keys in local keystore
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 18:15:58 +0000 (18:15 +0000)]
key: Refactor generating keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 17:47:25 +0000 (17:47 +0000)]
key: Check for valid input
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 17:45:49 +0000 (17:45 +0000)]
pakfire: Implement "list-keys" command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 17:39:09 +0000 (17:39 +0000)]
key: Refactor listing all keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 17:21:27 +0000 (17:21 +0000)]
key: Refactor and make private pakfire_key_create
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 17:14:57 +0000 (17:14 +0000)]
key: Move GPGME context into Pakfire object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 16:37:28 +0000 (16:37 +0000)]
keys: Change type from PakfireKey to struct pakfire_key
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Jul 2021 09:45:34 +0000 (09:45 +0000)]
ui: Refactor confirmation using getline()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 16:03:55 +0000 (16:03 +0000)]
CLI: Remove pakfire cli into an extra file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 15:37:38 +0000 (15:37 +0000)]
client: Move CLI to an own file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 15:14:08 +0000 (15:14 +0000)]
build: Use uuid_t for UUIDs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:57:28 +0000 (14:57 +0000)]
builder: Implement passing build IDs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:39:34 +0000 (14:39 +0000)]
configure: Check for tornado Python module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:39:21 +0000 (14:39 +0000)]
configure: Fix typo in ctype.h
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:36:34 +0000 (14:36 +0000)]
configure: Check for all used headers and functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:22:17 +0000 (14:22 +0000)]
pakfire-builder: Log to journal
All logging output is being sent to journald and the console will never
print any debug output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:21:49 +0000 (14:21 +0000)]
configure: Check for systemd Python module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 14:19:37 +0000 (14:19 +0000)]
configure: Require Python 3.7
It might run on older versions, but I am running this on 3.7
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 13:54:47 +0000 (13:54 +0000)]
request: Drop vendor change option
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 13:51:18 +0000 (13:51 +0000)]
request: Implement optional downgrade/uninstall on install/update
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Jul 2021 13:39:58 +0000 (13:39 +0000)]
request: Drop unused PAKFIRE_SOLVER_FORCE_BEST flag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jul 2021 20:33:50 +0000 (20:33 +0000)]
install: Make --without-recommended work
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 5 Jul 2021 17:16:03 +0000 (17:16 +0000)]
_pakfire: Do not allocate an empty array
It is easier to check for NULL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jul 2021 11:36:12 +0000 (11:36 +0000)]
install/remove/update/sync: Add solver flags for more granular configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jul 2021 11:28:28 +0000 (11:28 +0000)]
request: Drop obeying best policy
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jul 2021 11:26:20 +0000 (11:26 +0000)]
update: Drop --allow-{arch,vendor}change
I am not sure if these are useful for us at all
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 4 Jul 2021 11:23:03 +0000 (11:23 +0000)]
update: Try to update all packages if none are given on CLI
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 14:34:58 +0000 (14:34 +0000)]
request: Remove forward declaration of struct pakfire_problem
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 14:34:24 +0000 (14:34 +0000)]
request: Rename upgrade to update
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 14:27:50 +0000 (14:27 +0000)]
request: Only prepare pool if it has changed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 14:24:10 +0000 (14:24 +0000)]
solution: Make pakfire_solution_create private
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 14:21:42 +0000 (14:21 +0000)]
Free problems when interating multiple times
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 14:11:00 +0000 (14:11 +0000)]
request: Implement picking a solution
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 13:35:12 +0000 (13:35 +0000)]
solution: Actually terminate the array
The for loop was off by one
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 12:46:13 +0000 (12:46 +0000)]
request: Implement taking a solution
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 3 Jul 2021 12:15:29 +0000 (12:15 +0000)]
solution: Refactor creating string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 16:43:49 +0000 (16:43 +0000)]
problem: Handle all possible problems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 16:35:00 +0000 (16:35 +0000)]
problem: Refactor generating problem string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 16:24:07 +0000 (16:24 +0000)]
solutions: Stop acting as a linked list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 16:21:35 +0000 (16:21 +0000)]
problems: Refactor fetching solutions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 16:04:36 +0000 (16:04 +0000)]
Refactor how solutions are being created/freed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 15:57:44 +0000 (15:57 +0000)]
solution: Change type from PakfireSolution to struct pakfire_solution
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 15:51:59 +0000 (15:51 +0000)]
configure: Fix syntax error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 2 Jul 2021 15:42:42 +0000 (15:42 +0000)]
problem: Initialize string only when needed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>