]> git.ipfire.org Git - pakfire.git/log
pakfire.git
4 months agorepo: Add reference counting to appdata
Michael Tremer [Fri, 31 Jan 2025 10:03:34 +0000 (10:03 +0000)] 
repo: Add reference counting to appdata

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopakfire: Include flags when cloning an instance
Michael Tremer [Fri, 31 Jan 2025 09:56:58 +0000 (09:56 +0000)] 
pakfire: Include flags when cloning an instance

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopakfire: Clean up after failing to create a temporary directory
Michael Tremer [Fri, 31 Jan 2025 09:50:52 +0000 (09:50 +0000)] 
pakfire: Clean up after failing to create a temporary directory

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Free the cookie if level parsing fails
Michael Tremer [Fri, 31 Jan 2025 09:44:15 +0000 (09:44 +0000)] 
compress: Free the cookie if level parsing fails

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopakfire: Include local repo name in path
Michael Tremer [Thu, 30 Jan 2025 22:54:47 +0000 (22:54 +0000)] 
pakfire: Include local repo name in path

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Use function to check repo name
Michael Tremer [Thu, 30 Jan 2025 22:53:49 +0000 (22:53 +0000)] 
repo: Use function to check repo name

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog buffer: Removed unused r
Michael Tremer [Thu, 30 Jan 2025 22:50:23 +0000 (22:50 +0000)] 
log buffer: Removed unused r

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agoarchive: Compose path after all other metadata has been set
Michael Tremer [Thu, 30 Jan 2025 22:47:51 +0000 (22:47 +0000)] 
archive: Compose path after all other metadata has been set

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Check pointers before trying to free them
Michael Tremer [Thu, 30 Jan 2025 22:47:25 +0000 (22:47 +0000)] 
repo: Check pointers before trying to free them

This is again for the static analyzer

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Make the static analyzer happy again
Michael Tremer [Thu, 30 Jan 2025 22:39:03 +0000 (22:39 +0000)] 
repo: Make the static analyzer happy again

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Actually copy files to the right place
Michael Tremer [Thu, 30 Jan 2025 22:20:37 +0000 (22:20 +0000)] 
repo: Actually copy files to the right place

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Implement the reverse of pakfire_package_get_path()
Michael Tremer [Thu, 30 Jan 2025 22:07:21 +0000 (22:07 +0000)] 
repo: Implement the reverse of pakfire_package_get_path()

This hopefully fixes that we will copy/link packages to themselves.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Don't try to copy the package into the same repository
Michael Tremer [Thu, 30 Jan 2025 21:39:19 +0000 (21:39 +0000)] 
repo: Don't try to copy the package into the same repository

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepos: Ensure the repo is always internalized
Michael Tremer [Thu, 30 Jan 2025 21:39:02 +0000 (21:39 +0000)] 
repos: Ensure the repo is always internalized

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agotests: repo: Usual EQUALS macro to show the true figures
Michael Tremer [Thu, 30 Jan 2025 21:33:34 +0000 (21:33 +0000)] 
tests: repo: Usual EQUALS macro to show the true figures

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackages: Allow passing a repository for faster caching
Michael Tremer [Thu, 30 Jan 2025 21:00:50 +0000 (21:00 +0000)] 
packages: Allow passing a repository for faster caching

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Automatically sync local repositories with their index
Michael Tremer [Thu, 30 Jan 2025 20:51:06 +0000 (20:51 +0000)] 
repo: Automatically sync local repositories with their index

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackagelist: Add helper function to check if a certain path is on the list
Michael Tremer [Thu, 30 Jan 2025 20:50:05 +0000 (20:50 +0000)] 
packagelist: Add helper function to check if a certain path is on the list

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackages: Fix destroying a package
Michael Tremer [Thu, 30 Jan 2025 20:43:16 +0000 (20:43 +0000)] 
packages: Fix destroying a package

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Have the function to return all packages as list create the list
Michael Tremer [Thu, 30 Jan 2025 20:06:06 +0000 (20:06 +0000)] 
repo: Have the function to return all packages as list create the list

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackages: Introduce a function to return the expected path
Michael Tremer [Thu, 30 Jan 2025 20:05:07 +0000 (20:05 +0000)] 
packages: Introduce a function to return the expected path

