Hello community, here is the log from the commit of package autofs for openSUSE:Factory checked in at Mon Jan 11 17:55:37 CET 2010. -------- --- autofs/autofs.changes 2009-06-19 07:13:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/autofs/autofs.changes 2009-12-23 13:04:11.000000000 +0100 @@ -1,0 +2,54 @@ +Wed Dec 23 11:56:57 UTC 2009 - lchiquitto@novell.com + +- fix build on releases that do not support ext4 + +------------------------------------------------------------------- +Wed Dec 16 14:03:27 UTC 2009 - lchiquitto@novell.com + +- add new sysconfig parameter USE_MISC_DEVICE and enable it by + default (bnc#565151) +- update initscript bringing it closer to what we have upstream: + * remove the deprecated force-stop logic and handle it like a + regular stop + * remove force-reload from usage and handle it like a regular + reload + +------------------------------------------------------------------- +Fri Nov 27 11:59:44 UTC 2009 - lchiquitto@novell.com + +- update to version 5.0.5. lots of bug fixes including: + * fix nested submount expire deadlock + * fix negative caching for non-existent map keys + * make hash table scale to thousands of entries + * fix uri list locking (again) + * add nfs mount protocol default configuration option + * fix bad token declaration in master map parser + * fix double free in expire_proc() + * fix file map lookup when reading included or nsswitch sources + * fix memory leak reading master map + * fix st_remove_tasks() locking + * dont umount existing direct mount on master re-read + * fix incorrect shutdown introduced by library relaod fixes + * fix not releasing resources when using submounts + * fix double free in sasl_bind() + * fix map type info parse error + * fix an RPC fd leak + * fix pthread push order in expire_proc_direct() + * fix libxml2 non-thread-safe calls + * fix direct map cache locking + * fix dont umount existing direct mount on reread. +- update 5.0.5 upstream patches to 20091124: + * add mount wait parameter + * don't use master_lex_destroy() to clear parse buffer + * fix backwards #ifndef INET6 + * fix ext4 fsck at mount + * fix included map read fail handling + * fix libxml2 workaround configure + * fix pidof init script usage + * fix stale initialization for file map instance + * fix timeout in connect_nb() + * make documentation for set-log-priority clearer + * refactor ldap sasl bind + * special case cifs escapes. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- autofs-5.0.4-as_needed.patch autofs-5.0.4-upstream-patches-20090122.bz2 autofs-5.0.4.tar.bz2 New: ---- autofs-5.0.5-as_needed.patch autofs-5.0.5-upstream-patches-20091124.bz2 autofs-5.0.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ autofs.spec ++++++ --- /var/tmp/diff_new_pack.O1kHCF/_old 2010-01-11 17:53:39.000000000 +0100 +++ /var/tmp/diff_new_pack.O1kHCF/_new 2010-01-11 17:53:39.000000000 +0100 @@ -1,7 +1,7 @@ # -# spec file for package autofs (Version 5.0.4) +# spec file for package autofs (Version 5.0.5) # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,11 +21,11 @@ Name: autofs Url: http://www.kernel.org/pub/linux/daemons/autofs/v5/ BuildRequires: bison e2fsprogs flex krb5-devel libxml2-devel module-init-tools nfs-client openldap2-devel -License: GPL v2 or later +License: GPLv2+ Group: System/Daemons AutoReqProv: on -Version: 5.0.4 -Release: 5 +Version: 5.0.5 +Release: 1 Summary: A Kernel-Based Automounter BuildRoot: %{_tmppath}/%{name}-%{version}-build Source: ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/%{name}-%{version}.tar.bz2 @@ -35,13 +35,13 @@ Source5: README.SuSE Source7: NetworkManager-autofs Source8: get-upstream-patches -%define patchdate 20090122 +%define patchdate 20091124 Patch0: autofs-%{version}-upstream-patches-%{patchdate}.bz2 Patch10: autofs-suse-auto_master_default.patch Patch11: autofs-suse-autofs_init.patch Patch13: autofs-5.0.2-use_local_cflags.patch Patch15: autofs-5.0.4-link_kerberos.patch -Patch16: autofs-5.0.4-as_needed.patch +Patch16: autofs-5.0.5-as_needed.patch PreReq: %fillup_prereq %insserv_prereq aaa_base Recommends: nfs-client @@ -70,7 +70,7 @@ %patch11 -p1 %patch13 -p1 %patch15 -p1 -%patch16 +%patch16 -p1 %build autoconf -f @@ -143,6 +143,9 @@ %{_libdir}/autofs/mount_changer.so %{_libdir}/autofs/mount_ext2.so %{_libdir}/autofs/mount_ext3.so +%if %suse_version >= 1120 +%{_libdir}/autofs/mount_ext4.so +%endif %{_libdir}/autofs/mount_generic.so %{_libdir}/autofs/mount_nfs.so %{_libdir}/autofs/mount_nfs4.so ++++++ autofs-5.0.4-as_needed.patch -> autofs-5.0.5-as_needed.patch ++++++ --- autofs/autofs-5.0.4-as_needed.patch 2009-06-19 07:13:30.000000000 +0200 +++ /mounts/work_src_done/STABLE/autofs/autofs-5.0.5-as_needed.patch 2009-11-27 13:15:04.000000000 +0100 @@ -1,5 +1,5 @@ ---- daemon/Makefile -+++ daemon/Makefile +--- autofs-5.0.5/daemon/Makefile ++++ autofs-5.0.5/daemon/Makefile @@ -25,7 +25,7 @@ all: automount @@ -9,8 +9,8 @@ $(STRIP) automount clean: ---- Makefile.rules -+++ Makefile.rules +--- autofs-5.0.5/Makefile.rules ++++ autofs-5.0.5/Makefile.rules @@ -44,8 +44,7 @@ LD = ld SOLDFLAGS = -shared @@ -19,5 +19,5 @@ -LDFLAGS += -lpthread +CFLAGS += -D_REENTRANT -D_FILE_OFFSET_BITS=64 -pthread - ifdef DMALLOCLIB - LDFLAGS += $(DMALLOCLIB) + ifdef TIRPCLIB + CFLAGS += -I/usr/include/tirpc ++++++ autofs-5.0.4.tar.bz2 -> autofs-5.0.5.tar.bz2 ++++++ ++++ 119423 lines of diff (skipped) ++++++ autofs-suse-autofs_init.patch ++++++ --- /var/tmp/diff_new_pack.O1kHCF/_old 2010-01-11 17:53:40.000000000 +0100 +++ /var/tmp/diff_new_pack.O1kHCF/_new 2010-01-11 17:53:40.000000000 +0100 @@ -1,28 +1,39 @@ ---- autofs-5.0.4/samples/rc.autofs.in -+++ autofs-5.0.4/samples/rc.autofs.in 2009-05-14 12:19:42.781900764 +0200 -@@ -1,10 +1,32 @@ +Index: autofs-5.0.5/samples/rc.autofs.in +=================================================================== +--- autofs-5.0.5.orig/samples/rc.autofs.in ++++ autofs-5.0.5/samples/rc.autofs.in +@@ -1,20 +1,33 @@ #!/bin/bash +# Copyright (C) 2008 SUSE Linux Products GmbH, Nuernberg, Germany. # -# rc file for automount using a Sun-style "master map". +-# +-# On most distributions, this file should be called: +-# /etc/rc.d/init.d/autofs or /etc/init.d/autofs or /etc/rc.d/rc.autofs +-# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. - # --# On most distributions, this file should be called: --# /etc/rc.d/init.d/autofs or /etc/init.d/autofs or /etc/rc.d/rc.autofs ++# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. - # ++# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -+# + # + -+### BEGIN INIT INFO + ### BEGIN INIT INFO +-# Provides: $autofs +-# Required-Start: $network $ypbind +-# Required-Stop: $network $ypbind +-# Default-Start: 3 4 5 +-# Default-Stop: 0 1 2 6 +-# Short-Description: Automounts filesystems on demand +-# Description: Automounts filesystems on demand +# Provides: autofs +# Required-Start: $network $syslog $remote_fs +# Should-Start: $portmap ypbind keyserv ldap gssd nfsserver @@ -32,11 +43,12 @@ +# Default-Stop: +# Short-Description: automatic mounting of filesystems +# Description: Start the autofs daemon for automatic mounting of filesystems. -+### END INIT INFO - + ### END INIT INFO ++ # # Location of the automount daemon and the init directory -@@ -14,12 +36,15 @@ prog=`basename $DAEMON` + # +@@ -23,37 +36,35 @@ prog=`basename $DAEMON` MODULE="autofs4" DEVICE="autofs" confdir=@@autofsconfdir@@ @@ -51,90 +63,43 @@ +. /etc/rc.status + # - # load customized configuation settings +-# load customized configuation settings ++# load customized configuration settings # -@@ -27,110 +52,214 @@ if [ -r $confdir/autofs ]; then + if [ -r $confdir/autofs ]; then . $confdir/autofs fi --function start() { + function start() { - echo -n "Starting $prog: " -+# autofs misc driver not yet supported in our kernel -+# so don't allow this for now -+USE_MISC_DEVICE='' - -+start() -+{ +- # Make sure autofs4 module is loaded - if ! grep -q autofs /proc/filesystems - then -- # Try load the autofs4 module fail if we can't ++ if ! grep -q autofs /proc/filesystems; then + # Try load the autofs4 module fail if we can't - modprobe $MODULE >/dev/null 2>&1 - if [ $? -eq 1 ] - then - echo "Error: failed to load autofs4 module." -- return 1 -- fi ++ modprobe -q $MODULE >/dev/null 2>&1 ++ if [ $? -eq 1 ]; then ++ echo "Error: failed to load $MODULE module." + return 1 + fi - elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4] - then -- # wrong autofs filesystem module loaded -- echo ++ elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]; then + # wrong autofs filesystem module loaded + echo - echo "Error: autofs kernel module is loaded, autofs4 required" -- return 1 -- fi -- -- # Check misc device -- if [ -n "$USE_MISC_DEVICE" -a "x$USE_MISC_DEVICE" = "xyes" ]; then -- sleep 1 -- if [ -e "/proc/misc" ]; then -- MINOR=`awk "/$DEVICE/ {print \$1}" /proc/misc` -- if [ -n "$MINOR" -a ! -c "/dev/$DEVICE" ]; then -- mknod -m 0600 /dev/$DEVICE c 10 $MINOR -- fi -- fi -- if [ -x /sbin/restorecon ]; then -- /sbin/restorecon /dev/$DEVICE -- fi -- else -- if [ -c /dev/$DEVICE ]; then -- rm /dev/$DEVICE -- fi -+ if ! grep -q autofs /proc/filesystems; then -+ # Try load the autofs4 module fail if we can't -+ modprobe -q $MODULE >/dev/null 2>&1 -+ if [ $? -eq 1 ]; then -+ echo "Error: failed to load autofs4 module." -+ return 1 ++ echo "Error: autofs kernel module is loaded, $MODULE required" + return 1 + fi + +@@ -75,79 +86,85 @@ function start() { + fi fi -+ elif ([ -f /proc/modules ] && lsmod) | grep -q autofs[^4]; then -+ # wrong autofs filesystem module loaded -+ echo -+ echo "Error: autofs kernel module is loaded, autofs4 required" -+ return 1 -+ fi -+ -+ # Check misc device -+ if [ -n "$USE_MISC_DEVICE" -a "$USE_MISC_DEVICE" = "yes" ]; then -+ sleep 1 -+ if [ -e "/proc/misc" ]; then -+ MINOR=`awk "/$DEVICE/ {print \$1}" /proc/misc` -+ if [ -n "$MINOR" -a ! -c "/dev/$DEVICE" ]; then -+ mknod -m 0600 /dev/$DEVICE c 10 $MINOR -+ fi -+ fi -+ if [ -x /sbin/restorecon ]; then -+ /sbin/restorecon /dev/$DEVICE -+ fi -+ else -+ if [ -c /dev/$DEVICE ]; then -+ rm /dev/$DEVICE -+ fi -+ fi -+ -+ if [ "$LOCAL_OPTIONS" ]; then -+ AUTOFS_OPTIONS="-O $LOCAL_OPTIONS $AUTOFS_OPTIONS" -+ fi -+ /sbin/startproc $DAEMON -p $PIDFILE $AUTOFS_OPTIONS - $prog $OPTIONS - RETVAL=$? @@ -142,103 +107,38 @@ - echo "done." - else - echo "failed." -- fi ++ if [ "$LOCAL_OPTIONS" ]; then ++ AUTOFS_OPTIONS="-O $LOCAL_OPTIONS $AUTOFS_OPTIONS" + fi - return $RETVAL -+ return $? - } +-} ++ /sbin/startproc -w $DAEMON -p $PIDFILE $AUTOFS_OPTIONS -function stop() { - echo -n $"Stopping $prog: " - count=0 -- while [ -n "`pidof $DAEMON`" -a $count -lt 15 ] ; do +- while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do - killall -TERM $prog >& /dev/null - RETVAL=$? -- [ $RETVAL = 0 -a -z "`pidof $DAEMON`" ] || sleep 3 +- [ $RETVAL = 0 -a -z "`pidof $prog`" ] || sleep 3 - count=`expr $count + 1` - done -- if [ -z "`pidof $DAEMON`" ] ; then +- if [ -z "`pidof $prog`" ] ; then - echo "done." - else - echo "failed." - fi - return $RETVAL -+clearautomnt() -+{ -+ local map mnt fstype options dummy -+ local path dtype -+ local opt=$1 -+ test "$opt" = "before" && opt=continue || opt=: -+ while read map mnt fstype options dummy; do -+ test "$fstype" = "autofs" || continue -+ case ",$options," in -+ *,indirect,*) -+ for path in $mnt/* ; do -+ test "$path" = "$mnt/*" && continue -+ test -e $path || continue -+ dtype=$(stat -f -c '%T' "$path" 2>/dev/null) -+ test "$dtype" = "autofs" && continue -+ if test "$opt" = "continue" ; then -+ mkill -TERM $path -+ else -+ echo "$path still busy...unmounting lazy" -+ umount -l $path -+ fi -+ done -+ $opt -+ test -e $mnt || continue -+ echo "$mnt still busy...unmounting lazy" -+ umount -l $mnt -+ ;; -+ *,direct,*) -+ # umount 2 times: one for the real fs, one for autofs -+ # because mountpoint and autofs mp are identical here! -+ $opt -+ test -e $mnt || continue -+ echo "$mnt still busy...unmounting lazy" -+ umount -l $mnt -+ umount -l $mnt -+ ;; -+ *) -+ ;; -+ esac -+ done < /proc/mounts ++ return $? } -+force_stop() -+{ -+ local -i i -+ # Terminate all processes making automounted file systems busy -+ clearautomnt before -+ -+ # First send USR2 signal, automount will expire all non-busy -+ # filesystems and then terminate. -+ # Busy filesystems will be left mounted -+ /sbin/killproc -USR2 $DAEMON -+ -+ # Let's wait a while for the daemon to really shut down -+ # in case of debug and browsable maps enabled this could take a while -+ for i in {0..90}; do -+ /sbin/checkproc $DAEMON || break -+ sleep 1 -+ done -+ echo "" -+ # Coup de grace if it has not died yet -+ /sbin/checkproc $DAEMON && /sbin/killproc -KILL $DAEMON -+ -+ # At this point there should not be any busy autofs filesystems mounted. -+ # To ensure that there are no leftovers, we lazy umount any remaining -+ # autofs filesystems which have been still kept busy for some reason -+ # (this should have been done by the USR2 signal but currently this -+ # does not work) -+ clearautomnt after -function restart() { - stop - start -+ return 0 - } - +-} +- -function reload() { -- pid=`pidof $DAEMON` +- pid=`pidof $prog` - if [ -z $pid ]; then - echo $"$prog not running" - RETVAL=1 @@ -248,7 +148,7 @@ - RETVAL=0 - fi - return $RETVAL -+stop() { ++function stop() { + # Normal stop, terminate daemon, we don't care about busy leftovers here + /sbin/killproc -p $PIDFILE -TERM $DAEMON } @@ -256,105 +156,84 @@ RETVAL=0 case "$1" in -- start) + start) - start - ;; -- stop) -- stop -- ;; -- restart) +- forcestart) +- OPTIONS="$OPTIONS --force" +- start ++ echo -n "Starting $prog " ++ # Check if already running ++ if ! /sbin/checkproc $DAEMON; then ++ start ++ fi ++ ++ rc_status -v + ;; + stop) ++ echo -n "Shutting down $prog " + stop ++ ++ rc_status -v ++ ;; ++ force-stop) ++ $0 stop ++ ++ ;; ++ try-restart|condrestart) ++ ## Do a restart only if the service was active before. ++ ## Note: try-restart is now part of LSB (as of 1.9). ++ if test "$1" = "condrestart"; then ++ echo "${attn}Use try-restart ${done}(LSB)${attn}${norm}" ++ fi ++ $0 status ++ if test $? = 0; then ++ $0 restart ++ else ++ rc_reset # Not running is not a failure. ++ fi ++ # Remember status and be quiet ++ rc_status + ;; + restart) - restart -- ;; ++ $0 stop ++ $0 start ++ ++ rc_status + ;; +- forcerestart) +- OPTIONS="$OPTIONS --force" +- restart ++ force-reload|reload) ++ echo -n "Reload service $prog " ++ /sbin/killproc -HUP $DAEMON ++ ++ rc_status -v + ;; - reload) - reload -- ;; -- *) -- echo $"Usage: $0 {start|stop|restart|reload}" ++ force-expire) ++ echo -n "Forcing expire of auto mounted filesystems " ++ /sbin/killproc -USR1 $DAEMON ++ ++ rc_status -v ++ ;; ++ status) ++ echo -n "Checking for service $prog " ++ /sbin/checkproc $DAEMON ++ # NOTE: rc_status knows that we called this init script with ++ # "status" option and adapts its messages accordingly. ++ rc_status -v + ;; + *) +- echo $"Usage: $0 {start|forcestart|stop|restart|forcerestart|reload}" - exit 1; -- ;; --esac -+ start) -+ echo -n "Starting $prog " -+ # Check if already running -+ if ! /sbin/checkproc $DAEMON; then -+ start -+ fi ++ echo "Usage: $0 {start|stop|status|try-restart|restart|reload|force-expire}" ++ exit 1 + ;; + esac -exit $? -+ rc_status -v -+ ;; -+ stop) -+ echo -n "Shutting down $prog " -+ case "$RUNLEVEL" in -+ [016sS]) -+ echo -n "(force) " -+ force_stop -+ ;; -+ *) -+ stop -+ ;; -+ esac -+ -+ rc_status -v -+ ;; -+ force-stop) -+ echo -n "Shutting down $prog (force) " -+ force_stop -+ -+ rc_status -v -+ ;; -+ try-restart|condrestart) -+ ## Do a restart only if the service was active before. -+ ## Note: try-restart is now part of LSB (as of 1.9). -+ ## RH has a similar command named condrestart. -+ if test "$1" = "condrestart"; then -+ echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" -+ fi -+ $0 status -+ if test $? = 0; then -+ $0 restart -+ else -+ rc_reset # Not running is not a failure. -+ fi -+ # Remember status and be quiet -+ rc_status -+ ;; -+ restart) -+ $0 stop -+ $0 start -+ -+ rc_status -+ ;; -+ force-reload) -+ echo -n "Reload service $prog " -+ /sbin/killproc -HUP $DAEMON -+ rc_status -v -+ -+ ;; -+ reload) -+ echo -n "Reload service $prog " -+ /sbin/killproc -HUP $DAEMON -+ rc_status -v -+ -+ ;; -+ force-expire) -+ # forcing expire of mounted filesystems -+ echo -n "$prog: force expire" -+ /sbin/killproc -USR1 $DAEMON -+ -+ rc_status -v -+ ;; -+ status) -+ echo -n "Checking for service $prog " -+ /sbin/checkproc $DAEMON -+ # NOTE: rc_status knows that we called this init script with -+ # "status" option and adapts its messages accordingly. -+ rc_status -v -+ ;; -+ *) -+ echo "Usage: $0 {start|stop|force-stop|status|try-restart|restart|force-reload|reload|force-expire}" -+ exit 1 -+ ;; -+esac - +- +rc_exit ++++++ get-upstream-patches ++++++ --- /var/tmp/diff_new_pack.O1kHCF/_old 2010-01-11 17:53:40.000000000 +0100 +++ /var/tmp/diff_new_pack.O1kHCF/_new 2010-01-11 17:53:40.000000000 +0100 @@ -8,10 +8,10 @@ # usage: get-upstream-patches [VERSION] # default version -VERSION=5.0.4 +VERSION=5.0.5 test -n "$1" && VERSION="$1" -BASE=http://www.fht.lkams.kernel.org/pub/linux/daemons/autofs/v5 +BASE=http://www.kernel.org/pub/linux/daemons/autofs/v5 SERIES=patch_order-$VERSION WGET_OPTS=-q PATCHDIR=upstream-patches-$VERSION @@ -28,6 +28,7 @@ echo "retrieving series file $SERIES" wget $WGET_OPTS $BASE/$SERIES +sed -i '/^#/d' $SERIES while read patch do ++++++ sysconfig.autofs ++++++ --- /var/tmp/diff_new_pack.O1kHCF/_old 2010-01-11 17:53:40.000000000 +0100 +++ /var/tmp/diff_new_pack.O1kHCF/_new 2010-01-11 17:53:40.000000000 +0100 @@ -23,6 +23,14 @@ # (program default "yes", append options). APPEND_OPTIONS="yes" +## Description: use autofs miscellaneous device +## Type: string +## Default: "yes" +# +# Determine whether the autofs misc device (/dev/autofs) will be used +# for routing ioctl commands. Requires kernel support (2.6.28 and newer) +USE_MISC_DEVICE="yes" + ## Description: Default map name for the master map. ## Type: string ## Default: "auto.master" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org