]>
git.ipfire.org Git - pakfire.git/log
Michael Tremer [Fri, 7 Feb 2025 12:01:04 +0000 (12:01 +0000)]
jenkins: Drop building for Ubuntu 24.04
This version does not have a recent enough version of cURL and
therefore, the build fails. I don't think we need to support anything
old here that does not support WebSockets.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 11:40:45 +0000 (11:40 +0000)]
job: Send timestamp when streaming the log
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 11:40:23 +0000 (11:40 +0000)]
log buffer: Store a timestamp with each line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 11:39:02 +0000 (11:39 +0000)]
util: Add function to format timeval to ISO 8601 format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 22:30:27 +0000 (22:30 +0000)]
python: package: Drop storing a reference to the context
This was an ugly hack to create a new package list which we don't need
any more. This caused the application to occasionally crash because ctx
wasn't set at all times.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 22:28:21 +0000 (22:28 +0000)]
package: Let reverse requires create its own package list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 22:12:03 +0000 (22:12 +0000)]
python: Fix more error codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 22:04:14 +0000 (22:04 +0000)]
python: Refactor creating a Python list from package list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:59:23 +0000 (20:59 +0000)]
tests: Add a simple test to create a daemon
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:50:57 +0000 (20:50 +0000)]
jail: Listen to SIGTERM and terminate the jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 20:34:02 +0000 (20:34 +0000)]
python: Add option to read prerequires from packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 18:30:29 +0000 (18:30 +0000)]
build: Always turn tmpfs usage on for local builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 18:30:09 +0000 (18:30 +0000)]
pakfire: Require a flag to turn on using tmpfs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 18:15:40 +0000 (18:15 +0000)]
job: Permit to finish jobs without uploads
This is even called when the build has failed in which case we don't
have any packages that we can use here.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 16:20:41 +0000 (16:20 +0000)]
archive: Untangle reading the filelist and extraction
The idea here was to re-use existing code, but I am not sure this is
currently very helpful to anyone.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 16:19:53 +0000 (16:19 +0000)]
file: Re-enable parsing checksums again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 15:09:39 +0000 (15:09 +0000)]
compress: Remove header for dropped pakfire_extract() function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 11:39:46 +0000 (11:39 +0000)]
tests: python: Open an archive in stub mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 11:23:06 +0000 (11:23 +0000)]
tests: python: Add some tests for the main Pakfire class
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 11:04:39 +0000 (11:04 +0000)]
python: Minor code cleanup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 11:00:53 +0000 (11:00 +0000)]
python: Rename File.digest() to File.checksum()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 6 Feb 2025 10:57:31 +0000 (10:57 +0000)]
archive: Return the error code when fetching the filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 11:11:46 +0000 (11:11 +0000)]
po: Update translations
This is mainly to update po/POTFILES.in
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 11:09:03 +0000 (11:09 +0000)]
tests: python: Add some simple tests for pakfire.version_compare()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 11:04:15 +0000 (11:04 +0000)]
python: Remove unused Python exceptions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 11:01:20 +0000 (11:01 +0000)]
tests: python: Test pakfire.supported_arches()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:54:05 +0000 (10:54 +0000)]
repo: Tidy up writing repository configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:53:31 +0000 (10:53 +0000)]
repo: Don't return an empty mirrorlist URL, return NULL instead
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:52:56 +0000 (10:52 +0000)]
repos: Fix exporting keys
Before, the key was randomly written into the file descriptor.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:52:09 +0000 (10:52 +0000)]
keys: Make a simple function to export a key as a string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:28:04 +0000 (10:28 +0000)]
python: Fix setting/reading the context's cache path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:21:48 +0000 (10:21 +0000)]
tests: python: Update renamed checksum field
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:18:11 +0000 (10:18 +0000)]
pakfire: Initialize the directory file descriptor
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:07:52 +0000 (10:07 +0000)]
log buffer: Implemnent ring buffer behaviour
I don't know why I didn't implement this straight away as this was
always intended to be a ring buffer.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 10:04:21 +0000 (10:04 +0000)]
job: Correctly set pidfd on initialization
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 09:39:53 +0000 (09:39 +0000)]
jobs: Allow turning on/off log streaming by the job
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 09:34:41 +0000 (09:34 +0000)]
job: Handle message to abort a build job
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 5 Feb 2025 09:24:57 +0000 (09:24 +0000)]
daemon: Handle messages sent to a specific job
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 18:13:22 +0000 (18:13 +0000)]
python: Improve readability of the code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 18:09:20 +0000 (18:09 +0000)]
python: Add switch to turn on stub mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 18:06:20 +0000 (18:06 +0000)]
pakfire: Add stub mode
This should be used in the build service or other situations where we
only need dependency solving.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 18:06:05 +0000 (18:06 +0000)]
pakfire: Move path setup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 17:53:56 +0000 (17:53 +0000)]
pakfire: Split initialization into smaller functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 17:33:06 +0000 (17:33 +0000)]
daemon: Change process title to show status
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 17:13:15 +0000 (17:13 +0000)]
strings: Add function to truncate strings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:51:20 +0000 (15:51 +0000)]
repo: Ignore any unsupported metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:48:45 +0000 (15:48 +0000)]
repo: Remove support for repository metadata version zero
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:46:03 +0000 (15:46 +0000)]
repo: Ignore any malformed repository metadata from disk
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:45:29 +0000 (15:45 +0000)]
httpclient: Remove resetting a pointer
I don't think we need to do this here.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:44:41 +0000 (15:44 +0000)]
daemon: Remove the control connection from the HTTP client
This is necessary after the connection was unexpectedly closed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:23:28 +0000 (15:23 +0000)]
repo: Reset metadata if parsing failed
This is needed in case there were some required fields missing. We then
consider the metadata invalid and won't use it any more.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 15:06:11 +0000 (15:06 +0000)]
repo: Store/search for repomd.json in the repository's root
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 14:56:51 +0000 (14:56 +0000)]
repo: Force refresh if we have no metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 14:56:10 +0000 (14:56 +0000)]
repo: Mark repository metadata as version 1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 14:37:31 +0000 (14:37 +0000)]
cli: Send more stuff to the console instead of syslog
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 14:24:27 +0000 (14:24 +0000)]
hasher: Make the static analyzer happy
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 14:22:27 +0000 (14:22 +0000)]
hasher: Actually return any errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 14:20:40 +0000 (14:20 +0000)]
packager: Use Zstandard level 20 for compression
This is the maximum that seems to make sense. There is pretty much no
gain from any higher levels, but time will increase by about 3x.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 11:43:54 +0000 (11:43 +0000)]
daemon: Move log streaming into the main process
Now, we can get entirely rid of individual control connections for jobs.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 11:31:49 +0000 (11:31 +0000)]
daemon: Add a common function to send messages into the control socket
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 11:20:33 +0000 (11:20 +0000)]
jobs: Drop the control connect and explicitely launch them
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 10:57:10 +0000 (10:57 +0000)]
compress: Enable long mode (if available)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 4 Feb 2025 10:37:50 +0000 (10:37 +0000)]
hashes: Replace the old digest mechanism
This is splitting the hasher into a separate object so that we have more
flexibility here. It also renames the digests struct into "hashes" which
is a little bit shorter and I thought that it makes more sense.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 15:06:55 +0000 (15:06 +0000)]
digests: Constify source when importing digests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:58:33 +0000 (14:58 +0000)]
repo: Remove debugging line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:53:44 +0000 (14:53 +0000)]
repo: Fix composing import paths
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:28:16 +0000 (14:28 +0000)]
repo: Move sync decision
There are actually not a lot of changes, I just needed to move a lot of
static functions.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:21:36 +0000 (14:21 +0000)]
xfer: Refactor code to retry
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:19:05 +0000 (14:19 +0000)]
repo: Perform a full scan for local repositories without metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:16:53 +0000 (14:16 +0000)]
repo: Download the package database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 14:00:59 +0000 (14:00 +0000)]
repo: Store the downloaded metadata if it is more recent
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 11:35:14 +0000 (11:35 +0000)]
repo: Parse the entire repository metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 11:34:38 +0000 (11:34 +0000)]
json: Add more helper functions to read JSON objects
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 10:39:28 +0000 (10:39 +0000)]
repo: Read any existing repository metadata before download
This way we can verify that the downloaded version is more recent.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 10:28:32 +0000 (10:28 +0000)]
repos: Add a new object to parse the metadata into
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 3 Feb 2025 10:26:00 +0000 (10:26 +0000)]
json: Add helper function to read integers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 16:36:50 +0000 (16:36 +0000)]
repo: Load metadata into memory and verify it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 16:32:02 +0000 (16:32 +0000)]
key: Parse signatures that don't have a comment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 16:24:47 +0000 (16:24 +0000)]
util: Add a simple buffer structure
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 16:24:21 +0000 (16:24 +0000)]
key: Print correct error code when verification fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 15:39:20 +0000 (15:39 +0000)]
json: Oops, forgot to add the files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 15:17:28 +0000 (15:17 +0000)]
repo: Move repomd.json into the root
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 15:09:48 +0000 (15:09 +0000)]
repo: Don't make the JSON pretty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 15:06:56 +0000 (15:06 +0000)]
repo: Cleanup old metadata before writing new stuff
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 15:01:41 +0000 (15:01 +0000)]
repos: Add file type to metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 15:00:12 +0000 (15:00 +0000)]
repos: Add filesize to metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 14:57:00 +0000 (14:57 +0000)]
repos: Some minor code cleanup when writing metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 14:53:47 +0000 (14:53 +0000)]
repo: Only use a few stronger digests for metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 14:46:52 +0000 (14:46 +0000)]
repo: Add checksums for files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 14:10:30 +0000 (14:10 +0000)]
repo: Add an array for files
This should allow us to add more items whenever we would need to.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 13:48:58 +0000 (13:48 +0000)]
repo: Add the database path to the repository metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 13:42:15 +0000 (13:42 +0000)]
json: Move functions into a separate file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 2 Feb 2025 13:29:54 +0000 (13:29 +0000)]
repo: Use our own JSON functions to build repository metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 16:18:24 +0000 (16:18 +0000)]
repo: Sign the repository metadata instead of the database
I don't think that there is any chance that we will be able to get rid
of the JSON object.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 15:53:56 +0000 (15:53 +0000)]
keys: Give signing functions better names
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 15:53:39 +0000 (15:53 +0000)]
tests: key: Remove unused variables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 14:50:18 +0000 (14:50 +0000)]
repo: Refactor importing repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 14:43:02 +0000 (14:43 +0000)]
repo: Make the static analyzer happy when importing repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 14:36:30 +0000 (14:36 +0000)]
mirrors: Import the correct headers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 1 Feb 2025 14:36:16 +0000 (14:36 +0000)]
xfers: Use correct error code when a transfer fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>