Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
|
|
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>
|
|
|
|
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
|
|
This adds proper namespace locking as well to fix screwing up the
running makerepropkg process.
|
|
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.
|
|
This reverts commit 3231cf8c364ff0c9473131314baaf6aee4bc9169.
|
|
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
|
|
lddd.in:
As all of the devtools scripts are based on bash, we need to use
/bin/bash and not posix sh.
|
|
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.
|
|
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.
|
|
README.md:
Add license statement to README, specifying that devtools is licensed
under the terms of the GPL-3.0-or-later.
|
|
LICENSE:
Add GPL-3.0 license.
|
|
This commit introduces the preservation of SSH_AUTH_SOCK within the
chroot environment, to support SSH-based operations, such as cloning
repositories via SSH.
|
|
|
|
|
|
|
|
|
|
|
|
As of pacman:5.2 `pacman-conf` obsoletes `pacconf`
|
|
This helps to map the correct build tool configs that are required to
reproduce a specific package and have the appropriate *FLAGS etc.
|
|
|
|
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>
|
|
|
|
The progress bar feature creates noisy log files, especially with
parallel downloads. Lets disable the progress bar and instead use
parallel downloads.
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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.
|
|
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.
|
|
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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().
|
|
|
|
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
|
|
|
|
|
|
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.
|
|
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>
|
|
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>
|
|
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>
|
|
Broken in commit c14338c0fe71a74f5e56b4f3af7c548fe0928e15.
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
|