]>
git.ipfire.org Git - pakfire.git/log
Michael Tremer [Tue, 9 Aug 2022 15:35:42 +0000 (15:35 +0000)]
tests: jail: Add check for nice level
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 15:34:32 +0000 (15:34 +0000)]
tests: Add check to compare string arrays
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 14:54:37 +0000 (14:54 +0000)]
tests: cgroup: Drop old cgroup tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 14:46:46 +0000 (14:46 +0000)]
tests: archive: Fix whitespace error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 14:46:26 +0000 (14:46 +0000)]
pakfire: pakfire_copy: Add newline after log message
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 14:46:04 +0000 (14:46 +0000)]
cgroup: Implement legacy way to kill processes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 13:52:23 +0000 (13:52 +0000)]
cgroup: Fix destruction function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 13:35:37 +0000 (13:35 +0000)]
tests: jail: Actually run a useful command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 13:34:36 +0000 (13:34 +0000)]
tests: Copy command into every test environment
It looks like we can use this in many cases, so why not copy it by
default?
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 13:16:00 +0000 (13:16 +0000)]
pakfire: Fix return code of pakfire_copy on error
Before, the function count return zero even though an error occured.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 13:09:05 +0000 (13:09 +0000)]
Makefile: Drop unnecessary define for main test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 13:08:22 +0000 (13:08 +0000)]
jail: Log executed command line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 12:53:20 +0000 (12:53 +0000)]
tests: Cleanup temporary directories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 12:47:39 +0000 (12:47 +0000)]
tests: Allow running a single test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 12:33:29 +0000 (12:33 +0000)]
tests: jail: Add test that launches a process into a cgroup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 12:18:04 +0000 (12:18 +0000)]
build: Guarantee 2 GiB of memory for each builder
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 12:17:40 +0000 (12:17 +0000)]
cgroup: Add functions to configure memory limits
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 17:22:54 +0000 (17:22 +0000)]
build: Use main jail to build stages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 17:18:49 +0000 (17:18 +0000)]
build: Use default jail to run any scripts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 17:16:21 +0000 (17:16 +0000)]
build: Pass context to pakfire_build_run_script
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 17:10:36 +0000 (17:10 +0000)]
build: Pass context to pakfire_build_find_dependencies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 17:05:17 +0000 (17:05 +0000)]
build: Pass context to pakfire_build_package_add_files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 17:03:15 +0000 (17:03 +0000)]
build: Pass context to pakfire_build_package_add_scriptlets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:59:06 +0000 (16:59 +0000)]
build: Pass context to pakfire_build_package(s)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:55:06 +0000 (16:55 +0000)]
build: Pass context to pakfire_build_run_post_build_scripts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:52:59 +0000 (16:52 +0000)]
build: Pass context to pakfire_build_stage
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:48:43 +0000 (16:48 +0000)]
build: Pass context to pakfire_build_makefile
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:45:47 +0000 (16:45 +0000)]
build: No longer include glob.h
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:42:30 +0000 (16:42 +0000)]
build: Open source archive and extra some metadata
This saves us on guessing what package we might want to build later.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:29:23 +0000 (16:29 +0000)]
build: Split heavy lifting into a separate exec function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:23:18 +0000 (16:23 +0000)]
build: Set default target
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 16:06:16 +0000 (16:06 +0000)]
build: Export pakfire_build_ref/_unref
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:49:52 +0000 (15:49 +0000)]
build: Set errno to EINVAL when build ID is of an invalid format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:49:06 +0000 (15:49 +0000)]
build: Destroy our cgroup after we are done
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:47:24 +0000 (15:47 +0000)]
jail: Free reference to cgroup when freeing jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:45:59 +0000 (15:45 +0000)]
tests: build: Try to create with invalid IDs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:40:57 +0000 (15:40 +0000)]
jail: Don't create own cgroups any more
There is a new interface now which can be used to launch anything into
the correct cgroup from the very beginning.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:35:35 +0000 (15:35 +0000)]
build: Connect jail with cgroup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:29:18 +0000 (15:29 +0000)]
build: Create a jail for each build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:24:27 +0000 (15:24 +0000)]
tests: Add simple create/free test for builds
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:23:50 +0000 (15:23 +0000)]
builds: Create a new cgroup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 15:02:48 +0000 (15:02 +0000)]
build: Start creating a new build environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 14:47:01 +0000 (14:47 +0000)]
cgroup: Add controllers
This is really not working well so far. But I thought it would be better
to commit this and work on it than creating another monster commit.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 8 Aug 2022 10:34:25 +0000 (10:34 +0000)]
cgroup: Start again from scratch
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 15:54:18 +0000 (15:54 +0000)]
tests: jail: Send signals to ourselves
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 15:41:04 +0000 (15:41 +0000)]
jail: Close the original fds for stdin/stdout after copying
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 15:33:11 +0000 (15:33 +0000)]
tests: jail: Add check if we are leaking any file descriptors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 15:18:54 +0000 (15:18 +0000)]
jail: Implement better logging for the child process
The child process used to dump any logging to the standard output/error
which is not useful when we want to collect any actual output of the
process that was called.
This patch adds extra pipes (one for each log level - I know) and passes
those log messages on to the regular logger (past the jail log
callback).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 13:40:23 +0000 (13:40 +0000)]
jail: Automatically determine how many fds we have in the array
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 13:39:30 +0000 (13:39 +0000)]
jail: Don't open log descriptors are non-blocking
We want write() to block if the pipe is full and not drop any messages.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 10:11:21 +0000 (10:11 +0000)]
jail: Do not remove trailing newline when capturing log
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Aug 2022 10:07:02 +0000 (10:07 +0000)]
python: Add switch to return output on execute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 16:39:33 +0000 (16:39 +0000)]
jail: Actually connect stdout/stderr to logger
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 16:02:22 +0000 (16:02 +0000)]
tests: Rename execute.py to jail.py
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 15:59:54 +0000 (15:59 +0000)]
tests: command: Rename pid to print-pid
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 15:58:08 +0000 (15:58 +0000)]
jail: Implement setting nice level
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 15:32:53 +0000 (15:32 +0000)]
execute: Drop old environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 15:21:49 +0000 (15:21 +0000)]
jail: Unify the wait logic for processes and use pidfd
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 14:22:43 +0000 (14:22 +0000)]
python: Rework Pakfire.execute() using jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 10:27:47 +0000 (10:27 +0000)]
jail: Export in libpakfire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 10:22:27 +0000 (10:22 +0000)]
jail: Move pakfire_execute_shell/ldconfig
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 10:17:37 +0000 (10:17 +0000)]
jail: Add option to collect stdout
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 09:35:41 +0000 (09:35 +0000)]
execute: Drop unused pakfire_execute_script function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 09:32:17 +0000 (09:32 +0000)]
build: Replace pakfire_execute_script with new jail functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 09:27:13 +0000 (09:27 +0000)]
scriptlets: Use new jail functions to run scripts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 09:26:56 +0000 (09:26 +0000)]
jail: Add convenience function to run scripts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 09:08:07 +0000 (09:08 +0000)]
jail: Configure UID/GID mapping correctly for root
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 09:01:38 +0000 (09:01 +0000)]
jail: Create fds for logging as non-blocking straight away
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 08:59:35 +0000 (08:59 +0000)]
jail: Use struct in execution context
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 08:47:17 +0000 (08:47 +0000)]
jail: Move completed_fd into ctx
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 08:44:05 +0000 (08:44 +0000)]
build: Use factory function to create jail
This jail can be configured and customised for the build process.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Aug 2022 08:42:18 +0000 (08:42 +0000)]
execute: Replace old code with new jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 18:26:51 +0000 (18:26 +0000)]
build: Drop separate logging callback
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 18:12:32 +0000 (18:12 +0000)]
execute: Drop unused pakfire_execute_command function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 18:09:46 +0000 (18:09 +0000)]
execute: Use pakfire_jail_run() to call ldconfig
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 18:09:27 +0000 (18:09 +0000)]
execute: Use convenience function to run shell
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 18:07:12 +0000 (18:07 +0000)]
jail: Add convenience function to run simple commands
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 17:58:25 +0000 (17:58 +0000)]
execute: Use new jail to run shell
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 17:48:45 +0000 (17:48 +0000)]
jail: Add interface to simply execute scripts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 17:40:22 +0000 (17:40 +0000)]
jail: Add function to import environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 17:32:44 +0000 (17:32 +0000)]
jail: Set default logging callback
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 17:30:07 +0000 (17:30 +0000)]
jail: Implement changing logging callback
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 17:27:28 +0000 (17:27 +0000)]
jail: Import logging stuff from execute.c
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 16:37:41 +0000 (16:37 +0000)]
jail: Fix signal handling
We need to stricly send uint64_t.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 16:23:40 +0000 (16:23 +0000)]
mount: Add /dev/shm
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 16:21:52 +0000 (16:21 +0000)]
mount: Bring back /tmp to jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 16:09:25 +0000 (16:09 +0000)]
mount: Mount a new instance of /dev/pts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 16:03:57 +0000 (16:03 +0000)]
mount: Make /dev/mqueue available in jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 16:01:40 +0000 (16:01 +0000)]
mount: Fix mounting any file systems from the host system
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 15:30:28 +0000 (15:30 +0000)]
jail: Try bind-mounting device nodes when we cannot use mknod()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:47:34 +0000 (14:47 +0000)]
jail: Apply syscall filter
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:44:38 +0000 (14:44 +0000)]
jail: Execute command
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:40:09 +0000 (14:40 +0000)]
jail: Drop capabilities
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:36:22 +0000 (14:36 +0000)]
jail: Set open file limit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:35:12 +0000 (14:35 +0000)]
jail: Set personality
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:17:34 +0000 (14:17 +0000)]
jail: Mount all default filesystems
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 14:11:08 +0000 (14:11 +0000)]
jail: Fix setting UID/GID in namespace
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 11:07:47 +0000 (11:07 +0000)]
jail: Make the client process wait until the parent has finished initialization
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 10:50:41 +0000 (10:50 +0000)]
jail: Perform UID/GID setup for new namespace
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Aug 2022 10:35:30 +0000 (10:35 +0000)]
jail: Implement first steps of running a command in jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>