On 26.09.2012 23:49, Michael Tokarev wrote: [] > Debdiff between wheezy and sid version will be sent in a separate > email, since it is large. The same but without upstream changes > (which are easily visible in the git tree referenced above) and > the removal of half-5.0.7 upstream diff from debian/patches is > below. The diffstat for this short version: > > 16 files changed, 489 insertions(+), 86 deletions(-)
And ofcource I forgot to add the debdiff. Attached now. /mjt
diff -Nru autofs-5.0.6/debian/autofs.init autofs-5.0.7/debian/autofs.init --- autofs-5.0.6/debian/autofs.init 2012-06-01 16:12:48.000000000 +0400 +++ autofs-5.0.7/debian/autofs.init 2012-06-07 23:41:38.000000000 +0400 @@ -1,7 +1,5 @@ #! /bin/sh # -# rc file for automount using a Sun-style "master map". -# ### BEGIN INIT INFO # Provides: autofs @@ -17,11 +15,10 @@ # Location of the automount daemon and the init directory # -DAEMON=/usr/sbin/automount -prog=`basename $DAEMON` -DEVICE="autofs" -NAME="autofs" -PIDFILE="/var/run/${NAME}.pid" +PROG=automount +DAEMON=/usr/sbin/$PROG +NAME=autofs +PIDFILE="/run/$NAME.pid" test -e $DAEMON || exit 0 @@ -37,103 +34,78 @@ . /etc/default/autofs fi +start_stop_autofs() { + start-stop-daemon "$@" --pidfile $PIDFILE --exec $DAEMON -- \ + $OPTIONS --pid-file $PIDFILE +} + start() { - log_action_begin_msg "Starting $prog" "$prog" + log_action_begin_msg "Starting $PROG" - # Make sure autofs4 module is loaded - if ! grep -q autofs /proc/filesystems + if ! grep -qw autofs /proc/filesystems then - # Try load the autofs4 module fail if we can't - modprobe autofs4 >/dev/null 2>&1 - if [ $? -eq 1 ] + if ! modprobe autofs4 >/dev/null 2>&1 then log_action_end_msg 1 "failed to load autofs4 module" return 1 fi elif [ -f /proc/modules ] && grep -q "^autofs[^4]" /proc/modules then - # wrong autofs filesystem module loaded log_action_end_msg 1 "autofs kernel module is loaded, autofs4 required" return 1 fi - start-stop-daemon --start --exec $DAEMON --oknodo -- $OPTIONS --pid-file $PIDFILE - RETVAL=$? - if [ $RETVAL -eq 0 ] ; then - log_end_msg 0 - else + if ! start_stop_autofs --start --oknodo --quiet ; then log_action_end_msg 1 "no valid automount entries defined." + return 1 fi + log_end_msg 0 return 0 } stop() { - log_action_begin_msg $"Stopping $prog: " - count=0 - while [ -n "`pidof $prog`" -a $count -lt 15 ] ; do - start-stop-daemon --stop --exec $DAEMON --oknodo - [ -z "`pidof $prog`" ] || sleep 3 - count=`expr $count + 1` - done - if [ -z "`pidof $prog`" ] ; then - RETVAL=0 - log_action_end_msg 0 - else - RETVAL=1 + log_action_begin_msg "Stopping $PROG" + if ! start_stop_autofs --stop --retry 5 --oknodo --quiet ; then log_action_end_msg 1 + return 1 fi - return $RETVAL -} - -restart() { - stop - start + log_end_msg 0 + return 0 } reload() { - pid=`pidof $prog` - if [ -z $pid ]; then - log_action_msg $"$prog not running" - RETVAL=1 - else - kill -HUP $pid 2> /dev/null - log_action_msg $"Reloading maps" - RETVAL=0 + log_action_begin_msg "Reloading $PROG maps" + if ! start_stop_autofs --stop --signal=HUP --quiet + then + log_action_end_msg 1 "$PROG not running" + return 1 fi - return $RETVAL + log_action_end_msg 0 + return 0 } -RETVAL=0 +forcestart() { + OPTIONS="$OPTIONS --force" + start +} case "$1" in - start) - start - ;; - forcestart) - OPTIONS="$OPTIONS --force" - start - ;; - stop) - stop + start|forcestart|stop|reload) + $1 ;; restart|force-reload) - restart + stop + start ;; forcerestart) - OPTIONS="$OPTIONS --force" - restart - ;; - reload) - reload + stop + forcestart ;; status) - status_of_proc -p $PIDFILE "$DAEMON" "$prog" + status_of_proc -p $PIDFILE $DAEMON $PROG ;; *) - echo $"Usage: $0 {start|forcestart|stop|restart|forcerestart|reload|force-reload|status}" - exit 1; + echo "Usage: $0 {start|forcestart|stop|restart|forcerestart|reload|force-reload|status}" + exit 1 ;; esac - -exit $? - diff -Nru autofs-5.0.6/debian/autofs.postinst autofs-5.0.7/debian/autofs.postinst --- autofs-5.0.6/debian/autofs.postinst 2012-06-01 15:17:59.000000000 +0400 +++ autofs-5.0.7/debian/autofs.postinst 2012-09-03 08:52:07.000000000 +0400 @@ -3,14 +3,10 @@ if [ "$1" = "configure" ]; then # transfer ownership from old autofs5 package - # since there's no official ucfr --query, we can't know if we - # already transferred ownership. So we may only always use --foce - #autofs5_ver=`dpkg-query -f '${Version}' -W autofs5 2>/dev/null` - #if dpkg --compare-versions "$autofs5_ver" "<=" 5.0.6-2~ - #then - force="--force" - #else force= - #fi + case "$(ucfq -w /etc/default/autofs)" in + *:autofs5:*) force=--force ;; + *) force= ;; + esac for map in master net misc smb; do ucfr $force autofs /etc/auto.$map ucf /usr/share/autofs/conffiles/auto.$map /etc/auto.$map @@ -19,4 +15,23 @@ ucf /usr/share/autofs/conffiles/default/autofs /etc/default/autofs fi +# In version 5.0.6 (wheezy), the package has been renamed +# from autofs5 to autofs. We properly Breaks/Replaces the old package, +# and dummy/transitional `autofs5' is also provided, so regular upgrades +# and new installs works. But when a system had old autofs5 installed +# and the user installs new autofs manually, the system ends up having +# config files of old autofs5, together with maintainer scripts, and +# this new autofs package. We need to ensure that old autofs5 package +# can be purged, but its maintscripts tries to deregister/remove +# ucf-controlled files, -- the same as we maintain above. We must stop +# it from doing so, and the only way we currently know to do that is to +# REMOVE old package's maintscripts to stop it from being executed. +# Suggested by Ben Hutchings and Steve Langasek. #686146 +if [ "$1" = configure ]; then + if postrm="$(dpkg-query -c autofs5 postrm 2>/dev/null)" && [ -n "$postrm" ] + then + rm -f "$postrm" + fi +fi + #DEBHELPER# diff -Nru autofs-5.0.6/debian/autofs.postrm autofs-5.0.7/debian/autofs.postrm --- autofs-5.0.6/debian/autofs.postrm 2012-06-01 15:17:59.000000000 +0400 +++ autofs-5.0.7/debian/autofs.postrm 2012-06-07 23:41:38.000000000 +0400 @@ -3,9 +3,9 @@ if [ "$1" = "purge" ]; then for CONFF in /etc/auto.master /etc/auto.net /etc/auto.misc /etc/auto.smb /etc/default/autofs; do - ucfr -p autofs $CONFF - ucf --purge $CONFF rm -f $CONFF $CONFF.ucf-dist $CONFF.ucf-old $CONFF.ucf-new + if which ucf >/dev/null; then ucf --purge $CONFF; fi + if which ucfr >/dev/null; then ucfr --purge autofs $CONFF; fi done fi diff -Nru autofs-5.0.6/debian/changelog autofs-5.0.7/debian/changelog --- autofs-5.0.6/debian/changelog 2012-06-02 14:47:03.000000000 +0400 +++ autofs-5.0.7/debian/changelog 2012-09-26 21:15:05.000000000 +0400 @@ -1,3 +1,75 @@ +autofs (5.0.7-1) unstable; urgency=low + + * new upstream (5.0.7) release. It brings the following changes: + - fixed remount deadlock, and several other locking fixes + - fixed umount recovery for busy direct mounts + - removed old code (mount-move which was fixed in 5.0.6-4 #686438) + - fix hosts lookup module to be more robust + - implemented abilty to re-read indirect maps on the fly (sighup) + - fixes for nfs handling to be more robust + - several fixes for multi-mount entries + - several fixes for NFSv4 mounts (Closes: #675798) + and a few more small/misc fixes. This is all-bugfix changes, making + the code more robust and less buggy. + * removed --disable-mount-move configure option, not needed anymore. + * removed autofs-5.0.6-upstream-git.patch. + * refreshed manpages-hyphen.patch. + * added selected fixes from upstream git, up to upstream/master commit + 9872cdbf9f1588174121e6ffe6f7509cde2d98e9: + - 0001-autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch (Closes: #678408) + - 0002-autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch + - 0004-autofs-5.0.7-fix-parse-buffer-initialization.patch + - 0005-autofs-5.0.7-fix-typo-in-automount-8.patch + * added remove-kernel-mount.nfs-version-check.patch to stop automount from + checking for very old mount.nfs or kernel. The check isn't necessary + (that's pre-squeeze versions, so not even versioned Breaks are needed + anymore), but it is also harmful, since automount spawns mount.nfs at + startup and confuses upstart and systemd who start tracking wrong + process. The patch just removes these checks assuming we always use + recent enough versions. (Closes: #678555) + + -- Michael Tokarev <m...@tls.msk.ru> Wed, 26 Sep 2012 21:15:05 +0400 + +autofs (5.0.6-4) unstable; urgency=low + + * configure with --disable-mount-move -- upstream even removed the + code in question for 5.0.7 release (Closes: #686438) + * remove autofs5.postrm in autofs.postinst to cope with old maintscript + removing our configfiles. See comments in autofs.postinst for more + details (Closes: #686146) + * added allow-nsswitch.conf-to-not-contain-automount-lines.patch + (submitted to upstream too) to stop automount from complaining + when nsswitch.conf does not mention autofs (which is almost every + install anyway). (Closes: #682266, #602090) + + -- Michael Tokarev <m...@tls.msk.ru> Sat, 22 Sep 2012 13:07:46 +0400 + +autofs (5.0.6-3) unstable; urgency=low + + [Michael Tokarev] + * almost completely rewrote the startup script, make it cleaner, + consistent and actually returning proper exit codes. Removed + $"" constructs too, dash apparently does not understand these. + (Closes: #677520, #683936) + * transfer ownership of ucf-conffiles forcibly only if they're + owned by autofs5, not by any other package. + * run ucf --purge in postrm only if it is installed, and in the + right order too (Closes: #685468) + * added filagdir.patch - fix a typo in configure.in which prevents + from specifying runtime directory (Closes: #678384) + * use /var/run not /run for runtime files (we don't really need + it to be available on upgrade, before initscripts et all has + been replaced) (Closes: #682675) + + [Dmitry Smirnov] + * setting current team leader as Maintainer + * pass CPPFLAGS to fix "hardening-no-fortify-functions" + * new fix-ldflags.patch to avoid dropping LDFLAGS in order to + fix "hardening-no-relro" + * updated manpages-hyphen.patch + + -- Michael Tokarev <m...@tls.msk.ru> Sat, 25 Aug 2012 16:13:02 +0400 + autofs (5.0.6-2) unstable; urgency=low [Dmitry Smirnov] @@ -56,6 +128,7 @@ negative lookups on *" (Closes: #617317). - "autofs5-ldap: simple bind auth feature request" (Closes: #595808). - "autofs5-ldap: SASL auth broken" (Closes: #568813). + - "nobind option to stop bind-mounting local dirs" (Closes: #557337). * package rename: dropping '5' from package names (Closes: #655351). * NMU changes acknowledged (Closes: #603491, #583094). * register /etc/default/autofs with ucf (Closes: #556961). diff -Nru autofs-5.0.6/debian/control autofs-5.0.7/debian/control --- autofs-5.0.6/debian/control 2012-06-01 17:28:04.000000000 +0400 +++ autofs-5.0.7/debian/control 2012-06-07 23:39:09.000000000 +0400 @@ -1,9 +1,9 @@ Source: autofs Section: utils Priority: extra -Maintainer: Dmitry Smirnov <only...@member.fsf.org> +Maintainer: Michael Tokarev <m...@tls.msk.ru> Uploaders: Jan Christoph Nordholz <he...@pool.math.tu-berlin.de>, - Michael Tokarev <m...@tls.msk.ru>, William Dauchy <wdau...@gmail.com> + Dmitry Smirnov <only...@member.fsf.org>, William Dauchy <wdau...@gmail.com> Standards-Version: 3.9.3 Build-Depends: debhelper (>= 9), autoconf, lsb-base, bison, flex, libhesiod-dev, libkrb5-dev, libldap-dev, libsasl2-dev, libssl-dev, libxml2-dev diff -Nru autofs-5.0.6/debian/patches/0001-autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch autofs-5.0.7/debian/patches/0001-autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch --- autofs-5.0.6/debian/patches/0001-autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/0001-autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch 2012-09-24 11:34:33.000000000 +0400 @@ -0,0 +1,33 @@ +From ebc62059641517ea4d219fa1ecc17b92acef6cc0 Mon Sep 17 00:00:00 2001 +From: Ian Kent <ik...@redhat.com> +Date: Wed, 12 Sep 2012 09:09:49 +0800 +Subject: autofs-5.0.7 - fix nobind sun escaped map entries + +If a map contains a Sun colon escape to indicate the mount is a local +file system and the "nobind" option is present there is no hostname in +the mount location and the mount fails. + +diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c +index 9b8e5f1..bbbb1de 100644 +--- a/modules/mount_nfs.c ++++ b/modules/mount_nfs.c +@@ -263,13 +263,14 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int + } else + strcpy(loc, n_addr); + } else { +- loc = malloc(strlen(this->name) + strlen(this->path) + 2); ++ char *host = this->name ? this->name : "localhost"; ++ loc = malloc(strlen(host) + strlen(this->path) + 2); + if (!loc) { + char *estr = strerror_r(errno, buf, MAX_ERR_BUF); + error(ap->logopt, "malloc: %s", estr); + goto forced_fail; + } +- strcpy(loc, this->name); ++ strcpy(loc, host); + } + strcat(loc, ":"); + strcat(loc, this->path); +-- +1.7.10.4 + diff -Nru autofs-5.0.6/debian/patches/0002-autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch autofs-5.0.7/debian/patches/0002-autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch --- autofs-5.0.6/debian/patches/0002-autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/0002-autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch 2012-09-24 11:33:26.000000000 +0400 @@ -0,0 +1,35 @@ +From 577c70ae32a18f9aa1fdfca162aecc17cdfb5b64 Mon Sep 17 00:00:00 2001 +From: Ian Kent <ik...@redhat.com> +Date: Wed, 12 Sep 2012 09:10:53 +0800 +Subject: autofs-5.0.7 - fix use cache entry after free mistake + +Fix an obvious use after free mistake in lookup_prune_one_cache(). + +diff --git a/daemon/lookup.c b/daemon/lookup.c +index 7909536..e3d9536 100644 +--- a/daemon/lookup.c ++++ b/daemon/lookup.c +@@ -1103,15 +1103,18 @@ void lookup_prune_one_cache(struct autofs_point *ap, struct mapent_cache *mc, ti + if (valid) + cache_delete(mc, key); + else if (!is_mounted(_PROC_MOUNTS, path, MNTS_AUTOFS)) { ++ dev_t devid = ap->dev; + status = CHE_FAIL; ++ if (ap->type == LKP_DIRECT) ++ devid = this->dev; + if (this->ioctlfd == -1) + status = cache_delete(mc, key); + if (status != CHE_FAIL) { + if (ap->type == LKP_INDIRECT) { + if (ap->flags & MOUNT_FLAG_GHOST) +- rmdir_path(ap, path, ap->dev); ++ rmdir_path(ap, path, devid); + } else +- rmdir_path(ap, path, this->dev); ++ rmdir_path(ap, path, devid); + } + } + cache_unlock(mc); +-- +1.7.10.4 + diff -Nru autofs-5.0.6/debian/patches/0004-autofs-5.0.7-fix-parse-buffer-initialization.patch autofs-5.0.7/debian/patches/0004-autofs-5.0.7-fix-parse-buffer-initialization.patch --- autofs-5.0.6/debian/patches/0004-autofs-5.0.7-fix-parse-buffer-initialization.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/0004-autofs-5.0.7-fix-parse-buffer-initialization.patch 2012-09-24 11:33:38.000000000 +0400 @@ -0,0 +1,37 @@ +From 5ca7ff3cf5619def8af62c2da6c5b4bf7e0a4dc2 Mon Sep 17 00:00:00 2001 +From: Ian Kent <ik...@redhat.com> +Date: Wed, 12 Sep 2012 09:12:29 +0800 +Subject: autofs-5.0.7 - fix parse buffer initialization + +When parsing a master map entry, if the mount point path is longer than +the following map string the lexical analyzer buffer may not have a null +terminator where it is expected. If the map name string also contains a +string that is the same as a map type at the end the map name the map +name is not constructed correctly because of this lack of a string +terminator in the buffer. + +diff --git a/lib/master_tok.l b/lib/master_tok.l +index 0d6edb7..30abb15 100644 +--- a/lib/master_tok.l ++++ b/lib/master_tok.l +@@ -74,7 +74,8 @@ int my_yyinput(char *, int); + #define unput(c) (*(char *) --line = c) + #endif + +-char buff[1024]; ++#define BUFF_LEN 1024 ++char buff[BUFF_LEN]; + char *bptr; + char *optr = buff; + unsigned int tlen; +@@ -174,6 +175,7 @@ OPTNTOUT (-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo + *bptr = '\0'; + strcpy(master_lval.strtype, buff); + bptr = buff; ++ memset(buff, 0, BUFF_LEN); + return(PATH); + } + +-- +1.7.10.4 + diff -Nru autofs-5.0.6/debian/patches/0005-autofs-5.0.7-fix-typo-in-automount-8.patch autofs-5.0.7/debian/patches/0005-autofs-5.0.7-fix-typo-in-automount-8.patch --- autofs-5.0.6/debian/patches/0005-autofs-5.0.7-fix-typo-in-automount-8.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/0005-autofs-5.0.7-fix-typo-in-automount-8.patch 2012-09-24 11:34:52.000000000 +0400 @@ -0,0 +1,21 @@ +From 9872cdbf9f1588174121e6ffe6f7509cde2d98e9 Mon Sep 17 00:00:00 2001 +From: Ian Kent <ik...@redhat.com> +Date: Wed, 12 Sep 2012 09:12:52 +0800 +Subject: autofs-5.0.7 - fix typo in automount(8) + +diff --git a/man/automount.8 b/man/automount.8 +index 0186984..dddebce 100644 +--- a/man/automount.8 ++++ b/man/automount.8 +@@ -51,7 +51,7 @@ are over-ridden macro definitions of the same name specified in + mount entries. + .TP + .I "\-f, \-\-foreground" +-Run the daemon in the forground and log to stderr instead of syslog." ++Run the daemon in the foreground and log to stderr instead of syslog." + .TP + .I "\-r, \-\-random-multimount-selection" + Enables the use of ramdom selection when choosing a host from a +-- +1.7.10.4 + diff -Nru autofs-5.0.6/debian/patches/allow-nsswitch.conf-to-not-contain-automount-lines.patch autofs-5.0.7/debian/patches/allow-nsswitch.conf-to-not-contain-automount-lines.patch --- autofs-5.0.6/debian/patches/allow-nsswitch.conf-to-not-contain-automount-lines.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/allow-nsswitch.conf-to-not-contain-automount-lines.patch 2012-09-22 12:53:18.000000000 +0400 @@ -0,0 +1,40 @@ +From 54c46805cf5acc36b29d4ad080f0dc3000670c33 Mon Sep 17 00:00:00 2001 +From: Michael Tokarev <m...@tls.msk.ru> +Date: Wed, 12 Sep 2012 19:46:03 +0400 +Subject: [PATCH] Allow nsswitch.conf to not contain automount lines +Bug-Debian: http://bugs.debian.org/682266 + +Current code does not allow a case when nsswitch.conf +does not mention automount map at all, like all new +installations. It logs a rather unpleasant error +message instead: + + syntax error in nsswitch config near [ syntax error ] + +this patch has a minimal fix, to allo "file" to be empty. + +Whole parser in C is about 25 lines of code, the "grammar" +is trivial, and it is better to ditch all this yacc/lex +stuff, but that will be much more intrusive change. + +Signed-off-by: Michael Tokarev <m...@tls.msk.ru> +Cc: 682...@bugs.debian.org +--- + lib/nss_parse.y | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/nss_parse.y b/lib/nss_parse.y +index a39fda4..055e9d7 100644 +--- a/lib/nss_parse.y ++++ b/lib/nss_parse.y +@@ -72,6 +72,7 @@ file: { + nss_debug = YYDEBUG; + #endif + } sources NL ++ | /* empty */ + ; + + sources: nss_source +-- +1.7.10.4 + diff -Nru autofs-5.0.6/debian/patches/filagdir.patch autofs-5.0.7/debian/patches/filagdir.patch --- autofs-5.0.6/debian/patches/filagdir.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/filagdir.patch 2012-07-25 21:45:53.000000000 +0400 @@ -0,0 +1,16 @@ +Subject: fix --with-flagdir in configure.in +From: John Hedges <j...@drystone.co.uk> +Forwarded: yes +Bug-Debian: http://bugs.debian.org/678384 + +--- a/configure.in ++++ b/configure.in +@@ -114,7 +114,7 @@ + then + : + else +- filagdir="${withval}" ++ flagdir="${withval}" + fi + ) + AC_MSG_CHECKING([for autofs flag file directory]) diff -Nru autofs-5.0.6/debian/patches/fix-ldflags.patch autofs-5.0.7/debian/patches/fix-ldflags.patch --- autofs-5.0.6/debian/patches/fix-ldflags.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/fix-ldflags.patch 2012-08-23 11:40:24.000000000 +0400 @@ -0,0 +1,36 @@ +Last-Update: 2012-08-23 +Author: Dmitry Smirnov <only...@member.fsf.org> +Forwarded: no +Description: avoid dropping LDFLAGS to fix "hardening-no-relro" + +--- a/Makefile.rules ++++ b/Makefile.rules +@@ -24,16 +24,16 @@ + + ifdef DEBUG + CFLAGS ?= -g -Wall -DDEBUG +-LDFLAGS = -g ++LDFLAGS += -g + STRIP = : + else + ifdef DONTSTRIP + CFLAGS ?= -O2 -g +-LDFLAGS = -g ++LDFLAGS += -g + STRIP = : + else + CFLAGS ?= -O2 -Wall +-LDFLAGS = -s ++LDFLAGS += -s + STRIP = strip --strip-debug + endif + endif +@@ -42,7 +42,7 @@ + CXX = g++ + CXXFLAGS = $(CFLAGS) + LD = ld +-SOLDFLAGS = -shared ++SOLDFLAGS = $(LDFLAGS) -shared + + CFLAGS += -D_REENTRANT -D_FILE_OFFSET_BITS=64 + LDFLAGS += -lpthread diff -Nru autofs-5.0.6/debian/patches/manpages-hyphen.patch autofs-5.0.7/debian/patches/manpages-hyphen.patch --- autofs-5.0.6/debian/patches/manpages-hyphen.patch 2012-06-01 15:17:59.000000000 +0400 +++ autofs-5.0.7/debian/patches/manpages-hyphen.patch 2012-09-24 11:20:35.000000000 +0400 @@ -1,9 +1,8 @@ -Last-Update: 2012-04-24 +Last-Update: 2012-08-23 Author: Dmitry Smirnov <only...@member.fsf.org> Forwarded: no Description: minor lintianisation patch for W:'hyphen-used-as-minus-sign' - --- a/man/autofs.5 +++ b/man/autofs.5 @@ -72,13 +72,13 @@ @@ -68,3 +67,14 @@ .BR automount (8). .SS Executable Maps A map can be marked as executable. A +--- a/man/auto.master.5.in ++++ b/man/auto.master.5.in +@@ -217,7 +217,7 @@ + .B LOGGING + set default log level "none", "verbose" or "debug" (program default "none"). + .SH BUILTIN MAP -hosts +-If "-hosts" is given as the map then accessing a key under the mount point ++If "\-hosts" is given as the map then accessing a key under the mount point + which corresponds to a hostname will allow access to the exports of that + host. The hosts map cannot be dynamically updated and requires a HUP signal + to be sent to the daemon for it to check hosts for an update. Due to possible diff -Nru autofs-5.0.6/debian/patches/remove-kernel-mount.nfs-version-check.patch autofs-5.0.7/debian/patches/remove-kernel-mount.nfs-version-check.patch --- autofs-5.0.6/debian/patches/remove-kernel-mount.nfs-version-check.patch 1970-01-01 03:00:00.000000000 +0300 +++ autofs-5.0.7/debian/patches/remove-kernel-mount.nfs-version-check.patch 2012-09-26 20:44:24.000000000 +0400 @@ -0,0 +1,102 @@ +From: Michael Tokarev <m...@tls.msk.ru> +Subject: remove kernel and mount.nfs version check +Forwarded: no +Bug-Debian: http://bugs.debian.org/678555 +Bug-Ubuntu: http://pad.lv/1016673 + +autofs daemon checks for kernel and mount.nfs versions and uses +slightly different code if kernel is older than 2.6.22 or mount.nfs +does not use string options. Both cases are of very old, pre-squeeze, +versions. + +But because automount spawns mount.nfs at startup, this interferes +with systemd and upstart daemon pid tracking mechanism (they track +pid of mount.nfs, not automount as a result). Fix this by removing +the check entirely. + +Note that for current Debian and Ubuntu versions, no versioned Breaks +are necessary. + +The patch is based on a similar patch by Dmitrijs Ledkovs. + +--- debian.orig/daemon/automount.c ++++ debian/daemon/automount.c +@@ -51,9 +51,6 @@ + const char *mapdir = AUTOFS_MAP_DIR; /* Location of mount maps */ + const char *confdir = AUTOFS_CONF_DIR; /* Location of autofs config file */ + +-unsigned int nfs_mount_uses_string_options = 0; +-static struct nfs_mount_vers vers, check = {1, 1, 1}; +- + /* autofs fifo name prefix */ + const char *fifodir = AUTOFS_FIFO_DIR "/autofs.fifo"; + +@@ -1281,8 +1278,6 @@ + if (status) + fatal(status); + +- nfs_mount_uses_string_options = check_nfs_mount_version(&vers, &check); +- + master_mutex_lock(); + if (master->reading) { + status = pthread_mutex_unlock(&mrc.mutex); +@@ -1941,8 +1936,6 @@ + + defaults_read_config(0); + +- nfs_mount_uses_string_options = check_nfs_mount_version(&vers, &check); +- + kpkt_len = get_kpkt_len(); + timeout = defaults_get_timeout(); + ghost = defaults_get_browse_mode(); +--- debian.orig/include/mounts.h ++++ debian/include/mounts.h +@@ -75,16 +75,7 @@ + struct list_head ordered; + }; + +- +-struct nfs_mount_vers { +- unsigned int major; +- unsigned int minor; +- unsigned int fix; +-}; + unsigned int linux_version_code(void); +-int check_nfs_mount_version(struct nfs_mount_vers *, struct nfs_mount_vers *); +-extern unsigned int nfs_mount_uses_string_options; +- + unsigned int query_kproto_ver(void); + unsigned int get_kver_major(void); + unsigned int get_kver_minor(void); +--- debian.orig/modules/replicated.c ++++ debian/modules/replicated.c +@@ -953,9 +953,8 @@ + * But also allow the MOUNT_WAIT configuration parameter to override + * the probing. + */ +- if (nfs_mount_uses_string_options && +- defaults_get_mount_wait() == -1 && +- (kern_vers = linux_version_code()) > KERNEL_VERSION(2, 6, 22)) { ++ /* we assume kernel and mount.nfs are recent enough */ ++ if (defaults_get_mount_wait() == -1) { + if (!this) + return 1; + } else { +--- debian.orig/lib/mounts.c ++++ debian/lib/mounts.c +@@ -164,6 +164,7 @@ + return kver.minor; + } + ++#if 0 + #ifdef HAVE_MOUNT_NFS + static int extract_version(char *start, struct nfs_mount_vers *vers) + { +@@ -299,6 +300,7 @@ + return 0; + } + #endif ++#endif + + /* + * Make common autofs mount options string diff -Nru autofs-5.0.6/debian/patches/series autofs-5.0.7/debian/patches/series --- autofs-5.0.6/debian/patches/series 2012-06-01 23:24:13.000000000 +0400 +++ autofs-5.0.7/debian/patches/series 2012-09-26 19:42:52.000000000 +0400 @@ -1,6 +1,13 @@ -# upstream git patch # -autofs-5.0.6-upstream-git.patch +# selected patches from upstream git, without CHANGELOG and configure chunks +0001-autofs-5.0.7-fix-nobind-sun-escaped-map-entries.patch +0002-autofs-5.0.7-fix-use-cache-entry-after-free-mistake.patch +0004-autofs-5.0.7-fix-parse-buffer-initialization.patch +0005-autofs-5.0.7-fix-typo-in-automount-8.patch +# +# bugfixes forwarded to upstream +filagdir.patch +allow-nsswitch.conf-to-not-contain-automount-lines.patch # # Debian patches # @@ -14,3 +21,5 @@ do-not-check-for-modprobe-procfs-or-load-module.patch save-hesiod-libs-correctly.patch link-daemon-with-lpthread.patch +fix-ldflags.patch +remove-kernel-mount.nfs-version-check.patch diff -Nru autofs-5.0.6/debian/rules autofs-5.0.7/debian/rules --- autofs-5.0.6/debian/rules 2012-06-01 22:59:00.000000000 +0400 +++ autofs-5.0.7/debian/rules 2012-09-24 10:33:37.000000000 +0400 @@ -20,14 +20,14 @@ MOUNT=/bin/mount UMOUNT=/bin/umount \ MOUNT_NFS=/sbin/mount.nfs \ E2FSCK=/sbin/fsck.ext2 E3FSCK=/sbin/fsck.ext3 E4FSCK=/sbin/fsck.ext4 \ - initdir=/etc/init.d piddir=/run \ + initdir=/etc/init.d piddir=/var/run \ dh_auto_configure -- \ --enable-forced-shutdown \ --enable-ignore-busy \ --mandir=/usr/share/man \ --with-confdir=/etc/default \ --with-mapdir=/etc \ - --with-fifodir=/run --with-flagdir=/run \ + --with-fifodir=/var/run --with-flagdir=/var/run \ --with-hesiod \ --with-openldap \ --with-sasl @@ -37,6 +37,10 @@ sed -i 's/.*HAVE_SLOPPY_MOUNT.*/#define HAVE_SLOPPY_MOUNT 1/' \ include/config.h +override_dh_auto_build: + CFLAGS="$(CFLAGS) $(CPPFLAGS)" \ + dh_auto_build + override_dh_install: dh_install # remove hesiod and ldap modules, they're in separate packages