Your message dated Wed, 23 Dec 2009 18:20:04 +0100
with message-id <20091223172004.gg31...@mykerinos.kheops.frmug.org>
and subject line Re: Bug#562147: Acknowledgement (geneweb: Fails to upgrade 
from earlier versions if databases names contain spaces)
has caused the Debian Bug report #562147,
regarding geneweb: Fails to upgrade from earlier versions if databases names 
contain spaces
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
562147: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=562147
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: geneweb
Version: 5.02~cvs20091031-3
Severity: serious
Tags: patch
Justification: broken upgrades from earlier versions

If one of the databases in /var/lib/geneweb has spaces in its name,
the package's postinst script will fail.

The attached postinst file fixes that problem. Until I update packages
in lenny, users affectedd by this bug can just replace
/var/lib/dpkg/info/geneweb.postinst by it and run dpkg-reconfigure to
complete the installation.

This bug was fixed in 5.02~cvs20091031-4. I open it lately so that
there is a reference to it in the BTS. I will try to upload a fixed
package to stable-proposed-updates in order to fix lenny.


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-2-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages geneweb depends on:
ii  adduser                       3.111      add and remove users and groups
ii  cdebconf [debconf-2.0]        0.145      Debian Configuration Management Sy
ii  debconf [debconf-2.0]         1.5.28     Debian configuration management sy
ii  iso-codes                     3.12-1     ISO language, territory, currency,
ii  isoquery                      0.18-1     Search and display various ISO cod
ii  libc6                         2.10.2-2   GNU C Library: Shared libraries
ii  lsb-base                      3.2-23     Linux Standard Base 3.2 init scrip
ii  perl-base [perl5-base]        5.10.1-8   minimal Perl system

geneweb recommends no packages.

