summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2019-11-25 11:08:46 -0700
committerEduardo Chappa <chappa@washington.edu>2019-11-25 11:08:46 -0700
commit46e208ffa9fffc3057df7a698f2124b3998a24ac (patch)
tree1e2f31bdad42ce442e0d07eacb97cfde845a9e69
parentbe556aa57bf6f283afb00cfbbcd02cb794965d2d (diff)
downloadalpine-46e208ffa9fffc3057df7a698f2124b3998a24ac.tar.xz
* Add lnpno port to imap/src/osdep/unix/Makefile to account for ports that do
not need/want to build using pam. Add more robustness to the configure process, to add -lcrypt to the build flags when --with-bundled-tools=no is given.
-rwxr-xr-xconfigure132
-rw-r--r--configure.ac49
-rw-r--r--imap/Makefile12
-rw-r--r--imap/src/osdep/unix/Makefile11
-rw-r--r--pith/pine.hlp2
5 files changed, 158 insertions, 48 deletions
diff --git a/configure b/configure
index 269eff8e..77843acd 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Rev:27 by chappa@washington.edu.
+# From configure.ac Rev:28 by chappa@washington.edu.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for alpine 2.21.99999.
#
@@ -830,7 +830,6 @@ with_libiconv_prefix
with_libintl_prefix
enable_dmalloc
with_dmalloc_dir
-with_bundled_tools
with_date_stamp
with_host_stamp
with_ps_cmd
@@ -934,6 +933,7 @@ with_supplied_regex
with_pthread
with_system_mail_directory
with_c_client_target
+with_bundled_tools
with_ipv6
with_ntlm
'
@@ -1607,8 +1607,6 @@ Optional Packages:
--with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
--without-libintl-prefix don't search for libintl in includedir and libdir
--with-dmalloc-dir=DIR Root of dmalloc lib/include path
- --with-bundled-tools Build additional tools (mtest, imapd, etc.) Default:
- --with-bundled-tools=no
--with-date-stamp=DATE Set this as the date this program was built.
Default: output of `date`
--with-host-stamp=HOST Set name of computer for compilation. Default:
@@ -1784,6 +1782,8 @@ Optional Packages:
Directory where local mail is delivered
--with-c-client-target=TARGET
IMAP build target (see imap/Makefile)
+ --with-bundled-tools Build additional tools (mtest, imapd, etc.) Default:
+ --with-bundled-tools=no
--without-ipv6 Disable IPv6, primarily to work around resolver
problems
--without-ntlm Disable NTLM client support
@@ -15218,18 +15218,6 @@ $as_echo "#define ENABLE_DMALLOC 1" >>confdefs.h
fi
-alpine_c_client_bundled="no"
-
-# Check whether --with-bundled-tools was given.
-if test "${with_bundled_tools+set}" = set; then :
- withval=$with_bundled_tools;
- if test "x$withval" = "xyes" ; then
- alpine_c_client_bundled=""
- fi
-
-fi
-
-
ALPINE_datestamp=`date`
# Check whether --with-date-stamp was given.
@@ -17879,6 +17867,18 @@ fi
+alpine_c_client_bundled="no"
+
+# Check whether --with-bundled-tools was given.
+if test "${with_bundled_tools+set}" = set; then :
+ withval=$with_bundled_tools;
+ if test "x$withval" = "xyes" ; then
+ alpine_c_client_bundled=""
+ fi
+
+fi
+
+
alpine_PAM="none"
case "$host" in
@@ -17920,9 +17920,10 @@ case "$host" in
alpine_PAM="yes"
else
systype="LNX"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5
-$as_echo_n "checking for pam_start in -lpam... " >&6; }
-if ${ac_cv_lib_pam_pam_start+:} false; then :
+ if test -z "$alpine_c_client_bundled" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for am_start in -lpam" >&5
+$as_echo_n "checking for am_start in -lpam... " >&6; }
+if ${ac_cv_lib_pam_am_start+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -17936,27 +17937,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
-char pam_start ();
+char am_start ();
int
main ()
{
-return pam_start ();
+return am_start ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_pam_pam_start=yes
+ ac_cv_lib_pam_am_start=yes
else
- ac_cv_lib_pam_pam_start=no
+ ac_cv_lib_pam_am_start=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_pam_start" >&5
-$as_echo "$ac_cv_lib_pam_pam_start" >&6; }
-if test "x$ac_cv_lib_pam_pam_start" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pam_am_start" >&5
+$as_echo "$ac_cv_lib_pam_am_start" >&6; }
+if test "x$ac_cv_lib_pam_am_start" = xyes; then :
alpine_c_client_target="lnp"
alpine_PAM="yes"
@@ -17971,6 +17972,13 @@ else
fi
+ else
+ if test -f /etc/shadow ; then
+ alpine_c_client_target="slx"
+ else
+ alpine_c_client_target="lnx"
+ fi
+ fi
fi
;;
*-apple-darwin*)
@@ -17991,7 +17999,8 @@ $as_echo "#define APPLEKEYCHAIN 1" >>confdefs.h
;;
esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5
+ if test -z "$alpine_c_client_bundled" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pam_start in -lpam" >&5
$as_echo_n "checking for pam_start in -lpam... " >&6; }
if ${ac_cv_lib_pam_pam_start+:} false; then :
$as_echo_n "(cached) " >&6
@@ -18061,6 +18070,9 @@ else
fi
+ else
+ alpine_c_client_target="osx"
+ fi
;;
*-*-solaris*)
if test x$GCC = "xyes" ; then
@@ -19229,6 +19241,72 @@ fi
fi
fi
fi
+
+if test -n "$alpine_c_client_bundled" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing crypt" >&5
+$as_echo_n "checking for library containing crypt... " >&6; }
+if ${ac_cv_search_crypt+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char crypt ();
+int
+main ()
+{
+return crypt ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' crypt; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_crypt=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_crypt+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_crypt+:} false; then :
+
+else
+ ac_cv_search_crypt=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_crypt" >&5
+$as_echo "$ac_cv_search_crypt" >&6; }
+ac_res=$ac_cv_search_crypt
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+ LIBS="$LIBS -lcrypt"
+
+else
+
+ as_fn_error $? "crypt library not found." "$LINENO" 5
+
+fi
+
+fi
+
C_CLIENT_BUNDLED=$alpine_c_client_bundled
diff --git a/configure.ac b/configure.ac
index d6e1e701..fab7aaa9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@ dnl */
AC_PREREQ([2.69])
-AC_REVISION([Rev:27 by chappa@washington.edu])
+AC_REVISION([Rev:28 by chappa@washington.edu])
dnl Alpine Version Number is in $srcdir/VERSION
AC_INIT([alpine],[m4_esyscmd(tr -d \\n < VERSION)],[chappa@washington.edu])
@@ -85,16 +85,6 @@ if test x$enable_dmalloc = "xyes" ; then
AC_DEFINE(ENABLE_DMALLOC, 1, [Define enable dmalloc debugging])
fi
-dnl Do not build bundled tools (Default)
-alpine_c_client_bundled="no"
-AC_ARG_WITH(bundled-tools,
- AS_HELP_STRING([--with-bundled-tools],[ Build additional tools (mtest, imapd, etc.) Default: --with-bundled-tools=no]),
- [
- if test "x$withval" = "xyes" ; then
- alpine_c_client_bundled=""
- fi
- ])
-
dnl set date and hostname
ALPINE_datestamp=`date`
AC_ARG_WITH(date-stamp,
@@ -1184,6 +1174,16 @@ AC_ARG_WITH(c-client-target,
])
+dnl Do not build bundled tools (Default)
+alpine_c_client_bundled="no"
+AC_ARG_WITH(bundled-tools,
+ AS_HELP_STRING([--with-bundled-tools],[ Build additional tools (mtest, imapd, etc.) Default: --with-bundled-tools=no]),
+ [
+ if test "x$withval" = "xyes" ; then
+ alpine_c_client_bundled=""
+ fi
+ ])
+
dnl Assume PAM is *not* required and only set the systems that need it.
alpine_PAM="none"
@@ -1230,7 +1230,8 @@ case "$host" in
alpine_PAM="yes"
else
systype="LNX"
- AC_CHECK_LIB(pam, pam_start,
+ if test -z "$alpine_c_client_bundled" ; then
+ AC_CHECK_LIB(pam, am_start,
[
alpine_c_client_target="lnp"
alpine_PAM="yes"
@@ -1242,6 +1243,13 @@ case "$host" in
alpine_c_client_target="lnx"
fi
])
+ else
+ if test -f /etc/shadow ; then
+ alpine_c_client_target="slx"
+ else
+ alpine_c_client_target="lnx"
+ fi
+ fi
fi
;;
*-apple-darwin*)
@@ -1259,7 +1267,8 @@ case "$host" in
AC_DEFINE([APPLEKEYCHAIN], [1], [Use Apple OS X key chain for credential caching])
;;
esac
- AC_CHECK_LIB(pam, pam_start,
+ if test -z "$alpine_c_client_bundled" ; then
+ AC_CHECK_LIB(pam, pam_start,
[
AC_CHECK_HEADER([security/pam_appl.h],
[
@@ -1280,6 +1289,9 @@ case "$host" in
[
alpine_c_client_target="osx"
])
+ else
+ alpine_c_client_target="osx"
+ fi
;;
*-*-solaris*)
if test x$GCC = "xyes" ; then
@@ -1656,6 +1668,17 @@ if test -z "$alpine_c_client_bundled" ; then
fi
fi
fi
+
+if test -n "$alpine_c_client_bundled" ; then
+ AC_SEARCH_LIBS(crypt,crypt,
+ [
+ LIBS="$LIBS -lcrypt"
+ ],
+ [
+ AC_MSG_ERROR([crypt library not found.])
+ ])
+fi
+
AC_SUBST([C_CLIENT_BUNDLED], $alpine_c_client_bundled)
dnl provide KRB5 support?
diff --git a/imap/Makefile b/imap/Makefile
index 9e6a3327..52ce3782 100644
--- a/imap/Makefile
+++ b/imap/Makefile
@@ -353,11 +353,11 @@ gcs: an
SPECIALS="SSLINCLUDE=/opt/csw/include/openssl SSLLIB=/opt/csw/lib SSLCERTS=/opt/csw/ssl/certs SSLKEYS=/opt/csw/ssl/certs"
ldb: an
- $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
+ $(BUILD) BUILDTYPE=lnp$(BUNDLED) IP=$(IP6) \
SPECIALS="GSSINCLUDE=/usr/include GSSLIB=/usr/lib MAILSPOOL=/var/mail"
lfd: an
- $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
+ $(BUILD) BUILDTYPE=lnp$(BUNDLED) IP=$(IP6) \
SPECIALS="GSSDIR=/usr/kerberos"
ln8: an
@@ -370,17 +370,17 @@ ln8: an
lr5: an
$(TOUCH) ip6
- $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
+ $(BUILD) BUILDTYPE=lnp$(BUNDLED) IP=$(IP6) \
SPECIALS="GSSDIR=/usr/kerberos"
lmd: an
- $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
+ $(BUILD) BUILDTYPE=lnp$(BUNDLED) IP=$(IP6) \
SPECIALS="GSSINCLUDE=/usr/include GSSLIB=/usr/lib"
# RHEL3 definitely has the IPv6 bug
lrh: lrhok an
- $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
+ $(BUILD) BUILDTYPE=lnp$(BUNDLED) IP=$(IP6) \
SPECIALS="GSSDIR=/usr/kerberos"
lrhok:
@@ -404,7 +404,7 @@ lrhwarn:
@echo % make lr5
lsu: an
- $(BUILD) BUILDTYPE=lnp IP=$(IP6) \
+ $(BUILD) BUILDTYPE=lnp$(BUNDLED) IP=$(IP6) \
SPECIALS="GSSDIR=/usr/kerberos"
# iToy does not have Kerberos or PAM. It doesn't have a
diff --git a/imap/src/osdep/unix/Makefile b/imap/src/osdep/unix/Makefile
index a94040c8..c4e1411f 100644
--- a/imap/src/osdep/unix/Makefile
+++ b/imap/src/osdep/unix/Makefile
@@ -33,7 +33,7 @@ EXTRADRIVERS=mbox
PASSWDTYPE=std
SSLTYPE=nopwd
IP=4
-
+BUNDLED=
# The optimization level here for GCC ports is set here for a reason. It's
# to get you to read this text.
@@ -494,6 +494,15 @@ isc: # Interactive
BASELDFLAGS="-linet -lnsl_s -lgen -lx -lsec -liberty" \
RANLIB=true
+lnpno: # Linux disable support Pluggable Authentication modules
+ $(BUILD) `$(CAT) SPECIALS` OS=slx \
+ SIGTYPE=psx CRXTYPE=nfs \
+ SPOOLDIR=/var/spool \
+ ACTIVEFILE=/var/lib/news/active \
+ RSHPATH=/usr/bin/rsh \
+ BASECFLAGS="$(GCCCFLAGS)" \
+ BASELDFLAGS="-lcrypt"
+
lnp: # Linux Pluggable Authentication modules
$(BUILD) `$(CAT) SPECIALS` OS=slx \
SIGTYPE=psx CHECKPW=pam CRXTYPE=nfs \
diff --git a/pith/pine.hlp b/pith/pine.hlp
index a101e9fe..9a4ab920 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any
reasonable place to be called from.
Dummy change to get revision in pine.hlp
============= h_revision =================
-Alpine Commit 377 2019-11-23 22:02:58
+Alpine Commit 378 2019-11-25 11:08:40
============= h_news =================
<HTML>
<HEAD>