]>
git.ipfire.org Git - people/ms/pakfire.git/log
Michael Tremer [Wed, 17 Aug 2022 19:47:04 +0000 (19:47 +0000)]
compress: Create a unified extraction function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 17:53:08 +0000 (17:53 +0000)]
util: Speed up pakfire_rmtree()
We can already call rmdir() if we know that we have a directory instead
of trying unlink() first and then falling back.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 16:05:32 +0000 (16:05 +0000)]
build: Disable ccache using CCACHE_DISABLE=1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 15:59:36 +0000 (15:59 +0000)]
snapshots: Pass path instead of file descriptor
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 13:11:14 +0000 (13:11 +0000)]
snapshot: Refactor composing archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 13:10:33 +0000 (13:10 +0000)]
file: Store device node type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 13:04:01 +0000 (13:04 +0000)]
file: Fix return code when create fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 13:02:49 +0000 (13:02 +0000)]
file: Add convenience function to open files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 13:02:21 +0000 (13:02 +0000)]
file: Add function to return data as archive_entry
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 13:01:52 +0000 (13:01 +0000)]
file: Store hardlink/symlink targets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 10:18:33 +0000 (10:18 +0000)]
build: Install packages even when no snapshot is being used
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 10:14:02 +0000 (10:14 +0000)]
build: Rename init routine and add marker
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 10:09:51 +0000 (10:09 +0000)]
jail: Drop unused pakfire_jail_has_flag function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 10:07:57 +0000 (10:07 +0000)]
jail: Use common function to write files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 10:02:55 +0000 (10:02 +0000)]
util: Add generic function to write data to files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 09:35:17 +0000 (09:35 +0000)]
build: Use pakfire_jail_bind to bind-mount local repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 09:16:31 +0000 (09:16 +0000)]
jail: Make waiting loop more efficient
When the log file descriptors were closed, epoll() was returning an
event which has not been handled. That caused the loop to use 100% CPU.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:59:58 +0000 (08:59 +0000)]
python: execute: Fix SEGV when no output has been returned
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:55:35 +0000 (08:55 +0000)]
jail: Fix logic error in interactive flag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:52:38 +0000 (08:52 +0000)]
progressbar: Return correct error code when we couldn't allocate
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:52:19 +0000 (08:52 +0000)]
progressbar: Add mutex to avoid race when drawing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:26:54 +0000 (08:26 +0000)]
pakfire: Drop build flag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:21:19 +0000 (08:21 +0000)]
cgroups: Check if a valid name for child groups is passed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 17 Aug 2022 08:21:05 +0000 (08:21 +0000)]
jail: Fix returning UUID
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 17:13:05 +0000 (17:13 +0000)]
build: Fix reference to repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 17:12:31 +0000 (17:12 +0000)]
scripts: Drop interactive flag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 17:12:11 +0000 (17:12 +0000)]
build: Move local build repository here
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 16:54:57 +0000 (16:54 +0000)]
pakfire: Drop interactive flag
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 16:36:45 +0000 (16:36 +0000)]
build: Move interactive flag from jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 16:25:42 +0000 (16:25 +0000)]
jail: Make dropping users into a shell easier
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 16:02:43 +0000 (16:02 +0000)]
pakfire: Drop empty pakfire_build_setup function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 15:57:23 +0000 (15:57 +0000)]
jail: Export new bind action in favour of pakfire_bind()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 15:41:40 +0000 (15:41 +0000)]
mount: Drop unused pakfire_umount_all function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 15:35:51 +0000 (15:35 +0000)]
build: Actually disable snapshots when requested
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 15:35:23 +0000 (15:35 +0000)]
build: Move ccache setup here
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 15:34:26 +0000 (15:34 +0000)]
jail: Implement bind-mounting anything into the jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 15:32:02 +0000 (15:32 +0000)]
tests: command: Check if something is a mountpoint
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 14:32:24 +0000 (14:32 +0000)]
build: Move snapshot extraction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 14:02:29 +0000 (14:02 +0000)]
jail: Give a random UUID and use it for the cgroup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 13:48:31 +0000 (13:48 +0000)]
jail: Kill child when parent dies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 13:16:50 +0000 (13:16 +0000)]
jail: Map/unmap any UID/GIDs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 12:58:08 +0000 (12:58 +0000)]
Unify duplicated code for UIDs and GIDs
This patch unifies the type which is the same for both.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 12:44:47 +0000 (12:44 +0000)]
jail: deny setgroups() before initializing the {U,G}ID maps
This just makes things easier to read in strace.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 12:43:47 +0000 (12:43 +0000)]
jail: Use read SUB{U,G}IDs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 12:41:04 +0000 (12:41 +0000)]
tests: jail: Check file ownership
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 12:39:24 +0000 (12:39 +0000)]
jail: Check effective UID/GID for root as well
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 12:37:24 +0000 (12:37 +0000)]
capabilities: Add some helper functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 11:47:26 +0000 (11:47 +0000)]
pakfire: Make sub{u,g}ids accessible
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 16 Aug 2022 11:46:39 +0000 (11:46 +0000)]
pwd: Check for valid length in sub{u,g}ids
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 17:56:39 +0000 (17:56 +0000)]
pakfire: Run any jails unprivileged even when called as root
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 10:40:51 +0000 (10:40 +0000)]
copy: Use pre-configured archive readers/writers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 10:27:31 +0000 (10:27 +0000)]
util: Unify copying libarchive payload from file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 10:12:41 +0000 (10:12 +0000)]
util: Improve error reporting for archive copy
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 10:11:25 +0000 (10:11 +0000)]
tests: Actually run them all when we want all
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 10:05:57 +0000 (10:05 +0000)]
util: Drop unused archive_entry argument from copy function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 12 Aug 2022 10:05:19 +0000 (10:05 +0000)]
command: Add function to show own file ownership
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 11 Aug 2022 17:00:14 +0000 (17:00 +0000)]
pakfire: Parse SUBUID/GIDs from /etc/sub{u,g}id
This isn't particularly pretty but there does not seem to be a better
solution integrated into glibc/nss/etc., yet.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 11 Aug 2022 16:47:03 +0000 (16:47 +0000)]
tests: Check if Pakfire was initialized correctly
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 10 Aug 2022 21:27:39 +0000 (21:27 +0000)]
configure: Check for some basic types
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 10 Aug 2022 21:10:36 +0000 (21:10 +0000)]
po: Update translations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 10 Aug 2022 21:07:12 +0000 (21:07 +0000)]
tests: jail: Disable test which doesn't work
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 10 Aug 2022 21:01:10 +0000 (21:01 +0000)]
python: execute: Drop enable_network switch
This is never being used in the code.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 10 Aug 2022 20:56:10 +0000 (20:56 +0000)]
cgroup: Implement reading stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 10 Aug 2022 20:53:29 +0000 (20:53 +0000)]
command: Add sleep
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 17:20:56 +0000 (17:20 +0000)]
builds: Set PID limit to 2048 for each build
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 17:15:42 +0000 (17:15 +0000)]
cgroup: Update header
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 17:14:28 +0000 (17:14 +0000)]
cgroup: Remove unused variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 17:13:59 +0000 (17:13 +0000)]
util: Refactor pakfire_str2deps and use it everywhere
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:44:11 +0000 (16:44 +0000)]
tests: jail: A fork bomb should also exhaust all memory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:43:40 +0000 (16:43 +0000)]
command: fork-bomb: Further improve return code when killed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:32:48 +0000 (16:32 +0000)]
command: Return exit code of last child process
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:32:26 +0000 (16:32 +0000)]
cgroup: Add option to control the amount of PIDs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:23:08 +0000 (16:23 +0000)]
command: Show how much memory we managed to allocate
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:22:44 +0000 (16:22 +0000)]
tests: jail: Add test for memory limit
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 16:16:25 +0000 (16:16 +0000)]
jail: Create a leaf cgroup
clone3() does not allow to clone into a cgroup that has subtree_control
set. So we need to create a temporary group.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 9 Aug 2022 15:50:21 +0000 (15:50 +0000)]
jail: Return any output as string
I thought it would be beneficial to return the output as an array, but
that makes things way too complicated later on.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
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>