]>
git.ipfire.org Git - people/ms/pakfire.git/log
Michael Tremer [Thu, 1 Sep 2022 19:11:17 +0000 (19:11 +0000)]
compress: Use common walking routine for extraction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 19:04:40 +0000 (19:04 +0000)]
walk: Attempt to create some common function to walk through archives
We are (re-)implementing this over and over again with different, but
very similar features, so it might make a lot more sense to try to unify
this code.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 18:03:35 +0000 (18:03 +0000)]
compress: Move filelist argument into extractor struct
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 17:58:04 +0000 (17:58 +0000)]
archive: Build reading payload files for format >= 6
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 11:49:17 +0000 (11:49 +0000)]
tests: archive: Extract package metadata after opening
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 11:42:41 +0000 (11:42 +0000)]
archive: Parse scriptlets when the archive is opened for the first time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 11:29:11 +0000 (11:29 +0000)]
archive: Refactor reading archives
This changes that we will always parse any package metadata (because
without it we won't have a valid package).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 1 Sep 2022 08:40:43 +0000 (08:40 +0000)]
key: Correctly handle GnuPG error code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 16:03:28 +0000 (16:03 +0000)]
archive: Drop FILELIST from compat filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 16:02:23 +0000 (16:02 +0000)]
archive: Drop marker if digests are computed
The digest functions take care of this now
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 16:01:29 +0000 (16:01 +0000)]
archive: Re-use function to compute digests wherever we need them
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 15:50:31 +0000 (15:50 +0000)]
archive: Open for reading only
Before, when we could sign archives, there was the need to write to the
file handle as well...
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 15:49:55 +0000 (15:49 +0000)]
archive: Call stat() on open
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 15:46:53 +0000 (15:46 +0000)]
archive: Drop including lots of unused headers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 15:44:12 +0000 (15:44 +0000)]
util: Add function to convert paths into absolute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 15:43:51 +0000 (15:43 +0000)]
pakfire-builder: Take packages from CLI for info
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 15:23:43 +0000 (15:23 +0000)]
dist: Pass any source files with their absolute path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 12:52:40 +0000 (12:52 +0000)]
file: Pass NULL to set function when setting hard/symlinks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 12:50:54 +0000 (12:50 +0000)]
string: Change that set will copy empty strings
Otherwise, we would have seen "(null)" which is not what we want.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 10:45:03 +0000 (10:45 +0000)]
file: Log an error message when setting path fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 10:35:40 +0000 (10:35 +0000)]
db: Store all file digests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 31 Aug 2022 10:35:10 +0000 (10:35 +0000)]
tests: downloader: Fix compiling test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 30 Aug 2022 18:13:36 +0000 (18:13 +0000)]
pakfire: Initialize pointer to db so that we don't try to free it on error
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Aug 2022 10:44:08 +0000 (10:44 +0000)]
packager: Only package selected digests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Aug 2022 10:34:15 +0000 (10:34 +0000)]
digest: Move caching into digests
Multiple calls to compute will skip any digests that have already been
computed.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Aug 2022 09:19:48 +0000 (09:19 +0000)]
man: Add some documentation about the archive format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Aug 2022 08:21:33 +0000 (08:21 +0000)]
digest: Add support for SHA-3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Aug 2022 08:05:50 +0000 (08:05 +0000)]
digest: Rename SHA-512/256 to SHA-2-512/256
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Aug 2022 07:40:12 +0000 (07:40 +0000)]
digest: Create helper functions to avoid too much code duplication
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 18:02:36 +0000 (18:02 +0000)]
digest: Add support for BLAKE2b512/BLAKE2s256
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 17:29:56 +0000 (17:29 +0000)]
digest: Use digest lengths from OpenSSL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 17:28:31 +0000 (17:28 +0000)]
packager: Compute digests when packaging files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 17:07:45 +0000 (17:07 +0000)]
tests: Add tests for digest
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 17:04:06 +0000 (17:04 +0000)]
digest: Reset error code when computation is finished
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 17:03:40 +0000 (17:03 +0000)]
digest: Fix confused context names
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 17:03:04 +0000 (17:03 +0000)]
digest: Show some useful debugging output on mismatch
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 16:16:11 +0000 (16:16 +0000)]
digest: Add function to check whether a digest is set
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 16:06:55 +0000 (16:06 +0000)]
digests: Don't let computation fail if not all types are selected
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 16:03:33 +0000 (16:03 +0000)]
digests: Rewind f after computing digests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 16:02:46 +0000 (16:02 +0000)]
archive: Refactor digest computation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 16:01:03 +0000 (16:01 +0000)]
digests: Move pakfire_digest_length() from util
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 10:46:41 +0000 (10:46 +0000)]
digests: Add a compute and comparison function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 10:09:48 +0000 (10:09 +0000)]
digests: Redefine enum as bitmask
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 10:03:28 +0000 (10:03 +0000)]
digests: Split off into a new set of files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 09:28:54 +0000 (09:28 +0000)]
file: Make importer from archive entry private
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 09:26:35 +0000 (09:26 +0000)]
packager: Initialize r
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 09:26:08 +0000 (09:26 +0000)]
file: Add function to create file from path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 08:59:15 +0000 (08:59 +0000)]
filelist: Fix leaking archive entries
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 08:41:26 +0000 (08:41 +0000)]
dist: Avoid putting backup files into source packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 08:38:30 +0000 (08:38 +0000)]
dist: Use filelist to scan for any source files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Aug 2022 08:23:19 +0000 (08:23 +0000)]
file: Store any digests as an extended attribute
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 17:18:21 +0000 (17:18 +0000)]
file: Use struct stat to store own stat data
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 16:47:21 +0000 (16:47 +0000)]
compress: Only say that we are extracting when we are extracting
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 16:41:49 +0000 (16:41 +0000)]
packager: Reset permissions for source files again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 16:41:35 +0000 (16:41 +0000)]
file: Add easy way to edit permissions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 16:32:13 +0000 (16:32 +0000)]
packager: Add function to add multiple files at once
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 16:23:01 +0000 (16:23 +0000)]
build: Use simpler function to add files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 16:18:25 +0000 (16:18 +0000)]
packager: Add new function that accepts a file object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:35:08 +0000 (15:35 +0000)]
archive: Update the name of the metadata file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:29:47 +0000 (15:29 +0000)]
filelist: Drop parser for legacy filelists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:27:32 +0000 (15:27 +0000)]
archive: Allow for the archive to be compressed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:24:03 +0000 (15:24 +0000)]
archive: Drop support for checksums
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:20:21 +0000 (15:20 +0000)]
archive: Collect the filelist on the regular extraction
This will save us from running through the archive again.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:13:43 +0000 (15:13 +0000)]
snapshot: Fix calling the extractor
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:12:59 +0000 (15:12 +0000)]
archive: Load the filelist from payload only
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:12:07 +0000 (15:12 +0000)]
compress: Add flag to disable the progress bar
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 15:03:51 +0000 (15:03 +0000)]
compress: Add flag to perform a dry-run extraction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Aug 2022 14:39:58 +0000 (14:39 +0000)]
compress: Add option to collect all extracted files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 13:43:58 +0000 (13:43 +0000)]
packager: Add any meta-data as hidden files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 13:42:37 +0000 (13:42 +0000)]
packager: Prevent adding hidden files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 13:42:20 +0000 (13:42 +0000)]
packager: Fix return codes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 13:33:34 +0000 (13:33 +0000)]
packager: Append payload to the archive
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 12:56:04 +0000 (12:56 +0000)]
packager: Write scriptlets before the payload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 12:55:20 +0000 (12:55 +0000)]
packager: Compress the outer tarball
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 21 Aug 2022 12:51:21 +0000 (12:51 +0000)]
packager: Drop support for mtrees
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 Aug 2022 16:09:36 +0000 (16:09 +0000)]
packager: Store any extended attributes in SCHILY header
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 Aug 2022 15:41:23 +0000 (15:41 +0000)]
archive: Drop support for signatures in archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 20 Aug 2022 15:25:19 +0000 (15:25 +0000)]
tests: Add tests to generate keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 16:39:09 +0000 (16:39 +0000)]
db: Properly abort when we cannot import a file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 16:35:17 +0000 (16:35 +0000)]
file: Automatically set abspath if path isn't set
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 16:29:36 +0000 (16:29 +0000)]
db: Change how we store file digests and load them from the database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 15:55:08 +0000 (15:55 +0000)]
file: Verify payload
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 14:53:11 +0000 (14:53 +0000)]
file: Verify timestamps
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 14:49:36 +0000 (14:49 +0000)]
file: Verify file mode
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 14:36:17 +0000 (14:36 +0000)]
file: Rename verify flags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 14:27:14 +0000 (14:27 +0000)]
file: Perform some basic verification tasks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 13:58:57 +0000 (13:58 +0000)]
pakfire: check: Extend to verify all files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 13:58:04 +0000 (13:58 +0000)]
python: Add function to generate list from filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 13:57:03 +0000 (13:57 +0000)]
python: Add exceptions for check operation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 13:56:16 +0000 (13:56 +0000)]
db: Implement fetching the entire filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 13:55:51 +0000 (13:55 +0000)]
file: Add a dummy verification function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 12:27:03 +0000 (12:27 +0000)]
file: Refactor how we store digests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:53:19 +0000 (11:53 +0000)]
Drop support for SHA-1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:45:02 +0000 (11:45 +0000)]
tests: Add some basic tests for files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:44:19 +0000 (11:44 +0000)]
file: Perform some basic checks on file paths
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:30:52 +0000 (11:30 +0000)]
file: Refactor struct pakfire_file slightly
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:20:19 +0000 (11:20 +0000)]
parser: scanner: Fix compiler warning
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:19:59 +0000 (11:19 +0000)]
pakfire: Refactor pakfire_cache_path
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:09:36 +0000 (11:09 +0000)]
build: Make memory limit configurable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 19 Aug 2022 11:08:11 +0000 (11:08 +0000)]
build: Make cgroup parameters configurable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>