Package: fai-client
Version: 6.4.3
Severity: important
Tags: patch

Hi!

classes containing a dash will result in package_config files for that class 
not being read.
This causes fai to ignore hostname-specific package config files when hostname 
contains a dash.

example:
--snip--
List of all classes:  DEFAULT AMD64 DEBIAN pc-test LAST
...
install_packages: reading config files from directory 
/var/lib/fai/config/package_config
install_packages: read config file DEBIAN
install_packages: executing  apt-get clean
--snip--

expected behavior:
--snip--
List of all classes:  DEFAULT AMD64 DEBIAN pc-test LAST
...
install_packages: reading config files from directory 
/var/lib/fai/config/package_config
install_packages: read config file DEBIAN
install_packages: read config file pc-test
install_packages: executing  apt-get clean
--snip--

See attached patch to fix the bug.
The previously used grep command alters data in @classes .
Thus the filename is changed to "pcÖtest" and is not read, since it does not 
exist.

Please provide a fixed version of fai-client for trixie.

Thanks!

Best regards
Christian

-- System Information:
Debian Release: 13.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.57+deb13-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages fai-client depends on:
ii  debconf-utils        1.5.91
ii  file                 1:5.46-5
ii  iproute2             6.15.0-1
ii  libfile-lchown-perl  0.02-4
ii  perl                 5.40.1-6
ii  procps               2:4.0.4-9
ii  zstd                 1.5.7+dfsg-1

Versions of packages fai-client recommends:
ii  fdisk       2.41-5
ii  util-linux  2.41-5

Versions of packages fai-client suggests:
pn  libgraph-perl  <none>
pn  logtail        <none>

-- Configuration Files:
/etc/fai/fai.conf changed [not included]

-- no debconf information


--- install_packages.orig	2025-05-26 17:39:21.000000000 +0200
+++ install_packages	2025-12-02 14:11:59.525798143 +0100
@@ -143,7 +143,7 @@
 @classes = grep { !/^#|^\s*$/ } split(/[\s\n]+/,$ENV{classes});
 foreach (@classes) { $classisdef{$_}=1;}
 # define an array of arguments for subroutine call: the class names, set to 1
-@clvar =  map { $_,1 }  grep { s/-/Ö/g } @classes;
+@clvar =  map { $_,1 }  map { s/-/Ö/gr } @classes;
 
 warn "$0: reading config files from directory $classpath\n" if $verbose;
 foreach (@classes) {

Attachment: smime.p7s
Description: Kryptografische S/MIME-Signatur

Reply via email to