Compare commits

..

10 Commits

Author SHA1 Message Date
Jan Alexander Steffens (heftig)
e10ce7fc70 Version 20170304 2017-03-04 15:10:11 +01:00
Levente Polyak
ff48401963 makechrootpkg: fix potential non-writable directories of builduser in /build
This removes the preservation of HOME being /build just for the pacman
sudo call. Former leads to unbuildable packages when an to be installed
dependency writes something into the HOME dir (f.e. .config). The
resulting directories won't be writable by the builduser as they are
owned by root:root and ultimately will fail to build anything that
requires so.
2017-03-04 15:05:09 +01:00
Jelle van der Waa
15f16162fb lib: remove unused version, pkgparts 2017-03-04 15:03:37 +01:00
Jelle van der Waa
fea14fa286 lib: remove unused left, right 2017-03-04 15:03:05 +01:00
Jan Alexander Steffens (heftig)
4bafd641ab makechrootpkg: Simplify symlink replacement 2017-03-04 15:00:50 +01:00
NicoHood
58968cfaa2 makechrootpkg: Fix broken symlink because of temporary chroot PKGDEST /pkgdest 2017-03-04 15:00:12 +01:00
Jan Alexander Steffens (heftig)
c8147a3512 mkarchroot: Set LANG=en_US.UTF-8
In order to have an UTF-8 locale in the build root. This is something
normally set on real machines but is not set from our chroots. Meson,
for example, loudly complains when the locale charset is not UTF-8.

I'd like to have C.UTF-8, as most other distributions do. Unfortunately,
it's not part of vanilla glibc; en_US.UTF-8 will have to do.

mkarchroot already creates roots with both en_US.UTF-8 and de_DE.UTF-8,
the latter because builds of gcc (perhaps used to) require it.

Bump the CHROOT_VERSION due to the setting change.
2017-02-17 19:51:56 +01:00
Jan Alexander Steffens (heftig)
76dec8507e makechrootpkg: Reset environment for builduser
The gnustep-base package ships a profile.d script that adds
"$HOME/GNUstep/Tools" to the PATH, which breaks when the user changes
and causes meson to exit with a "permission denied" error.
2016-10-08 14:44:31 +02:00
Jan Alexander Steffens (heftig)
9727b684e6 makechrootpkg: Shorten user-config loading code
Make use of load_vars returning 1 when the file is missing. Avoids
introducing another variable.
2016-06-13 00:06:54 +02:00
Johannes Löthberg
e3fe7134e2 makechrootpkg: Use XDG_CONFIG_HOME for makepkg.conf
Implemented the same way as in makepkg.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-06-13 00:02:29 +02:00
5 changed files with 12 additions and 12 deletions

View File

@@ -1,4 +1,4 @@
V=20160528
V=20170304
PREFIX = /usr/local

View File

@@ -10,7 +10,7 @@
m4_include(lib/common.sh)
CHROOT_VERSION='v3'
CHROOT_VERSION='v4'
working_dir=''

View File

@@ -162,8 +162,6 @@ slock() {
# usage: pkgver_equal( $pkgver1, $pkgver2 )
##
pkgver_equal() {
local left right
if [[ $1 = *-* && $2 = *-* ]]; then
# if both versions have a pkgrel, then they must be an exact match
[[ $1 = "$2" ]]
@@ -182,7 +180,7 @@ pkgver_equal() {
find_cached_package() {
local searchdirs=("$PWD" "$PKGDEST") results=()
local targetname=$1 targetver=$2 targetarch=$3
local dir pkg pkgbasename pkgparts name ver rel arch size r results
local dir pkg pkgbasename name ver rel arch r results
for dir in "${searchdirs[@]}"; do
[[ -d $dir ]] || continue

View File

@@ -173,7 +173,6 @@ prepare_chroot() {
done
cat > "$copydir/etc/sudoers.d/builduser-pacman" <<EOF
Defaults env_keep += "HOME"
builduser ALL = NOPASSWD: /usr/bin/pacman
EOF
chmod 440 "$copydir/etc/sudoers.d/builduser-pacman"
@@ -199,9 +198,7 @@ EOF
# so no global variables
_chrootbuild() {
. /etc/profile
export HOME=/build
cd /startdir
sudo -u builduser makepkg "$@"
sudo -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
}
_chrootnamcap() {
@@ -235,6 +232,11 @@ move_products() {
for pkgfile in "$copydir"/pkgdest/*; do
chown "$src_owner" "$pkgfile"
mv "$pkgfile" "$PKGDEST"
# Fix broken symlink because of temporary chroot PKGDEST /pkgdest
if [[ "$PWD" != "$PKGDEST" && -L "$PWD/${pkgfile##*/}" ]]; then
ln -sf "$PKGDEST/${pkgfile##*/}"
fi
done
for l in "$copydir"/logdest/*; do
@@ -306,7 +308,7 @@ fi
umask 0022
load_vars "$USER_HOME/.makepkg.conf"
load_vars "${XDG_CONFIG_HOME:-$USER_HOME/.config}/pacman/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf"
load_vars /etc/makepkg.conf
# Use PKGBUILD directory if these don't exist

View File

@@ -10,7 +10,7 @@
m4_include(lib/common.sh)
CHROOT_VERSION='v3'
CHROOT_VERSION='v4'
working_dir=''
@@ -72,7 +72,7 @@ pacstrap -GMcd ${pac_conf:+-C "$pac_conf"} "$working_dir" \
"${cache_dirs[@]/#/--cachedir=}" "$@" || die 'Failed to install all packages'
printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$working_dir/etc/locale.gen"
echo 'LANG=C' > "$working_dir/etc/locale.conf"
echo 'LANG=en_US.UTF-8' > "$working_dir/etc/locale.conf"
echo "$CHROOT_VERSION" > "$working_dir/.arch-chroot"
systemd-machine-id-setup --root="$working_dir"