blob: b678fdd67d26977122a35ab56fe28969b0f97f25 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/bash
fetch_source() {
# get pam-script source
download_untar "$REQUIRED_PAM_SCRIPT_URL" "src/"
# Distribution switch: openSuse 13.1 has no package nss-ldap:
if [ -n "$REQUIRED_NSS_LDAPD_URL" ]; then
pinfo "Downloading $REQUIRED_NSS_LDAPD_URL ..."
download_untar "$REQUIRED_NSS_LDAPD_URL" "src/"
fi
# Distribution switch: Ubuntu 14.04 dropped packages ncpfs and libncp:
if [[ "$SYS_DISTRIBUTION" == "ubuntu" && "$SYS_VERSION" == "14.04" ]]; then
for file in $REQUIRED_DOWNLOAD_URLS; do
local package="$(basename $file)"
pinfo "Downloading and installing package $package ..."
download_if_empty "$file" "src/$package"
dpkg -i "src/$package" || perror "Could not install package $package."
done
fi
}
build() {
mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin"
gcc -o "$MODULE_BUILD_DIR/opt/openslx/bin/sslconnect" "$MODULE_DIR/sslconnect.c" -lssl -lcrypto -O3 || perror "Could not compile sslconnect.c"
local COPYLIST="$MODULE_BUILD_DIR/list_packet_files"
# TODO: Hack for SUSE: Ignore file (/var/lib/nfs/state) that does not exist :(
list_packet_files | grep -v '/var/lib/nfs/state' | sort -u > "$COPYLIST"
tarcopy "$(cat "$COPYLIST")" "${MODULE_BUILD_DIR}"
# build pam-script separatly since we use a source tarball
# HACK: find pam_unix.so in MODULE_BUILD_DIR to see where to put pam_script at
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="$SYS_PAM_MODULES_PATH" || perror "pam-script: ./configure failed."
make DESTDIR="${MODULE_BUILD_DIR}" install || perror "pam-script: make install to ${MODULE_BUILD_DIR} failed."
# openSuse 13.1 has no package nss-pam-ldapd. So, we compile it.
if [ -n "$REQUIRED_NSS_LDAPD_URL" ]; 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
[[ $REQUIRED_BINARIES = *nslcd* ]] && [ -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"
}
post_copy() {
:
}
|