From c679486e554864df4c98feacc6f759cccb0b69fa Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Wed, 26 May 2010 14:45:22 -0700 Subject: [PATCH] Update Debian packaging to 1.5.74.1-1 Change-Id: I828f21edffce67eaba6cfdd76e66e754a58e52a0 Reviewed-on: http://gerrit.openafs.org/2037 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/packaging/Debian/changelog.in | 39 ++++++++++++++++++++ src/packaging/Debian/control | 18 ++++++++- src/packaging/Debian/import-upstream | 1 + src/packaging/Debian/openafs-client.init | 15 +++++--- src/packaging/Debian/openafs-client.postinst | 11 +++++- src/packaging/Debian/openafs-fuse.dirs | 1 + src/packaging/Debian/openafs-fuse.install | 1 + src/packaging/Debian/openafs-fuse.links | 1 + src/packaging/Debian/rules | 7 ++-- 9 files changed, 83 insertions(+), 11 deletions(-) create mode 100644 src/packaging/Debian/openafs-fuse.dirs create mode 100644 src/packaging/Debian/openafs-fuse.install create mode 100644 src/packaging/Debian/openafs-fuse.links diff --git a/src/packaging/Debian/changelog.in b/src/packaging/Debian/changelog.in index 09c36f95f..7399576fc 100644 --- a/src/packaging/Debian/changelog.in +++ b/src/packaging/Debian/changelog.in @@ -12,6 +12,44 @@ openafs (@DEB_PKGVER@-1~openafs) unstable; urgency=low -- Russ Allbery Thu, 08 Apr 2010 13:20:50 -0700 +openafs (1.5.74.1-1) experimental; urgency=low + + * New upstream testing release. + - Correctly recognize cache version differences in upgrades from 1.4 + and invalidate the old cache. + - Resolve symlinks in fs rmmount. + - Include PID in byte-range lock warning. + * Preserve the AFS mount point and cache directorys set in + /etc/openafs/cacheinfo if the file already exists rather than + overwriting them with the defaults. Thanks, Liam Healy. + (Closes: #580077) + * In the openafs-client init script, don't assume that AFS is mounted on + /afs when unmounting it or killing processes with AFS files open. + Instead, parse /etc/mtab to find the AFS mount point. + * Move the experimental afsd.fuse AFS FUSE client into openafs-fuse to + avoid adding a FUSE dependency in openafs-client. Document its + current limitations in the package description. + + -- Russ Allbery Tue, 04 May 2010 21:49:52 -0700 + +openafs (1.5.74-2) experimental; urgency=low + + * Apply upstream deltas: + - [e6f6c349] Fixes and clarifications to vos setaddrs man page + - [d80382ef] Remove special-case call for KAM_SetPassword on s390 + * Fix ucontext detection on ppc_linux26, hopefully fixing build failures + on the Debian powerpc architecture. + * Install afsd.fuse and a man page link for it if the FUSE client build + is enabled. + * Add build dependency on libfuse-dev and pass --enable-fuse-client to + configure so that the new FUSE afsd is built. Install afsd.fuse into + the openafs-client package for the time being; it will move to some + other package before being uploaded to unstable so that openafs-client + doesn't keep a dependency on libfuse. There is, as yet, no + documentation or init script support for the FUSE implementation. + + -- Russ Allbery Tue, 20 Apr 2010 18:12:06 -0700 + openafs (1.5.74-1) experimental; urgency=low * New upstream testing release. @@ -38,6 +76,7 @@ openafs (1.5.73.3-1) experimental; urgency=low - Network performance improvements. - New libkopenafs library providing a kernel PAG manipulation interface (a subset of the API provided by Heimdal's libkafs). + - Fix builds on sparc64. (LP: #181661) * Apply upstream deltas: - [7d395f17] Improve demand-attach fileserver bos documentation - [a763edc3] Make src/rx/rx.c not executable diff --git a/src/packaging/Debian/control b/src/packaging/Debian/control index d2bcdbf48..8bdee81f2 100644 --- a/src/packaging/Debian/control +++ b/src/packaging/Debian/control @@ -5,7 +5,8 @@ Maintainer: Russ Allbery Uploaders: Sam Hartman Build-Depends: debhelper (>= 7), autoconf, automake, bison, comerr-dev, cpio, dblatex, dkms (>= 2.1.1.1), docbook-xsl, doxygen, flex, - libkrb5-dev, libncurses5-dev, libpam0g-dev, libxml2-utils, perl, xsltproc + libfuse-dev, libkrb5-dev, libncurses5-dev, libpam0g-dev, libxml2-utils, + perl, pkg-config, xsltproc Standards-Version: 3.8.4 Homepage: http://www.openafs.org/ Vcs-Git: git://git.debian.org/git/pkg-k5-afs/openafs.git @@ -28,6 +29,21 @@ Description: AFS distributed filesystem client support AFS. If your site uses Kerberos v5 authentication for AFS, you will also want to install openafs-krb5. +Package: openafs-fuse +Priority: extra +Architecture: alpha amd64 arm armel i386 ia64 lpia powerpc ppc64 s390 s390x sparc +Depends: ${shlibs:Depends}, ${misc:Depends}, openafs-client (>= 1.5.74.1) +Description: AFS distributed file system experimental FUSE client + AFS is a distributed filesystem allowing cross-platform sharing of + files among multiple computers. Facilities are provided for access + control, authentication, backup and administrative management. + . + This package provides an experimental FUSE implementation of the AFS + client as afsd.fuse. This currently only provides read-only access to + AFS, doesn't work with all of the normal AFS client programs, and must be + started manually, but may be of interest in situations where read-only + access is sufficient and the kernel module cannot be built. + Package: openafs-kpasswd Priority: extra Architecture: alpha amd64 arm armel i386 ia64 lpia powerpc ppc64 s390 s390x sparc diff --git a/src/packaging/Debian/import-upstream b/src/packaging/Debian/import-upstream index 62a361a65..c3a8aad09 100755 --- a/src/packaging/Debian/import-upstream +++ b/src/packaging/Debian/import-upstream @@ -44,3 +44,4 @@ commit=$(echo "Imported upstream tag $upstream via tarball" | \ git branch -f upstream-1.5 "$commit" git tag "$tag" "$commit" git rm -q -r -f "$dir" +rm -rf "$dir" diff --git a/src/packaging/Debian/openafs-client.init b/src/packaging/Debian/openafs-client.init index 329cfca53..02de249b5 100755 --- a/src/packaging/Debian/openafs-client.init +++ b/src/packaging/Debian/openafs-client.init @@ -177,10 +177,13 @@ start_client() { # normally called via kill_all_afs. kill_afs() { signal=$1 - pids=`/usr/bin/lsof -Fp /afs | sed 's/p//'` - if [ -n "$pids" ] ; then - kill -$signal $pids > /dev/null 2>&1 - sleep 1 + mount=`grep ^'AFS ' /etc/mtab | awk '{ print $2 }'` + if [ -n "$mount" ] ; then + pids=`/usr/bin/lsof -Fp $mount | sed 's/p//'` + if [ -n "$pids" ] ; then + kill -$signal $pids > /dev/null 2>&1 + sleep 1 + fi fi } @@ -238,8 +241,8 @@ force-start) stop|force-stop) $AFS_PRE_SHUTDOWN echo -n "Stopping AFS services:" - if mount | grep -q '^AFS' ; then - umount /afs + if grep -q '^AFS ' /etc/mtab ; then + umount `grep ^'AFS ' /etc/mtab | awk '{ print $2 }'` echo -n " afsd" fi if pidof /usr/sbin/afsd >/dev/null || pidof /sbin/afsd >/dev/null ; then diff --git a/src/packaging/Debian/openafs-client.postinst b/src/packaging/Debian/openafs-client.postinst index f29916817..ee44d5388 100644 --- a/src/packaging/Debian/openafs-client.postinst +++ b/src/packaging/Debian/openafs-client.postinst @@ -62,8 +62,17 @@ if [ "$1" = configure ] || [ "$1" = reconfigure ] ; then fi fi + # Our config script will have already taken care of extracting the cache + # size from the cacheinfo file and using it as the default for the debconf + # prompt, but the mount point and cache directory have no debconf prompts. + # For those, we need to get the default from the file. + mountpoint=/afs + cachedir=/var/cache/openafs + if [ -r /etc/openafs/cacheinfo ] ; then + IFS=: read mountpoint cachedir cachesize < /etc/openafs/cacheinfo + fi db_get openafs-client/cachesize - echo /afs:/var/cache/openafs:$RET >/etc/openafs/cacheinfo + echo "${mountpoint}:${cachedir}:${RET}" > /etc/openafs/cacheinfo echo <<'EOF' > /etc/openafs/afs.conf.client # This file is managed by debconf. You may change the parameters set below, diff --git a/src/packaging/Debian/openafs-fuse.dirs b/src/packaging/Debian/openafs-fuse.dirs new file mode 100644 index 000000000..7276ecdef --- /dev/null +++ b/src/packaging/Debian/openafs-fuse.dirs @@ -0,0 +1 @@ +usr/share/doc diff --git a/src/packaging/Debian/openafs-fuse.install b/src/packaging/Debian/openafs-fuse.install new file mode 100644 index 000000000..3f7d62e35 --- /dev/null +++ b/src/packaging/Debian/openafs-fuse.install @@ -0,0 +1 @@ +debian/tmp/usr/sbin/afsd.fuse usr/sbin diff --git a/src/packaging/Debian/openafs-fuse.links b/src/packaging/Debian/openafs-fuse.links new file mode 100644 index 000000000..60cf7ab27 --- /dev/null +++ b/src/packaging/Debian/openafs-fuse.links @@ -0,0 +1 @@ +/usr/share/man/man8/afsd.8.gz usr/share/man/man8/afsd.fuse.8.gz diff --git a/src/packaging/Debian/rules b/src/packaging/Debian/rules index 9b6a53531..7826b91dc 100755 --- a/src/packaging/Debian/rules +++ b/src/packaging/Debian/rules @@ -39,7 +39,8 @@ HTML_XSL = /usr/share/xml/docbook/stylesheet/nwalsh/html/chunk.xsl # The /usr/share/doc directory for these packages should be a symlink to # /usr/share/doc/openafs-client. Any package on this list must depend on # openafs-client. -DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-kpasswd +DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-fuse \ + openafs-kpasswd # These are files that we know we don't want to install. List them so that we # can use dh_install --fail-missing and catch anything new that shows up. @@ -51,7 +52,7 @@ IGNORE = -XAuthLog -Xcompile_et -Xcopyauth -Xdlog -Xdpass -Xfms.log \ -Xuss -Xvldb_convert -Xvsys -Xxfs_size_check # Installed via other means since we have to rename them. -IGNORE += -Xpam_afs +IGNORE += -Xafsd.fuse.8 -Xpam_afs # These variables are used by get-orig-source and to construct dkms.conf. # You will need to change TAG to package stable releases instead of @@ -99,7 +100,7 @@ build-stamp: --sysconfdir=/etc --libexecdir=/usr/lib \ --localstatedir=/var/lib --with-krb5-conf=/usr/bin/krb5-config \ --enable-supergroups --enable-demand-attach-fs \ - --enable-disconnected \ + --enable-disconnected --enable-fuse-client \ --with-xslt-processor=xsltproc --with-html-xsl=$(HTML_XSL) \ --enable-debug --enable-debug-lwp $(DEBIAN_OPT_FLAGS) $(SYSTEM) chmod a+x config.sub src/libafs/make_kbuild_makefile.pl \ -- 2.39.5