Since we need the paths in other places, this is the best way.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Don't do any path voodoo for internal repositories
Michael Tremer [Thu, 30 Jan 2025 19:31:36 +0000 (19:31 +0000)] 
repo: Don't do any path voodoo for internal repositories

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agotransaction: Use the new check to find available packages
Michael Tremer [Thu, 30 Jan 2025 17:07:23 +0000 (17:07 +0000)] 
transaction: Use the new check to find available packages

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Pass on the correct error code if we could not open the database
Michael Tremer [Thu, 30 Jan 2025 17:06:23 +0000 (17:06 +0000)] 
repo: Pass on the correct error code if we could not open the database

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackage: Build a unified way to check if a package exists
Michael Tremer [Thu, 30 Jan 2025 17:00:04 +0000 (17:00 +0000)] 
package: Build a unified way to check if a package exists

This performs a quick stat() as well.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Make path composition public
Michael Tremer [Thu, 30 Jan 2025 16:59:44 +0000 (16:59 +0000)] 
repo: Make path composition public

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Simply scan again on forced refresh of local repos
Michael Tremer [Thu, 30 Jan 2025 16:14:05 +0000 (16:14 +0000)] 
repo: Simply scan again on forced refresh of local repos

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Make the write metadata function public
Michael Tremer [Thu, 30 Jan 2025 16:10:36 +0000 (16:10 +0000)] 
repo: Make the write metadata function public

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopakfire: Remove the refresh function
Michael Tremer [Thu, 30 Jan 2025 16:02:43 +0000 (16:02 +0000)] 
pakfire: Remove the refresh function

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopakfire: Don't refresh the local repository sooner than the others
Michael Tremer [Thu, 30 Jan 2025 16:02:13 +0000 (16:02 +0000)] 
pakfire: Don't refresh the local repository sooner than the others

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopython: Drop Pakfire.refresh()
Michael Tremer [Thu, 30 Jan 2025 15:57:41 +0000 (15:57 +0000)] 
python: Drop Pakfire.refresh()

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopakfire: Refresh repos once all have been created
Michael Tremer [Thu, 30 Jan 2025 15:56:37 +0000 (15:56 +0000)] 
pakfire: Refresh repos once all have been created

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Move creating the local repository into Pakfire
Michael Tremer [Thu, 30 Jan 2025 15:54:04 +0000 (15:54 +0000)] 
build: Move creating the local repository into Pakfire

Pakfire is kind of the thing that should do the setup. That way, we have
it all in one place instead of two places of setup.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocli: The shell environment is obviously local, too
Michael Tremer [Thu, 30 Jan 2025 15:25:04 +0000 (15:25 +0000)] 
cli: The shell environment is obviously local, too

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocontrib: Remove the local repo from the configuration
Michael Tremer [Thu, 30 Jan 2025 15:21:36 +0000 (15:21 +0000)] 
contrib: Remove the local repo from the configuration

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Always create a local build repository in the home directory
Michael Tremer [Thu, 30 Jan 2025 15:20:41 +0000 (15:20 +0000)] 
build: Always create a local build repository in the home directory

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopath: Add function to expand paths
Michael Tremer [Thu, 30 Jan 2025 15:19:15 +0000 (15:19 +0000)] 
path: Add function to expand paths

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Create a flag to mark locally run builds
Michael Tremer [Thu, 30 Jan 2025 14:52:23 +0000 (14:52 +0000)] 
build: Create a flag to mark locally run builds

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Increase the Zstandard compression level
Michael Tremer [Thu, 30 Jan 2025 11:45:10 +0000 (11:45 +0000)] 
repo: Increase the Zstandard compression level

The data is actually really small and compresses well, so we can spend
some extra CPU cycles to save disk space and bandwidth.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Implement passing the compression level to XZ & Zstd
Michael Tremer [Thu, 30 Jan 2025 11:43:55 +0000 (11:43 +0000)] 
compress: Implement passing the compression level to XZ & Zstd

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Fix flushing Zstandard output data
Michael Tremer [Thu, 30 Jan 2025 11:30:21 +0000 (11:30 +0000)] 
compress: Fix flushing Zstandard output data

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Move compression detection
Michael Tremer [Thu, 30 Jan 2025 11:18:04 +0000 (11:18 +0000)] 
repo: Move compression detection

