]>
git.ipfire.org Git - pakfire.git/log
Michael Tremer [Fri, 15 Jan 2021 22:33:55 +0000 (22:33 +0000)]
libpakfire: execute: Read content from stdout/stderr and sent it to the logger
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 15 Jan 2021 21:17:03 +0000 (21:17 +0000)]
libpakfire: execute: Create fds to read output in parent process
This will be used to log any output of the executed command in the
parent process.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 14 Jan 2021 13:45:32 +0000 (13:45 +0000)]
libpakfire: execute: Call chroot() and personality() only when necessary
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 14 Jan 2021 13:36:09 +0000 (13:36 +0000)]
tests: python: Check return codes of pakfire_execute()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 14 Jan 2021 13:35:44 +0000 (13:35 +0000)]
libpakfire: execute: Tidy up return codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 14 Jan 2021 13:14:27 +0000 (13:14 +0000)]
libpakfire: execute: Use clone() instead of fork()
This avoids copying the whole process (which could be quite large) and
spawn the new process into a new namespace straight away without needing
to call unshare(2) later.
This should be a little bit faster when executing many commands.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 14 Jan 2021 12:59:06 +0000 (12:59 +0000)]
libpakfire: execute: Bring back execute environment
This allows us to only pass one argument to pakfire_execute_fork
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:47:35 +0000 (23:47 +0000)]
builder: Drop private network setting
The build chroot will never have network enabled, but the shell does.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:46:23 +0000 (23:46 +0000)]
Drop old unshare code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:43:38 +0000 (23:43 +0000)]
libpakfire: execute: Unshare environment when entering chroot
The shell has networking enabled automatically.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:08:50 +0000 (23:08 +0000)]
libpakfire: Add pakfire_execute_command
This is a convenience function when only a simple command without any
arguments is called and it saves us from allocating argv in the calling
function.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:04:18 +0000 (23:04 +0000)]
libpakfire: execute: Cast perso to unsigned int for printing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:03:05 +0000 (23:03 +0000)]
libpakfire: Re-indent execute.c
This file was accidentially indented using both spaces and tabs.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 23:00:17 +0000 (23:00 +0000)]
libpakfire: execute: Cast argv to non-const as late as possible
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 22:58:54 +0000 (22:58 +0000)]
builder: Use pakfire_execute to run shell
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 22:58:01 +0000 (22:58 +0000)]
libpakfire: execute: Remove environment and accept arguments as they are passed to execve
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 22:55:39 +0000 (22:55 +0000)]
python: Increase i when copying environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 19:39:19 +0000 (19:39 +0000)]
libpakfire: Increase pool debug level when compiled with SOLVER_DEBUG
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 19:37:51 +0000 (19:37 +0000)]
libpakfire: Set pool to RPM format
On Debian and other non-RPM distributions the default format might be
something different which reconfigures evr comparison and the name of
the "all" architecture.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 16:34:33 +0000 (16:34 +0000)]
Make "pakfire provides" work
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 14:19:47 +0000 (14:19 +0000)]
pakfire-builder: shell: Add --install argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 14:10:06 +0000 (14:10 +0000)]
libpakfire: Pass Pakfire to pakfire_create as argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 13:01:12 +0000 (13:01 +0000)]
Update translations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:59:47 +0000 (12:59 +0000)]
tests: Give better names to assertions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:44:46 +0000 (12:44 +0000)]
tests: Remove all typedefs and use structs instead
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:40:01 +0000 (12:40 +0000)]
tests: Make all tests static
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:38:06 +0000 (12:38 +0000)]
tests: Allocate testsuite statically
This allows us to have shorter function calls when setting up a test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:19:40 +0000 (12:19 +0000)]
tests: Add macro for shorter listing of tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:15:17 +0000 (12:15 +0000)]
tests: Add test for pakfire_string_startswith
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:14:46 +0000 (12:14 +0000)]
libpakfire: util: Make pakfire_string_startswith return 1 on success
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:07:22 +0000 (12:07 +0000)]
pakfire: Check if path is absolute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 12:01:49 +0000 (12:01 +0000)]
pakfire: Check if path exists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 13 Jan 2021 11:37:17 +0000 (11:37 +0000)]
Throw a clean exception when Pakfire was initialised with an invalid architecture
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 12 Jan 2021 16:56:10 +0000 (16:56 +0000)]
constants: Remove more unused constants
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 12 Jan 2021 16:47:39 +0000 (16:47 +0000)]
constants: Drop unused CHUNK_SIZE
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 12 Jan 2021 16:47:02 +0000 (16:47 +0000)]
builder: Move shell environment variables into submodule
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 12 Jan 2021 16:31:54 +0000 (16:31 +0000)]
libpakfire: execute: Automatically set personality from arch
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 19:39:09 +0000 (19:39 +0000)]
libpakfire: execute: Drop unused define for STACK_SIZE
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 18:08:54 +0000 (18:08 +0000)]
libpakfire: execute: Add option to pass environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 17:55:42 +0000 (17:55 +0000)]
python: Add tests for execute()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 17:55:05 +0000 (17:55 +0000)]
python: Export pakfire_execute() into Python
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 17:54:09 +0000 (17:54 +0000)]
python: Drop importing removed PakfireBuilder class
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 17:53:00 +0000 (17:53 +0000)]
libpakfire: execute: Make argv const
This would be easier to handle because it usually comes as a const array
and we can avoid creating a copy of it.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 15:46:04 +0000 (15:46 +0000)]
Remove unused build function from Pakfire()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 15:42:20 +0000 (15:42 +0000)]
builder: Move package setup into build() and shell()
This will allow us to execute any actions after the context has been set
up and everything will always be cleaned up automatically (cgroups,
etc.).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 15:32:53 +0000 (15:32 +0000)]
Rename cgroup module to "cgroups"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 15:30:40 +0000 (15:30 +0000)]
Add tests for cgroup module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 11 Jan 2021 15:15:47 +0000 (15:15 +0000)]
python: Refactor cgroups
This is now using the newer cgroup v2 API and we require cgroups on all
systems to avoid shipping any compatibility code.
Resource limits have to be implemented, yet.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 17:34:33 +0000 (17:34 +0000)]
python: builder: Remove unused package argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:58:10 +0000 (16:58 +0000)]
python: Drop old internal builder
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:56:58 +0000 (16:56 +0000)]
python: Drop older build environment class
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:53:45 +0000 (16:53 +0000)]
python: Drop PakfireBuilder class
This has mostly been replaced with the newer build environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:41:13 +0000 (16:41 +0000)]
builder: Do not try to install pakfire-builder inside chroot
This is difficult for development and apart from running a couple of
scripts, we do not try to do anything else here.
Therefore this functionality must go to the pakfire running outside of
the build environment.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:30:24 +0000 (16:30 +0000)]
python: Drop "mode" in main class
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:12:19 +0000 (16:12 +0000)]
libpakfire: arch: Add tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:11:27 +0000 (16:11 +0000)]
libpakfire: arch: Every architecture is compatible with itself
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 16:10:58 +0000 (16:10 +0000)]
libpakfire: arch: Refactor search using a static array size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 15:15:12 +0000 (15:15 +0000)]
tests: Drop testsuite_init() call from all tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 15:06:29 +0000 (15:06 +0000)]
Drop internal builder
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 14:59:06 +0000 (14:59 +0000)]
libpakfire: Drop system.c
Those functions are no longer needed and went into arch.c
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 14:57:13 +0000 (14:57 +0000)]
libpakfire: Drop unused pakfire_init()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 10 Jan 2021 14:44:48 +0000 (14:44 +0000)]
arch: Drop Python class and replace with C implementation
It is easier to handle architectures just as a string and call functions
that figure out any details when we need them.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 9 Jan 2021 17:26:17 +0000 (17:26 +0000)]
cli: Pass --root= argument to Pakfire()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 9 Jan 2021 17:24:00 +0000 (17:24 +0000)]
builder: Initialise Pakfire() when entering context
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 9 Jan 2021 17:20:58 +0000 (17:20 +0000)]
repo: Make sure that arch is a string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 9 Jan 2021 16:22:32 +0000 (16:22 +0000)]
Drop old python test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 9 Jan 2021 16:21:36 +0000 (16:21 +0000)]
python: Add an example test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 15:22:25 +0000 (15:22 +0000)]
base: Drop loading unused filelist module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 15:22:07 +0000 (15:22 +0000)]
arch: Add string attribute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 14:12:00 +0000 (14:12 +0000)]
Drop old actions implementation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 13:47:52 +0000 (13:47 +0000)]
Download all sources using HTTPS
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 11:20:25 +0000 (11:20 +0000)]
po: Update translations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 11:20:09 +0000 (11:20 +0000)]
gettext: Automatically generate POTFILES.in
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 11:19:16 +0000 (11:19 +0000)]
gettext: Do not save location in po files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 25 Dec 2020 11:01:40 +0000 (11:01 +0000)]
errors: Rename NotAnIPFireSystemError to NotIPFireError
This is shorter :)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 30 Jun 2019 11:16:51 +0000 (12:16 +0100)]
libpakfire: Run ldconfig after erasing/extracting files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 13 Jun 2019 04:11:54 +0000 (05:11 +0100)]
libpakfire: Add function to run commands in chroot()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 12 Jun 2019 03:48:09 +0000 (04:48 +0100)]
libpakfire: Add scaffolding to run shell scripts
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 21:16:34 +0000 (22:16 +0100)]
libpakfire: Implement reading scriptlets
They won't be executed, yet
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 04:11:42 +0000 (05:11 +0100)]
libpakfire: archive: Evaluate options when we could not commit all metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 03:47:14 +0000 (04:47 +0100)]
libpakfire: Implement extracting archives in a transaction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 03:45:12 +0000 (04:45 +0100)]
libpakfire: archive: Implement extracting hardlinks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 03:36:27 +0000 (04:36 +0100)]
libpakfire: archive: Be more verbose on extraction errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 02:53:32 +0000 (03:53 +0100)]
tests: Fix refcounting issues in archive test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 02:45:28 +0000 (03:45 +0100)]
tests: Fix refcounting issues in keys test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 02:27:11 +0000 (03:27 +0100)]
libpakfire: parser: Drop reference of parent when creating a child parser
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 01:46:44 +0000 (02:46 +0100)]
tests: Check if reference counting is working
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 01:33:52 +0000 (02:33 +0100)]
libpakfire: parser: The data won't be NULL-terminated
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 01:10:41 +0000 (02:10 +0100)]
libpakfire: util: Fix data type for a string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 01:05:06 +0000 (02:05 +0100)]
libpakfire: util: Remove some debug output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 11 Jun 2019 00:18:29 +0000 (01:18 +0100)]
libpakfire: Remove goto statement in step handling
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 23:54:28 +0000 (00:54 +0100)]
libpakfire: Move cachiing Archive from Package to Step
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 23:44:16 +0000 (00:44 +0100)]
libpakfire: archive: Close archive after reading all metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 23:35:41 +0000 (00:35 +0100)]
Fix typo in comment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 23:12:56 +0000 (00:12 +0100)]
Download via HTTPS only
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 23:12:01 +0000 (00:12 +0100)]
build: Support reading from archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 22:54:13 +0000 (23:54 +0100)]
libpakfire: Raise and log better errors when a package could not be read
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 22:52:47 +0000 (23:52 +0100)]
python: Implement getting a Package from Archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 19:30:44 +0000 (20:30 +0100)]
Parse relations in libpakfire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 10 Jun 2019 18:41:13 +0000 (19:41 +0100)]
libpakfire: archive: Drop own implementation of extended attributes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>