Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-08-03Version 20180531Jan Alexander Steffens (heftig)
(cherry picked from commit 6364b3c9b9fae2b43bf3e02b9e84c814fc3f502f)
2018-08-03makechrootpkg: whitelist return code 14 from makepkgEli Schwartz via arch-projects
makepkg 5.1 implements error codes, and 14 means that installing the packages after they were built has failed. We don't care about this error and would like makechrootpkg to succeed regardless, e.g. for split packages that are mutually exclusive. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> (cherry picked from commit 98ff92f4675aeab379b9d5ed85e68778e1cc0dfe)
2018-08-03Revert "makechrootpkg: _chrootbuild: Split into _chroot{prepare,build}"Luke Shumaker
This reverts commit ad54ac08ae475134f1ef6242cf4a831aa4ab770a.
2018-05-29Merge branch 'lukeshu/rebase/master'libretools-20180530Luke Shumaker
2018-05-29common.sh: Add a find_cached_srcpackage counterpart to find_cached_packageLuke Shumaker
2018-05-29makechrootpkg: Also build --allsource packagesLuke Shumaker
It also sets SRCEXT="-$pkgarch$SRCEXT", so that two runs of makechrootpkg on different architectures don't overwrite eachothers source packages.
2018-05-29mkarchroot: Use librelib rather than PATH to find arch-nspawnLuke Shumaker
2018-05-29lib/common.sh: Discourage use in favor of libremessagesLuke Shumaker
2018-05-29checkpkg, find-libdeps, finddeps, lddd: Use libremessages to add help textLuke Shumaker
2018-05-29lib/common.sh: InternationalizeLuke Shumaker
2017-02-15: (070092d) Import from libretools. 2017-02-19: (7c55e79) Tidy formatting (2018-01-02: erroneously removing newlines that had been added to avoid confusing xgettext). 2017-05-05: (c4d5957) Don't say "local var" and "var=$(subshell)" in the same command (shellcheck complains about this). 2017-09-24: Update to work with loading the message functions from /usr/share/makepkg/util.sh 2018-01-02: Avoid confusing xgettext.
2018-05-29makechrootpkg, arch-nspawn: Force-enable local '/repo/' repositoryLuke Shumaker
The change in arch-nspawn is subtle: This was the source of "infamous" "it fails every other time" bug that took me over a year to solve. <https://labs.parabola.nu/issues/435> By having a repository of local packages (rather than simply running `pacman -U`), we are inviting pacman to cache them in `/var/cache/pacman/pkg`. Besides being needless disk writes, this actually causes a real issue. If the package gets rebuilt, pacman will balk, as the file no longer matches the cached signature. So, how do we prevent pacman from caching these local packages? Simple: include the directory they are already in in the pacman.conf:CacheDir list. This will prevent pacman from copying the files to one of the other cache directories.
2018-05-29arch-nspawn: Add a table of CARCH/setarch overridesLuke Shumaker
The table is just armv7h->armv7l for now.
2018-05-29makechrootpkg: _chrootbuild: Split into _chroot{prepare,build}Luke Shumaker
2018-05-29arch-nspawn: Message style: two spaces after a periodLuke Shumaker
This affects both the usage() text, and the error message if the `/.arch-chroot` version doesn't match. The latter is the one that I really care about, and motivates this change. On Parabola, the `arch-nspawn` program isn't in PATH, it's somewhere under `/usr/lib/`, and gets called as a helper to user-facing programs; and the error message is displayed directly to the user. These programs consistently put two spaces after a period when printing a message to the terminal.
2018-05-29update makefile for current versionAllan McRae
Signed-off-by: Allan McRae <allan@archlinux.org>
2018-05-20Merge branch 'lukeshu/rebase/master'libretools-20180520Luke Shumaker
2018-05-20common.sh: Add a find_cached_srcpackage counterpart to find_cached_packageLuke Shumaker
2018-05-20makechrootpkg: Also build --allsource packagesLuke Shumaker
It also sets SRCEXT="-$pkgarch$SRCEXT", so that two runs of makechrootpkg on different architectures don't overwrite eachothers source packages.
2018-05-20mkarchroot: Use librelib rather than PATH to find arch-nspawnLuke Shumaker
2018-05-20lib/common.sh: Discourage use in favor of libremessagesLuke Shumaker
2018-05-20checkpkg, find-libdeps, finddeps, lddd: Use libremessages to add help textLuke Shumaker
2018-05-20lib/common.sh: InternationalizeLuke Shumaker
2017-02-15: (070092d) Import from libretools. 2017-02-19: (7c55e79) Tidy formatting (2018-01-02: erroneously removing newlines that had been added to avoid confusing xgettext). 2017-05-05: (c4d5957) Don't say "local var" and "var=$(subshell)" in the same command (shellcheck complains about this). 2017-09-24: Update to work with loading the message functions from /usr/share/makepkg/util.sh 2018-01-02: Avoid confusing xgettext.
2018-05-20makechrootpkg, arch-nspawn: Force-enable local '/repo/' repositoryLuke Shumaker
The change in arch-nspawn is subtle: This was the source of "infamous" "it fails every other time" bug that took me over a year to solve. <https://labs.parabola.nu/issues/435> By having a repository of local packages (rather than simply running `pacman -U`), we are inviting pacman to cache them in `/var/cache/pacman/pkg`. Besides being needless disk writes, this actually causes a real issue. If the package gets rebuilt, pacman will balk, as the file no longer matches the cached signature. So, how do we prevent pacman from caching these local packages? Simple: include the directory they are already in in the pacman.conf:CacheDir list. This will prevent pacman from copying the files to one of the other cache directories.
2018-05-20arch-nspawn: Add a table of CARCH/setarch overridesLuke Shumaker
The table is just armv7h->armv7l for now.
2018-05-20makechrootpkg: _chrootbuild: Split into _chroot{prepare,build}Luke Shumaker
2018-05-20arch-nspawn: Message style: two spaces after a periodLuke Shumaker
This affects both the usage() text, and the error message if the `/.arch-chroot` version doesn't match. The latter is the one that I really care about, and motivates this change. On Parabola, the `arch-nspawn` program isn't in PATH, it's somewhere under `/usr/lib/`, and gets called as a helper to user-facing programs; and the error message is displayed directly to the user. These programs consistently put two spaces after a period when printing a message to the terminal.
2018-05-20makechrootpkg: Put "keyserver-options auto-key-retrieve" in gpg.confLuke Shumaker
This allows signature verification by `makepkg --verifysource`, `git verify-tag`, and such without requiring the user to manually retrieve the keys first. This is based off of devtools32 commit 009695b (2017-06-27) by Erich Eckner <git@eckner.net>. There are 2 differences from that commit: - In this version, gpg.conf is owned by builduser, not by root - In this version, we don't keep appending duplicate lines if we re-use a chroot
2018-05-20Do not assume the makechrootpkg user's groupname is the same as the usernameEli Schwartz
chown support "$user:$group" but also "$user:" which infers $group rather than leaving it as root. This looks up the group name in cases where the default group is e.g. "users" and users do not get their own unique groups. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2018-05-16Do not assume the makechrootpkg user's groupname is the same as the username20180528Eli Schwartz
chown support "$user:$group" but also "$user:" which infers $group rather than leaving it as root. This looks up the group name in cases where the default group is e.g. "users" and users do not get their own unique groups.
2018-05-13Proper fix for pacman-git returning file urls from the cacheEli Schwartz
It is much nicer to use a proper configuration parser to retrieve the primary mirror, rather than clever hacks using undocumented APIs, especially when their behavior as used then breaks in later releases. Fortunately, pacutils exists now and pacconf handles this quite elegantly. It has since been moved to pacman-git proper. Check if pacman-conf from a new enough version of pacman exists and fallback on pacconf from pacutils.
2018-05-13Revert "arch-nspawn: Work around pacman master returning file-URLs from the ↵Eli Schwartz
cache" This reverts commit eb6b0e3f11279b6512b1469ff042d2982eaaeef4. This never worked, as pacman-git returns file urls from the cache anyway and pacman stable doesn't have any problem at all. Having useless code which makes people think the issue is solved when it really isn't, is bloat, so remove it.
2018-05-13makechrootpkg: Do not copy the user keyring into the chroot.Eli Schwartz
Since commit 75fdff1811a0487f82c75b2e260da905102b4eea we no longer run integrity checks inside the chroot anyway, so this is no longer needed and will never be used.
2018-05-12makechrootpkg: add /etc/shadow entry for builduserEvangelos Foutras
Without it, sudo 1.8.23 will return an error: sudo: PAM account management error: Authentication service cannot retrieve authentication info
2018-03-26Merge branch 'lukeshu/rebase/master'libretools-20180326Luke Shumaker
2018-03-26common.sh: Add a find_cached_srcpackage counterpart to find_cached_packageLuke Shumaker
2018-03-26makechrootpkg: Also build --allsource packagesLuke Shumaker
It also sets SRCEXT="-$pkgarch$SRCEXT", so that two runs of makechrootpkg on different architectures don't overwrite eachothers source packages.
2018-03-26mkarchroot: Use librelib rather than PATH to find arch-nspawnLuke Shumaker
2018-03-26lib/common.sh: Discourage use in favor of libremessagesLuke Shumaker
2018-03-26checkpkg, find-libdeps, finddeps, lddd: Use libremessages to add help textLuke Shumaker
2018-03-26lib/common.sh: InternationalizeLuke Shumaker
2017-02-15: (070092d) Import from libretools. 2017-02-19: (7c55e79) Tidy formatting (2018-01-02: erroneously removing newlines that had been added to avoid confusing xgettext). 2017-05-05: (c4d5957) Don't say "local var" and "var=$(subshell)" in the same command (shellcheck complains about this). 2017-09-24: Update to work with loading the message functions from /usr/share/makepkg/util.sh 2018-01-02: Avoid confusing xgettext.
2018-03-26makechrootpkg, arch-nspawn: Force-enable local '/repo/' repositoryLuke Shumaker
The change in arch-nspawn is subtle: This was the source of "infamous" "it fails every other time" bug that took me over a year to solve. <https://labs.parabola.nu/issues/435> By having a repository of local packages (rather than simply running `pacman -U`), we are inviting pacman to cache them in `/var/cache/pacman/pkg`. Besides being needless disk writes, this actually causes a real issue. If the package gets rebuilt, pacman will balk, as the file no longer matches the cached signature. So, how do we prevent pacman from caching these local packages? Simple: include the directory they are already in in the pacman.conf:CacheDir list. This will prevent pacman from copying the files to one of the other cache directories.
2018-03-26arch-nspawn: Add a table of CARCH/setarch overridesLuke Shumaker
The table is just armv7h->armv7l for now.
2018-03-26makechrootpkg: _chrootbuild: Split into _chroot{prepare,build}Luke Shumaker
2018-03-26arch-nspawn: Message style: two spaces after a periodLuke Shumaker
This affects both the usage() text, and the error message if the `/.arch-chroot` version doesn't match. The latter is the one that I really care about, and motivates this change. On Parabola, the `arch-nspawn` program isn't in PATH, it's somewhere under `/usr/lib/`, and gets called as a helper to user-facing programs; and the error message is displayed directly to the user. These programs consistently put two spaces after a period when printing a message to the terminal.
2018-03-26makechrootpkg: Put "keyserver-options auto-key-retrieve" in gpg.confLuke Shumaker
This allows signature verification by `makepkg --verifysource`, `git verify-tag`, and such without requiring the user to manually retrieve the keys first. This is based off of devtools32 commit 009695b (2017-06-27) by Erich Eckner <git@eckner.net>. There are 2 differences from that commit: - In this version, gpg.conf is owned by builduser, not by root - In this version, we don't keep appending duplicate lines if we re-use a chroot
2018-03-24makechrootpkg: fix verifysource with pacman-gitEli Schwartz
In pacman-git commit d8717a6a9666ec80c8645d190d6f9c7ab73084ac makepkg started checking that the setuid/setgid bit could be removed on the $BUILDDIR in order to prevent this propagating to the packages themselves. Unfortunately, this requires the temporary builddir used during the --verifysource stage of makepkg, to be owned by $makepkg_user which was not the case as it is created as root using mktemp (and given world rwx in addition to the restricted deletion bit.) Obviously makepkg cannot chmod a directory that it does not own. Fix this by making $makepkg_user the owner of that directory, as should have been the case all along. (Giving world rwx is illogical on general principle. The fact that this is a workaround for makepkg demanding these directories be writable even when they are not going to be used for the makepkg options in question, is not justification for being careless.) Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
2018-03-24makechrootpkg: respect GNUPGHOMEEmiel Wiedijk
Previously, makechrootpkg hardcoded ~/.gnupg. Therefore, if a user uses a custom GPG home directory, the siganture checking would fail. Now makechrootpkg uses $GNUPGHOME, with a fallback to ~/.gnupg. Signed-off-by: Emiel Wiedijk <me@aimileus.nl>
2018-03-24Remove corepkg symlinkBartłomiej Piotrowski
While still possible with 'commitpkg core', there is a chance it will prevent accidental pushes straight to [core].
2018-01-21makechrootpkg: make sure that makepkg.conf is always parsed as textBartłomiej Piotrowski
2018-01-21makechrootpkg: Adjust to work properly with `set -e`Luke Shumaker
This worked properly until eab5aba.