It is easier to run this when we read the database instead of in the
lower level SOLV reading function because inheriting the FILE handle
becomes difficult.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackage: Add function to destroy a package
Michael Tremer [Thu, 30 Jan 2025 11:17:22 +0000 (11:17 +0000)] 
package: Add function to destroy a package

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agotests: archive: Make the test repository virtual
Michael Tremer [Thu, 30 Jan 2025 11:11:00 +0000 (11:11 +0000)] 
tests: archive: Make the test repository virtual

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Make all internal repositories virtual
Michael Tremer [Thu, 30 Jan 2025 11:10:35 +0000 (11:10 +0000)] 
repo: Make all internal repositories virtual

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Since we now support virtual repositories, the don't have to be local
Michael Tremer [Thu, 30 Jan 2025 11:10:04 +0000 (11:10 +0000)] 
repo: Since we now support virtual repositories, the don't have to be local

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Fix return codes when reading SOLV data
Michael Tremer [Thu, 30 Jan 2025 11:04:06 +0000 (11:04 +0000)] 
repo: Fix return codes when reading SOLV data

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Remove unused function to only add package metadata
Michael Tremer [Thu, 30 Jan 2025 11:00:57 +0000 (11:00 +0000)] 
repo: Remove unused function to only add package metadata

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocli: Use import function to import archives
Michael Tremer [Thu, 30 Jan 2025 10:56:48 +0000 (10:56 +0000)] 
cli: Use import function to import archives

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Optionally return the package object when importing archives
Michael Tremer [Thu, 30 Jan 2025 10:54:50 +0000 (10:54 +0000)] 
repo: Optionally return the package object when importing archives

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Introduce the concept of virtual repositories
Michael Tremer [Thu, 30 Jan 2025 10:50:35 +0000 (10:50 +0000)] 
repo: Introduce the concept of virtual repositories

These repos can import packages, but they won't copy them but rather
leave them where they were before.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepos: Revert changing pakfire_path_relpath
Michael Tremer [Thu, 30 Jan 2025 10:39:16 +0000 (10:39 +0000)] 
repos: Revert changing pakfire_path_relpath

Use pakfire_path_relative instead which writes the path to the stack.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Remove fetching unused path
Michael Tremer [Thu, 30 Jan 2025 10:24:30 +0000 (10:24 +0000)] 
build: Remove fetching unused path

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojob: Don't lose build status when closing the log file
Michael Tremer [Thu, 30 Jan 2025 10:22:49 +0000 (10:22 +0000)] 
job: Don't lose build status when closing the log file

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agoutil: Make sure relative paths are always relative
Michael Tremer [Thu, 30 Jan 2025 10:18:39 +0000 (10:18 +0000)] 
util: Make sure relative paths are always relative

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Unify code to import packages
Michael Tremer [Thu, 30 Jan 2025 09:54:12 +0000 (09:54 +0000)] 
repo: Unify code to import packages

This now supports the flat layout that we use for the @local build
repository as well as the UUID layout that we use to publish packages.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Automatically detect gzip-compressed data
Michael Tremer [Thu, 30 Jan 2025 09:15:40 +0000 (09:15 +0000)] 
compress: Automatically detect gzip-compressed data

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Refactor finding the installed repository
Michael Tremer [Thu, 30 Jan 2025 09:12:16 +0000 (09:12 +0000)] 
repo: Refactor finding the installed repository

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Refactor identity function
Michael Tremer [Thu, 30 Jan 2025 09:07:33 +0000 (09:07 +0000)] 
repo: Refactor identity function

We could in theory have two repositories with the same name.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Drop an unused function
Michael Tremer [Thu, 30 Jan 2025 09:06:04 +0000 (09:06 +0000)] 
repo: Drop an unused function

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Refactor opening existing repositories
Michael Tremer [Thu, 30 Jan 2025 09:04:30 +0000 (09:04 +0000)] 
repo: Refactor opening existing repositories

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Refactor creating a new repo
Michael Tremer [Thu, 30 Jan 2025 08:55:27 +0000 (08:55 +0000)] 
repo: Refactor creating a new repo

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Fix weird argument handling
Michael Tremer [Thu, 30 Jan 2025 08:39:48 +0000 (08:39 +0000)] 
repo: Fix weird argument handling

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojob: Remove the braindead UUID parsing/unparsing
Michael Tremer [Thu, 30 Jan 2025 08:36:00 +0000 (08:36 +0000)] 
job: Remove the braindead UUID parsing/unparsing

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojobs: Pass all log messages on to the upstream logger
Michael Tremer [Thu, 30 Jan 2025 08:28:47 +0000 (08:28 +0000)] 
jobs: Pass all log messages on to the upstream logger

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog file: Change compression to gzip
Michael Tremer [Thu, 30 Jan 2025 08:21:25 +0000 (08:21 +0000)] 
log file: Change compression to gzip

