--- /dev/null
+home=/home/sympa
+
+"$tool"/local/runit-sv-configure postgres
+"$tool"/local/runit-sv-start postgres
+while ! sudo -u postgres psql </dev/null
+do sleep 1; done
+~postgres/bin/createuser "$sv"
+sudo -u postgres psql template1 -a -f - <<-EOF
+ \set ON_ERROR_STOP on
+ -- NOTE: pour /usr/share/sympa/lib/Upgrade.pm
+ -- appelant DBI->tables
+ GRANT USAGE ON SCHEMA pg_catalog TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_class TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_description TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_namespace TO $sv;
+ GRANT SELECT ON TABLE pg_catalog.pg_tablespace TO $sv;
+ -- NOTE: pour /usr/share/sympa/bin/create_db.Pg
+ -- CREATE SCHEMA $sv AUTHORIZATION $sv;
+ -- XXX: ne fonctionne pas à cause de cette vermine :
+ -- https://sourcesup.renater.fr/tracker/index.php?func=detail&aid=7459&group_id=23&atid=167
+ -- du coup on met les tables de SYMPA dans le schema public :
+ GRANT USAGE,CREATE ON SCHEMA public TO $sv;
+ EOF
+
+"$tool"/local/adduser "$sv" \
+ --disabled-login \
+ --disabled-password \
+ --group \
+ --home "$home" \
+ --shell /bin/false \
+ --system
+sudo adduser sympa postgres-data
+
+sudo install -d -m 770 -o "$sv" -g "$sv" \
+ "$home" \
+ "$home"/list_data \
+ "$home"/spool
+sudo install -d -m 755 -o root -g root \
+ /etc/sympa \
+ /etc/sympa/x509.d
+sudo install -m 644 -o root -g root \
+ /dev/stdin \
+ /etc/sympa/.gitignore <<-EOF
+ key_passwd
+ EOF
+m4 \
+ --define=VM_DOMAINNAME="$vm_domainname" \
+ --define=HOME="$home" \
+ "$tool"/etc/sympa/sympa.conf.m4 |
+sudo install -m 640 -o "$sv" -g "$sv" /dev/stdin \
+ /etc/sympa/sympa.conf
+sudo install -m 644 -o "$sv" -g "$sv" /dev/stdin \
+ /etc/sympa/facility <<-EOF
+ mail
+ EOF
+
+for host in $(find "$tool"/etc/sympa/host.d \
+ -mindepth 1 -maxdepth 1 -type d \
+ -printf '%f\n')
+ do
+ sudo install -d -m 770 -o "$sv" -g "$sv" \
+ /etc/sympa/"$host"
+ m4 \
+ --define=HOST="$host" \
+ "$tool"/etc/sympa/host.d/"$host"/robot.conf.m4 |
+ sudo install -m 440 -o "$sv" -g "$sv" /dev/stdin \
+ /etc/sympa/"$host"/robot.conf
+ sudo install -d -m 770 -o "$sv" -g "$sv" \
+ "$home"/list_data/"$host"
+ done
+
+sudo debconf-set-selections <<-EOF || true
+ sympa sympa/app-password-confirm password
+ sympa sympa/password-confirm password
+ # Mot de passe de connexion PostgreSQL pour sympa :
+ sympa sympa/dbconfig-install boolean true
+ sympa sympa/pgsql/app-pass password
+ ##sympa sympa/mysql/admin-pass password
+ sympa sympa/pgsql/admin-pass password
+ # Mot de passe de connexion MySQL pour sympa :
+ ##sympa sympa/mysql/app-pass password
+ # Faut-il configurer la base de données de sympa avec dbconfig-common ?
+ sympa sympa/dbconfig-install boolean true
+ # Nom d'hôte du serveur pour sympa :
+ sympa sympa/remote/newhost string
+ sympa sympa/listmaster string postmaster@$vm_domainname
+ sympa wwsympa/wwsympa_url string https://$sv.$vm_domainname/wws
+ sympa wwsympa/webserver_restart boolean false
+ sympa sympa/remote/port string
+ sympa sympa/pgsql/manualconf note
+ # Faut-il sauvegarder la base de données pour sympa avant la mise à jour ?
+ sympa sympa/upgrade-backup boolean true
+ sympa sympa/pgsql/changeconf boolean false
+ # Nom d'hôte du serveur « sympa » :
+ sympa sympa/hostname string $sv.$vm_domainname
+ sympa sympa/pgsql/authmethod-user select unix socket
+ # Faut-il mettre à jour la base de données pour sympa avec dbconfig-common ?
+ sympa sympa/dbconfig-upgrade boolean true
+ sympa sympa/use_soap boolean false
+ # Nom de la base de données pour sympa :
+ sympa sympa/db/dbname string $sv
+ sympa sympa/internal/skip-preseed boolean true
+ # Type de serveur de bases de données à utiliser avec sympa :
+ sympa sympa/database-type select pgsql
+ # Répertoire pour la base de données pour sympa :
+ sympa sympa/db/basepath string
+ # Nom d'hôte du serveur de bases de données pour sympa :
+ sympa sympa/remote/host select /run/postgresql/
+ sympa wwsympa/fastcgi boolean true
+ sympa sympa/internal/reconfiguring boolean false
+ # Identifiant pour sympa :
+ sympa sympa/db/app-user string $sv
+ # Faut-il purger la base de données pour sympa ?
+ sympa sympa/purge boolean false
+ sympa sympa/remove-error select abort
+ sympa wwsympa/webserver_type select Other
+ ##sympa sympa/mysql/admin-user string root
+ # Faut-il défaire la configuration de la base de donnée de sympa avec dbconfig-common ?
+ sympa sympa/dbconfig-remove boolean
+ # Méthode de connexion pour la base de données MySQL de sympa:
+ ##sympa sympa/mysql/method select unix socket
+ # Faut-il réinstaller la base de données pour sympa ?
+ sympa sympa/dbconfig-reinstall boolean false
+ sympa sympa/pgsql/admin-user string postgres
+ sympa sympa/upgrade-error select abort
+ sympa sympa/language select fr
+ # Méthode de connexion pour la base de données PostgreSQL de sympa :
+ sympa sympa/pgsql/method select unix socket
+ sympa sympa/install-error select abort
+ #sympa sympa/pgsql/no-empty-passwords error
+ sympa sympa/pgsql/authmethod-admin select unix socket
+ EOF
+sudo install -d -m 755 -o root -g root \
+ /etc/dbconfig-common
+sudo install -m 600 -o root -g root /dev/stdin \
+ /etc/dbconfig-common/sympa.conf <<-EOF
+ dbc_authmethod_admin='ident'
+ dbc_authmethod_user='ident'
+ dbc_basepath=''
+ dbc_dbadmin='postgres'
+ dbc_dbname='sympa'
+ dbc_dbpass=''
+ dbc_dbport=''
+ dbc_dbserver='/run/postgresql'
+ dbc_dbtype='pgsql'
+ dbc_dbuser='$sv'
+ dbc_install='true'
+ dbc_remove=''
+ dbc_ssl=''
+ dbc_upgrade='true'
+ EOF
+
+! sudo etckeeper unclean ||
+sudo etckeeper commit -m "rule_runit_configure $sv"
+
+"$tool"/local/apt-get-install --no-install-recommends sympa
+ # NOTE: évite d'installer apache2 ..
+
+"$tool"/local/insserv-remove sympa