]>
git.ipfire.org Git - pakfire.git/log
Michael Tremer [Fri, 14 Feb 2025 17:40:50 +0000 (17:40 +0000)]
build: Fix adding Python ABI dependencies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 17:07:48 +0000 (17:07 +0000)]
cli: Remove unused variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 17:04:32 +0000 (17:04 +0000)]
pty: Move filtering escape characters to the PTY
This is probably the place where this should live. We are now processing
cursor positioning events inside the same line and we are filtering out
any escape sequences that we don't know.
It is a bit sad to lose the colors, but I don't have to have two places
where we process this. At least this is going to be more robust and we
can be sure to not forward anything malicious to the controlling
terminal.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 15:55:27 +0000 (15:55 +0000)]
log file: Try to process any ANSI escape sequences
This is a rather basic implementation and it has the problem that it
erases the entire timestamp on carriage return, too.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 14 Feb 2025 15:12:16 +0000 (15:12 +0000)]
build: Add CLI switch to write the build log to file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:58:03 +0000 (17:58 +0000)]
xfopen: Don't set errno when we don't fail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Feb 2025 16:59:02 +0000 (16:59 +0000)]
xfer: Ensure that we will always send the entire message before starting the next one
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:51:42 +0000 (17:51 +0000)]
xfopen: Add more tests for invalid inputs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:38:48 +0000 (17:38 +0000)]
string: Fix error handling for strftime functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:38:08 +0000 (17:38 +0000)]
strings: Remove an unused variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:31:22 +0000 (17:31 +0000)]
json: Remove superfluous semicolon
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:30:42 +0000 (17:30 +0000)]
strings: Refactor formatting time
The previous function was generating wrong outputs, and strtime() should
be used for timestamps instead of deltas.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:15:28 +0000 (17:15 +0000)]
tests: Don't warn if an address always evaluates
We have a couple of statically allocate strings that will trigger some
checks in the macros which is annoying.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 17:10:54 +0000 (17:10 +0000)]
tests: string: Fail with a clear error code on invalid input
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Rico Hoppe [Fri, 7 Feb 2025 16:11:58 +0000 (16:11 +0000)]
tests/string.c: add test function for time formatting
Signed-off-by: Rico Hoppe <rico.hoppe@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 15:09:07 +0000 (15:09 +0000)]
json: Add string formatting attribute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 14:59:41 +0000 (14:59 +0000)]
oci: Add some missing metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Feb 2025 14:59:13 +0000 (14:59 +0000)]
json: Add function to add formatted strings to an array
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 18:01:58 +0000 (18:01 +0000)]
OCI: Add an entrypoint to the image
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 18:01:28 +0000 (18:01 +0000)]
json: Add a convenience function to append strings to arrays
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 17:50:17 +0000 (17:50 +0000)]
oci: Add basic OCI metadata
This patch also revers back to SHA-2 256 since the tools that I have
been using to test this image with usually don't support SHA-2 512.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 17:49:42 +0000 (17:49 +0000)]
archive writer: Add string formatting attribute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 17:46:38 +0000 (17:46 +0000)]
json: Add a convenience function to format strings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 17:46:13 +0000 (17:46 +0000)]
hasher: Add a convenience function to has some data in memory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 17:45:36 +0000 (17:45 +0000)]
archive writer: Never ever pad the last block
Even for gzip, this seems to confuse some implementations.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 17:43:41 +0000 (17:43 +0000)]
archive writer: Make sure we flush all buffers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 15:54:52 +0000 (15:54 +0000)]
archive writer: Use gzip compression for OCI images
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 15:07:53 +0000 (15:07 +0000)]
oci: Update the filename for the blob
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 15:02:15 +0000 (15:02 +0000)]
oci: Remove creating Docker metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:59:59 +0000 (14:59 +0000)]
oci: Write the OCI layout file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:45:19 +0000 (14:45 +0000)]
oci: Add some JSON data for the layer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:17:06 +0000 (14:17 +0000)]
archive writer: Add convenience function to write JSON files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:11:18 +0000 (14:11 +0000)]
oci: Move the layer inside an uncompressed outer tarball
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:06:44 +0000 (14:06 +0000)]
archive writer: Add function to add a larger file from disk
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:06:21 +0000 (14:06 +0000)]
archive writer: Split off creating a new file entry
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 14:05:18 +0000 (14:05 +0000)]
archive writer: Split off copying payload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 13:01:07 +0000 (13:01 +0000)]
compress: Drop old compression code
This became a little bit messy with so many options and therefore I
replaced this with the new archive writer.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 12:58:04 +0000 (12:58 +0000)]
oci: Use the archive writer to create the layer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 12:36:36 +0000 (12:36 +0000)]
packager: Rebase based on the new archive writer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 12:34:26 +0000 (12:34 +0000)]
archive writer: Add function to add a file from memory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 12:33:39 +0000 (12:33 +0000)]
archive writer: Store the timestamp when we wrote the archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 11:36:26 +0000 (11:36 +0000)]
archive writer: Implement writing files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 11:08:50 +0000 (11:08 +0000)]
archive writer: Implement setting progress title
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 11:05:46 +0000 (11:05 +0000)]
archive writer: Add a progress indicator
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 10:59:31 +0000 (10:59 +0000)]
archive writer: Setup the link resolver
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 10:55:57 +0000 (10:55 +0000)]
archive writer: Configure libarchive depending on the format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 10:29:41 +0000 (10:29 +0000)]
archive writer: Add scaffolding
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 8 Feb 2025 10:15:03 +0000 (10:15 +0000)]
xfopen: Move transparent compression/decompression functions into a separate file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 23:06:53 +0000 (23:06 +0000)]
oci: Add a simple way how to create an OCI image
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 23:05:04 +0000 (23:05 +0000)]
pakfire: Add a simple function to install packages
This will come handy when generating images.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 23:04:05 +0000 (23:04 +0000)]
file: Don't silently fail if archives should not be hashed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 23:03:30 +0000 (23:03 +0000)]
compress: Add the option to make gzipped archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 23:02:24 +0000 (23:02 +0000)]
compress: Don't rewind on just opened files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 20:02:35 +0000 (20:02 +0000)]
xfer: Return properly on error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 19:58:47 +0000 (19:58 +0000)]
log buffer: Fix error code when enqueuing a line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 19:58:11 +0000 (19:58 +0000)]
xfer: Ensure we always send the entire buffer
cURL returns OK even if only parts of the buffer have been sent, so we
need to walk through the loop again to make sure all data is sent.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 17:56:43 +0000 (17:56 +0000)]
jobs: Go back to the event-driven model to send logs
When the builder is not located in the same data center it can happen
that the send buffer fills up which results in a broken TCP connection
if we continue to send any data.
We will now first of all buffer any messages that have only been
partially sent and listen for when the socket is ready to receive the
rest. If so, we will flush our buffer.
Afterwards we will call the send callback which will go and look for any
more data to send.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 17:55:01 +0000 (17:55 +0000)]
xfer: Rename the receive buffer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 16:04:07 +0000 (16:04 +0000)]
job: Don't crash when no packages have been uploaded
I remove a check earlier which this code relied on.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 15:56:47 +0000 (15:56 +0000)]
xfer: Be less verbose when sending socket messages
cURL is already logging this for us.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 15:39:34 +0000 (15:39 +0000)]
xfer: Be patient when the websocket buffer is full
When the log stream is starting a little while into the build, there
might be a big burst of data sent through the socket which might fill it
up. Then we need to be more patient and send the message again
remembering what has been sent before.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 7 Feb 2025 12:06:05 +0000 (12:06 +0000)]
Always require WebSocket support in cURL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
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>