Control: tags -1 + patch

On Tue, Nov 02, 2021 at 10:11:40PM +0100, Johannes Schauer Marin Rodrigues 
wrote:
> our CI runs for the DPKG_ROOT tests failed today because pam FTBFS. I
> rebuilt pam locally in a fresh sbuild chroot without any modifications
> and arrived at the same build failure. I attached the log. I also put
> the error message at the end of this mail. Some investigation suggests
> that for some reason PAM_USERTYPE_UIDMIN is set to the empty string by
> configure. Also interestingly I was not able to reproduce this problem
> by building the package outside of a chroot nor when building it under
> mmdebstrap. The problem only shows when building it inside an sbuild
> chroot. I thus suspect that it will also FTBFS on the buildds and mark
> this bug as serious.

I think this should be reproducible elsewhere. rebootstrap encounters
it. It's a behaviour change in dash:

if test x == x; then echo I am no longer executed with the new version; fi

In any case, using == is never worked on dash. The attached patch fixes
that bashism.

Helmut
--- pam-1.4.0.orig/configure.ac
+++ pam-1.4.0/configure.ac
@@ -658,19 +658,19 @@
 dnl Get values for default uid ranges in login.defs used in pam_usertype
 dnl
 AC_ARG_WITH([uidmin], AS_HELP_STRING([--with-uidmin=<number>],[default value for regular user min uid (1000)]), opt_uidmin=$withval)
-if test x"$opt_uidmin" == x; then
+if test x"$opt_uidmin" = x; then
     opt_uidmin=1000
 fi
 AC_DEFINE_UNQUOTED(PAM_USERTYPE_UIDMIN, $opt_uidmin, [Minimum regular user uid.])
 
 AC_ARG_WITH([sysuidmin], AS_HELP_STRING([--with-sysuidmin=<number>],[default value for system user min uid (101)]), opt_sysuidmin=$withval)
-if test x"$opt_sysuidmin" == x; then
+if test x"$opt_sysuidmin" = x; then
     opt_sysuidmin=101
 fi
 AC_DEFINE_UNQUOTED(PAM_USERTYPE_SYSUIDMIN, $opt_sysuidmin, [Minimum system user uid.])
 
 AC_ARG_WITH([kerneloverflowuid], AS_HELP_STRING([--with-kernel-overflow-uid=<number>],[kernel overflow uid, default (uint16_t)-2=65534]), opt_kerneloverflowuid=$withval)
-if test x"$opt_kerneloverflowuid" == x; then
+if test x"$opt_kerneloverflowuid" = x; then
     opt_kerneloverflowuid=65534
 fi
 AC_DEFINE_UNQUOTED(PAM_USERTYPE_OVERFLOW_UID, $opt_kerneloverflowuid, [Kernel overflow uid.])

Reply via email to