Skip to content

Commit a739987

Browse files
committed
hooks/conf_regen: Fix some shellcheck
1 parent 4ddc141 commit a739987

File tree

3 files changed

+36
-28
lines changed

3 files changed

+36
-28
lines changed

hooks/conf_regen/06-slapd

+27-19
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1919
#
2020

21-
set -e
21+
# Exit hook on subcommand error or unset variable
22+
set -Eeuo pipefail
2223

2324
tmp_backup_dir_file="/root/slapd-backup-dir.txt"
2425

@@ -101,13 +102,14 @@ do_pre_regen() {
101102
rm -f "$tmp_backup_dir_file"
102103

103104
# Define if we need to migrate from hdb to mdb
104-
curr_backend=$(grep '^database' /etc/ldap/slapd.conf 2> /dev/null | awk '{print $2}')
105-
if [ -e /etc/ldap/slapd.conf ] && [ -n "$curr_backend" ] \
106-
&& [ $curr_backend != 'mdb' ]; then
107-
backup_dir="/var/backups/dc=yunohost,dc=org-${curr_backend}-$(date +%s)"
108-
mkdir -p "$backup_dir"
109-
slapcat -b dc=yunohost,dc=org -l "${backup_dir}/dc=yunohost-dc=org.ldif"
110-
echo "$backup_dir" > "$tmp_backup_dir_file"
105+
if [ -e /etc/ldap/slapd.conf ]; then
106+
curr_backend=$(grep '^database' /etc/ldap/slapd.conf | awk '{print $2}')
107+
if [ "$curr_backend" != 'mdb' ]; then
108+
backup_dir="/var/backups/dc=yunohost,dc=org-${curr_backend}-$(date +%s)"
109+
mkdir -p "$backup_dir"
110+
slapcat -b dc=yunohost,dc=org -l "${backup_dir}/dc=yunohost-dc=org.ldif"
111+
echo "$backup_dir" > "$tmp_backup_dir_file"
112+
fi
111113
fi
112114

113115
# create needed directories
@@ -121,8 +123,8 @@ do_pre_regen() {
121123
cp -a ldap.conf "$ldap_dir"
122124
cp -a sudo.ldif mailserver.ldif permission.ldif "$schema_dir"
123125

124-
mkdir -p ${pending_dir}/etc/systemd/system/slapd.service.d/
125-
cp systemd-override.conf ${pending_dir}/etc/systemd/system/slapd.service.d/ynh-override.conf
126+
mkdir -p "$pending_dir/etc/systemd/system/slapd.service.d/"
127+
cp systemd-override.conf "$pending_dir/etc/systemd/system/slapd.service.d/ynh-override.conf"
126128

127129
install -D -m 644 slapd.default "${pending_dir}/etc/default/slapd"
128130
}
@@ -139,7 +141,9 @@ do_post_regen() {
139141

140142
# Fix weird scenarios where /etc/sudo-ldap.conf doesn't exists (yet is supposed to be
141143
# created by the sudo-ldap package) : https://github.com/YunoHost/issues/issues/2091
142-
[ -e /etc/sudo-ldap.conf ] || ln -s /etc/ldap/ldap.conf /etc/sudo-ldap.conf
144+
if [ ! -e /etc/sudo-ldap.conf ]; then
145+
ln -s /etc/ldap/ldap.conf /etc/sudo-ldap.conf
146+
fi
143147

144148
# If we changed the systemd ynh-override conf
145149
if echo "$regen_conf_files" | sed 's/,/\n/g' | grep -q "^/etc/systemd/system/slapd.service.d/ynh-override.conf$"; then
@@ -162,19 +166,23 @@ objectClass: top"
162166
nscd -i group
163167
fi
164168
165-
[ -z "$regen_conf_files" ] && exit 0
169+
if [ -z "$regen_conf_files" ]; then
170+
exit 0
171+
fi
166172
167173
# regenerate LDAP config directory from slapd.conf
168174
echo "Regenerate LDAP config directory from config.ldif"
169175
_regenerate_slapd_conf
170176
171177
# If there's a backup, re-import its data
172-
backup_dir=$(cat "$tmp_backup_dir_file" 2> /dev/null || true)
173-
if [[ -n "$backup_dir" && -f "${backup_dir}/dc=yunohost-dc=org.ldif" ]]; then
174-
# regenerate LDAP config directory and import database as root
175-
echo "Import the database using slapadd"
176-
slapadd -F /etc/ldap/slapd.d -b dc=yunohost,dc=org -l "${backup_dir}/dc=yunohost-dc=org.ldif"
177-
chown -R openldap:openldap /var/lib/ldap 2>&1
178+
if [ -f "$tmp_backup_dir_file" ]; then
179+
backup_dir=$(cat "$tmp_backup_dir_file")
180+
if [[ -n "$backup_dir" && -f "${backup_dir}/dc=yunohost-dc=org.ldif" ]]; then
181+
# regenerate LDAP config directory and import database as root
182+
echo "Import the database using slapadd"
183+
slapadd -F /etc/ldap/slapd.d -b dc=yunohost,dc=org -l "${backup_dir}/dc=yunohost-dc=org.ldif"
184+
chown -R openldap:openldap /var/lib/ldap 2>&1
185+
fi
178186
fi
179187
180188
echo "Running slapdindex"
@@ -184,4 +192,4 @@ objectClass: top"
184192
systemctl force-reload slapd
185193
}
186194
187-
do_$1_regen ${@:2}
195+
"do_$1_regen" "${@:2}"

hooks/conf_regen/09-nslcd

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1919
#
2020

21-
set -e
21+
# Exit hook on subcommand error or unset variable
22+
set -Eeuo pipefail
2223

2324
do_init_regen() {
2425
do_pre_regen ""
@@ -40,4 +41,4 @@ do_post_regen() {
4041
|| systemctl restart nslcd
4142
}
4243

43-
do_$1_regen ${@:2}
44+
"do_$1_regen" "${@:2}"

hooks/conf_regen/10-apt

+6-7
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
# along with this program. If not, see <http://www.gnu.org/licenses/>.
1919
#
2020

21-
set -e
21+
# Exit hook on subcommand error or unset variable
22+
set -Eeuo pipefail
2223

2324
readonly YNH_DEFAULT_PHP_VERSION=8.2
2425

@@ -28,7 +29,7 @@ do_pre_regen() {
2829
mkdir --parents "${pending_dir}/etc/apt/preferences.d"
2930

3031
# Add sury
31-
mkdir -p ${pending_dir}/etc/apt/sources.list.d/
32+
mkdir -p "$pending_dir/etc/apt/sources.list.d/"
3233
echo "deb [signed-by=/etc/apt/trusted.gpg.d/extra_php_version.gpg] https://packages.sury.org/php/ $(lsb_release --codename --short) main" > "${pending_dir}/etc/apt/sources.list.d/extra_php_version.list"
3334

3435
# Ban some packages from sury
@@ -91,11 +92,9 @@ Pin-Priority: -1
9192
}
9293

9394
do_post_regen() {
94-
regen_conf_files=$1
95-
9695
# Purge expired keys (such as sury 95BD4743)
97-
EXPIRED_KEYS="$(LC_ALL='en_US.UTF-8' apt-key list 2> /dev/null | grep -A1 'expired:' | grep -v 'expired\|^-' | sed 's/\s//g')"
98-
for KEY in $EXPIRED_KEYS; do apt-key del $KEY 2> /dev/null; done
96+
EXPIRED_KEYS="$(LC_ALL='en_US.UTF-8' apt-key list 2> /dev/null | grep -A1 'expired:' | grep -v 'expired\|^-' | sed 's/\s//g' || true)"
97+
for KEY in $EXPIRED_KEYS; do apt-key del "$KEY" 2> /dev/null; done
9998

10099
# Add sury key
101100
# We do this only at the post regen and if the key doesn't already exists, because we don't want the regenconf to fuck everything up if the regenconf runs while the network is down
@@ -114,4 +113,4 @@ do_post_regen() {
114113
fi
115114
}
116115

117-
do_$1_regen ${@:2}
116+
"do_$1_regen" "${@:2}"

0 commit comments

Comments
 (0)