blob: ab4c6fda4d61e604c14c170045dbfe9e9864e510 (
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
#!/usr/bin/bash
set -e
set -o pipefail
NAME="mate-desktop"
TEMP_DIR=$(mktemp -d)
OS=$(cat /etc/os-release | grep ^ID | head -n 1 | awk -F= '{ print $2}')
TAG=$1
CACHE_DIR=$2
# Use grouped output messages
infobegin() {
echo "::group::${1}"
}
infoend() {
echo "::endgroup::"
}
# Required packages to build mate-desktop
debian_requires=(
libgirepository1.0-dev
yelp-tools
iso-codes
gobject-introspection
)
fedora_requires=(
iso-codes
gobject-introspection
)
ubuntu_requires=(
libgirepository1.0-dev
yelp-tools
iso-codes
gobject-introspection
)
requires=$(eval echo '${'"${OS}_requires[@]}")
infobegin "Install Depends for mate-desktop"
case ${OS} in
arch)
#pacman --noconfirm -Syu
#pacman --noconfirm -S ${requires[@]}
;;
debian | ubuntu)
apt-get update -qq
env DEBIAN_FRONTEND=noninteractive \
apt-get install --assume-yes --no-install-recommends ${requires[@]}
;;
fedora)
dnf update -y
dnf install -y ${requires[@]}
;;
esac
infoend
# Use cached packages first
if [ -f $CACHE_DIR/${NAME}-${TAG}.tar.xz ]; then
echo "Found cache package, reuse it"
tar -C / -Jxf $CACHE_DIR/${NAME}-${TAG}.tar.xz
else
git clone --recurse-submodules https://github.com/mate-desktop/${NAME}
# Foldable output information
infobegin "Configure"
cd ${NAME}
git checkout v${TAG}
if [[ ${OS} == "debian" || ${OS} == "ubuntu" ]]; then
./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu || {
cat config.log
exit 1
}
else
./autogen.sh --prefix=/usr || {
cat config.log
exit 1
}
fi
infoend
infobegin "Build"
make -j ${JOBS}
infoend
infobegin "Install"
make install
infoend
# Cache this package version
infobegin "Cache"
[ -d ${CACHE_DIR} ] || mkdir -p ${CACHE_DIR}
make install DESTDIR=${TEMP_DIR}
cd $TEMP_DIR
tar -J -cf $CACHE_DIR/${NAME}-${TAG}.tar.xz *
infoend
fi
|