Versions of packages geneweb suggests:
pn  gwsetup                     <none>       (no description available)
pn  gwtp                        <none>       (no description available)
ii  iceweasel [www-browser]     3.5.6-1      lightweight web browser based on M
ii  konqueror [www-browser]     4:4.3.4-1    KDE 4's advanced file manager, web
ii  lynx                        2.8.8dev.2-1 Text-mode WWW Browser (transitiona
ii  lynx-cur [www-browser]      2.8.8dev.2-1 Text-mode WWW Browser with NLS sup
ii  menu                        2.1.42       generates programs menu for all me
ii  w3m [www-browser]           0.5.2-2.1    WWW browsable pager with excellent

-- debconf information excluded
#! /bin/sh
# postinst script for GeneWeb
#
# see: dh_installdeb(1)

set -e 

# Needs Depends: iso-codes, isoquery
ISOQUERY=/usr/bin/isoquery

# These will be used here and there below
SERVICES=/etc/services
OLDRCFILE=/etc/geneweb/genewebrc
NEWRCFILE=/etc/default/geneweb
INITFILE=/etc/init.d/geneweb
GENEWEBUSER=geneweb


# We we'll need some variables defined there
# We first define some defaults values...just in case
GENEWEBDB=/var/lib/geneweb
USERS_GROUP=geneweb
LOGFILE=/var/log/geneweb.log

# Default settings
DEFAULTLNG="en"
DEFAULTFULLLNG="English"
DEFAULTPORT=2317
DEFAULTRUNMODE="Always on"
DEFAULTREMOVE=false
DEFAULTOPTIONS=""


# Reads config file (will override defaults above)
[ -r $NEWRCFILE ] && . $NEWRCFILE

. /usr/share/debconf/confmodule
db_version 2.0

write_rcfile() {
   cat >$NEWRCFILE <<EOF
#
# GeneWeb Configuration Data
#
# This file may be changed manually, or by running "dpkg-reconfigure geneweb"

# The port which the daemon listens to
PORT="${PORT}"

# The default language
# Look at Geneweb documentation for valid values
# Versions prior to 4.10-9 used LANG which could mix up with
# the system's localisation settings
LNG="${LNG}"

# The run mode
# Two possible values: "Always on" or "Manual"
# You need to use quotes
RUN_MODE="${RUN_MODE}"

# Additionnal options for gwd
# Example: OPTIONS="-a 192.168.1.1" for binding the daemon to a given address
# This setting is not handled by debconf
OPTIONS="${OPTIONS}"
EOF
}

get_debconf() {
    db_get geneweb/port
    PORT=$RET
    # If not present, use default
    if [ "$PORT" = "" ]
    then
	PORT=$DEFAULTPORT
    fi


    db_get geneweb/lang
    FULLLNG=$RET
    # If not present, use default
    if [ "$FULLLNG" = "" ]
    then
	FULLLNG=$DEFAULTFULLLNG
    fi
    # Find the two letter code for language
    # LNG=`echo $FULLLNG | cut -f 2 -d "(" | cut -f 1 -d ")"`
    LNG=`$ISOQUERY --iso=639 | grep "${FULLLNG}\$" | cut -f3`


    db_get geneweb/run_mode
    RUN_MODE="$RET"
    # If not present, use default
    if [ "$RUN_MODE" = "" ]
    then
	RUN_MODE="$DEFAULTRUNMODE"
    fi
}




case "$1" in
    configure)

	# NEWRCFILE has to be world-readable if we want the entry menu to work
	[ -f $NEWRCFILE ] && chmod g+r,a+r $NEWRCFILE

	[ -f $INITFILE ] && chmod a+rx $INITFILE

	if [ -d "/usr/share/doc/geneweb/$LNG" ]; then
		ln -sf /usr/share/doc/geneweb/$LNG /usr/share/doc/geneweb/doc_choice
	else
		ln -sf /usr/share/doc/geneweb/en /usr/share/doc/geneweb/doc_choice
	fi

	if [ ! -x `which addgroup` ]; then
	    echo "addgroup(8) from the \'adduser\' package is needed...";
	    exit 1;
	fi

	# Make sure user group is available
	if ! getent group ${USERS_GROUP} >/dev/null
	then
	    echo "Adding $USERS_GROUP group ... "
	    addgroup --quiet --force-badname $USERS_GROUP
	fi
	
	if [ ! -x `which adduser` ]; then
	    echo "adduser(8) from the \'adduser\' package is needed...";
	    exit 1;
	fi

	# Make sure geneweb user exists
	if ! getent passwd ${GENEWEBUSER} >/dev/null
	then
	    echo "Adding $GENEWEBUSER user ... "
	    adduser --quiet --system --home /var/lib/geneweb --no-create-home --ingroup $USERS_GROUP $GENEWEBUSER
	fi
	
	# Permissions and groups changes come back
	# to the configure stage again.
	# Problems may remains if users previously messed up
	# the permissions...but more huge problems will
	# occur if this stage occurs _before_ the geneweb
	# group creation (was bug 171570 on 4.07-3 release)

	if [ ! -f $LOGFILE ]
	then
	    touch $LOGFILE
	fi

	# Thus all files created there will have geneweb as group
	chown root:$USERS_GROUP $GENEWEBDB $GENEWEBDB/images $GENEWEBDB/cnt $GENEWEBDB/etc
	# The database directory is writable by geneweb group
	chmod ug+rwx,o-rwx $GENEWEBDB $GENEWEBDB/images $GENEWEBDB/cnt $GENEWEBDB/etc
	# SetGID bit on the database directory owned by geneweb group
	chmod g+s $GENEWEBDB $GENEWEBDB/images $GENEWEBDB/cnt $GENEWEBDB/etc

	# The log file is written by gwd running as the geneweb user
	# Make it readable/writable by this user only
	chown $GENEWEBUSER:$USERS_GROUP $LOGFILE
	chmod 600 $LOGFILE

	# Fix incorrect database and images directories permissions
	# These directories have to be group-writable
	# as the daemon now runs with an unprivileged UID
	#
	# Thanks to Russell Sutherland for pointing this to me
	# Bug: 179918
	#
	# Deal properly with database names that contain spaces
	OLDIFS=${IFS}
	IFS='
'
	for base in `find $GENEWEBDB -type d -name \*.gwb`
	do
	    chgrp $USERS_GROUP "$base"
	    chmod g+w,g+s "$base"
	    # Fix files permissions. See #219779
	    for file in `find $base -type f`
	    do
		chgrp $USERS_GROUP "$file"
		chmod g+w "$file"
	    done
	done
	for imagedir in `find $GENEWEBDB/images -type d`
	do
	    chgrp $USERS_GROUP "$imagedir"
	    chmod g+w,g+s "$imagedir"
	done
	IFS=${OLDIFS}

	# Values are read from debconf
	# to update variables
	get_debconf
	# The settings file is written
	# Moved to postinst
	write_rcfile

	;;
    *)
	;;
esac

# Transition of init scripts links: we don't want them in runlevels
# 0 and 6 anymore
if dpkg --compare-versions "$2" lt "5.01-4"; then
	update-rc.d -f geneweb remove
fi

# Automatically added by dh_installmenu
if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
	update-menus
fi
# End automatically added section
# Automatically added by dh_installinit
if [ -x "/etc/init.d/geneweb" ]; then
	update-rc.d geneweb start 20 2 3 4 5 . stop 20 1 . >/dev/null
	if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
		invoke-rc.d geneweb start || exit $?
	else
		/etc/init.d/geneweb start || exit $?
	fi
fi
# End automatically added section


--- End Message ---
--- Begin Message ---
Version: 5.02~cvs20091031-4

As explained in the bug report, this bug is already fixed in
unstable. I reported it mostly to track its status in stable.


Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to