Re: Info: prepare for release 4.0.13

Tomasz Kłoczko <[email protected]> Tue, 27 Sep 2005 14:53:28 +0200 (CEST)
Newsgroups gmane.linux.pld.shadow.general
Message-ID <[email protected]>
On Mon, 26 Sep 2005, Mike Frysinger wrote:

> On Monday 26 September 2005 03:16 pm, Tomasz KÂłoczko wrote:
>> As usual last week before release is only for critical bugs and update/new
>> translations.
>
> seems the new configure.in defaults prevent disabling of features ?
>
> configure.in:
> with_selinux="yes"
> ...
> AC_ARG_WITH(selinux,
>    [AC_HELP_STRING([--with-selinux], [use SELinux support (default=yes if
> found)])])
> ...
> if test "$with_selinux" = "yes"; then
>    AC_CHECK_LIB(selinux, is_selinux_enabled,
>        [LIBSELINUX="-lselinux"],
>        [AC_MSG_ERROR([libselinux not found])])
>
> sample runs of configure:
> $ ./configure
> checking for is_selinux_enabled in -lselinux... no
> configure: error: libselinux not found
>
> $ ./configure --without-selinux
> checking for is_selinux_enabled in -lselinux... no
> configure: error: libselinux not found
>
> how about the proposed patch ?  this just fixes the selinux case but can be
> applied to the other withvals as well ...

Thank you for report.
You are touch real bug but fix seems is incomplet and partialy incorrect
because:

- shadow ac suit handles more than one --with{,out}-<feature> and the
   same bugs are in in other AC_ARG_WITH(),

- put with_<feature>=no after AC_MSG_ERROR() does not heve sense
   because AC_MSG_ERROR() stops configure script with error exit code.

I'm just commit fix quoting all comments inside AC_HELP_STRING() as in 
your patch and I'm just finish prepare patch for reported bugs (in 
attachment) which seems is correct (can you try test this ?):

[kloczek@test1 shadow]$ ./configure --with-audit --without-selinux --without-libpam --disable-shadowgrp --quiet
appending configuration tag "CXX" to libtool
appending configuration tag "F77" to libtool
config.status: creating po/POTFILES
config.status: creating po/Makefile

shadow will be compiled with the followig feactures:

         auditing support:               yes
         CrackLib support:               no
         PAM support:                    no
         SELinux support:                no
         shadow group support:           no
         S/Key support:                  no

also I fount another bug in handle --with{,out}-skey (also in atached
patch).

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie majÂą problemĂłw, tylko sobie sami je stwarzajÂą*
-----------------------------------------------------------
Tomasz KÂłoczko, sys adm @zie.pg.gda.pl|*e-mail: [email protected]*
shadow-ac_fixes.patch (text/plain, 2.6 KB)
Index: configure.in
===================================================================
RCS file: /cvsroot/shadow/configure.in,v
retrieving revision 1.127
diff -u -u -r1.127 configure.in
--- configure.in	27 Sep 2005 12:05:14 -0000	1.127
+++ configure.in	27 Sep 2005 12:48:35 -0000
@@ -7,13 +7,6 @@
 test "$prefix" = "NONE" && prefix="/usr"
 test "$prefix" = "/usr" && exec_prefix=""
 
-dnl try finf and use features:
-with_audit="yes"
-with_libcrack="no"
-with_libpam="yes"
-with_libskey="no"
-with_selinux="yes"
-
 AC_GNU_SOURCE
 
 AM_DISABLE_SHARED
@@ -226,15 +219,20 @@
 )
 
 AC_ARG_WITH(audit, 
-	[AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])])
+	[AC_HELP_STRING([--with-audit], [use auditing support @<:@default=yes if found@:>@])],
+	[with_audit=$withval], [with_audit=yes])
 AC_ARG_WITH(libpam,
-	[AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])])
+	[AC_HELP_STRING([--with-libpam], [use libpam for PAM support @<:@default=yes if found@:>@])],
+	[with_libpam=$withval], [with_libpam=yes])
 AC_ARG_WITH(selinux,
-	[AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=autodetect@:>@])])
+	[AC_HELP_STRING([--with-selinux], [use SELinux support @<:@default=autodetect@:>@])],
+	[with_selinux=$withval], [with_selinux=yes])
 AC_ARG_WITH(skey,
-	[AC_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])])
+	[AC_HELP_STRING([--with-skey], [use S/Key support @<:@default=no@:>@])],
+	[with_skey=$withval], [with_skey=no])
 AC_ARG_WITH(libcrack,
-	[AC_HELP_STRING([--with-libcrack], [use libcrack @<:@default=yes if found and if PAM not enabled@:>@])])
+	[AC_HELP_STRING([--with-libcrack], [use libcrack @<:@default=yes if found and if PAM not enabled@:>@])],
+	[with_libcrack=$withval], [with_libcrack=no])
 
 dnl Check for some functions in libc first, only if not found check for
 dnl other libraries.  This should prevent linking libnsl if not really
@@ -321,7 +319,7 @@
 
 AC_SUBST(LIBSKEY)
 AC_SUBST(LIBMD)
-if test "$with_libskey" = "yes"; then
+if test "$with_skey" = "yes"; then
 	AC_CHECK_LIB(md, MD5Init, [LIBMD=-lmd])
 	AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
 		[AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
@@ -368,5 +366,5 @@
 echo "	PAM support:			$with_libpam"
 echo "	SELinux support:		$with_selinux"
 echo "	shadow group support:		$enable_shadowgrp"
-echo "	S/Key support:			$with_libskey"
+echo "	S/Key support:			$with_skey"
 echo