-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPKGBUILD
79 lines (68 loc) · 3.58 KB
/
PKGBUILD
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
# Maintainer: François Garillot ("huitseeker") <francois [at] garillot.net>
# Contributor: Christian Krause ("wookietreiber") <kizkizzbangbang@gmail.com>
# Contributor: Emanuel Fontelles ("emanuelfontelles") <emanuelfontelles@hotmail.com>
# Contributor: Manoel Vilela ("ryukinix") <manoel_vilela@engineer.com>
pkgname=apache-spark
pkgver=3.0.0
pkgrel=1
pkgdesc="fast and general engine for large-scale data processing"
arch=('any')
url="http://spark.apache.org"
license=('APACHE')
depends=('java-environment>=6' 'java-environment<9')
optdepends=('python2: python2 support for pyspark'
'ipython2: ipython2 support for pyspark'
'python: python3 support for pyspark'
'ipython: ipython3 support for pyspark'
'r: support for sparkR'
'rsync: support rsync hadoop binaries from master'
'hadoop: support for running on YARN')
install=apache-spark.install
source=("https://archive.apache.org/dist/spark/spark-${pkgver}-preview2/spark-${pkgver}-preview2-bin-hadoop2.7.tgz"
'apache-spark-master.service'
'apache-spark-slave@.service'
'spark-env.sh'
'spark-daemon-run.sh'
'run-master.sh'
'run-slave.sh')
sha1sums=('9aa3ef53c3e7b05a521d9669765ce480743d1beb'
'ac71d12070a9a10323e8ec5aed4346b1dd7f21c6'
'a191e4f8f7f8bbc596f4fadfb3c592c3efbc4fc0'
'3fa39d55075d4728bd447692d648053c9f6b07ec'
'08557d2d5328d5c99e533e16366fd893fffaad78'
'323445b8d64aea0534a2213d2600d438f406855b'
'65b1bc5fce63d1fa7a1b90f2d54a09acf62012a4')
backup=('etc/apache-spark/spark-env.sh')
PKGEXT=${PKGEXT:-'.pkg.tar.xz'}
prepare() {
cd "$srcdir/spark-${pkgver}-preview2-bin-hadoop2.7"
}
package() {
cd "$srcdir/spark-${pkgver}-preview2-bin-hadoop2.7"
install -d "$pkgdir/usr/bin" "$pkgdir/opt" "$pkgdir/var/log/apache-spark" "$pkgdir/var/lib/apache-spark/work"
chmod 2775 "$pkgdir/var/log/apache-spark" "$pkgdir/var/lib/apache-spark/work"
cp -r "$srcdir/spark-${pkgver}-preview2-bin-hadoop2.7" "$pkgdir/opt/apache-spark/"
cd "$pkgdir/usr/bin"
for binary in beeline pyspark sparkR spark-class spark-shell find-spark-home spark-sql spark-submit load-spark-env.sh; do
binpath="/opt/apache-spark/bin/$binary"
ln -s "$binpath" $binary
sed -i 's|^export SPARK_HOME=.*$|export SPARK_HOME=/opt/apache-spark|' "$pkgdir/$binpath"
sed -i -Ee 's/\$\(dirname "\$0"\)/$(dirname "$(readlink -f "$0")")/g' "$pkgdir/$binpath"
done
mkdir -p $pkgdir/etc/profile.d
echo '#!/bin/sh' > $pkgdir/etc/profile.d/apache-spark.sh
echo 'SPARK_HOME=/opt/apache-spark' >> $pkgdir/etc/profile.d/apache-spark.sh
echo 'export SPARK_HOME' >> $pkgdir/etc/profile.d/apache-spark.sh
chmod 755 $pkgdir/etc/profile.d/apache-spark.sh
install -Dm644 "$srcdir/apache-spark-master.service" "$pkgdir/usr/lib/systemd/system/apache-spark-master.service"
install -Dm644 "$srcdir/apache-spark-slave@.service" "$pkgdir/usr/lib/systemd/system/apache-spark-slave@.service"
install -Dm644 "$srcdir/spark-env.sh" "$pkgdir/etc/apache-spark/spark-env.sh"
for script in run-master.sh run-slave.sh spark-daemon-run.sh; do
install -Dm755 "$srcdir/$script" "$pkgdir/opt/apache-spark/sbin/$script"
done
install -Dm644 "$srcdir/spark-${pkgver}-preview2-bin-hadoop2.7/conf"/* "$pkgdir/etc/apache-spark"
cd "$pkgdir/opt/apache-spark"
mv conf conf-templates
ln -sf "/etc/apache-spark" conf
ln -sf "/var/lib/apache-spark/work" .
}