diff options
author | Christian Rößler | 2014-01-29 14:37:21 +0100 |
---|---|---|
committer | Christian Rößler | 2014-01-29 14:37:21 +0100 |
commit | 378edc18bb9cdc0f871c845a3af320ee82dd091b (patch) | |
tree | 30a4ecc1082891caa16b12c7b518f1caf1ffbd61 /remote | |
parent | [rfs-stage31] udhcpc in stage 3.1 to get DNS servers etc. early (diff) | |
download | tm-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.build | 20 | ||||
-rw-r--r-- | remote/modules/pam/pam.conf.opensuse.13.1 | 47 |
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 +" + |