Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package arch-install-scripts for
openSUSE:Factory checked in at 2026-10-12 22:09:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arch-install-scripts (Old)
and /work/SRC/openSUSE:Factory/.arch-install-scripts.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arch-install-scripts"
Mon Oct 12 22:09:44 2026 rev:8 rq:1384371 version:32
Changes:
--------
---
/work/SRC/openSUSE:Factory/arch-install-scripts/arch-install-scripts.changes
2026-01-28 15:09:32.083953807 +0100
+++
/work/SRC/openSUSE:Factory/.arch-install-scripts.new.3698736/arch-install-scripts.changes
2026-10-12 22:09:56.815126932 +0200
@@ -1,0 +2,9 @@
+Mon Oct 12 17:01:54 UTC 2026 - Bruno Pitrus <[email protected]>
+
+- New upstream release 32
+ * arch-chroot: normalize passed chrootdir
+ * arch-chroot: protect hostname change from propagating to host
+ * arch-chroot: Remove the mountpoint warning in unshare mode
+ * arch-chroot: Fix broken resolv.conf binding in unshare mode
+
+-------------------------------------------------------------------
Old:
----
arch-install-scripts-v30.tar.bz2
New:
----
arch-install-scripts-v32.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ arch-install-scripts.spec ++++++
--- /var/tmp/diff_new_pack.AX0BpS/_old 2026-10-12 22:09:57.720164668 +0200
+++ /var/tmp/diff_new_pack.AX0BpS/_new 2026-10-12 22:09:57.721164710 +0200
@@ -17,7 +17,7 @@
Name: arch-install-scripts
-Version: 30
+Version: 32
Release: 0
Summary: Scripts aimed at automating some menial installation/recovery
tasks
License: GPL-2.0-only
++++++ arch-install-scripts-v30.tar.bz2 -> arch-install-scripts-v32.tar.bz2
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/arch-install-scripts-v30/arch-chroot.in
new/arch-install-scripts-v32/arch-chroot.in
--- old/arch-install-scripts-v30/arch-chroot.in 2025-09-23 00:23:53.000000000
+0200
+++ new/arch-install-scripts-v32/arch-chroot.in 2026-01-20 20:34:48.000000000
+0100
@@ -34,6 +34,8 @@
chroot_add_resolv_conf() {
local dest="$chrootdir/etc/resolv.conf"
+ (( keepresolvconf )) && return 0
+
# If we don't have a source resolv.conf file, there's nothing useful we can
do.
[[ -e /etc/resolv.conf ]] || return 0
@@ -85,6 +87,7 @@
-p BindLogSockets=no
-p BindReadOnlyPaths=/run/udev #
https://github.com/archlinux/arch-install-scripts/pull/52
-p TemporaryFileSystem=/tmp
+ -p ProtectHostnameEx=private
-p IgnoreSIGPIPE=no)
if ! [[ -t 0 && -t 1 ]]; then
@@ -97,6 +100,8 @@
args=(/bin/bash -i)
fi
+ chroot_add_resolv_conf || die "failed to setup resolv.conf"
+
"${sd_args[@]}" -- "${args[@]}"
}
@@ -105,6 +110,8 @@
$setup "$chrootdir" || die "failed to setup chroot %s" "$chrootdir"
+ chroot_add_resolv_conf || die "failed to setup resolv.conf"
+
[[ $userspec ]] && chroot_args+=(--userspec "$userspec")
SHELL=/bin/bash SYSTEMD_IN_CHROOT=1 $pid_unshare chroot "${chroot_args[@]}"
-- "$chrootdir" "${args[@]}"
@@ -115,14 +122,11 @@
[[ -d $chrootdir ]] || die "Can't create chroot on non-directory %s"
"$chrootdir"
- if ! mountpoint -q "$chrootdir"; then
+ if ! (( unshare )) && ! mountpoint -q "$chrootdir"; then
warning "$chrootdir is not a mountpoint. This may have undesirable side
effects."
fi
chroot_init
- if (( ! keepresolvconf )); then
- chroot_add_resolv_conf || die "failed to setup resolv.conf"
- fi
if (( use_systemd )); then
systemd_mode
@@ -160,7 +164,7 @@
shift $(( OPTIND - 1 ))
(( $# )) || die 'No chroot directory specified'
-chrootdir=$1
+chrootdir="$(realpath -e "$1")" || die 'Failed to normalize chroot path: %s'
"$1"
shift
args=("$@")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/arch-install-scripts-v30/pacstrap.in
new/arch-install-scripts-v32/pacstrap.in
--- old/arch-install-scripts-v30/pacstrap.in 2025-09-23 00:23:53.000000000
+0200
+++ new/arch-install-scripts-v32/pacstrap.in 2026-01-20 20:34:48.000000000
+0100
@@ -50,28 +50,44 @@
pacstrap() {
(( EUID == 0 )) || die 'This script must be run with root privileges'
- db_dir="$(pacman-conf -c "$pacman_config" DBPath)"
- cache_dir="$(pacman-conf -c "$pacman_config" CacheDir)"
- hook_dir="$(pacman-conf -c "$pacman_config" HookDir)"
- gpg_dir="$(pacman-conf -c "$pacman_config" GPGDir)"
- log_dir="$(dirname "$(pacman-conf -c "$pacman_config" LogFile)")"
+ db_dir="/var/lib/pacman/"
+ gpg_dir="/etc/pacman.d/gnupg/"
+ log_dir="/var/log/"
- host_gpg_dir="$(pacman-conf GPGDir)"
+ # These can contain multiple paths. Ensure they are arrays
+ cache_dirs=("/var/cache/pacman/pkg/")
+
+ # Ensure we only override dirs if we copy the config
+ if (( copyconf )); then
+ db_dir="$(pacman-conf -c "$pacman_config" DBPath)"
+ gpg_dir="$(pacman-conf -c "$pacman_config" GPGDir)"
+ log_dir="$(dirname "$(pacman-conf -c "$pacman_config" LogFile)")"
+
+ mapfile -t cache_dirs < <( pacman-conf -c "$pacman_config" CacheDir )
+ fi
# create obligatory directories
msg 'Creating install root at %s' "$newroot"
# shellcheck disable=SC2174 # permissions are perfectly fine here
mkdir -m 0755 -p "$newroot/$db_dir" \
- "$newroot/$cache_dir" \
- "$newroot/$hook_dir" \
- "$newroot/$gpg_dir" \
"$newroot/$log_dir" \
"$newroot"/etc/pacman.d
+
+ for path in "${cache_dirs[@]}"; do
+ # shellcheck disable=SC2174 # permissions are perfectly fine here
+ mkdir -m 0755 -p "$newroot/$path"
+ done
# shellcheck disable=SC2174 # permissions are perfectly fine here
mkdir -m 0555 -p "$newroot"/{run,dev,sys,proc}
# shellcheck disable=SC2174 # permissions are perfectly fine here
mkdir -m 1777 -p "$newroot"/tmp
+ if (( ! hostcache )); then
+ for path in "${cache_dirs[@]}"; do
+ pacman_args+=(--cachedir="$newroot/$path")
+ done
+ fi
+
# mount API filesystems
chroot_init
$setup "$newroot" || die "failed to setup chroot %s" "$newroot"
@@ -79,9 +95,9 @@
if [[ ! -d $newroot/$gpg_dir ]]; then
if (( initkeyring )); then
pacman-key --gpgdir "$newroot/$gpg_dir" --init
- elif (( copykeyring )) && [[ -d $host_gpg_dir ]]; then
+ elif (( copykeyring )) && [[ -d $gpg_dir ]]; then
# if there's a keyring on the host, copy it into the new root
- cp -a --no-preserve=ownership "$host_gpg_dir" "$newroot/$gpg_dir"
+ cp -a --no-preserve=ownership "$gpg_dir" "$newroot/$gpg_dir"
fi
fi
@@ -156,14 +172,8 @@
tmpfile="$(mktemp -t pacman.conf.XXXX)"
cp "$pacman_config" "$tmpfile"
sed -i 's/^DownloadUser/#&/' "$tmpfile"
-pacman_config="$tmpfile"
-pacman_cache_dir="$(pacman-conf -c "$pacman_config" CacheDir)"
-pacman_args+=("$pacmode" "${@:-base}" --config="$pacman_config"
--disable-sandbox)
-
-if (( ! hostcache )); then
- pacman_args+=(--cachedir="$newroot/$pacman_cache_dir")
-fi
+pacman_args+=("$pacmode" "${@:-base}" --config="$tmpfile" --disable-sandbox)
if (( ! interactive )); then
pacman_args+=(--noconfirm)