Skip to content

Commit ef8df7c

Browse files
Vitexusclaude
andcommitted
fix: create multiflexi.env from database.env when it does not exist
update-multiflexi-env only synced keys into multiflexi.env when it already existed, doing nothing on fresh installs where only multiflexi-sqlite (not the full multiflexi web app) is present. Now it copies database.env to multiflexi.env when the latter is missing, so multiflexi-cli can find its config immediately after the database backend is configured. Also call update-multiflexi-env from multiflexi-sqlite.postinst right after dbc_go creates database.env, so the ordering is correct: sqlite postinst creates database.env → update-multiflexi-env creates multiflexi.env → dependent packages' postinst scripts can call multiflexi-cli successfully. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 59050d1 commit ef8df7c

2 files changed

Lines changed: 22 additions & 16 deletions

File tree

bin/update-multiflexi-env

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,25 @@
44
DB_ENV="/etc/multiflexi/database.env"
55
MF_ENV="/etc/multiflexi/multiflexi.env"
66

7-
if [ -f "$DB_ENV" ] && [ -f "$MF_ENV" ]; then
8-
# Read all keys from database.env
9-
while IFS='=' read -r key value; do
10-
# Skip empty lines and comments
11-
[[ -z "$key" || "$key" =~ ^# ]] && continue
12-
# Remove possible export
13-
key="${key#export }"
14-
# Remove whitespace
15-
key="$(echo "$key" | xargs)"
16-
# Update or add the key in multiflexi.env
17-
if grep -qE "^$key=" "$MF_ENV"; then
18-
sed -i "s|^$key=.*|$key=$value|" "$MF_ENV"
19-
else
20-
echo "$key=$value" >> "$MF_ENV"
21-
fi
22-
done < "$DB_ENV"
7+
if [ -f "$DB_ENV" ]; then
8+
if [ ! -f "$MF_ENV" ]; then
9+
mkdir -p "$(dirname "$MF_ENV")"
10+
cp "$DB_ENV" "$MF_ENV"
11+
else
12+
# Read all keys from database.env
13+
while IFS='=' read -r key value; do
14+
# Skip empty lines and comments
15+
[[ -z "$key" || "$key" =~ ^# ]] && continue
16+
# Remove possible export
17+
key="${key#export }"
18+
# Remove whitespace
19+
key="$(echo "$key" | xargs)"
20+
# Update or add the key in multiflexi.env
21+
if grep -qE "^$key=" "$MF_ENV"; then
22+
sed -i "s|^$key=.*|$key=$value|" "$MF_ENV"
23+
else
24+
echo "$key=$value" >> "$MF_ENV"
25+
fi
26+
done < "$DB_ENV"
27+
fi
2328
fi

debian/multiflexi-sqlite.postinst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ set -e
3030

3131
dbc_go multiflexi "$@"
3232

33+
update-multiflexi-env
3334

3435
if [ -z "$MULTIFLEXI_NOMIGRATE" ]; then
3536
multiflexi-migrator

0 commit comments

Comments
 (0)