summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2021-11-18makerepropkg: use correct devtools makepkg.conf files from distLevente Polyak
Use the recorded buildtool in order to download the matching dist package and use the appropriate makepkg.conf for reproducing the package. This is required as the flags are not recorded in the BUILDINFO hence we need to provide the matching config that declared those flags.
2021-11-17Revert "Layer gnome-unstable above staging, not testing"Jan Alexander Steffens (heftig)
This reverts commit 3231cf8c364ff0c9473131314baaf6aee4bc9169.
2021-11-16makepkg.conf: Sync with pacman 6.0.1-2: Pass -q as first option to curlEvangelos Foutras
Includes the following hotfix: > upgpkg: pacman 6.0.1-2: makepkg.conf: Pass -q as the first option to curl > > This is needed to disable reading the curlrc config file (if it exists). > > Same change submitted to upstream pacman: > https://lists.archlinux.org/pipermail/pacman-dev/2021-September/025348.html
2021-10-29lddd: Use bash instead of shDavid Runge
lddd.in: As all of the devtools scripts are based on bash, we need to use /bin/bash and not posix sh.
2021-10-29Revert "Use #!/bin/bash instead of #!/bin/sh"David Runge
This reverts commit 594f972666b4823b00041e2888faae30e9aea7a2. We have not received a reply for the relicensing to GPL-3.0-or-later from its author @drizzt, which is why we are removing this commit.
2021-10-29Add GPL-3.0-or-later SPDX identifier to all scriptsDavid Runge
Add the SPDX license identifier GPL-3.0-or-later to the header of all scripts without a specific license and upgrading those that are stated as GPL-2.0 to become GPL-3.0-or-later.
2021-10-29Add license statement to READMEDavid Runge
README.md: Add license statement to README, specifying that devtools is licensed under the terms of the GPL-3.0-or-later.
2021-10-29Add GPL-3.0 license fileDavid Runge
LICENSE: Add GPL-3.0 license.
2021-10-21makechrootpkg: preserve SSH_AUTH_SOCK to support ssh operationsBenjamin Denhartog
This commit introduces the preservation of SSH_AUTH_SOCK within the chroot environment, to support SSH-based operations, such as cloning repositories via SSH.
2021-09-08doc: Add arch-nspawn man pageyoursweetie
2021-09-07Sort man page links in `man 7 devtools`Jelle van der Waa
2021-09-07doc: Add archbuild man pagetsuibin
2021-09-07doc: Add makechrootpkg man pageyoursweetie
2021-09-04Fix CI and switch to GitHub CI (#68)Felix Yan
2021-07-17Drop pacutils:`pacconf` fallbackbartus
As of pacman:5.2 `pacman-conf` obsoletes `pacconf`
2021-07-17feat: support exposing buildtool to aid reproducible builds configsLevente Polyak
This helps to map the correct build tool configs that are required to reproduce a specific package and have the appropriate *FLAGS etc.
2021-07-17makerepropkg: avoid competing redirects into the same makepkg.conf fileLevente Polyak
2021-07-17allow to call setarch with a different value than $CARCHErich Eckner
Introduce setarch-aliases.d/ which gets installed inside /usr/share/devtools. This allows to assign aliases which map one CARCH to a different name which gets provided as argument for setarch. This is necessary on archlinuxarm ("armv6h" -> "armv6l", "armv7h" -> "armv7l") and allows for more fine-grained architectures (e.g. archlinux32 has "i686" and "pentium4", which differ in the required cpu capabilities). Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2021-07-01zsh-completion: complete makechrootpkg arguments after `*-build --`Chih-Hsuan Yen
2021-06-19pacman.conf: enable ParallelDownloads and NoProgressBarLevente Polyak
The progress bar feature creates noisy log files, especially with parallel downloads. Lets disable the progress bar and instead use parallel downloads.
2021-06-19pacman.conf: enable VerbosePkgLists for easier log consumptionLevente Polyak
2021-06-17sync pacman.conf with the pacman 6.0.0-3 packageLevente Polyak
This effectively does nothing but keep the commented options in sync to not deviate from the original file for no reason. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2021-06-17sync makepkg.conf with the pacman 6.0.0-3 packageLevente Polyak
The only effective difference is that -Wp,-D_GLIBCXX_ASSERTIONS is now only defined for CXXFLAGS as of pacman 6.0.0-1 Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2021-06-16sync makepkg.conf with the pacman packageEli Schwartz
Aside for comments, this implements the buildflags RFC from: https://lists.archlinux.org/pipermail/arch-dev-public/2021-March/030374.html https://gitlab.archlinux.org/archlinux/rfcs/-/merge_requests/3 Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2021-06-16sogrep: refresh if any database is over a day oldEvangelos Foutras
Outdated sogrep cache has already bit us once in the past. Finding one or more databases older than a day is a good indication that a refresh is in order, so do that automatically.
2021-06-16sogrep: store unextracted *.links.tar.gz databasesEvangelos Foutras
Extracting these databases is painfully slow on HDDs (especially laptop ones). There shouldn't be a drawback to keeping the tarballs around and extracting them to a temporary directory (usually tmpfs) to parse them. The implemented update logic tries to avoid redownloading unchanged dbs.
2021-02-02Version 2021020220210202Levente Polyak
2021-01-31makechrootpkg: only expose failed build logs instead of productsLevente Polyak
After further followups always moving all products isn't actually desired as they can theoretically be broken in various ways if arch-nspawn exists non successful. However, as we would like to always preserve the produced log files we instead split out the logfiles into an own function and call that for unsuccessful buils. Fixes 4f305aa3
2021-01-31doc: update default build hostChristian Hesse
Commit 09e169b7418319eadfc4eab83fbf2fcc459d536e changed the default build host from dragon.archlinux.org to build.archlinux.org - match in documentation. Signed-off-by: Christian Hesse <mail@eworm.de>
2021-01-27makerepropkg: allow specifying the package in pacman -S formatEli Schwartz
We now accept: 1) # nothing in which case we'll use the PKGBUILD to retrieve... 2) name, or repo/name in which case we'll use pacman to cache the package and retrieve... 3) a filename Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2021-01-27makerepropkg: do fast cache lookupsEli Schwartz
Teach get_pkgfile to call itself in local-only mode and find a cached file no matter what its extension is. Avoids repetitively trying to curl random files, fail with 404 errors, and proceed to discover a cache hit under a different file extension. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2021-01-26makepkg.conf: make rsync use new-style compression in makepkg.confChristian Hesse
Our rsync package is no longer built with bundled zlib, so old-style compression is no longer supported. https://www.archlinux.org/news/rsync-compatibility/ Signed-off-by: Christian Hesse <mail@eworm.de>
2021-01-26makechrootpkg: Expose failed build logs/productsbartoszek
Since move_products() function is fairly robust we can make it run for failed build also to expose logs for packages that fails in build(), prepare() or package(). It also exposes partially packaged split packages if they fail in latter package_xxx().
2021-01-26offload-build: change default host to build.archlinux.orgLevente Polyak
2021-01-26doc: add devtools.7 man pageJelle van der Waa
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
2021-01-26offload-build: respect SRCEXT from makepkg.confKonstantin Gizdov
2020-04-07Version 2020040720200407Levente Polyak
2020-03-09offload-build: retrieve the PKGBUILD in case makepkg changes it via pkgverLevente Polyak
Building a package may change the PKGBUILD during update_pkgver. Let's retrieve the PKGBUILD after building to ensure we have the very same file as the one we used to build the package. Otherwise this may lead to the inability to distribute the package during commitpkg in case the expected and the actual hashsum mismatch.
2020-03-09makerepropkg: prioritize downloading .zst packages over legacy formatLevente Polyak
First try a .zst location before falling back to legacy variants. This should slightly speed up downloading of dependencies, especially over time as .zst packages are or will be the dominant format. Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2020-02-27arch-nspawn: fix up host_mirrors cachedir handlingEli Schwartz
This was incorrectly implemented in commit 00671765296ad598f392df7a542dbfca48a6e7b7, which added the host_mirrors root directory as a cachedir, when we actually want to use the pool/* subdirectories (the same ones installed on the build server's /etc/pacman.conf). Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2020-02-27makechrootpkg: use the chroot database to find checkpkg packagesEli Schwartz
We don't want to check against the current version known to the host system, because that will be incorrect in a wide variety of situations, including: - the build host hasn't done a full system upgrade yet - we're building against staging, and want to see the delta between different staging versions - we're building against extra, but the host runs testing which carries changes we don't want to visualize right now - the chroot has a configured database not available to the host, and the package is only available there Essentially, it's rarely 100% correct to run checkpkg on the host, but we already have a database we *know* is correct, and that is the one we just built the package against. So let's use that. This also fixes a bug in the current logic, where in order to try downloading fresh databases, we work in a non-cached temporary working database to download the package files, but then let checkpkg default to comparing packages in the system database. Since we are explicitly trying to compare against packages that differ from the host's pacman database, we need to pass the package files as options to checkpkg, using the additional modes added in commit c14338c0fe71a74f5e56b4f3af7c548fe0928e15 Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2020-02-27checkpkg: fix support for http:// url comparisonsEli Schwartz
Broken in commit c14338c0fe71a74f5e56b4f3af7c548fe0928e15. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2020-02-27zsh-completion: update for new makerepropkg optionsEli Schwartz
Thanks to anthraxx for the guidance. Original-patch-by: Levente Polyak <anthraxx@archlinux.org> Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2020-02-27makerepropkg: support checking multiple split packagesEli Schwartz
By specifying multiple package files, we assume they are all from the same PKGBUILD, and try to check them all against the produced artifacts. Since the buildinfo should be comparable for all of them, we simply use the first one passed on the command line. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2020-02-27makerepropkg: add support to check unreproducible packages using diffoscopeEli Schwartz
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>