Bug 53382

Summary: Для указания `db_password` требуется редактировать скрипт из пакета, в отличие от `db_user` и `db_name`
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: bacula15Assignee: Alexei Takaseev <taf>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: taf
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Artem Varaksa 2025-03-10 15:56:45 MSK
Шаги
====

0. # export BACULA=15 POSTGRESQL=17
1. # apt-get install -y mt-st postgresql$POSTGRESQL-server bacula$BACULA-{common,console,storage,client,director-{common,postgresql}}

Фактический результат
=====================

`db_password` задается в скрипте всегда - не изменяя скрипт, не пустой пароль задать нельзя.

> # cat /usr/share/bacula/scripts/grant_postgresql_privileges
> ...
> db_user=${db_user:-bacula}
> bindir=/usr/bin
> PATH="$PATH:$bindir"
> db_name=${db_name:-bacula}
> db_password=
> if [ "$db_password" != "" ]; then
>    pass="password '$db_password'"
> fi

При этом `db_user` и `db_name` задать можно.

# export db_user=1 db_name=2 db_password=3 && sh -x /usr/share/bacula/scripts/grant_postgresql_privileges
> + db_user=1
> + bindir=/usr/bin
> + PATH=/root/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/games:/usr/bin
> + db_name=2
> + db_password=
> ...

Примечание: запускаю так для демонстрации ошибки, обычно необходимо запускать скрипт *_bacula_* (https://bugzilla.altlinux.org/53381).

Ожидаемый результат
===================

> # cat /usr/share/bacula/scripts/grant_postgresql_privileges
> ...
> db_password=${db_password:-}
> ...

Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[p11+375453] [sisyphus] ALT Server 11.0 beta20250213 x86_64
bacula15-common-15.0.2-alt2.x86_64
postgresql17-server-17.4-alt1.x86_64

[p11] ALT Server 11.0 beta20250213 x86_64
bacula13-common-13.0.4-alt2.x86_64
postgresql17-server-17.4-alt1.x86_64
Comment 1 Artem Varaksa 2025-03-10 16:00:26 MSK
Аналогично для grant_mysql_privileges.