Masato Taruishi
taru****@users*****
2004年 9月 16日 (木) 22:46:44 JST
=================================================================== RCS file: ultrapossum/debian/ultrapossum-common.config,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ultrapossum/debian/ultrapossum-common.config 2004/09/16 11:38:09 1.6 +++ ultrapossum/debian/ultrapossum-common.config 2004/09/16 13:46:44 1.7 @@ -5,6 +5,7 @@ . /usr/share/debconf/confmodule db_version 2.0 +db_capb backup db_title "UltraPossum Configuration" check_ldap() { @@ -26,12 +27,22 @@ if test -x "/usr/bin/ultrapossum-config"; then eval `/usr/bin/ultrapossum-config init` trap "eval `ultrapossum-config term`" 0 -elif test -f "/etc/ultrapossum/ultrapossum.cf"; then - . /etc/ultrapossum/ultrapossum.cf +else + # initial preconfiguration should come here + ORGANIZATION="`hostname`" + if test -f "/etc/ultrapossum/ultrapossum.cf"; then + . /etc/ultrapossum/ultrapossum.cf + fi + db_fget ultrapossum-common/organization seen + if test "x$RET" = "xfalse"; then + db_set ultrapossum-common/organization "$ORGANIZATION" + fi fi +# In reconfiguration time, debconf must use system configuration value if test "$1" = "reconfigure"; then db_set ultrapossum-common/suffix "$SUFFIX" + db_set ultrapossum-common/organization "$ORGANIZATION" db_set ultrapossum-common/config_backend_ldap_uri "$ULTRAPOSSUM_CONFIG_BACKEND_LDAP_URI" db_set ultrapossum-common/config_backend_ldap_basedn "$ULTRAPOSSUM_CONFIG_BACKEND_LDAP_BASEDN" db_set ultrapossum-common/config_backend_ldap_binddn "$ULTRAPOSSUM_CONFIG_BACKEND_LDAP_BINDDN" @@ -54,12 +65,13 @@ while test "$STATE" != "end"; do case "$STATE" in start) - db_input low ultrapossum-common/suffix || true STATE=backend ;; backend) db_input low ultrapossum-common/config_backend || true - db_go + if ! db_go; then + exit 1 + fi db_get ultrapossum-common/config_backend backend=$RET case "$backend" in @@ -67,7 +79,13 @@ STATE=ldapstart ;; *) - STATE=end + db_input low ultrapossum-common/organization || true + db_input low ultrapossum-common/suffix || true + if ! db_go; then + STATE=backend + else + STATE=end + fi esac ;; ldapstart) @@ -79,29 +97,36 @@ ldappasswd) db_input low ultrapossum-common/config_backend_ldap_bindpw || true db_input low ultrapossum-common/config_backend_ldap_bindpw2 || true - db_go + if ! db_go; then + STATE=backend + else + STATE=ldappasswd_check + fi + ;; + ldappasswd_check) db_get ultrapossum-common/config_backend_ldap_bindpw passwd="$RET" db_get ultrapossum-common/config_backend_ldap_bindpw2 if test "x$passwd" != "x$RET"; then db_fset ultrapossum-common/config_backend_ldap_password_mismatch seen false db_input low ultrapossum-common/config_backend_ldap_password_mismatch - db_go + db_go || true db_fset ultrapossum-common/config_backend_ldap_bindpw seen false db_fset ultrapossum-common/config_backend_ldap_bindpw2 seen false + STATE=ldappasswd else if check_ldap; then STATE=end else db_fset ultrapossum-common/config_backend_ldap_failed seen false db_input low ultrapossum-common/config_backend_ldap_failed - db_go + db_go || true db_fset ultrapossum-common/config_backend_ldap_uri seen false db_fset ultrapossum-common/config_backend_ldap_basedn seen false db_fset ultrapossum-common/config_backend_ldap_binddn seen false db_fset ultrapossum-common/config_backend_ldap_bindpw seen false db_fset ultrapossum-common/config_backend_ldap_bindpw2 seen false - STATE=backend + STATE=ldapstart fi fi ;; =================================================================== RCS file: ultrapossum/debian/ultrapossum-common.postinst,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ultrapossum/debian/ultrapossum-common.postinst 2004/09/16 11:14:58 1.6 +++ ultrapossum/debian/ultrapossum-common.postinst 2004/09/16 13:46:44 1.7 @@ -52,11 +52,13 @@ done ultrapossum-config remove . SUFFIX + ultrapossum-config remove . ORGANIZATION eval `ultrapossum-config init` trap "eval `ultrapossum-config term`" 0 setconfig suffix SUFFIX + setconfig organization ORGANIZATION db_get ultrapossum-common/config_backend case "$RET" in =================================================================== RCS file: ultrapossum/debian/ultrapossum-common.templates,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ultrapossum/debian/ultrapossum-common.templates 2004/09/16 11:14:58 1.4 +++ ultrapossum/debian/ultrapossum-common.templates 2004/09/16 13:46:44 1.5 @@ -4,18 +4,25 @@ Default: file _Description: Which backend do you want to use to store configurations UltraPossum stores your configuration in a configuration backend. You - can select the backend to use. + can select the backend to use. In most of cases, the backend 'file' + is the best choice. This backend holds configurations as file. If + you want to share configurations with ultrapossum servers, then you + may want to select ldap backend. This backend holds them in LDAP + directory. Template: ultrapossum-common/config_backend_ldap_uri Type: string -_Description: LDAP URI you connect +Default: ldap://localhost:389/ +_Description: LDAP URI where you connect Template: ultrapossum-common/config_backend_ldap_basedn Type: string +Default: ou=config,o=ultrapossum _Description: BaseDN to search Template: ultrapossum-common/config_backend_ldap_binddn Type: string +Default: cn=admin,o=ultrapossum _Description: BindDN to search Template: ultrapossum-common/config_backend_ldap_bindpw @@ -41,6 +48,12 @@ In LDAP, every entry has the unique identifier called DN (Distungnished Name). Because DN is tree structure, you need to specify the root entry which is called naming context. + +Template: ultrapossum-common/organization +Type: string +_Description: Which organization do you want to join? + Organization is domain of UltraPossum configuartion. + Configurations of all servers in a domain are shared. Template: ultrapossum-common/sanity Type: boolean =================================================================== RCS file: ultrapossum/debian/ultrapossum-server.config,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- ultrapossum/debian/ultrapossum-server.config 2004/09/07 12:17:13 1.20 +++ ultrapossum/debian/ultrapossum-server.config 2004/09/16 13:46:44 1.21 @@ -15,65 +15,67 @@ if test -f "/usr/share/ultrapossum/module.d/10server"; then eval `/usr/bin/ultrapossum-config init` trap "/bin/rm -f $tmp; eval `ultrapossum-config term`" 0 -fi - -if test "$1" = "reconfigure"; then - # special care for passwd - ROOTPW="" - CREDENTIALS="" - if test -f "/etc/ultrapossum/secret.cf"; then - . /etc/ultrapossum/secret.cf - fi +set() { + db_set "$1" "$2" +} else - - MASTER=${MASTER:-`hostname`} - DBDIRECTORY=${DBDIRECTORY:-"/var/lib/ultrapossum/db"} - if test -f "/etc/ultrapossum/ultrapossum.cf"; then - . /etc/ultrapossum/ultrapossum.cf - fi - if test -f "/etc/ultrapossum/module.d/server.cf"; then - . /etc/ultrapossum/module.d/server.cf - fi - if test -f "/etc/ultrapossum/secret.cf"; then - . /etc/ultrapossum/secret.cf + # initial configuration should come here + if test -x "/usr/bin/ultrapossum-config"; then + eval `/usr/bin/ultrapossum-config init` + trap "/bin/rm -f $tmp; eval `ultrapossum-config term`" 0 + else + MASTER=${MASTER:-`hostname`} + DBDIRECTORY=${DBDIRECTORY:-"/var/lib/ultrapossum/db"} + ROOTPW="" + CREDENTIALS="" + if test -f "/etc/ultrapossum/ultrapossum.cf"; then + . /etc/ultrapossum/ultrapossum.cf + fi + if test -f "/etc/ultrapossum/module.d/server.cf"; then + . /etc/ultrapossum/module.d/server.cf + fi + if test -f "/etc/ultrapossum/secret.cf"; then + . /etc/ultrapossum/secret.cf + fi fi -fi -setdefault() { - if test "x${!1}" != "x"; then - db_set "$2" "${!1}" +set() { + db_fget "$1" seen + if test "x$RET" = "xfalse"; then + db_set "$1" "$2" fi } -setdefault SUFFIX ultrapossum-common/suffix -setdefault ROOTRDN ultrapossum-server/rootrdn -setdefault DBDIRECTORY ultrapossum-server/directory -setdefault UPDATERDN ultrapossum-server/updaterdn -setdefault MASTER ultrapossum-server/master -setdefault SLURPDSLAVES ultrapossum-server/slaves +fi + +set ultrapossum-common/organization "$ORGANIZATION" +set ultrapossum-common/suffix "$SUFFIX" +set ultrapossum-server/rootrdn "$ROOTRDN" +set ultrapossum-server/directory "$DBDIRECTORY" +set ultrapossum-server/updaterdn "$UPDATERDN" +set ultrapossum-server/master "$MASTER" +set ultrapossum-server/slaves "$SLURPDSLAVES" -db_set ultrapossum-server/rootpw "$ROOTPW" -db_set ultrapossum-server/rootpw2 "$ROOTPW" +set ultrapossum-server/rootpw "$ROOTPW" +set ultrapossum-server/rootpw2 "$ROOTPW" if test "x$MASTER" = "x" || test "x$MASTER" = "x`hostname`"; then if test "x$SLURPDSLAVES" = "x"; then - db_set ultrapossum-server/type standalone + set ultrapossum-server/type standalone else - db_set ultrapossum-server/type master + set ultrapossum-server/type master fi else - db_set ultrapossum-server/type slave + set ultrapossum-server/type slave fi -db_set ultrapossum-server/credentials "$CREDENTIALS" -db_set ultrapossum-server/credentials2 "$CREDENTIALS" -setdefault RPLDIR ultrapossum-server/rpldir - -# if you don't have sanity checker (probably first time to install) -# don't allow to edit -if ! test -x "$UPDATEDIR/update-server"; then +set ultrapossum-server/credentials "$CREDENTIALS" +set ultrapossum-server/credentials2 "$CREDENTIALS" +set ultrapossum-server/rpldir "$RPLDIR" + +if test "x$1" != "xreconfigure"; then exit 0 fi @@ -84,6 +86,8 @@ t="$SYSCONFDIR/module.d/server.cf.debconf" touch $t chmod 600 $t + db_get ultrapossum-common/organization + echo "ORGANIZATION=$RET" > $t db_get ultrapossum-common/suffix echo "SUFFIX=$RET" > $t db_get ultrapossum-server/rootrdn @@ -131,6 +135,7 @@ case "$STATE" in SUFFIX) + db_input high ultrapossum-common/organization || true db_input medium ultrapossum-common/suffix || true db_input low ultrapossum-server/directory || true db_input medium ultrapossum-server/type || true =================================================================== RCS file: ultrapossum/debian/ultrapossum-server.postinst,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- ultrapossum/debian/ultrapossum-server.postinst 2004/07/09 06:48:34 1.25 +++ ultrapossum/debian/ultrapossum-server.postinst 2004/09/16 13:46:44 1.26 @@ -85,6 +85,7 @@ eval `ultrapossum-config init` trap "eval `ultrapossum-config term`" 0 + setconfig organization ORGANIZATION setconfig suffix SUFFIX # setconfig backup BACKUP