Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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>
|
|
|