Commit Graph

904 Commits

Author SHA1 Message Date
Martchus 5855da3610 Add builduser to same groups as on host
This prevents permission errors when relying on a user's group
for accessing certain files (made available within the container
via bind mounts).
2021-12-12 00:51:54 +01:00
Martchus cb34a5532e Log systemd-nspawn invocation parameters
When debugging it is useful to know what parameters where
used.
2021-12-12 00:51:54 +01:00
Martchus 30c9b9827b Set TERM within the systemd-nspawn container in makechrootpkg
This is required by WINE to prevent
```
unknown: I need something more specific
```
2021-12-12 00:51:54 +01:00
Martchus 6c757c3eea Adjust systemd-nspawn flags
* Remove --keep-unit since it causes sometimes errors and does not seem
  to be required
* Increase maximum number of open files (the default of 1000 is too less
  for some packages)
* Use /etc/resolv.conf from host (otherwise systemd-nspawn uses a config
  which does not work on my host setup)
2021-12-12 00:51:54 +01:00
Kevin Mihelich 3208e648ce makechrootpkg: don't delete MAKEFLAGS and PACKAGER 2021-12-12 00:51:54 +01:00
Kevin Mihelich dccdc04acb archbuild: no setarch 2021-12-12 00:51:53 +01:00
Kevin Mihelich 52c04a3322 makechrootpkg: no default logging 2021-12-12 00:50:40 +01:00
Kevin Mihelich f7fad1100c arch-nspawn: arm fix 2021-12-12 00:50:39 +01:00
Kevin Mihelich bd4120f371 makechrootpkg: distcc 2021-12-12 00:47:41 +01:00
Kevin Mihelich 2c02cf1ed4 arch-nspawn: keep mirrorlist 2021-12-12 00:44:22 +01:00
Kevin Mihelich c77e5d81c6 makechrootpkg: cache dir 2021-12-12 00:44:22 +01:00
Levente Polyak 412d032c26
Version 20211129 2021-11-29 20:43:22 +01:00
Levente Polyak 16b7a0e7e8
makepkg.conf: enable LTO option by default
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-28 14:33:52 +01:00
Levente Polyak cc6cf65ef9
makerepropkg: support parallel runs in dedicated namespaces
This adds proper namespace locking as well to fix screwing up the
running makerepropkg process.
2021-11-18 20:31:23 +01:00
Levente Polyak dacde204c9
makerepropkg: use correct devtools makepkg.conf files from dist
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-18 20:31:23 +01:00
Jan Alexander Steffens (heftig) 1f1f6be889
Revert "Layer gnome-unstable above staging, not testing"
This reverts commit 3231cf8c36.
2021-11-17 02:32:34 +01:00
Evangelos Foutras a23dcb0391
makepkg.conf: Sync with pacman 6.0.1-2: Pass -q as first option to curl
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-11-16 22:49:44 +01:00
David Runge 7dd29dff46
lddd: Use bash instead of sh
lddd.in:
As all of the devtools scripts are based on bash, we need to use
/bin/bash and not posix sh.
2021-10-29 09:20:43 +02:00
David Runge d783cb511c Revert "Use #!/bin/bash instead of #!/bin/sh"
This reverts commit 594f972666.

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-29 09:19:28 +02:00
David Runge 539f09761c
Add GPL-3.0-or-later SPDX identifier to all scripts
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-29 09:16:13 +02:00
David Runge da7f267ef2
Add license statement to README
README.md:
Add license statement to README, specifying that devtools is licensed
under the terms of the GPL-3.0-or-later.
2021-10-29 09:16:11 +02:00
David Runge 4ee3f5c8dd
Add GPL-3.0 license file
LICENSE:
Add GPL-3.0 license.
2021-10-29 09:16:05 +02:00
Benjamin Denhartog be80928384
makechrootpkg: preserve SSH_AUTH_SOCK to support ssh operations
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-10-21 21:41:11 +02:00
yoursweetie 9028302ac7
doc: Add arch-nspawn man page 2021-09-08 22:13:36 +02:00
Jelle van der Waa a9bf4789b3
Sort man page links in `man 7 devtools` 2021-09-07 22:37:25 +02:00
tsuibin fd17f53cef
doc: Add archbuild man page 2021-09-07 22:23:32 +02:00
yoursweetie 80e8c1fc70
doc: Add makechrootpkg man page 2021-09-07 20:55:42 +02:00
Felix Yan 6535ac9b99
Fix CI and switch to GitHub CI (#68) 2021-09-04 22:19:59 +08:00
bartus c5c5dbc64f
Drop pacutils:`pacconf` fallback
As of pacman:5.2 `pacman-conf` obsoletes `pacconf`
2021-07-17 23:10:30 +02:00
Levente Polyak 0a0e66a784
feat: support exposing buildtool to aid reproducible builds configs
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-17 22:56:11 +02:00
Levente Polyak 60e96c9d4b
makerepropkg: avoid competing redirects into the same makepkg.conf file 2021-07-17 22:45:21 +02:00
Erich Eckner 30ed6920c7
allow to call setarch with a different value than $CARCH
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-17 22:35:04 +02:00
Chih-Hsuan Yen 4602659068
zsh-completion: complete makechrootpkg arguments after `*-build --` 2021-07-01 20:25:38 +02:00
Levente Polyak 43d58212c5
pacman.conf: enable ParallelDownloads and NoProgressBar
The progress bar feature creates noisy log files, especially with
parallel downloads. Lets disable the progress bar and instead use
parallel downloads.
2021-06-19 22:26:25 +02:00
Levente Polyak 6a628af422
pacman.conf: enable VerbosePkgLists for easier log consumption 2021-06-19 21:18:37 +02:00
Levente Polyak 0635f0c5ec
sync pacman.conf with the pacman 6.0.0-3 package
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-17 00:05:06 +02:00
Levente Polyak 04af0374f3
sync makepkg.conf with the pacman 6.0.0-3 package
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-17 00:04:52 +02:00
Eli Schwartz 54e03641a3
sync makepkg.conf with the pacman package
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-16 23:42:23 +02:00
Evangelos Foutras 385b47e56e
sogrep: refresh if any database is over a day old
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-16 23:37:10 +02:00
Evangelos Foutras 9d39abbefe
sogrep: store unextracted *.links.tar.gz databases
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-06-16 23:37:06 +02:00
Levente Polyak 90ba07d9be
Version 20210202 2021-02-02 00:51:57 +01:00
Levente Polyak 8c26438df8
makechrootpkg: only expose failed build logs instead of products
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-31 23:44:11 +01:00
Christian Hesse a49bcf2097
doc: update default build host
Commit 09e169b741 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-31 02:16:44 +01:00
Eli Schwartz 0883f45b3a
makerepropkg: allow specifying the package in pacman -S format
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-27 00:56:48 +01:00
Eli Schwartz 99c2020d47
makerepropkg: do fast cache lookups
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-27 00:56:48 +01:00
Christian Hesse 00f7a6a415
makepkg.conf: make rsync use new-style compression in makepkg.conf
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-26 20:56:46 +01:00
bartoszek 4f305aa316
makechrootpkg: Expose failed build logs/products
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-26 20:43:29 +01:00
Levente Polyak 09e169b741
offload-build: change default host to build.archlinux.org 2021-01-26 20:40:47 +01:00
Jelle van der Waa 360a7611a8
doc: add devtools.7 man page
Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
2021-01-26 20:39:06 +01:00
Konstantin Gizdov d507db9490
offload-build: respect SRCEXT from makepkg.conf 2021-01-26 20:38:53 +01:00