]>
git.ipfire.org Git - pakfire.git/log
Michael Tremer [Tue, 25 Jul 2023 11:40:44 +0000 (11:40 +0000)]
libpakfire: strings: Create better return codes for all functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 25 Jul 2023 11:37:19 +0000 (11:37 +0000)]
key: Fix wrong passing of string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 25 Jul 2023 11:33:49 +0000 (11:33 +0000)]
libpakfire: pakfire_create: Return a better return code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 25 Jul 2023 11:33:31 +0000 (11:33 +0000)]
libpakfire: Enhance logging to pass custom errno
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 21 Jul 2023 18:15:45 +0000 (18:15 +0000)]
dependencies: Create and destroy the pool for each version check
The former solution obviously wasn't very thread-safe.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 21 Jul 2023 14:28:59 +0000 (14:28 +0000)]
_pakfire: Add version_compare() that does not require Pakfire
This is useful if we do not have a Pakfire instance at hand and will
save us the overhead of creating one every time.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 19 Jul 2023 10:45:49 +0000 (10:45 +0000)]
find-provides: Only handle shared objects
The previous pattern matched other files like "*.socket".
Fixes: #13027 - Pakfire thinks .socket files are .so files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 19 Jul 2023 10:16:54 +0000 (10:16 +0000)]
build: Remove BUILDROOT check
This searched for any references to BUILDROOT in any generated files.
However, this is hard to implement without using the nested function
which unfortunately requires an executable stack which is not permitted
in IPFire.
Since the check is usually not having a massive impact, this patch
removes it for now with the intention to bring it back at a later time.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 18 Jul 2023 15:50:14 +0000 (15:50 +0000)]
jail: Group prctl() calls together
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 18 Jul 2023 15:35:15 +0000 (15:35 +0000)]
jail: Create a new time namespace
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Jul 2023 16:45:47 +0000 (16:45 +0000)]
jail: Change mount propagation before switching root
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Jul 2023 16:45:20 +0000 (16:45 +0000)]
jail: Fix file descriptor check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 17 Jul 2023 16:44:50 +0000 (16:44 +0000)]
jail: Use pivot_root() again instead of chroot()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Jun 2023 13:32:34 +0000 (13:32 +0000)]
jail: Handle signals in epoll() loop
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Jun 2023 13:30:45 +0000 (13:30 +0000)]
jail: Initialize all file descriptors with -1
It is not a good idea to use zero as that might be a valid fd.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 29 Jun 2023 08:21:11 +0000 (08:21 +0000)]
cgroups: Add BPF program to filter device node access
This is currently permitting everything which we don't want to sustain
in the long-term.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 29 Jun 2023 08:17:12 +0000 (08:17 +0000)]
configure: Link against libbpf
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 21 Jun 2023 15:25:19 +0000 (15:25 +0000)]
jail: Don't drop any capabilities
This is not what we finally need, but we will try to give the jail as
many capabilities in its own namespace as possible.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 21 Jun 2023 13:42:09 +0000 (13:42 +0000)]
cgroup: Return error when the cgroup could not be created
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 21 Jun 2023 13:31:27 +0000 (13:31 +0000)]
jail: Refactor searching for env variable function
This used a variable size array on the stack before which is not needed.
This version should be slightly faster and the compiler should be able
to inline it.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 20 Jun 2023 14:43:10 +0000 (14:43 +0000)]
jail: Allow accessing loop devices
This is not great, but the only way we can mount any images inside the
jail as loop devices are not namespaced (yet).
Jails of this style can access any loop devices set up by the system and
for other jails.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 19 Jun 2023 15:42:57 +0000 (15:42 +0000)]
builds: Install tools that are required to build a certain image
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 19 Jun 2023 15:27:21 +0000 (15:27 +0000)]
build: Find all packages to be installed and create a new repository with them
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 14 Jun 2023 15:52:36 +0000 (15:52 +0000)]
build: mkimage: Take a fd for the output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 14 Jun 2023 15:51:44 +0000 (15:51 +0000)]
util: Add function to copy all data from one fd to another
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 14 Jun 2023 15:15:50 +0000 (15:15 +0000)]
build: Add scaffolding to create images
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 21:26:37 +0000 (21:26 +0000)]
tests: archive: Fix compiling
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 21:24:31 +0000 (21:24 +0000)]
tests: Drop PGP test key
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 21:23:38 +0000 (21:23 +0000)]
contrib: Update keys of IPFire 3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 21:16:41 +0000 (21:16 +0000)]
keys: Carry the comment with us and require it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 20:28:50 +0000 (20:28 +0000)]
_pakfire: Import/export keys as strings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 20:28:21 +0000 (20:28 +0000)]
keys: Do not insist on reading the comment line first
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 20:26:38 +0000 (20:26 +0000)]
repos: Write database signature to the correct place
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 20:26:09 +0000 (20:26 +0000)]
repos: Fix re-reading repository key
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 19:15:19 +0000 (19:15 +0000)]
keys: Wipe memory after importing keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 18:46:21 +0000 (18:46 +0000)]
keys: Export signing/verification routines in Python
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 18:46:03 +0000 (18:46 +0000)]
keys: Flush buffers after creating a signature
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 18:45:43 +0000 (18:45 +0000)]
keys: Fix handling IDs (again)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 18:11:26 +0000 (18:11 +0000)]
keys: Convert the key ID to integer in Python
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 18:01:07 +0000 (18:01 +0000)]
_pakfire: Implement loading keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:59:45 +0000 (17:59 +0000)]
keys: Make the ID an array of bytes again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:08:17 +0000 (17:08 +0000)]
_pakfire: keys: Fix error handling when returning algorithm
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:08:01 +0000 (17:08 +0000)]
tests: Add some simple tests for keys in Python
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:03:52 +0000 (17:03 +0000)]
pakfire: Import everything from _pakfire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:03:32 +0000 (17:03 +0000)]
_pakfire: Export the key algorithm constants
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:03:10 +0000 (17:03 +0000)]
_pakfire: keys: Treat IDs as integers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 17:01:18 +0000 (17:01 +0000)]
keys: Change key id into uint64_t
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 16:41:45 +0000 (16:41 +0000)]
_pakfire: Drop listing keys
We no longer keep keys stored.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 16:24:56 +0000 (16:24 +0000)]
keys: Drop delete operation
Since we don't have a keystore any more, there is no need to implement
this.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 15:53:02 +0000 (15:53 +0000)]
repos: Implement creating a detached signature for databases
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 15:44:37 +0000 (15:44 +0000)]
repos: Drop flags argument from compose function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 15:24:57 +0000 (15:24 +0000)]
keys: Implement signature verification
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 14:10:10 +0000 (14:10 +0000)]
keys: Refactor importing keys
This is now using the base64 decoder and insists on reading the comment
line.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 13:56:54 +0000 (13:56 +0000)]
util: Implement decoding base64 data and add tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 12:43:43 +0000 (12:43 +0000)]
Drop the old keystore as it is not longer being used
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Jun 2023 12:40:55 +0000 (12:40 +0000)]
keys: Replace usage of PGP by signify
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 May 2023 10:03:15 +0000 (10:03 +0000)]
libpakfire: Drop fetching PGP keys from keyservers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 May 2023 18:14:08 +0000 (18:14 +0000)]
build: Set CCACHE_DIR
This is mostly for completeness and not to cause any problems when there
is a custom ccache configuration inside the jail.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 May 2023 18:11:56 +0000 (18:11 +0000)]
build: Set CCACHE_TEMPDIR to /tmp
This will cause that ccache creates any temporary files in /tmp instead
of the cache dir. This caused massive bandwidth and slightly slow builds
with a shared NFS cache.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 May 2023 17:15:04 +0000 (17:15 +0000)]
daemon: Wrap Pakfire entirely into a thread
This is an attempt to fix a couple of concurrency issues which cause
that Pakfire does not cleanup any files on disk.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 May 2023 16:59:14 +0000 (16:59 +0000)]
daemon: Make job_id a property
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 May 2023 14:22:24 +0000 (14:22 +0000)]
config: Allow longer section & key names
This allows us to use UUIDs as repository names
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 May 2023 13:32:30 +0000 (13:32 +0000)]
file: Replace /usr/bin/env with the absolute path if possible
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 May 2023 12:06:01 +0000 (12:06 +0000)]
build: Fix creating the build environment without a snapshot
For some reason, I really messed this one up.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 May 2023 10:27:09 +0000 (10:27 +0000)]
archive: Implement extracting archives into arbitrary locations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 May 2023 13:55:19 +0000 (13:55 +0000)]
installcheck: Add a function that checks whether a package can be installed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 May 2023 13:54:24 +0000 (13:54 +0000)]
_pakfire: archive: Allow opening packages in any repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 May 2023 12:15:27 +0000 (12:15 +0000)]
request: Implement multiinstall for kernel as pooljobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 May 2023 12:05:46 +0000 (12:05 +0000)]
request: Fix passing solver flags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 10:23:39 +0000 (10:23 +0000)]
jail: Set up the loopback interface
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 07:43:14 +0000 (07:43 +0000)]
client: Add switch to disable test builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 07:42:31 +0000 (07:42 +0000)]
cgroups: Prevent falling through to default statement all the time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 06:19:03 +0000 (06:19 +0000)]
daemon: Do not upload any packages for test jobs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 May 2023 15:43:10 +0000 (15:43 +0000)]
cgroups: Don't create groups in system root for unprivileged users
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 May 2023 15:20:07 +0000 (15:20 +0000)]
cgroups: Fix checks for file descriptors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 06:09:54 +0000 (06:09 +0000)]
pakfire: Log user/group and subids
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 06:09:44 +0000 (06:09 +0000)]
pakfire: Split comment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 06:07:52 +0000 (06:07 +0000)]
pwd: Use libsubid
This is an attempt to read any subids using libsubid from shadow.
However, it seems that libsubid is not entirely thread-safe and randomly
fails. Hence this code is kept disabled for now.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 5 May 2023 06:07:19 +0000 (06:07 +0000)]
pakfire: Be more verbose when pakfire_create fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 May 2023 17:00:25 +0000 (17:00 +0000)]
pakfire: Move SUBIDs into user/group structs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 May 2023 16:44:37 +0000 (16:44 +0000)]
util: Drop function to fetch user home directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 May 2023 16:41:47 +0000 (16:41 +0000)]
pakfire: Fetch more user/group information at startup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 May 2023 16:12:46 +0000 (16:12 +0000)]
hub: Finish builds with a regular POST request
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 16:08:39 +0000 (16:08 +0000)]
daemon: Set a default ccache path in the configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 16:06:29 +0000 (16:06 +0000)]
build: Allow setting a different ccache path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 15:27:07 +0000 (15:27 +0000)]
_pakfire: Improve Python exception raising on build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 14:18:04 +0000 (14:18 +0000)]
build: Drop pakfire_build legacy function
Since we need to extend the interface, it is becoming painful to keep
the compat layer working for only one call.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 13:09:11 +0000 (13:09 +0000)]
build: Avoid having to steps when not using the snapshot
The build environment can be cached in a snapshot which allows much
faster builds. But sometimes, we don't want to use the snapshot.
In those cases, we will install the default set of packages first and
then we will install the source package. In order to find any dependency
problems quicker, this is now being done in just one step.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 08:44:11 +0000 (08:44 +0000)]
hub: Correctly read the CPU model
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 28 Apr 2023 09:40:26 +0000 (09:40 +0000)]
pwd: Remove static buffer for subid entry
In the build service, it could happen that Pakfire runs concurrently
which might cause that the statically allocated memory might be
overwritten by another thread.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Apr 2023 18:23:15 +0000 (18:23 +0000)]
hub: Automatically fetch a TGT when a keytab has been given
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Apr 2023 18:22:52 +0000 (18:22 +0000)]
hub: Don't use a default keytab
This might overwrite when a user is logged in.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 27 Apr 2023 10:23:57 +0000 (10:23 +0000)]
hub: Attempt to reconnect on 502 Proxy Error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 26 Apr 2023 17:19:57 +0000 (17:19 +0000)]
hub: Refactor message handling
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 26 Apr 2023 17:14:14 +0000 (17:14 +0000)]
daemon: Build scaffolding to abort builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 26 Apr 2023 17:01:37 +0000 (17:01 +0000)]
hub: Rename log message field
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 26 Apr 2023 15:17:00 +0000 (15:17 +0000)]
hub: Update message format for job messages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 26 Apr 2023 15:13:53 +0000 (15:13 +0000)]
daemon: Receive jobs over the new control connection
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 26 Apr 2023 13:43:14 +0000 (13:43 +0000)]
daemon: Use the new control connection for sending stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 25 Apr 2023 14:54:12 +0000 (14:54 +0000)]
daemon: Include timestamp in log messages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>