]>
git.ipfire.org Git - people/stevee/pakfire.git/log
Michael Tremer [Sat, 10 Apr 2021 15:01:01 +0000 (15:01 +0000)]
util: Drop unused function pakfire_path_isdir
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:58:52 +0000 (14:58 +0000)]
util: Make pakfire_path_relpath private
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:56:19 +0000 (14:56 +0000)]
util: Remove PAKFIRE_EXPORT attribute from pakfire_path_join
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:54:35 +0000 (14:54 +0000)]
util: Move header declarations into private area for non-exported functions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:52:11 +0000 (14:52 +0000)]
util: Make pakfire_string_replace private
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:49:44 +0000 (14:49 +0000)]
util: Make pakfire_string_partition private
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:46:54 +0000 (14:46 +0000)]
util: Make pakfire_string_startswith private
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:41:00 +0000 (14:41 +0000)]
util: Drop pakfire_access
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:33:20 +0000 (14:33 +0000)]
util: Drop function that converts a string to size_t
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:30:11 +0000 (14:30 +0000)]
util: Drop unused function pakfire_sgets
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 10 Apr 2021 14:29:17 +0000 (14:29 +0000)]
Make pakfire_path_join write to stack
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 17:29:51 +0000 (17:29 +0000)]
archive: Refactor extraction process
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:55:56 +0000 (16:55 +0000)]
archive: Refactor pakfire_archive_extract
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:44:15 +0000 (16:44 +0000)]
archive: Add pointer argument to archive walk
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:33:53 +0000 (16:33 +0000)]
Drop including assert.h
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:23:39 +0000 (16:23 +0000)]
file: Drop old type variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:22:37 +0000 (16:22 +0000)]
file: Drop pakfire_file_copy_stat
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:20:40 +0000 (16:20 +0000)]
file: Drop pakfire_file_fopen
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:18:49 +0000 (16:18 +0000)]
archive: Drop parsing the filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 16:09:47 +0000 (16:09 +0000)]
archive: Refactor walking through archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 15:59:43 +0000 (15:59 +0000)]
archive: Only parse format and skip any other metadata
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 15:37:57 +0000 (15:37 +0000)]
archive: Read metadata only when needed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 11:26:14 +0000 (11:26 +0000)]
archive: Avoid calling stat() on every archive
The result is only used for the file size
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 11:23:16 +0000 (11:23 +0000)]
archive: Move path into archive struct
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 11:19:39 +0000 (11:19 +0000)]
archive: Do not check for valid pointer on unref
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 11:17:58 +0000 (11:17 +0000)]
archive: Move data copying to buffer function to util
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 11:05:10 +0000 (11:05 +0000)]
archive: Refactor opening payload
This is now using libarchive's internal zero-copy functionality to avoid
copying data back and fourth. This should result in faster extraction
speed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 09:58:29 +0000 (09:58 +0000)]
archive: Refactor reading files into buffer
This avoids using the loop and allocates as much memory as is needed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 09:36:52 +0000 (09:36 +0000)]
archive: Drop useless archive_close function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 09:35:08 +0000 (09:35 +0000)]
archive: Refactor opening the archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 09:24:04 +0000 (09:24 +0000)]
snapshot: Use common writer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 7 Apr 2021 09:18:18 +0000 (09:18 +0000)]
pakfire: Create a unified writer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 18:15:54 +0000 (18:15 +0000)]
archive: Use extraction function from libarchive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 18:00:34 +0000 (18:00 +0000)]
archive: Make pakfire_archive_open take archive as first argument
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 17:38:19 +0000 (17:38 +0000)]
errno: Drop the rest of this implementation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 17:33:11 +0000 (17:33 +0000)]
errno: Drop more errors
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 17:26:17 +0000 (17:26 +0000)]
errno: Drop more unused error codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 17:24:07 +0000 (17:24 +0000)]
repo: Drop using our own errno implementation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 17:17:40 +0000 (17:17 +0000)]
archive: Drop own errno implmenetation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 17:08:28 +0000 (17:08 +0000)]
archive: Refactor reading checksums
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 16:19:04 +0000 (16:19 +0000)]
arch: Refactor pakfire_arch_machine and allocate string on heap
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 16:15:38 +0000 (16:15 +0000)]
configure: Set PAKFIRE_CACHE_PATH
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 16:09:59 +0000 (16:09 +0000)]
constants: Drop unsused PAKFIRE_REPO_SYSTEM_NAME
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 16:07:14 +0000 (16:07 +0000)]
util: Move pakfire_action_type_string to steps
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 16:04:49 +0000 (16:04 +0000)]
util: Drop unused lstrip function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 16:00:43 +0000 (16:00 +0000)]
util: Leave space for a trailing NULL byte
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 15:59:49 +0000 (15:59 +0000)]
pakfire: Do not fail when /etc/os-release does not exist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 15:52:42 +0000 (15:52 +0000)]
pakfire: Set cache path depending on distribution
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 15:46:41 +0000 (15:46 +0000)]
pakfire: Use distro information for safety checks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 15:44:45 +0000 (15:44 +0000)]
pakfire: Read /etc/os-release
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 14:24:47 +0000 (14:24 +0000)]
errors: Drop any unused error classes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 14:16:48 +0000 (14:16 +0000)]
progressbar: Make internal functions static
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 14:15:28 +0000 (14:15 +0000)]
repo: Show progressbar when scanning for packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 14:14:40 +0000 (14:14 +0000)]
progressbar: Show totals in counter
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 14:14:02 +0000 (14:14 +0000)]
progressbar: Use string formatting functions for strings
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 14:13:36 +0000 (14:13 +0000)]
progressbar: Add missing functions to header file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 13:54:26 +0000 (13:54 +0000)]
filelists: Implement processing includes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 13:53:15 +0000 (13:53 +0000)]
file: Store path and abspath separately
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 11:14:19 +0000 (11:14 +0000)]
repo: Compile filelist first before scanning files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 6 Apr 2021 10:48:59 +0000 (10:48 +0000)]
progressbar: Fallback if output is not a TTY
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 22:43:22 +0000 (22:43 +0000)]
progressbar: Add a timer widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 22:30:06 +0000 (22:30 +0000)]
progressbar: Add bar widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 22:00:07 +0000 (22:00 +0000)]
progressbar: Add percentage widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 21:52:36 +0000 (21:52 +0000)]
progressbar: Add counter widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 21:37:34 +0000 (21:37 +0000)]
progressbar: Add a simple string widget
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 20:33:35 +0000 (20:33 +0000)]
libpakfire: Add a simple progress bar
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 17:16:16 +0000 (17:16 +0000)]
cgroups: Add function to set nice level
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Mar 2021 16:58:07 +0000 (16:58 +0000)]
execute: Create a random cgroup for each process
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Mar 2021 23:14:20 +0000 (23:14 +0000)]
execute: Fork new processes straight into their cgroup
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Mar 2021 22:46:45 +0000 (22:46 +0000)]
execute: Use clone3()
This is a new syscall which does not come with a glibc wrapper. This
makes it slightly uncomfortable to use, but it brings us new features
that we want to use.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 29 Mar 2021 22:08:20 +0000 (22:08 +0000)]
cgroups: Add function to get cpu stats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 18:14:48 +0000 (18:14 +0000)]
execute: Create a new cgroup for each process launched
The cgroup will be destroyed after we are done and if the main process
exits, all other processes will be killed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 17:34:46 +0000 (17:34 +0000)]
cgroup: Implement function to kill all processes left
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 16:39:19 +0000 (16:39 +0000)]
cgroups: Implement attaching/detaching processes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 16:38:23 +0000 (16:38 +0000)]
cgroups: Catch errors when writes fail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 16:12:10 +0000 (16:12 +0000)]
cgroup: Only enable controllers for parent groups
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 14:38:50 +0000 (14:38 +0000)]
cgroup: Add helper functions to write to file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Mar 2021 14:00:18 +0000 (14:00 +0000)]
libpakfire: Create a simple cgroup library
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Mar 2021 17:50:55 +0000 (17:50 +0000)]
libpakfire: Refactor pakfire_mkdir
Passing the Pakfire instance was a bit excessive and this function
should remain private.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Mar 2021 16:56:53 +0000 (16:56 +0000)]
repo: Move mirrorlist out of appdata
This creates a circular dependency on Pakfire which results in it never
being freed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Mar 2021 16:42:32 +0000 (16:42 +0000)]
builder: Catch error when no previous snapshot existed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Mar 2021 16:26:00 +0000 (16:26 +0000)]
snapshots: Compress blocks of 256k at once
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Mar 2021 16:24:57 +0000 (16:24 +0000)]
snapshot: Disable padding last block to avoid zstd to fail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 16:32:01 +0000 (16:32 +0000)]
libpakfire: Drop all calls to assert()
Although it is nice to check whether the code is passing basic checks,
it is not a great idea to just terminate the program.
Therefore we cannot use assert().
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 16:27:09 +0000 (16:27 +0000)]
Create a unified downloader for all repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 15:52:17 +0000 (15:52 +0000)]
repo: Load mirrorlist when loading repositories
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 15:43:06 +0000 (15:43 +0000)]
downloader: Make mirrorlists independent
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 15:40:03 +0000 (15:40 +0000)]
tests: Link download test against libarchive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 14:24:24 +0000 (14:24 +0000)]
archive: Read package type from arch
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 14:13:34 +0000 (14:13 +0000)]
dist: Hard-code our source mirror for now
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 14:04:49 +0000 (14:04 +0000)]
dist: Read macros from /
The Pakfire instance might not be populated
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 11:50:21 +0000 (11:50 +0000)]
snapshots: Temporarily disable ZSTD compression because it corrupts them
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 11:47:27 +0000 (11:47 +0000)]
Drop packages from database before adding them again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 11:38:16 +0000 (11:38 +0000)]
repo: Drop all content before loading from database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 11:33:17 +0000 (11:33 +0000)]
snapshots: Reload package database after restore
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 10:51:19 +0000 (10:51 +0000)]
packager: Use common reader
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 10:37:34 +0000 (10:37 +0000)]
Drop Python cgroups module
How sad. It was quite lovely code, but I need it to be handled in C.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 10:32:17 +0000 (10:32 +0000)]
Drop unused stuff from constants
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Mar 2021 10:25:07 +0000 (10:25 +0000)]
builder: Automatically create/restore snapshots
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Mar 2021 20:16:02 +0000 (20:16 +0000)]
snapshots: Compress them as fast as possible
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>