Fork of Arch Linux devtools from https://git.archlinux.org/devtools.git
Go to file
Eli Schwartz 2180aabc81
arch-nspawn: don't delete the guest gpg configuration
It's important to ensure the guest has up to date data because updating
a chroot after quite some time can potentially rely on updated
archlinux-keyring, something which the host machine either kept up to
date on or manually fixed, but it kills automation to mess around with
chroot configs like that. Alternatively, signed packages added with -I
need to work, and we assume the host is configured to accept these.

That is *not* a good reason to completely nuke whatever is in the guest,
though. A guest might have been manually configured to accept keys which
aren't accepted by the host; one example of this happening in practice,
is archlinux32 when building 32-bit packages from an archlinux host.

The right solution is to append to, rather thna overwrite, the chrooted
guest's pacman keyring.

To do this, we will use gpg's native facility to dump the keyring from
one GNUPGHOME and import it into another. We'd use pacman-key's --import
option directly, but this doesn't support passing custom options like
--import-options import-local-sigs
Finally use pacman-key's native facility to import the trust status from
the host.

While we are at it, fix a bug where we didn't respect the host's
pacman.conf settings for the GpgDir. While it isn't wildly likely a user
will choose to customize this, it is a valid and supported use case and
we must think about this ourselves.

Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
2019-08-09 19:41:51 +02:00
doc doc: add manpage for the new offload-build tool 2019-06-12 23:42:10 +02:00
lib Revert "makechrootpkg: sync_chroot: Make more general." 2019-06-12 23:42:05 +02:00
.gitignore sogrep: don't be templated when it is not templated 2019-03-28 21:17:50 +01:00
.travis.yml ci: adding travis support for basic check 2019-01-22 03:33:53 +01:00
Makefile Makefile: don't inject DESTDIR into the pkgdatadir 2019-08-09 19:40:05 +02:00
PKGBUILD.proto Add `# shellcheck` directives to quiet shellcheck, add PKGBUILD.proto 2017-07-05 18:21:56 +02:00
README.md readme: fix faulty whitespace in release commands 2019-03-29 21:40:28 +01:00
arch-nspawn.in arch-nspawn: don't delete the guest gpg configuration 2019-08-09 19:41:51 +02:00
archbuild.in fix whitespace/indentation errors 2019-04-20 17:58:55 +02:00
archco.in Avoid using string interpolation; use printf format strings instead. 2017-04-05 22:11:16 +02:00
archrelease.in archrelease: Whitespace adjustment 2017-07-05 18:35:16 +02:00
bash_completion.in Quote strings that shellcheck warns about. 2017-07-05 18:21:56 +02:00
checkpkg.in Add `# shellcheck` directives to quiet shellcheck, add PKGBUILD.proto 2017-07-05 18:21:56 +02:00
commitpkg.in Remove i686 support 2017-11-08 14:22:56 +01:00
crossrepomove.in crossrepomove: do not set svn propset 2019-03-13 22:06:00 +01:00
find-libdeps.in fix whitespace/indentation errors 2019-04-20 17:58:55 +02:00
finddeps.in Add `# shellcheck` directives to quiet shellcheck, add PKGBUILD.proto 2017-07-05 18:21:56 +02:00
lddd.in Make slightly more involved changes to make shellcheck happy. 2017-07-05 18:21:56 +02:00
makechrootpkg.in makechrootpkg: load makepkg.conf variables correctly 2019-08-09 19:40:05 +02:00
makepkg-x86_64.conf conf: sync makepkg.conf with latest version from pacman package 2019-02-09 14:27:31 +01:00
mkarchroot.in mkarchroot: don't create a broken chroot by default 2019-08-09 19:40:05 +02:00
offload-build offload-build: disable shellcheck false-positive for shell-escape 2019-06-13 00:17:11 +02:00
pacman-extra.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-gnome-unstable.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-kde-unstable.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-multilib-staging.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-multilib-testing.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-multilib.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-staging.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
pacman-testing.conf Update bundled pacman and makepkg configuration 2016-02-07 10:12:56 +01:00
rebuildpkgs.in Add `# shellcheck` directives to quiet shellcheck, add PKGBUILD.proto 2017-07-05 18:21:56 +02:00
sogrep add sogrep command 2019-03-28 21:17:55 +01:00
zsh_completion.in remove arch rm as it's not really useful 2019-02-24 13:37:37 +01:00

README.md

Devtools - development tools for Arch Linux

This repository contains tools for the Arch Linux distribution for building and maintaining official repository packages.

Patches

Patches can be send to arch-projects@archlinux.org or via a pull request on Github. When sending patches to the mailing list make sure to set a valid subjectprefix otherwise the email is denied by mailman. Git can be configured as following.

git config format.subjectprefix 'devtools] [PATCH'

Releasing

  1. bump the version in the Makefile
  2. Commit everything as Version $(date +"%Y%m%d")
  3. Create a new tag git tag -s $(date +"%Y%m%d")
  4. Push changes
  5. Upload the source tarball with make dist upload
  6. Update the package