Skip to content

Commit 1d06df3

Browse files
Update and rename download-install-web-eid.sh to install-web-eid.sh (#55)
Signed-off-by: Kristel Merilain <[email protected]>
1 parent 5083fe4 commit 1d06df3

File tree

2 files changed

+231
-156
lines changed

2 files changed

+231
-156
lines changed

example/src/main/resources/static/scripts/download-install-web-eid.sh

Lines changed: 0 additions & 156 deletions
This file was deleted.
Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
#!/bin/sh
2+
# This script configures .deb based Linux repositories
3+
# License: public domain
4+
# Script https://github.com/open-eid/linux-installer
5+
# See wiki https://github.com/open-eid/linux-installer/wiki/Linux-Packages
6+
set -e
7+
8+
# Key used for signing releases
9+
RIA_KEY="""-----BEGIN PGP PUBLIC KEY BLOCK-----
10+
Comment: GPGTools - https://gpgtools.org
11+
12+
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
58+
K2czbpReKw==
59+
=aSyh
60+
-----END PGP PUBLIC KEY BLOCK-----
61+
"""
62+
63+
add_key() {
64+
# keystring=`echo "$RIA_KEY" | gpg` # XXX: can't be automated, gpg always creates files on disk
65+
keystring="0xC6C83D68 'RIA Software Signing Key <[email protected]>'"
66+
echo "Adding key to trusted key set"
67+
echo "$keystring"
68+
echo "$RIA_KEY" | gpg --dearmor | sudo tee /usr/share/keyrings/ria-repository.gpg > /dev/null
69+
}
70+
71+
test_sudo() {
72+
if ! command -v sudo>/dev/null; then
73+
make_fail "You must have sudo and be in sudo group\nAs root do: apt install sudo && adduser $USER sudo"
74+
fi
75+
}
76+
77+
test_root() {
78+
if test $(id -u) -eq 0; then
79+
echo "You run this script as root. DO NOT RUN RANDOM SCRIPTS AS ROOT."
80+
exit 2
81+
fi
82+
}
83+
84+
# add the given repository into /etc/apt/sources.list.d
85+
add_repository() {
86+
umask 0022
87+
echo "Adding RIA repository to APT sources list (/etc/apt/sources.list.d/ria-repository.list)"
88+
echo "deb [signed-by=/usr/share/keyrings/ria-repository.gpg] https://installer.id.ee/media/ubuntu/ $1 main" | sudo tee /etc/apt/sources.list.d/ria-repository.list
89+
}
90+
91+
make_install() {
92+
echo "Installing software (apt update && apt install web-eid)"
93+
sudo apt update
94+
sudo apt install "$@"
95+
}
96+
97+
make_fail() {
98+
echo "$1"
99+
exit 3
100+
}
101+
102+
make_warn() {
103+
echo "### $1"
104+
echo "Press ENTER to continue, CTRL-C to cancel"
105+
read -r dummy
106+
}
107+
108+
### Install Estonian ID card software
109+
110+
# check for Debian derivative.
111+
if ! command -v lsb_release>/dev/null; then
112+
make_fail "# Not a Debian Linux :("
113+
fi
114+
115+
# we use sudo
116+
test_root
117+
test_sudo
118+
119+
# version name LTS supported until
120+
# 20.04 focal LTS 2025-04
121+
# 22.04 jammy LTS 2027-04
122+
# 24.04 noble - 2029-04
123+
LATEST_SUPPORTED_UBUNTU_CODENAME='noble'
124+
125+
# check if Debian or Ubuntu
126+
distro=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
127+
release=$(lsb_release -rs)
128+
codename=$(lsb_release -cs)
129+
130+
case $distro in
131+
debian)
132+
make_warn "Debian is not officially supported"
133+
echo "### Installing possibly missing https support for APT (apt install apt-transport-https)"
134+
# Debian lacks https support for apt, by default
135+
sudo apt install apt-transport-https
136+
case "$codename" in
137+
bullseye)
138+
make_warn "Debian $codename is not officially supported"
139+
make_warn "Installing from ubuntu-focal repository"
140+
add_repository focal
141+
;;
142+
bookworm)
143+
make_warn "Debian $codename is not officially supported"
144+
make_warn "Installing from ubuntu-jammy repository"
145+
add_repository jammy
146+
;;
147+
*)
148+
make_fail "Debian $codename is not officially supported"
149+
;;
150+
esac
151+
;;
152+
ubuntu|neon|zorin)
153+
case $distro in
154+
neon) make_warn "Neon is not officially supported; assuming that it is equivalent to Ubuntu" ;;
155+
*) ;;
156+
esac
157+
case $codename in
158+
utopic|vivid|wily|trusty|artful|cosmic|disco|xenial|eoan|groovy|hirsute|impish|bionic|zorin|kinetic|lunar|mantic)
159+
make_fail "Ubuntu $codename is not officially supported"
160+
;;
161+
focal|jammy|noble)
162+
add_repository $codename
163+
;;
164+
*)
165+
make_warn "Ubuntu $codename is not officially supported"
166+
make_warn "Trying to install package for Ubuntu ${LATEST_SUPPORTED_UBUNTU_CODENAME}"
167+
add_repository ${LATEST_SUPPORTED_UBUNTU_CODENAME}
168+
;;
169+
esac
170+
;;
171+
linuxmint)
172+
case $release in
173+
22*)
174+
make_warn "Linux Mint 22 is not officially supported"
175+
add_repository noble
176+
;;
177+
21*)
178+
make_warn "Linux Mint 21 is not officially supported"
179+
add_repository jammy
180+
;;
181+
20*)
182+
make_warn "Linux Mint 20 is not officially supported"
183+
add_repository focal
184+
;;
185+
*)
186+
make_fail "Linux Mint $release is not officially supported"
187+
;;
188+
esac
189+
;;
190+
elementary*os|elementary)
191+
case $release in
192+
7*)
193+
make_warn "Elementary OS 7 is not officially supported"
194+
add_repository jammy
195+
;;
196+
*)
197+
make_fail "Elementary OS $release is not officially supported"
198+
;;
199+
esac
200+
;;
201+
pop)
202+
case $codename in
203+
artful|cosmic|disco|eoan|bionic)
204+
make_fail "Pop!_OS $codename is not officially supported"
205+
;;
206+
focal|jammy)
207+
make_warn "Pop!_OS $codename is not officially supported"
208+
add_repository $codename
209+
;;
210+
*)
211+
make_warn "Pop!_OS $codename is not officially supported"
212+
make_warn "Trying to install package for Pop!_OS ${LATEST_SUPPORTED_UBUNTU_CODENAME}"
213+
add_repository ${LATEST_SUPPORTED_UBUNTU_CODENAME}
214+
;;
215+
esac
216+
;;
217+
*)
218+
make_fail "$distro is not supported :("
219+
;;
220+
esac
221+
222+
add_key
223+
make_install web-eid
224+
225+
echo
226+
echo "Thank you for using Estonian ID card!"
227+
read -p "Would you like to read instructions on how to configure browsers for using ID-card? (Y/n): " instructions
228+
case $instructions in
229+
[Yy]*|"" ) xdg-open "https://www.id.ee/en/article/ubuntu-id-software-installation-updating-and-removal/#removing-mozilla-firefox";;
230+
* ) ;;
231+
esac

0 commit comments

Comments
 (0)