Age | Commit message (Collapse) | Author |
|
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>
|
|
|
|
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>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
|
|
The manpage doc has been added without a suffix which fails during
install.
|
|
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>
|
|
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
|
|
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>
|
|
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
|
|
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
|
|
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.
|
|
This adds support for the following diff modes:
- content list (default)
- diffoscope
- .PKGINFO diff
- .BUILDINFO diff
|
|
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.
|
|
|
|
|
|
Closes #85
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
|
|
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>
|
|
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).
|
|
|
|
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>
|
|
|