summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-30disabled LTO completely on i486v20220621Andreas Baumann
2022-09-30fix quoting in Makefile: single quotes don't like line breaksErich Eckner
2022-09-30patch out -fcf-protection from makepkg.conf for i486 and i686Erich Eckner
2022-09-30archbuild.in: umount -l left-over mounts inside the to-be-deleted chrootErich Eckner
2022-09-30pentium4 newErich Eckner
2022-09-30arch-nspawn: also parse our mirror layout ↵Erich Eckner
(http[s]://mirror.url/path/$arch/$repo)
2022-09-30makechrootpkg & mkarchroot: init and populate keyringsErich Eckner
We had trouble in the past with not properly initialized keyrings. This change aims at fixing this.
2022-09-30introduce i486 as wellErich Eckner
2022-09-30makechrootpkg: bend to allow running solely namcap via "*-build -- -- ↵Erich Eckner
--verifysource"
2022-09-30archbuild.in: set pacman cache dir to /var/cache/archbuild32 in case of ↵Erich Eckner
non-x86_64-build, so we do not use any-packages from x86_64 mirrors, and cross-mount inside to /var/cache/pacman/pkg
2022-09-30pacman-staging-i686.conf, pacman-testing-i686.conf, ↵Erich Eckner
pacman-staging-with-build-support-i686.conf: reorder repositories and add repo build-support for i686
2022-09-30.gitignore: devtools -> devtools32Erich Eckner
2022-09-30Makefile: devtools -> devtools32 in dist and upload targetsErich Eckner
2022-09-30Revert "Remove i686 support"Luke Shumaker
This reverts commit 7259e7def07a5f6ee04a34db61a87361ad0b5ac7, except for commitpkg.in
2022-09-30generate separate config file for i686 and x86_64Erich Eckner
2022-09-30mkarchroot.in: copy host's /etc/hosts into the chrootErich Eckner
2022-09-30arch-nspawn should use the correct pacman config fileErich Eckner
If arch-nspawn is called with -C, pacman inside the chroot will use the provided configuration file. This should also be the case for $pacconf_cmd and pacman outside the chroot. If arch-nspawn is called without -C, pacman inside the chroot will use $workdir/etc/pacman.conf -- again, $pacconf_cmd and pacman outside the chroot should use that, too. So lets just set $pac_conf in that case. For example, Arch Linux 32 provides separate pacman configurations inside /usr/share/devtools which use /etc/pacman.d/mirrorlist32 as mirrorlist for their build commands (extra-i686-build, etc.). This way, we can build i686 and x86_64 packages on the same x86_64 host with very minimal changes to devtools.
2022-09-30allow PKGEXT to be set from the environmentErich Eckner
2022-06-22Version 2022062120220621Levente Polyak
2022-06-22export-pkgbuild-keys: fix export for packages without validpgpkeysLevente Polyak
In case the validpgpkeys array is empty or undefined, the empty printf line only included a single line break which lead to mapfile -t consuming it as an array with 1 element consisting of an empty string. Fix this by only calling the printf in case the validpgpkeys array is not empty. Without any output, the mapfile -t will simply produce an empty array. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-20Version 2022062020220620Levente Polyak
2022-06-10archrelease: support subdirectories in package directoriesLevente Polyak
We need to support subdirectories for the `keys` directory used to distribute PGP keys alongside the packaging sources. This is achieved by using `svn ls` to list the files and directories in the packaging root and leverage the behavior of `svn copy` to consider subdirectories inside the root but only copy over files and directories under the subdirectory that are already tracked by svn. As a step in between, we now use `svn ls --recursive` to list all tracked svn files in the current repos directory and remove all tracked files in the staging area. Hence the `svn copy` in combination with the `svn rm` will result in a sync behavior from the packaging root to the repos directory. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-10Add x86_64_v3 buildersAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2022-06-09Version 2022060920220609Levente Polyak
2022-06-09doc/export-pkgbuild-keys.1: fix filename to detect manpage locationLevente Polyak
The manpage doc has been added without a suffix which fails during install.
2022-06-09export-pkgbuild-keys: use TEMPDIR while exporting keyLevente Polyak
This avoids the possibility to pollute the keys directory with temporary files if the script is aborted in between. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-09export-pkgbuild-keys: add simple success export messagesLevente Polyak
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-09Export source PGPs from PKGBUILD on commitAllan McRae
Provide a tool to export keys listed in the PKGBUILDs validpgpkeys to keys/pgp/$fingerprint.asc. The presense of the "keys" directory alongside the PKGBUILD in trunk/ is tested during commitpkg. If the directory is abscent, keys are exported and added to the commit. If the directory is present, a check is made to ensure all valid PGP keys are provided. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-06-09mkarchroot: generate and use C.UTF-8 by defaultFelix Yan
systemd >= 251 is forcing nspawns to use LANG=C.UTF-8: https://github.com/systemd/systemd/commit/b626f6959bcee11d966f96bd29a00502f4aa2ce4 It makes sense to generate the C.UTF-8 locate here when using it as the default LANG value. Related to: https://bugs.archlinux.org/task/74864
2022-06-09mkarchroot: unshare mount namespace to avoid broken root chroot creationFelix Yan
While `extra-x86_64-build -c` is running `pacstrap` and has `/var/lib/archbuild/extra-x86_64/root/run` mounted, another user logs in, thus creating a new mountpoint `/run/user/$uid` that propagates into `/var/lib/archbuild/extra-x86_64/root/run/user/$uid` leading to a broken root chroot. Successive `extra-x86_64-build -c` calls will result in cleanup errors: ``` $ extra-x86_64-build -c ==> Creating chroot for [extra] (x86_64)... -> Deleting chroot copy 'root'... rm: skipping '/var/lib/archbuild/extra-x86_64/root/run', since it's on a different device rm: skipping '/var/lib/archbuild/extra-x86_64/root/run', since it's on a different device ==> ERROR: Working directory '/var/lib/archbuild/extra-x86_64/root' already exists ==> ERROR: Aborting... ``` Reported by and patch adjusted from archlinuxcn. Fixes FS#64698
2022-05-17diffpkg: support comparing two given package archivesLevente Polyak
This adds support similar to diffpkg from the infrastructure repo that is based on the assumption that two archives can be passed to the tooling in order to compare them.
2022-05-17diffpkg: support multiple diff modes to compare withLevente Polyak
This adds support for the following diff modes: - content list (default) - diffoscope - .PKGINFO diff - .BUILDINFO diff
2022-05-17diffpkg - diff repo vs. build packageJelle van der Waa
Include a new tool as alternative to checkpkg, this runs diffoscope on a newly build package and the current repository package. This can be useful for finding new files / binaries.
2022-05-17make: respect PREFIX for bash completion instead of hardcoded /usrLevente Polyak
2022-05-17make: remove bash completion symlinks on uninstallLevente Polyak
2022-04-28build: enable gitlab-ciLeonidas Spyropoulos
Closes #85 Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-04-06sogrep: fail if links database cannot be retrievedHaochen Tong
If the links database (for some reason) does not exist on the mirror, curl will save the html 404 page as ${repo}.links.tar.gz in the cache, and sogrep will later fail with a decompression error from bsdtar. This patch adds -f to curl so it doesn't save the error page, and exit after displaying an error in such case. Fixes !88 Signed-off-by: Haochen Tong <i@hexchain.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-03-07makepkg.conf: set LTOFLAGS="-flto=auto"Evangelos Foutras
For use with pacman 6.0.1-4 which backports support for LTOFLAGS in order to speed up builds that use gcc as the compiler. This is less useful when clang is used, though a hack would be to specify in the PKGBUILD `LTOFLAGS="-flto=thin"` (outside of any function).
2022-02-07Version 2022020720220207Levente Polyak
2022-01-31makepkg.conf: drop -fvar-tracking-assignments flagEvangelos Foutras
According to gcc(1), this flag (like -fvar-tracking) is enabled by default when compiling with optimization and debugging information. As an additional benefit, packages building with the clang compiler will work with the default flags without having to remove this flag due to not being recognized by clang.
2022-01-26make: use gzip option to get reproducible tar dist like GitLabLevente Polyak
2022-01-26Version 2022012620220126Levente Polyak
2022-01-26commitpkg: Implement debug package handlingMorten Linderud
This implements the logic we need to properly figure out debug packages when finding packages we are suppose to upload towards repos.archlinux.org. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-01-26common: Implement helper functions from dbscriptsMorten Linderud
This implements our current debug package detection logic. Mostly taken from our dbscripts project. Signed-off-by: Morten Linderud <foxboron@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-01-26commitpkg: Split signature check into own loopMorten Linderud
This allows us to extend the uploads array without having to duplicate the current signing logic. This doesn't change anything as we still exit on any failed packages. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-01-26common: implement validity as a functionMorten Linderud
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2022-01-22checkpkg: set makepkg vars from build root to support none host archsFelix Yan
When building for an architecture different from the host, the correct old package was downloaded as "$copydir"'s pacman was configured with the target CARCH, but checkpkg doesn't know this and tries to search the cache for host CARCH instead, producing the following error: `==> ERROR: tarball not found for package: xxx` This change fixes this by passing the appropriate makepkg config explicitly, so that checkpkg behaves consistently. Co-Authored-by: Levente Polyak <anthraxx@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2021-11-29Version 2021112920211129Levente Polyak
2021-11-28makepkg.conf: enable LTO option by defaultLevente Polyak
Enable link time optimization (LTO) of packages by default by adding the -flto flag. This provides smaller, faster executables/DSOs, and improves GCC diagnostics. This commit implements RFC 0004 https://gitlab.archlinux.org/archlinux/rfcs/-/blob/master/rfcs/0004-lto-by-default.rst
2021-11-18makerepropkg: support parallel runs in dedicated namespacesLevente Polyak
This adds proper namespace locking as well to fix screwing up the running makerepropkg process.