mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
autotools: get the PAM support from master working on linux and freebsd
This commit is contained in:
parent
a277fcb340
commit
2a3e91383b
9 changed files with 104 additions and 12 deletions
|
@ -192,6 +192,11 @@ AC_SUBST(LIBMMDB, '$(top_builddir)/lib/DtMmdb/libDtMmdb.la')
|
|||
AC_SUBST(LIBHELP, '$(top_builddir)/lib/DtHelp/libDtHelp.la')
|
||||
AC_SUBST(LIBCSA, '$(top_builddir)/lib/csa/libcsa.la')
|
||||
|
||||
AC_SUBST(LIBPAMSVC, '$(top_builddir)/lib/DtPamSvc/libDtPamSvc.la')
|
||||
|
||||
dnl we do not inclue the DtPamSvc library here as it is not needed
|
||||
dnl for everything.
|
||||
|
||||
AC_SUBST(DTCLIENTLIBS, '$(LIBPRINT) $(LIBHELP) $(LIBWIDGET) $(LIBSVC) \
|
||||
$(LIBTT) $(LIBXIN)')
|
||||
|
||||
|
@ -203,6 +208,8 @@ AC_SUBST(XM_INCDIR, '-I$(top_builddir)/include/Xm')
|
|||
AC_SUBST(CSA_INCDIR, '-I$(top_builddir)/include/csa')
|
||||
AC_SUBST(SPC_INCDIR, '-I$(top_builddir)/include/SPC')
|
||||
|
||||
dnl language enables
|
||||
|
||||
AC_ARG_ENABLE([german],
|
||||
AS_HELP_STRING([--enable-german], [Build German locale (default=no)]),
|
||||
[enable_de="yes"], [enable_de=""]
|
||||
|
@ -370,7 +377,7 @@ fi
|
|||
|
||||
dnl headers
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS([locale.h])
|
||||
AC_CHECK_HEADERS([locale.h security/pam_appl.h])
|
||||
|
||||
dnl libraries
|
||||
AC_CHECK_LIB(m, cosf)
|
||||
|
@ -437,6 +444,13 @@ else
|
|||
AC_SUBST(FREETYPE_LIBS)
|
||||
fi
|
||||
|
||||
dnl figure out pam support
|
||||
|
||||
AC_CHECK_LIB(pam, pam_start,
|
||||
[SOURCE_CPP_DEFINES="${SOURCE_CPP_DEFINES} -DHAS_PAM_LIBRARY"])
|
||||
|
||||
AM_CONDITIONAL([HAS_PAM_LIBRARY], [test "x$ac_cv_lib_pam_pam_start" = "xyes"])
|
||||
|
||||
dnl Figure out TCL
|
||||
|
||||
SC_PATH_TCLCONFIG
|
||||
|
@ -494,6 +508,8 @@ lib/tt/bin/ttsession/Makefile
|
|||
|
||||
lib/DtSvc/Makefile
|
||||
|
||||
lib/DtPamSvc/Makefile
|
||||
|
||||
lib/DtSearch/Makefile
|
||||
lib/DtSearch/raima/Makefile
|
||||
|
||||
|
@ -571,6 +587,7 @@ programs/dtlogin/Makefile
|
|||
programs/dtlogin/config/Makefile
|
||||
|
||||
programs/dtsession/Makefile
|
||||
programs/dtsession/config/Makefile
|
||||
|
||||
programs/dthello/Makefile
|
||||
|
||||
|
|
10
cde/lib/DtPamSvc/Makefile.am
Normal file
10
cde/lib/DtPamSvc/Makefile.am
Normal file
|
@ -0,0 +1,10 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
lib_LTLIBRARIES = libDtPamSvc.la
|
||||
|
||||
libDtPamSvc_la_SOURCES = PamSvc.c ${top_srcdir}/Dt/PamSvc.h
|
||||
|
||||
libDtPamSvc_la_LIBADD = -lpam
|
||||
|
||||
libDtPamSvc_la_LDFLAGS = -version-info 2:1:0
|
||||
|
|
@ -51,6 +51,9 @@
|
|||
#include <security/pam_appl.h>
|
||||
#include <utmpx.h>
|
||||
#include <unistd.h>
|
||||
#if defined(__linux__)
|
||||
#include <grp.h>
|
||||
#endif
|
||||
#include "PamSvc.h"
|
||||
|
||||
/*
|
||||
|
|
|
@ -2,3 +2,7 @@ MAINTAINERCLEANFILES = Makefile.in
|
|||
|
||||
SUBDIRS = DtXinerama tt DtSvc DtSearch DtWidget DtHelp DtPrint DtTerm \
|
||||
DtMrm csa
|
||||
|
||||
if HAS_PAM_LIBRARY
|
||||
SUBDIRS += DtPamSvc
|
||||
endif
|
||||
|
|
|
@ -2,6 +2,14 @@ SUBDIRS = config
|
|||
|
||||
bin_PROGRAMS = dtlogin dtgreet dtchooser
|
||||
|
||||
if HAS_PAM_LIBRARY
|
||||
PAM_LIB = -lpam
|
||||
DTPAMSVCLIB = @LIBPAMSVC@
|
||||
else
|
||||
PAM_LIB =
|
||||
DTPAMSVCLIB =
|
||||
endif
|
||||
|
||||
XDMDIR = $(CDE_LOGFILES_TOP)
|
||||
|
||||
DEF_SERVER = $(XBINDIR)/X
|
||||
|
@ -22,7 +30,7 @@ dtlogin_SOURCES = access.c account.c auth.c genauth.c daemon.c dm.c \
|
|||
dpylist.c error.c file.c mitauth.c protodpy.c policy.c \
|
||||
reset.c server.c session.c socket.c util.c \
|
||||
verify.c sysauth.c fontpath.c qualify.c choose.c netaddr.c \
|
||||
xdmcp.c
|
||||
xdmcp.c $(PAM_SRCS)
|
||||
|
||||
# We play a game here with resources.o (dtlogin). It needs special options.
|
||||
noinst_LIBRARIES = libresource.a
|
||||
|
@ -49,7 +57,7 @@ dtchooser_SOURCES = chooser.c dtchooser.c vglogo.c vgutil.c vgcallback.c \
|
|||
vglang.c
|
||||
|
||||
dtlogin_LDADD = libresource.a @DTCLIENTLIBS@ -lXau -lXmu -lXext -lXdmcp \
|
||||
$(FREETYPE_LIBS) $(XTOOLLIB) $(TIRPCLIB)
|
||||
$(FREETYPE_LIBS) $(XTOOLLIB) $(TIRPCLIB) $(DTPAMSVCLIB) $(PAM_LIB)
|
||||
|
||||
dtgreet_LDADD = $(DTCLIENTLIBS) $(FREETYPE_LIBS) $(XTOOLLIB)
|
||||
|
||||
|
|
|
@ -4,12 +4,24 @@ AM_CPPFLAGS = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
|
|||
-DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP) \
|
||||
-DKORNSHELL=$(KSH)
|
||||
|
||||
CPP_TARGETS = 0060.dtsysenv Dtlogin Xaccess Xconfig Xconfig.con \
|
||||
Xconfig.nc Xfailsafe Xreset Xresources Xresources.ive \
|
||||
Xservers Xservers.con Xservers.nc Xsession Xsession.ive \
|
||||
Xsetup Xstartup current.session display.current.session \
|
||||
display.home.session dtlslocale dtprofile home.session \
|
||||
sys.dtprofile
|
||||
|
||||
|
||||
|
||||
if LINUX
|
||||
AM_CPPFLAGS += -DXPROJECTROOT="/usr" -Dlinux -D__linux__
|
||||
endif
|
||||
|
||||
if FREEBSD
|
||||
AM_CPPFLAGS += -DFREEBSD -DXPROJECTROOT="/usr/local" -D__FreeBSD__
|
||||
PAM_AUTHENTICATION_MODULE = /usr/local/lib/security/pam_pwauth_suid.so
|
||||
AM_CPPFLAGS += -DPAM_AUTHENTICATION_MODULE=$(PAM_AUTHENTICATION_MODULE)
|
||||
CPP_TARGETS += pam.d.dtlogin
|
||||
endif
|
||||
|
||||
if SOLARIS
|
||||
|
@ -22,20 +34,15 @@ endif
|
|||
|
||||
if NETBSD
|
||||
AM_CPPFLAGS += -DXPROJECTROOT="/usr/X11R7" -D__NetBSD__
|
||||
PAM_AUTHENTICATION_MODULE = /usr/pkg/lib/security/pam_pwauth_suid.so
|
||||
AM_CPPFLAGS += -DPAM_AUTHENTICATION_MODULE=$(PAM_AUTHENTICATION_MODULE)
|
||||
CPP_TARGETS += pam.d.dtlogin
|
||||
endif
|
||||
|
||||
if BSD
|
||||
AM_CPPFLAGS += -DCSRG_BASED
|
||||
endif
|
||||
|
||||
|
||||
CPP_TARGETS = 0060.dtsysenv Dtlogin Xaccess Xconfig Xconfig.con \
|
||||
Xconfig.nc Xfailsafe Xreset Xresources Xresources.ive \
|
||||
Xservers Xservers.con Xservers.nc Xsession Xsession.ive \
|
||||
Xsetup Xstartup current.session display.current.session \
|
||||
display.home.session dtlslocale dtprofile home.session \
|
||||
sys.dtprofile
|
||||
|
||||
BUILT_SOURCES = $(CPP_TARGETS)
|
||||
CLEANFILES = $(CPP_TARGETS)
|
||||
|
||||
|
@ -149,3 +156,7 @@ home.session: home.session.src
|
|||
$(RM) $@
|
||||
$(GENCPP) -P -DXCOMM=# $(AM_CPPFLAGS) $< > $@
|
||||
|
||||
pam.d.dtlogin: pam.d.dtlogin.src
|
||||
$(RM) $@
|
||||
$(GENCPP) -P -DXCOMM=# $(AM_CPPFLAGS) $< > $@
|
||||
|
||||
|
|
|
@ -4,6 +4,12 @@ bin_PROGRAMS = dtsession
|
|||
|
||||
bin_SCRIPTS = dtsession_res
|
||||
|
||||
if HAS_PAM_LIBRARY
|
||||
DTPAMSVCLIB = @LIBPAMSVC@
|
||||
else
|
||||
DTPAMSVCLIB =
|
||||
endif
|
||||
|
||||
dtsession_CFLAGS = -DCDE_INSTALLATION_TOP=\"$(CDE_INSTALLATION_TOP)\" \
|
||||
-DCDE_CONFIGURATION_TOP=\"$(CDE_CONFIGURATION_TOP)\" \
|
||||
-Ddtsession
|
||||
|
@ -20,7 +26,7 @@ dtsession_SOURCES = SmMain.c SmHelp.c SmGlobals.c SmCommun.c \
|
|||
SmMigResources.h SmSave.h SmXrm.h
|
||||
|
||||
|
||||
dtsession_LDADD = $(DTCLIENTLIBS) $(XTOOLLIB)
|
||||
dtsession_LDADD = $(DTCLIENTLIBS) $(XTOOLLIB) $(DTPAMSVCLIB)
|
||||
|
||||
if SOLARIS
|
||||
dtsession_SOURCES += OWsync.c
|
||||
|
@ -51,12 +57,15 @@ LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
|
|||
-DDTSM_CMD4="\"$(DTSM_CMD4)\"" \
|
||||
-DDTSM_CMD5="\"$(DTSM_CMD5)\""
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
if LINUX
|
||||
LOCAL_CPP_DEFINES += -Dlinux -D__linux__
|
||||
endif
|
||||
|
||||
if FREEBSD
|
||||
LOCAL_CPP_DEFINES += -DFREEBSD -D__FreeBSD__
|
||||
SUBDIRS += config
|
||||
endif
|
||||
|
||||
if SOLARIS
|
||||
|
@ -69,6 +78,7 @@ endif
|
|||
|
||||
if NETBSD
|
||||
LOCAL_CPP_DEFINES += -D__NetBSD__
|
||||
SUBDIRS += config
|
||||
endif
|
||||
|
||||
if BSD
|
||||
|
@ -118,7 +128,13 @@ sys.session.ive: sys.session.src
|
|||
$(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) -DIVE $< > $@
|
||||
|
||||
|
||||
# systems without a PAM library need dtsession to be SUID root
|
||||
|
||||
install-exec-hook:
|
||||
chown root $(DESTDIR)$(bindir)/dtsession
|
||||
if HAS_PAM_LIBRARY
|
||||
chmod 755 $(DESTDIR)$(bindir)/dtsession
|
||||
else
|
||||
chmod 4755 $(DESTDIR)$(bindir)/dtsession
|
||||
endif
|
||||
|
||||
|
|
23
cde/programs/dtsession/config/Makefile.am
Normal file
23
cde/programs/dtsession/config/Makefile.am
Normal file
|
@ -0,0 +1,23 @@
|
|||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
CPP_TARGET = pam.d.dtsession
|
||||
|
||||
BUILT_SOURCES = $(CPP_TARGET)
|
||||
CLEANFILES = $(CPP_TARGET)
|
||||
|
||||
cfgdir = $(CDE_INSTALLATION_TOP)/config
|
||||
dist_cfg_DATA = $(CPP_TARGET)
|
||||
|
||||
|
||||
if FREEBSD
|
||||
PAM_AUTHENTICATION_MODULE = /usr/local/lib/security/pam_pwauth_suid.so
|
||||
endif
|
||||
|
||||
if NETBSD
|
||||
PAM_AUTHENTICATION_MODULE = /usr/pkg/lib/security/pam_pwauth_suid.so
|
||||
endif
|
||||
|
||||
pam.d.dtsession: pam.d.dtsession.src
|
||||
$(RM) $@
|
||||
$(GENCPP) -P -DXCOMM=# -DPAM_AUTHENTICATION_MODULE=$(PAM_AUTHENTICATION_MODULE) $< > $@
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue