summaryrefslogtreecommitdiffstats
path: root/remote
diff options
context:
space:
mode:
authorChristian Rößler2014-01-29 14:37:21 +0100
committerChristian Rößler2014-01-29 14:37:21 +0100
commit378edc18bb9cdc0f871c845a3af320ee82dd091b (patch)
tree30a4ecc1082891caa16b12c7b518f1caf1ffbd61 /remote
parent[rfs-stage31] udhcpc in stage 3.1 to get DNS servers etc. early (diff)
downloadtm-scripts-378edc18bb9cdc0f871c845a3af320ee82dd091b.tar.gz
tm-scripts-378edc18bb9cdc0f871c845a3af320ee82dd091b.tar.xz
tm-scripts-378edc18bb9cdc0f871c845a3af320ee82dd091b.zip
[pam] Compatibility for openSuse 13.1
Diffstat (limited to 'remote')
-rw-r--r--remote/modules/pam/pam.build20
-rw-r--r--remote/modules/pam/pam.conf.opensuse.13.147
2 files changed, 64 insertions, 3 deletions
diff --git a/remote/modules/pam/pam.build b/remote/modules/pam/pam.build
index 48baf8b9..15828fb8 100644
--- a/remote/modules/pam/pam.build
+++ b/remote/modules/pam/pam.build
@@ -1,6 +1,10 @@
fetch_source() {
# get pam-script source
download_untar "$REQUIRED_PAM_SCRIPT_URL" "src/"
+ if [[ "$SYS_DISTRIBUTION" == "opensuse" && "$SYS_VERSION" == "13.1" ]]; then
+ pinfo "Downloading $REQUIRED_NSS_LDAPD_URL ..."
+ download_untar "$REQUIRED_NSS_LDAPD_URL" "src/"
+ fi
}
build() {
@@ -18,10 +22,20 @@ build() {
cd "${MODULE_DIR}/src/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}" || perror "Could not cd to ${MODULE_DIR}/src/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}."
./configure --prefix=/ --sysconfdir=/etc/pam-script --libdir="$(dirname ${PAM_UNIX_LOCATION:1})" || perror "pam-script: ./configure failed."
make DESTDIR="${MODULE_BUILD_DIR}" install || perror "pam-script: make install to ${MODULE_BUILD_DIR} failed."
- # Build nslcd service file
- cd "$MODULE_BUILD_DIR"
- local NSLCD_PATH=$(which nslcd)
+ # openSuse 13.1 has no package nss-pam-ldapd. So, we compile it.
+ if [[ "$SYS_DISTRIBUTION" == "opensuse" && "$SYS_VERSION" == "13.1" ]]; then
+ cd "${MODULE_DIR}/src/$REQUIRED_NSS_LDAPD_VERSION"
+ pinfo "compiling pam-nss-ldapd for openSuse 13.1 ..."
+ ./configure || perror "openSuse 13.1 - pam-nss-ldapd: ./configure failed."
+ make DESTDIR="${MODULE_BUILD_DIR}" install || perror "openSuse 13.1 - pam-nss-ldapd: make install to ${MODULE_BUILD_DIR} failed."
+ cd "$MODULE_BUILD_DIR"
+ local NSLCD_PATH=$(find . -executable -name "nslcd") # Not in path, so we 'find' below MODULE_BUILD_DIR
+ else
+ cd "$MODULE_BUILD_DIR"
+ local NSLCD_PATH=$(which nslcd)
+ fi
[ -z "$NSLCD_PATH" ] && perror "Could not 'which nslcd'"
+ # Build nslcd service file
mkdir -p "etc/systemd/system"
sed "s,%PATH%,$NSLCD_PATH,g" "$MODULE_DIR/templates/nslcd-systemd.service" > "etc/systemd/system/nslcd.service" || perror "Could not fill nslcd.service template"
}
diff --git a/remote/modules/pam/pam.conf.opensuse.13.1 b/remote/modules/pam/pam.conf.opensuse.13.1
new file mode 100644
index 00000000..9fe1de17
--- /dev/null
+++ b/remote/modules/pam/pam.conf.opensuse.13.1
@@ -0,0 +1,47 @@
+REQUIRED_NSS_LDAPD_VERSION="nss-pam-ldapd-0.8.13"
+REQUIRED_NSS_LDAPD_URL="http://arthurdejong.org/nss-pam-ldapd/$REQUIRED_NSS_LDAPD_VERSION.tar.gz"
+
+REQUIRED_BINARIES+="
+ mkhomedir_helper
+"
+
+REQUIRED_INSTALLED_PACKAGES="
+ pam
+ pam_krb5
+ pam-devel
+ pam-modules
+ libopenssl-devel
+ openldap2-client
+ nfsidmap
+ nfs-client
+ glibc
+ pam-devel
+ openldap2-devel
+ krb5-devel
+"
+REQUIRED_CONTENT_PACKAGES="
+ pam
+ pam_krb5
+ pam-devel
+ pam-modules
+ nss-mdns
+ openldap2-client
+ nfsidmap
+ nfs-client
+ glibc
+"
+REQUIRED_LIBRARIES+="
+ libnss_compat
+ libnss_db
+ libnss_dns
+ libnss_files
+ libnss_nis
+"
+REQUIRED_DIRECTORIES+="
+ /$LIB64
+ /usr/$LIB64
+"
+REQUIRED_SYSTEM_FILES+="
+ /$LIB64/security
+"
+