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)

Reply via email to