blob: d43c677cf59b10abc30d1e8b427fab657271e6c1 (
plain)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# Maintainer: Dāvis Mosāns <davispuh at gmail dot com>
pkgname=opendj
pkgver=4.6.1
pkgrel=2
pkgdesc="OpenDJ is an LDAPv3 compliant directory service"
arch=("any")
url="https://www.openidentityplatform.org/opendj"
license=("CDDL")
depends=("java-runtime" "sh")
makedepends=("unzip" "sed" "coreutils")
source=("https://github.com/OpenIdentityPlatform/OpenDJ/releases/download/$pkgver/opendj-$pkgver.zip"
"opendj-check-config"
"opendj.service"
"opendj.sysusers"
"opendj.tmpfiles")
sha256sums=("ebd59892bee370fe6ce5ed9490b3816166150c0dba24cdc22c295a996fddd4c6"
"00536b0e88b0ba3ee3d7f5ddd41a07daad6d796fa0d57f4eba60f7a55d075c07"
"70e16da40fc2971dbb9b9c8872f345b3895e510ce8e9accb6c4ccf6aa2cae6ed"
"cf710b63f2766563b8db39669708907d5b3873d58cef5226f02c1d3599a0128b"
"1954fb1584c3e541d941d582ebcfc35c3d07044e5813ba2f712c531e3a5a0011")
fix_script() {
script="$1"
sed -i '/^cd "`dirname "${0}"`"/d' "$script"
sed -i "/^cd ../d" "$script"
sed -i "s|\SCRIPT_DIR=.*|SCRIPT_DIR=/usr/share/opendj/bin|" "$script"
sed -i "s|\${SCRIPT_DIR}/../lib/|/usr/share/opendj/lib/|" "$script"
sed -i "s|\${SCRIPT_DIR}/lib/|/usr/share/opendj/lib/|" "$script"
sed -i "s|^INSTALL_ROOT=.*|INSTALL_ROOT=/usr/share/opendj|" "$script"
sed -i "s|\${INSTANCE_ROOT}/lib/|/usr/share/java/opendj/|" "$script"
sed -i "s|\${INSTALL_ROOT}/lib/\(.*\).jar|/usr/share/java/opendj/\\1.jar|" "$script"
# Hack... Some OpenDJ tools determine install dir based on Java classpath
# So we just add this fake entry to make it work
sed -i "s|CLASSPATH=\"\${INSTANCE_ROOT}/classes\"|CLASSPATH=\"\${INSTANCE_ROOT}/classes:/usr/share/opendj/lib/bootstrap-client.jar\"|" "$script"
}
package() {
cd "$srcdir/opendj"
bindir="$pkgdir/usr/bin/"
sharedir="/usr/share/opendj/"
dest="$pkgdir$sharedir"
jardir="/usr/share/java/opendj/"
jardest="$pkgdir$jardir"
mkdir -p "$bindir" "$dest" "$jardest"
cp lib/*.jar -t "$jardest"
cp -r lib/extensions "$jardest"
cp -r * "$dest"
rm -rf "$dest"{bat,bin,lib,*.bat,QuickSetup.app,Uninstall.app,uninstall*}
mkdir -p "$dest"bin "$dest"lib
cp lib/*.sh "$dest"lib/
ln -s "$jardir"extensions "$dest"lib/extensions
fix_script "$dest"setup
fix_script "$dest"upgrade
sed -i "/export SCRIPT_NAME/a SCRIPT_ARGS=\"-Dorg.opends.quicksetup.Root=/usr/share/opendj/ \${SCRIPT_ARGS}\"" "$dest"setup
for script in "$dest"lib/*.sh; do
fix_script "$script"
done
for script in bin/*; do
if [ -f "$script" ] && [ "$script" != "bin/create-rc-script" ]; then
name=$(basename "$script")
cp "$script" "$dest$script"
fix_script "$dest$script"
ln -s "${sharedir}bin/$name" "${bindir}opendj-$name"
fi
done
echo "/var/lib/opendj" > "${dest}instance.loc"
install -Dm 755 "../opendj-check-config" -t "${bindir}"
install -Dm 644 "../opendj.service" -t "${pkgdir}/usr/lib/systemd/system"
install -Dm 644 "../opendj.sysusers" "${pkgdir}/usr/lib/sysusers.d/opendj.conf"
install -Dm 644 "../opendj.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/opendj.conf"
chmod -R u+rwX,go+rX "$dest"
}
|