]>
git.ipfire.org Git - people/stevee/pakfire.git/log
Michael Tremer [Wed, 15 Mar 2023 16:51:23 +0000 (16:51 +0000)]
file: Mark files as executable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 16:43:36 +0000 (16:43 +0000)]
file: Rename extension check to patterns
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 16:33:18 +0000 (16:33 +0000)]
file: Do not check for SSP for runtime linkers
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 13:28:46 +0000 (13:28 +0000)]
python: Release and acquire the GIL when we need it
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 11:31:07 +0000 (11:31 +0000)]
build: Dump the complete filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 11:30:41 +0000 (11:30 +0000)]
compress: Resolve hardlinks when writing archives
Fixes: #13014
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 10:48:20 +0000 (10:48 +0000)]
file: Correctly fail PIE test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 03:01:46 +0000 (03:01 +0000)]
build: Show build time at the end
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 15 Mar 2023 03:01:30 +0000 (03:01 +0000)]
string: Add function to format elapsed time
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 14 Mar 2023 18:57:01 +0000 (18:57 +0000)]
file: Perform magic check for all files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 14 Mar 2023 18:56:20 +0000 (18:56 +0000)]
file: Skip hardening checks for firmware files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 14 Mar 2023 18:55:32 +0000 (18:55 +0000)]
CFLAGS: Move string formatting stuff into an extra variable
That way, we can clear it easily.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Mar 2023 16:52:44 +0000 (16:52 +0000)]
file: Disable all hardening checks for Relocatable Objects
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 13 Mar 2023 15:34:08 +0000 (15:34 +0000)]
file: Skip SSP check for data libraries
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 16:24:08 +0000 (16:24 +0000)]
build: Implement marking configuration files in archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 15:21:59 +0000 (15:21 +0000)]
file: Fix digest comment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 15:21:45 +0000 (15:21 +0000)]
file: Add missing return type
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 15:16:57 +0000 (15:16 +0000)]
archive: Store MIME type of files
This is going to be helpful in the build service and generally some
useful metadata.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 15:14:27 +0000 (15:14 +0000)]
files: Fix iterating over extended attributes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 14:07:09 +0000 (14:07 +0000)]
build: Check if ELF files contain debug information
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 13:23:04 +0000 (13:23 +0000)]
file: Show error when the hardening check fails
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 13:20:41 +0000 (13:20 +0000)]
file: Show error when a file has no symbol table
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 11 Mar 2023 13:20:04 +0000 (13:20 +0000)]
file: Show tags for failed execstack/partly RELRO check
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 16:34:48 +0000 (16:34 +0000)]
archive: Be more efficient when reading single files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 16:25:54 +0000 (16:25 +0000)]
archive: Fix reading files from archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 16:10:02 +0000 (16:10 +0000)]
compress: Swap PAKFIRE_WALK_DONE and *_END for semantic reasons
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 15:59:53 +0000 (15:59 +0000)]
archive: Fix reading filelists/extraction on newer formats
Fixes: #12995 - pakfire extracts meta files in archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 15:17:38 +0000 (15:17 +0000)]
archive: Drop support for legacy package formats
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 09:31:23 +0000 (09:31 +0000)]
archive: Fix progress bar on extraction
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 14:58:54 +0000 (14:58 +0000)]
macros: Use CET on x86_64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 14:58:35 +0000 (14:58 +0000)]
macros: Enable libstcd++ assertions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 10 Mar 2023 09:27:11 +0000 (09:27 +0000)]
hub: Change how we append arguments to the request
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 14:13:33 +0000 (14:13 +0000)]
daemon: Do not send DEBUG messages to the build service and log file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 20:34:58 +0000 (20:34 +0000)]
repositories: Refactor how we are reading metadata
This is a large rewrite of how we are discovering and reading any
repository metadata.
It first of all makes the code a little bit more straight forward by
breaking steps into their own function.
Those functions will now do "the right thing" depending whether we are
dealing with a local or remote repository and will try to read
repository metdata for local repositories, too.
If that fails, we will of course fall back and scan.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 18:39:56 +0000 (18:39 +0000)]
pakfire: Allow setting a custom cache path through the configuration
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 18:39:31 +0000 (18:39 +0000)]
downloader: Read proxy settings from the general section
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 15:34:35 +0000 (15:34 +0000)]
repo: compose: Ensure that the destination path always exists
realpath() fails if the destination does not exist, so we will try to
create it before.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 13:43:51 +0000 (13:43 +0000)]
repo: Store the real path on stack to avoid it being altered later
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 13:33:12 +0000 (13:33 +0000)]
repos: Try to hardlink packages when possible
Since we no longer change any packages when composing a repository (no
embedded signatures), we can try to hardlink to save disk space and IO.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 13:30:47 +0000 (13:30 +0000)]
repo: Handle relative paths on compose
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 13:14:52 +0000 (13:14 +0000)]
file: Check files for being RELRO
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 7 Mar 2023 11:40:42 +0000 (11:40 +0000)]
file: Check if ELF files have an executable stack
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 7 Mar 2023 11:05:00 +0000 (11:05 +0000)]
build: Refactor hardening checks
Instead of calling many different checks, this will now check once
and store any issues that have been identified.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 8 Mar 2023 11:48:18 +0000 (11:48 +0000)]
repo: Compress the SOLV database using Zstandard
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 8 Mar 2023 11:46:16 +0000 (11:46 +0000)]
repo: Ensure to close the file descriptor after reading the database
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 11:12:04 +0000 (11:12 +0000)]
CFLAGS: Use -fstack-protector-all over -strong
Although -fstack-protector-strong will omit inserting any canary checks
on functions that cannot possibly overflow their stack, we will need all
functions to be protected in order to run our check.
It is more benefitial to us to have the check than optimise for
performance. We also expect LTO to inline all those functions that
possibly do not have a stack.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 9 Mar 2023 10:14:40 +0000 (10:14 +0000)]
IPFire 3: Disable all repositories for now except Bootstrap
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 8 Mar 2023 11:13:04 +0000 (11:13 +0000)]
archive: Make sure the destination directory exists when copying
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 17:13:07 +0000 (17:13 +0000)]
build: Check if binaries have been built with -fPIC
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 16:33:10 +0000 (16:33 +0000)]
archive: Set download size for new format packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 16:02:08 +0000 (16:02 +0000)]
archive: Improve importing filelists from JSON
We no longer build a completely filelist object that is being destroyed
very quickly again. The paths are being sent directly to the package.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 15:48:20 +0000 (15:48 +0000)]
build: Move SSP check into the build process
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 15:41:13 +0000 (15:41 +0000)]
file: Check if files are in ELF format
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 14:10:14 +0000 (14:10 +0000)]
build: Reuse function to walk through the package filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 13:43:23 +0000 (13:43 +0000)]
build: Move checking for broken symlinks into C
Fixes: #13057 - Broken symlink check seems to fail if spaces are in filename
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 13:40:39 +0000 (13:40 +0000)]
file: Use S_IFMT instead of AE_IFMT
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 5 Mar 2023 13:40:05 +0000 (13:40 +0000)]
file: Append symlink target to dump
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Mar 2023 15:04:54 +0000 (15:04 +0000)]
macros: Don't install logrotate files
logrotate has been dropped
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Mar 2023 14:46:32 +0000 (14:46 +0000)]
macros: Don't run MACRO_FIX_AUTOTOOLS all the time any more
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Mar 2023 14:44:51 +0000 (14:44 +0000)]
macros: Fix update config.guess/config.sub macro
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 4 Mar 2023 11:44:59 +0000 (11:44 +0000)]
build: Delete static libraries only when there is a shared object
This brings back the former behaviour.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 28 Feb 2023 17:15:02 +0000 (17:15 +0000)]
packagelist: Refactor the whole thing
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 28 Feb 2023 16:59:23 +0000 (16:59 +0000)]
CLI: requires: Search for all reverse dependencies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 28 Feb 2023 15:53:15 +0000 (15:53 +0000)]
search: Consolidate using Dataiterator and add file search
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 28 Feb 2023 15:00:46 +0000 (15:00 +0000)]
pakfire_whatprovides/requires: Write to an existant list
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 28 Feb 2023 14:45:58 +0000 (14:45 +0000)]
ui: Don't ask any questions if the shell isn't interactive
This is a slight hack because we did not finish implementing a proper
solution with callbacks that we would prefer.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 27 Feb 2023 13:13:40 +0000 (13:13 +0000)]
repo: Refactor returning all packages in a repository
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 27 Feb 2023 13:12:03 +0000 (13:12 +0000)]
packagelist: Return some value on push
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 25 Feb 2023 13:51:19 +0000 (13:51 +0000)]
packagelists: Split function to import packages from Queue
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 22 Feb 2023 10:49:06 +0000 (10:49 +0000)]
Check if makefile name matches the package name
This is quite important because the build process relies on it.
Fixes: #13041 - pakfire-builder confuses on wrong .nm file name
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 18:16:50 +0000 (18:16 +0000)]
filelists: Fix sorting when adding more elements
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 18:15:37 +0000 (18:15 +0000)]
tests: Add a simple test for filelists
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 17:21:59 +0000 (17:21 +0000)]
db: Don't return filelists in a funny order
Since filelists are now ordered, there is no point in trying to be smart
here. In fact it is more efficient to return it pre-sorted.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 17:08:10 +0000 (17:08 +0000)]
filelists: Rename *_append() to *_add()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 17:03:04 +0000 (17:03 +0000)]
python: Drop performance_index function
We no longer use this.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 16:56:12 +0000 (16:56 +0000)]
filelists: Rename *_size() -> *_length()
Also call *_is_empty() wherever suitable as it is much faster.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 16:43:35 +0000 (16:43 +0000)]
build: Remove any *.a and *.la files internally instead of using a script
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 16:29:38 +0000 (16:29 +0000)]
filelists: Implement removing files from a filelist
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 16:28:55 +0000 (16:28 +0000)]
file: Implement detecting static libraries and libtool archives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 16:08:14 +0000 (16:08 +0000)]
filelists: Drop sort function as filelists are now always sorted
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 16:04:57 +0000 (16:04 +0000)]
filelists: Refactor the entire module
This carries some changes that will allow us more flexibility with
filelists as they are now based on a slightly easier to manage data
structure.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 13:04:32 +0000 (13:04 +0000)]
find-requires: Only check for interpreters for executable files
This avoids collecting interpreters from firmware likes like QEMU
installs them for instance.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 12:59:14 +0000 (12:59 +0000)]
dependencies: Add support for arch() namespace
This can be used (mainly in source packages) to check on what system a
package is being installed - but not to check whether it is compatible.
Most commonly, this feature is going to be used to pull in dependencies
that should only be installed on certain architectures.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 12:56:07 +0000 (12:56 +0000)]
dependencies: Fix parsing complex dependencies
It is possible that a complex dependency has more than one closing
bracket. In that case, we will take too much of the string.
This patch makes sure we take the first bracket.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 21 Feb 2023 10:42:29 +0000 (10:42 +0000)]
mount: Increase size for /tmp in jail
Some build processes require more temporary space than 1GiB, so I up
this to 4GiB hoping that it will suffice for most builds.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 20 Feb 2023 16:19:22 +0000 (16:19 +0000)]
build: Skip calling scripts if no file matches
Fixes: #13038
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Jan 2023 12:27:58 +0000 (12:27 +0000)]
cgroups: Make killall function static and fix memory leak
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Jan 2023 17:07:44 +0000 (17:07 +0000)]
build: Try to classify files using libmagic
Just filtering by "*.pm" will result in packages that miss some
dependencies, but the provides script generates too many false-positives
so that we cannot just pass the entire filelist.
This will now filter them using libmagic.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 12 Jan 2023 17:06:44 +0000 (17:06 +0000)]
configure: Depend on libmagic
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 11 Jan 2023 09:26:29 +0000 (09:26 +0000)]
macros: Make it easier to build in a different directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 11 Jan 2023 09:25:44 +0000 (09:25 +0000)]
macros: Define firmwaredir
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 11 Jan 2023 09:25:06 +0000 (09:25 +0000)]
perl: Correctly decode Perl versions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 8 Jan 2023 13:28:58 +0000 (13:28 +0000)]
macros: Meson does not support parallel tests
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 8 Jan 2023 13:28:36 +0000 (13:28 +0000)]
build: Implement filter_provides/filter_requires
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 8 Jan 2023 13:27:53 +0000 (13:27 +0000)]
util: Move regex compilation function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 7 Jan 2023 12:11:28 +0000 (12:11 +0000)]
macros: Construct LDFLAGS with more information and add -O1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 6 Jan 2023 10:27:56 +0000 (10:27 +0000)]
jail: Implement configuring timeouts for commands
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Dec 2022 15:48:50 +0000 (15:48 +0000)]
macros: cmake: Fix setting paths
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Dec 2022 14:32:07 +0000 (14:32 +0000)]
jail: Set container and container_uuid environment variables in jail
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 30 Dec 2022 14:22:49 +0000 (14:22 +0000)]
jail: Set SYSTEMD_OFFLINE when in chroot
This will prevent systemctl to talk to systemd which won't work in a
chroot environment.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>