Although it would be nice to only use one compression algorithm, the
challenges to use Zstandard are a little bit too large. The compression
is actually not better (if even) and takes up a lot more resources. At
the same time, there is very little support for Zstandard in browsers
and Python itself, which results us writing a lot of extra code to
ensure that the files are often decoded again to be delivered in
plaintext and being DEFLATEd again by the reverse proxies.

So it all makes a lot more sense to use gzip from the start and just be
done with it.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Add transparent gzip compression
Michael Tremer [Thu, 30 Jan 2025 08:17:22 +0000 (08:17 +0000)] 
compress: Add transparent gzip compression

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agoconfigure: Depend on zlib
Michael Tremer [Thu, 30 Jan 2025 08:16:45 +0000 (08:16 +0000)] 
configure: Depend on zlib

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agoxfer: Don't use chunked encoding for uploads
Michael Tremer [Wed, 29 Jan 2025 18:36:29 +0000 (18:36 +0000)] 
xfer: Don't use chunked encoding for uploads

This is deprecated in HTTP/2 and on the server side we now live without
it. cURL even sends a Content-Length header which is quite helpful.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agostring: Don't return the number of elements in an array after append
Michael Tremer [Wed, 29 Jan 2025 17:11:08 +0000 (17:11 +0000)] 
string: Don't return the number of elements in an array after append

We don't use this anywhere and it requires to reset r whenever we store
the value in it.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Drastically increase the Zstandard compression level
Michael Tremer [Wed, 29 Jan 2025 17:10:21 +0000 (17:10 +0000)] 
compress: Drastically increase the Zstandard compression level

All files that we generate are being transferred or stored for a long
time. So it should be wise to always spend the extra CPU cycles.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog file: Add a human readable filename argument
Michael Tremer [Wed, 29 Jan 2025 17:10:02 +0000 (17:10 +0000)] 
log file: Add a human readable filename argument

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojob: Create a log file and write the entire job output to it
Michael Tremer [Wed, 29 Jan 2025 16:49:03 +0000 (16:49 +0000)] 
job: Create a log file and write the entire job output to it

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog file: Reset the file handle immediately
Michael Tremer [Wed, 29 Jan 2025 16:47:46 +0000 (16:47 +0000)] 
log file: Reset the file handle immediately

Since we are calling some logging functions from here we might want to
write to the closed file handle.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuildservice: Always set title on upload
Michael Tremer [Wed, 29 Jan 2025 16:46:47 +0000 (16:46 +0000)] 
buildservice: Always set title on upload

This will always be set, so there is no point in adding this check.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuildservice: Send digest without choosing some algorithm
Michael Tremer [Wed, 29 Jan 2025 16:46:23 +0000 (16:46 +0000)] 
buildservice: Send digest without choosing some algorithm

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuildservice: Reformat how to play with arguments
Michael Tremer [Wed, 29 Jan 2025 16:45:52 +0000 (16:45 +0000)] 
buildservice: Reformat how to play with arguments

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog stream: Make this more versatile
Michael Tremer [Wed, 29 Jan 2025 15:06:15 +0000 (15:06 +0000)] 
log stream: Make this more versatile

This is needed because we have differnt types of input and therefore
need to be able to handle them all.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Log something when the result callback returned non-zero
Michael Tremer [Wed, 29 Jan 2025 15:03:52 +0000 (15:03 +0000)] 
build: Log something when the result callback returned non-zero

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojob: Properly implement the log stream now
Michael Tremer [Wed, 29 Jan 2025 15:02:14 +0000 (15:02 +0000)] 
job: Properly implement the log stream now

