blob: 86c2f108f24e19a8691c0e0f21c4a1e7755008c4 (
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
|
_start_if_enabled() {
if systemctl -q is-enabled gogs.service ;then
echo " Starting gogs service"
systemctl start gogs.service
fi
}
_stop_if_active() {
if systemctl -q is-active gogs.service ;then
echo " Stoping gogs service"
systemctl stop gogs.service
fi
}
_disable_if_enabled() {
if systemctl -q is-enabled gogs.service 2>/dev/null ;then
echo " Disabling gogs service"
systemctl disable gogs.service
fi
}
pre_install() {
if ! getent group gogs >/dev/null; then
groupadd --system gogs
fi
if ! getent passwd gogs >/dev/null; then
useradd -r -c 'Gogs service user' -g gogs -d /srv/gogs -s /bin/bash gogs
passwd -q -l gogs
else
local _OldHome="$( getent passwd gogs | cut -d: -f6 )"
if [[ ${_OldHome} != "/srv/gogs" ]]; then
echo " Setting gogs home directory to /srv/gogs"
echo " You must migrate from ${_OldHome}"
echo " before starting or re-enabling service"
usermod -c 'Gogs service user' -g gogs -d /srv/gogs -L -s /bin/bash gogs
_disable_if_enabled
fi
fi
}
post_install(){
systemctl daemon-reload
echo " If you do not have a custom configuration files finish the setup:"
echo " 1) systemctl start gogs.service"
echo " 2) open the installation page http://$(uname -n):3000/"
echo " Otherwise:"
echo " Place your custom configuration files in /srv/gogs/custom/conf"
echo " The default configuration file is located at"
echo " /usr/share/gogs/conf/app.ini.default"
}
pre_upgrade() {
_stop_if_active
pre_install
}
post_upgrade() {
systemctl daemon-reload
local _CustConf=/srv/gogs/custom/conf/app.ini
local _OldConf=/etc/gogs/app.ini
if [[ -f ${_OldConf}.pacsave ]] && [[ ! -f ${_CustConf} ]] ; then
install -Dm0750 -d -o gogs -g gogs /srv/gogs
install -Dm0750 -d -o gogs -g gogs /srv/gogs/custom
install -Dm0750 -d -o gogs -g gogs /srv/gogs/custom/conf
install -Dm0640 -T -o gogs -g gogs ${_OldConf}.pacsave ${_CustConf}
echo " ${_OldConf} copied to"
echo " ${_CustConf}."
echo " You may need to manually delete"
echo " an old config file:"
echo " ${_OldConf}"
fi
_start_if_enabled
}
pre_remove() {
_stop_if_active
_disable_if_enabled
}
post_remove() {
if getent passwd gogs >/dev/null; then
userdel gogs
fi
if getent group gogs >/dev/null; then
groupdel gogs
fi
systemctl daemon-reload
echo " You may need to manually delete an old workdir /srv/gogs"
}
|