-
Notifications
You must be signed in to change notification settings - Fork 11
/
ci-update-apt
executable file
·168 lines (157 loc) · 4.3 KB
/
ci-update-apt
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#!/bin/citbash
# ENTRY POINT (old / done)
set -e
source $CITHOME/ci-update-libs
$CITHOME/ci-update-common
export DEBIAN_FRONTEND=noninteractive
apt-get update --allow-releaseinfo-change || apt-get update
apt-get -y dist-upgrade
apt-get -y autoremove
required_pkg asciidoc
required_pkg autoconf
required_pkg autopoint
required_pkg autotools-dev
required_pkg bison
required_pkg build-essential
required_pkg byacc
required_pkg check
required_pkg chrpath
required_pkg clang
required_pkg cluster-glue-dev
required_pkg curl
required_pkg docbook-xsl
required_pkg doxygen
required_pkg flex
required_pkg gcc
required_pkg gettext
required_pkg git
required_pkg groff
required_pkg help2man
required_pkg jq
required_pkg libaio-dev
required_pkg libblkid-dev
required_pkg libbz2-dev
required_pkg libcgroup-dev
required_pkg libcmocka-dev
required_pkg libcurl4-openssl-dev
required_pkg libdbus-1-dev
required_pkg libgcrypt-dev
required_pkg libglib2.0-dev
required_pkg libgnutls28-dev
required_pkg libltdl-dev
required_pkg liblz4-dev
required_pkg liblzma-dev
required_pkg liblzo2-dev
required_pkg libncurses-dev
required_pkg libnl-3-dev
required_pkg libnl-route-3-dev
required_pkg libnspr4-dev
required_pkg libnss3-dev
required_pkg libnss3-tools
required_pkg libopenipmi-dev
required_pkg libpam0g-dev
required_pkg libqb-dev
required_pkg libsctp-dev
required_pkg libsnmp-dev
required_pkg libssl-dev
required_pkg libsystemd-dev
required_pkg libtool
required_pkg libtool-bin
required_pkg libvirt-dev
required_pkg libxml2-dev
required_pkg libxml2-utils
required_pkg libxslt1-dev
required_pkg libzstd-dev
required_pkg make
required_pkg perl
required_pkg pkg-config
required_pkg psmisc
required_pkg puma
required_pkg python3-boto3
required_pkg python3-dateutil
required_pkg python3-cryptography
required_pkg python3-dev
required_pkg python3-googleapi
required_pkg python3-lxml
required_pkg python3-pexpect
required_pkg python3-pip
required_pkg python3-psutil
required_pkg python3-pyagentx
required_pkg python3-pycurl
required_pkg python3-pyparsing
required_pkg python3-requests
required_pkg python3-setuptools
required_pkg python3-setuptools-scm
required_pkg python3-suds
required_pkg python3-systemd
required_pkg python3-tornado
required_pkg python3-venv
required_pkg python3-wheel
required_pkg rsync
required_pkg ruby
required_pkg ruby-backports
required_pkg ruby-bundler
required_pkg ruby-childprocess
required_pkg ruby-daemons
required_pkg ruby-dev
required_pkg ruby-ethon
required_pkg ruby-eventmachine
required_pkg ruby-ffi
required_pkg ruby-json
required_pkg ruby-mustermann
required_pkg ruby-open4
required_pkg ruby-rack
required_pkg ruby-rack-protection
required_pkg ruby-rack-test
required_pkg ruby-ruby2-keywords
required_pkg ruby-sinatra
required_pkg ruby-test-unit
required_pkg shellcheck
required_pkg time
required_pkg uuid-dev
required_pkg uuid-runtime
required_pkg xsltproc
required_pkg zlib1g-dev
optional_pkg inkscape
optional_pkg llvm
optional_pkg python3-dacite
optional_pkg python3-distro
optional_pkg ruby-rack-session
optional_pkg ruby-rackup
optional_pkg valgrind
case "${NODE_NAME}" in
debian-12*|ubuntu-20-04*|ubuntu-22-04*)
;;
*)
required_pkg systemd-dev
;;
esac
apt-get -y install $REQUIRED_PKGS
for PKG in $OPTIONAL_PKGS; do apt-get -y install $PKG || true; done
# Some alternative architecture packages cannot be installed at the same time
# as the x86_64 equivalent, so install them separately
if [ -n "$EXTRA_ARCH" ]; then
dpkg --add-architecture $EXTRA_ARCH
apt-get update
REQUIRED_PKGS="" # Clear existing list
required_pkg crossbuild-essential-$EXTRA_ARCH
required_pkg libbz2-dev:$EXTRA_ARCH
required_pkg libgcrypt-dev:$EXTRA_ARCH
required_pkg liblz4-dev:$EXTRA_ARCH
required_pkg liblzma-dev:$EXTRA_ARCH
required_pkg liblzo2-dev:$EXTRA_ARCH
required_pkg libnl-3-dev:$EXTRA_ARCH
required_pkg libnl-route-3-dev:$EXTRA_ARCH
required_pkg libnspr4-dev:$EXTRA_ARCH
required_pkg libnss3-dev:$EXTRA_ARCH
required_pkg libsctp-dev:$EXTRA_ARCH
required_pkg libssl-dev:$EXTRA_ARCH
required_pkg libzstd-dev:$EXTRA_ARCH
required_pkg pkg-config:$EXTRA_ARCH
required_pkg pkgconf:$EXTRA_ARCH
required_pkg zlib1g-dev:$EXTRA_ARCH
apt-get -y install $REQUIRED_PKGS
fi
apt-get -y clean
getent group haclient >/dev/null || addgroup --system haclient
getent passwd hacluster >/dev/null || adduser --system --ingroup haclient --gecos "cluster user" --no-create-home hacluster