This is now a post event which will always be called when there have
been any other events processed. We will therefore try to send as many
log lines as possible before we terminate.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agotests: compress: Tidy up the code to get better assertion messages
Michael Tremer [Wed, 29 Jan 2025 14:00:59 +0000 (14:00 +0000)] 
tests: compress: Tidy up the code to get better assertion messages

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuildservice: Make setting the upload filename optional
Michael Tremer [Wed, 29 Jan 2025 14:00:35 +0000 (14:00 +0000)] 
buildservice: Make setting the upload filename optional

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Correctly terminate on EOF
Michael Tremer [Wed, 29 Jan 2025 14:00:12 +0000 (14:00 +0000)] 
compress: Correctly terminate on EOF

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agocompress: Refactor transparent Zstandard compression
Michael Tremer [Wed, 29 Jan 2025 11:46:39 +0000 (11:46 +0000)] 
compress: Refactor transparent Zstandard compression

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog file: Add new object to write a (compressed) log file
Michael Tremer [Wed, 29 Jan 2025 11:09:44 +0000 (11:09 +0000)] 
log file: Add new object to write a (compressed) log file

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuildservice: Use the URL to upload the payload
Michael Tremer [Wed, 29 Jan 2025 10:40:57 +0000 (10:40 +0000)] 
buildservice: Use the URL to upload the payload

This is just a change in the protocol which hopefully will give us some
more flexibility in the future.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuilds: Remove old target implementation
Michael Tremer [Tue, 28 Jan 2025 17:53:18 +0000 (17:53 +0000)] 
builds: Remove old target implementation

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agotests: Add some basic tests for the log stream
Michael Tremer [Tue, 28 Jan 2025 17:50:14 +0000 (17:50 +0000)] 
tests: Add some basic tests for the log stream

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog stream: Add a function to print custom content into the stream
Michael Tremer [Tue, 28 Jan 2025 17:49:35 +0000 (17:49 +0000)] 
log stream: Add a function to print custom content into the stream

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog stream: Don't loop forever if we did not find a line break
Michael Tremer [Tue, 28 Jan 2025 17:47:55 +0000 (17:47 +0000)] 
log stream: Don't loop forever if we did not find a line break

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog stream: Only call the read function when there is new data to read
Michael Tremer [Tue, 28 Jan 2025 17:47:13 +0000 (17:47 +0000)] 
log stream: Only call the read function when there is new data to read

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agolog stream: Add function to close the stream
Michael Tremer [Tue, 28 Jan 2025 17:43:21 +0000 (17:43 +0000)] 
log stream: Add function to close the stream

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojob: Send an API call once the job has finished
Michael Tremer [Tue, 28 Jan 2025 16:29:05 +0000 (16:29 +0000)] 
job: Send an API call once the job has finished

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agojobs: Upload packages after the build is done
Michael Tremer [Tue, 28 Jan 2025 15:49:26 +0000 (15:49 +0000)] 
jobs: Upload packages after the build is done

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuildservice: Simplify how it is being initialized
Michael Tremer [Tue, 28 Jan 2025 15:23:44 +0000 (15:23 +0000)] 
buildservice: Simplify how it is being initialized

This make this all more re-usable in other places.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Add a result callback and use it in the CLI builder
Michael Tremer [Tue, 28 Jan 2025 15:07:40 +0000 (15:07 +0000)] 
build: Add a result callback and use it in the CLI builder

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Add a function that imports an archive
Michael Tremer [Tue, 28 Jan 2025 15:05:08 +0000 (15:05 +0000)] 
repo: Add a function that imports an archive

I know that we have been doing this in so many places, but hopefully
this is now the new (soon to be unified) way to do this.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agobuild: Drop old code that copies the packages after build
Michael Tremer [Tue, 28 Jan 2025 15:04:11 +0000 (15:04 +0000)] 
build: Drop old code that copies the packages after build

This is broken and needs to be replaced by something more custom.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agopackage: Make a function available to all that generates the filename
Michael Tremer [Tue, 28 Jan 2025 15:03:10 +0000 (15:03 +0000)] 
package: Make a function available to all that generates the filename

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
4 months agorepo: Pass the package as well as the archive
Michael Tremer [Tue, 28 Jan 2025 14:00:35 +0000 (14:00 +0000)] 
repo: Pass the package as well as the archive

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>