summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Lass2015-06-08 20:52:33 +0200
committerMichael Lass2015-06-08 20:52:33 +0200
commit2a4d7bb7630b94e3d00fb31f1a3187d51b8d556a (patch)
treea5cc0ea8911737a518cd69db91523b030f59ef5c
downloadaur-2a4d7bb7630b94e3d00fb31f1a3187d51b8d556a.tar.gz
Initial commit
-rw-r--r--.SRCINFO34
-rw-r--r--0001-Adjust-RedHat-config-and-service-files.patch74
-rw-r--r--0002-Add-configure-option-to-not-install-kauth.patch194
-rw-r--r--0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch113
-rw-r--r--PKGBUILD118
-rw-r--r--openafs.install52
-rw-r--r--tmpfiles.d-openafs.conf1
7 files changed, 586 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..5ae6b61bfc06
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,34 @@
+pkgbase = openafs
+ pkgdesc = Open source implementation of the AFS distributed file system
+ pkgver = 1.6.11.1
+ pkgrel = 1
+ url = http://www.openafs.org
+ install = openafs.install
+ arch = i686
+ arch = x86_64
+ arch = armv7h
+ license = custom:"IBM Public License Version 1.0"
+ depends = krb5
+ optdepends = openafs-modules: Kernel module for OpenAFS
+ optdepends = openafs-modules-dkms: Kernel module for OpenAFS, built automatically using dkms
+ conflicts = openafs-features
+ options = !emptydirs
+ backup = etc/conf.d/openafs
+ backup = etc/openafs/ThisCell
+ backup = etc/openafs/cacheinfo
+ backup = etc/openafs/CellServDB
+ source = http://openafs.org/dl/1.6.11.1/openafs-1.6.11.1-src.tar.bz2
+ source = http://openafs.org/dl/1.6.11.1/openafs-1.6.11.1-doc.tar.bz2
+ source = 0001-Adjust-RedHat-config-and-service-files.patch
+ source = 0002-Add-configure-option-to-not-install-kauth.patch
+ source = 0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch
+ source = tmpfiles.d-openafs.conf
+ sha256sums = ae1a87faec8ee273f7d4baa69d1346f798415b38de72888decde011405423dc7
+ sha256sums = cb398583931e7f0edf17b2321a858afc62cffa3c48cf69021eccc198d3e764f9
+ sha256sums = 06bf2185eb6988e66a5b01edf53ca813161043ef774b82636274b7c6442593c7
+ sha256sums = a1e886a282d1e52bdd5002c52f7340f659a9659bd1d629803a5b6c00bd6f4ce1
+ sha256sums = 904c8a463c4874266344fb1d86b9bdd52a80cc3df88614dbffbcb8603f8834ec
+ sha256sums = 5ef549180d1ac4e9530b65df7ddbdc1eceac6d6d6398fb2f32b06e96c1d9b5f0
+
+pkgname = openafs
+
diff --git a/0001-Adjust-RedHat-config-and-service-files.patch b/0001-Adjust-RedHat-config-and-service-files.patch
new file mode 100644
index 000000000000..9e59954b1914
--- /dev/null
+++ b/0001-Adjust-RedHat-config-and-service-files.patch
@@ -0,0 +1,74 @@
+From 538b7b48da3a5081b5aad60a9a70fec4f6141319 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20La=C3=9F?= <lass@mail.uni-paderborn.de>
+Date: Thu, 19 Feb 2015 19:34:00 +0100
+Subject: [PATCH 1/3] Adjust RedHat config and service files
+
+Basically we reuse upstream's config for RedHat but we change a few things:
+
+ * adjust paths to match ArchLinux packaging
+ * remove the dynamic creation of CellServDB
+ * enable network traffic encryption by default
+ * wait for dkms if dkms is used
+---
+ src/packaging/RedHat/openafs-cacheinfo | 2 +-
+ src/packaging/RedHat/openafs-client.service | 17 ++++++++---------
+ src/packaging/RedHat/openafs-server.service | 4 ++--
+ 3 files changed, 11 insertions(+), 12 deletions(-)
+
+diff --git a/src/packaging/RedHat/openafs-cacheinfo b/src/packaging/RedHat/openafs-cacheinfo
+index dd0fd05..1663c79 100755
+--- a/src/packaging/RedHat/openafs-cacheinfo
++++ b/src/packaging/RedHat/openafs-cacheinfo
+@@ -1 +1 @@
+-/afs:/usr/vice/cache:100000
++/afs:/var/cache/openafs:100000
+diff --git a/src/packaging/RedHat/openafs-client.service b/src/packaging/RedHat/openafs-client.service
+index 1a34c0c..bcc6de6 100644
+--- a/src/packaging/RedHat/openafs-client.service
++++ b/src/packaging/RedHat/openafs-client.service
+@@ -1,19 +1,18 @@
+ [Unit]
+ Description=OpenAFS Client Service
+ Wants=network-online.target
+-After=syslog.target network-online.target
++After=syslog.target network-online.target dkms.service
+ Before=remote-fs.target
+
+ [Service]
+ Type=forking
+-EnvironmentFile=/etc/sysconfig/openafs
+-ExecStartPre=/bin/sed -n 'w/usr/vice/etc/CellServDB' /usr/vice/etc/CellServDB.local /usr/vice/etc/CellServDB.dist
+-ExecStartPre=/bin/chmod 0644 /usr/vice/etc/CellServDB
+-ExecStartPre=/sbin/modprobe openafs
+-ExecStart=/usr/vice/etc/afsd $AFSD_ARGS
+-ExecStop=/bin/umount /afs
+-ExecStop=/usr/vice/etc/afsd -shutdown
+-ExecStop=/sbin/rmmod openafs
++EnvironmentFile=/etc/conf.d/openafs
++ExecStartPre=/usr/bin/modprobe openafs
++ExecStart=/usr/bin/afsd $AFSD_ARGS
++ExecStartPost=/usr/bin/fs setcrypt on
++ExecStop=/usr/bin/umount /afs
++ExecStop=/usr/bin/afsd -shutdown
++ExecStop=/usr/bin/rmmod openafs
+ KillMode=none
+
+ [Install]
+diff --git a/src/packaging/RedHat/openafs-server.service b/src/packaging/RedHat/openafs-server.service
+index ac9d3c4..0a4b3bf 100644
+--- a/src/packaging/RedHat/openafs-server.service
++++ b/src/packaging/RedHat/openafs-server.service
+@@ -3,8 +3,8 @@ Description=OpenAFS Server Service
+ After=syslog.target network.target
+
+ [Service]
+-EnvironmentFile=-/etc/sysconfig/openafs
+-ExecStart=/usr/afs/bin/bosserver -nofork $BOSSERVER_ARGS
++EnvironmentFile=-/etc/conf.d/openafs
++ExecStart=/usr/bin/bosserver -nofork $BOSSERVER_ARGS
+ ExecStop=/usr/bin/bos shutdown localhost -wait -localauth
+
+ [Install]
+--
+2.3.5
+
diff --git a/0002-Add-configure-option-to-not-install-kauth.patch b/0002-Add-configure-option-to-not-install-kauth.patch
new file mode 100644
index 000000000000..290944d44735
--- /dev/null
+++ b/0002-Add-configure-option-to-not-install-kauth.patch
@@ -0,0 +1,194 @@
+From eccd483fd8b81051d170bb98989c65cd14efa57c Mon Sep 17 00:00:00 2001
+From: Ben Kaduk <kaduk@mit.edu>
+Date: Thu, 8 Nov 2012 18:40:57 -0500
+Subject: [PATCH 2/3] Add configure option to not install kauth
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Per http://www.openafs.org/pages/no-more-des.html the kaserver
+suite of utilities is deprecated and is not supposed to be built
+anymore in this post-1.6 world.
+Not building them at all requires some effort, but not installing
+them is pretty easy. Do the easy part for now, and leave the hard
+parts for a follow-up commit.
+
+Change-Id: I1c400a7398b8708e7c9dc6613cd183b9b67e7a7f
+Reviewed-on: http://gerrit.openafs.org/8457
+Reviewed-by: Michael Laß <lass@mail.uni-paderborn.de>
+Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+(cherry picked from commit 5afe7a882b0bb90a515e505d9ffce4f644633f06)
+---
+ acinclude.m4 | 15 +++++++
+ src/kauth/Makefile.in | 110 ++++++++++++++++++++++++++------------------------
+ 2 files changed, 73 insertions(+), 52 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index c9ada2c..b372539 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -159,6 +159,14 @@ AC_ARG_ENABLE([transarc-paths],
+ ,
+ [enable_transarc_paths="no"])
+
++dnl Deprecated crypto
++AC_ARG_ENABLE([kauth],
++ [AS_HELP_STRING([--disable-kauth],
++ [do not install the deprecated kauth server and utilities (defaults to
++ enabled)])],
++ ,
++ [enable_kauth="yes"])
++
+ dnl Optimization and debugging flags.
+ AC_ARG_ENABLE([strip-binaries],
+ [AS_HELP_STRING([--disable-strip-binaries],
+@@ -1456,6 +1464,13 @@ else
+ fi
+ AC_SUBST(BUILD_LOGIN)
+
++if test "$enable_kauth" = yes; then
++ INSTALL_KAUTH="yes"
++else
++ INSTALL_KAUTH="no"
++fi
++AC_SUBST(INSTALL_KAUTH)
++
+ AC_CHECK_FUNCS([ \
+ daemon \
+ flock \
+diff --git a/src/kauth/Makefile.in b/src/kauth/Makefile.in
+index dd1452e..ad24e66 100644
+--- a/src/kauth/Makefile.in
++++ b/src/kauth/Makefile.in
+@@ -12,6 +12,8 @@ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+
++INSTALL_KAUTH = @INSTALL_KAUTH@
++
+ INCLS=${TOP_INCDIR}/ubik.h \
+ ${TOP_INCDIR}/lwp.h \
+ ${TOP_INCDIR}/lock.h \
+@@ -266,62 +268,66 @@ rebuild: rebuild.o kautils.o $(LIBS)
+ install: kaserver kas kpwvalid kas klog klog.krb knfs kpasswd libkauth.a \
+ libkauth.krb.a rebuild kdb ka-forwarder kautils.h kauth.h \
+ kaport.h
+- ${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}
+- ${INSTALL} -d ${DESTDIR}${bindir}
+- ${INSTALL} -d ${DESTDIR}${sbindir}
+- ${INSTALL} -d ${DESTDIR}${afssrvbindir}
+- ${INSTALL} -d ${DESTDIR}${afssrvsbindir}
+- ${INSTALL} -d ${DESTDIR}${libdir}/afs
+- ${INSTALL} -d ${DESTDIR}${includedir}/afs
+- ${INSTALL_PROGRAM} kaserver ${DESTDIR}${afssrvlibexecdir}/kaserver
+- ${INSTALL_PROGRAM} kas ${DESTDIR}${sbindir}/kas
+- ${INSTALL_PROGRAM} kpwvalid ${DESTDIR}${sbindir}/kpwvalid
+- ${INSTALL_PROGRAM} kas ${DESTDIR}${afssrvsbindir}/kas
+- ${INSTALL_PROGRAM} kpwvalid ${DESTDIR}${afssrvsbindir}/kpwvalid
+- ${INSTALL_PROGRAM} klog ${DESTDIR}${bindir}/klog
+- ${INSTALL_PROGRAM} klog.krb ${DESTDIR}${bindir}/klog.krb
+- ${INSTALL_PROGRAM} klog ${DESTDIR}${afssrvbindir}/klog
+- ${INSTALL_PROGRAM} klog.krb ${DESTDIR}${afssrvbindir}/klog.krb
+- ${INSTALL_PROGRAM} knfs ${DESTDIR}${bindir}/knfs
+- ${INSTALL_PROGRAM} kpasswd ${DESTDIR}${bindir}/kpasswd
+- ${INSTALL_PROGRAM} kpwvalid ${DESTDIR}${bindir}/kpwvalid
+- ${INSTALL_DATA} libkauth.a ${DESTDIR}${libdir}/afs/libkauth.a
+- ${INSTALL_DATA} libkauth.krb.a ${DESTDIR}${libdir}/afs/libkauth.krb.a
+- ${INSTALL_PROGRAM} rebuild ${DESTDIR}${afssrvsbindir}/kadb_check
+- ${INSTALL_PROGRAM} kdb ${DESTDIR}${afssrvsbindir}/kdb
+- ${INSTALL_PROGRAM} ka-forwarder ${DESTDIR}${afssrvsbindir}/ka-forwarder
+- ${INSTALL_DATA} kautils.h ${DESTDIR}${includedir}/afs/kautils.h
+- ${INSTALL_DATA} kauth.h ${DESTDIR}${includedir}/afs/kauth.h
+- ${INSTALL_DATA} ${srcdir}/kaport.h ${DESTDIR}${includedir}/afs/kaport.h
++ if [ "x${INSTALL_KAUTH}" = "xyes" ]; then \
++ ${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}; \
++ ${INSTALL} -d ${DESTDIR}${bindir}; \
++ ${INSTALL} -d ${DESTDIR}${sbindir}; \
++ ${INSTALL} -d ${DESTDIR}${afssrvbindir}; \
++ ${INSTALL} -d ${DESTDIR}${afssrvsbindir}; \
++ ${INSTALL} -d ${DESTDIR}${libdir}/afs; \
++ ${INSTALL} -d ${DESTDIR}${includedir}/afs; \
++ ${INSTALL_PROGRAM} kaserver ${DESTDIR}${afssrvlibexecdir}/kaserver; \
++ ${INSTALL_PROGRAM} kas ${DESTDIR}${sbindir}/kas; \
++ ${INSTALL_PROGRAM} kpwvalid ${DESTDIR}${sbindir}/kpwvalid; \
++ ${INSTALL_PROGRAM} kas ${DESTDIR}${afssrvsbindir}/kas; \
++ ${INSTALL_PROGRAM} kpwvalid ${DESTDIR}${afssrvsbindir}/kpwvalid; \
++ ${INSTALL_PROGRAM} klog ${DESTDIR}${bindir}/klog; \
++ ${INSTALL_PROGRAM} klog.krb ${DESTDIR}${bindir}/klog.krb; \
++ ${INSTALL_PROGRAM} klog ${DESTDIR}${afssrvbindir}/klog; \
++ ${INSTALL_PROGRAM} klog.krb ${DESTDIR}${afssrvbindir}/klog.krb; \
++ ${INSTALL_PROGRAM} knfs ${DESTDIR}${bindir}/knfs; \
++ ${INSTALL_PROGRAM} kpasswd ${DESTDIR}${bindir}/kpasswd; \
++ ${INSTALL_PROGRAM} kpwvalid ${DESTDIR}${bindir}/kpwvalid; \
++ ${INSTALL_DATA} libkauth.a ${DESTDIR}${libdir}/afs/libkauth.a; \
++ ${INSTALL_DATA} libkauth.krb.a ${DESTDIR}${libdir}/afs/libkauth.krb.a; \
++ ${INSTALL_PROGRAM} rebuild ${DESTDIR}${afssrvsbindir}/kadb_check; \
++ ${INSTALL_PROGRAM} kdb ${DESTDIR}${afssrvsbindir}/kdb; \
++ ${INSTALL_PROGRAM} ka-forwarder ${DESTDIR}${afssrvsbindir}/ka-forwarder; \
++ ${INSTALL_DATA} kautils.h ${DESTDIR}${includedir}/afs/kautils.h; \
++ ${INSTALL_DATA} kauth.h ${DESTDIR}${includedir}/afs/kauth.h; \
++ ${INSTALL_DATA} ${srcdir}/kaport.h ${DESTDIR}${includedir}/afs/kaport.h; \
++ fi
+
+ dest: kaserver kas kpwvalid kas klog klog.krb knfs kpasswd libkauth.a \
+ libkauth.krb.a rebuild kdb ka-forwarder kautils.h kauth.h \
+ kaport.h
+- ${INSTALL} -d ${DEST}/root.server/usr/afs/bin
+- ${INSTALL} -d ${DEST}/etc
+- ${INSTALL} -d ${DEST}/bin
+- ${INSTALL} -d ${DEST}/lib/afs
+- ${INSTALL} -d ${DEST}/include/afs
+- ${INSTALL_PROGRAM} kaserver ${DEST}/root.server/usr/afs/bin/kaserver
+- ${INSTALL_PROGRAM} kas ${DEST}/etc/kas
+- ${INSTALL_PROGRAM} kpwvalid ${DEST}/etc/kpwvalid
+- ${INSTALL_PROGRAM} kas ${DEST}/root.server/usr/afs/bin/kas
+- ${INSTALL_PROGRAM} kpwvalid ${DEST}/root.server/usr/afs/bin/kpwvalid
+- ${INSTALL_PROGRAM} klog ${DEST}/bin/klog
+- ${INSTALL_PROGRAM} klog.krb ${DEST}/bin/klog.krb
+- ${INSTALL_PROGRAM} klog ${DEST}/root.server/usr/afs/bin/klog
+- ${INSTALL_PROGRAM} klog.krb ${DEST}/root.server/usr/afs/bin/klog.krb
+- ${INSTALL_PROGRAM} knfs ${DEST}/bin/knfs
+- ${INSTALL_PROGRAM} kpasswd ${DEST}/bin/kpasswd
+- ${INSTALL_PROGRAM} kpwvalid ${DEST}/bin/kpwvalid
+- ${INSTALL_DATA} libkauth.a ${DEST}/lib/afs/libkauth.a
+- ${INSTALL_DATA} libkauth.krb.a ${DEST}/lib/afs/libkauth.krb.a
+- ${INSTALL_PROGRAM} kdb ${DEST}/etc/kdb
+- ${INSTALL_PROGRAM} rebuild ${DEST}/etc/kadb_check
+- ${INSTALL_PROGRAM} ka-forwarder ${DEST}/root.server/usr/afs/bin/ka-forwarder
+- ${INSTALL_DATA} kautils.h ${DEST}/include/afs/kautils.h
+- ${INSTALL_DATA} kauth.h ${DEST}/include/afs/kauth.h
+- ${INSTALL_DATA} ${srcdir}/kaport.h ${DEST}/include/afs/kaport.h
++ if [ "x${INSTALL_KAUTH}" = "xyes" ]; then \
++ ${INSTALL} -d ${DEST}/root.server/usr/afs/bin; \
++ ${INSTALL} -d ${DEST}/etc; \
++ ${INSTALL} -d ${DEST}/bin; \
++ ${INSTALL} -d ${DEST}/lib/afs; \
++ ${INSTALL} -d ${DEST}/include/afs; \
++ ${INSTALL_PROGRAM} kaserver ${DEST}/root.server/usr/afs/bin/kaserver; \
++ ${INSTALL_PROGRAM} kas ${DEST}/etc/kas; \
++ ${INSTALL_PROGRAM} kpwvalid ${DEST}/etc/kpwvalid; \
++ ${INSTALL_PROGRAM} kas ${DEST}/root.server/usr/afs/bin/kas; \
++ ${INSTALL_PROGRAM} kpwvalid ${DEST}/root.server/usr/afs/bin/kpwvalid; \
++ ${INSTALL_PROGRAM} klog ${DEST}/bin/klog; \
++ ${INSTALL_PROGRAM} klog.krb ${DEST}/bin/klog.krb; \
++ ${INSTALL_PROGRAM} klog ${DEST}/root.server/usr/afs/bin/klog; \
++ ${INSTALL_PROGRAM} klog.krb ${DEST}/root.server/usr/afs/bin/klog.krb; \
++ ${INSTALL_PROGRAM} knfs ${DEST}/bin/knfs; \
++ ${INSTALL_PROGRAM} kpasswd ${DEST}/bin/kpasswd; \
++ ${INSTALL_PROGRAM} kpwvalid ${DEST}/bin/kpwvalid; \
++ ${INSTALL_DATA} libkauth.a ${DEST}/lib/afs/libkauth.a; \
++ ${INSTALL_DATA} libkauth.krb.a ${DEST}/lib/afs/libkauth.krb.a; \
++ ${INSTALL_PROGRAM} kdb ${DEST}/etc/kdb; \
++ ${INSTALL_PROGRAM} rebuild ${DEST}/etc/kadb_check; \
++ ${INSTALL_PROGRAM} ka-forwarder ${DEST}/root.server/usr/afs/bin/ka-forwarder; \
++ ${INSTALL_DATA} kautils.h ${DEST}/include/afs/kautils.h; \
++ ${INSTALL_DATA} kauth.h ${DEST}/include/afs/kauth.h; \
++ ${INSTALL_DATA} ${srcdir}/kaport.h ${DEST}/include/afs/kaport.h; \
++ fi
+
+ #
+ # Misc. targets
+--
+2.3.5
+
diff --git a/0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch b/0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch
new file mode 100644
index 000000000000..f53080ec8c05
--- /dev/null
+++ b/0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch
@@ -0,0 +1,113 @@
+From 75141b9c4cf2e40de4ad7ff7186abee21905089b Mon Sep 17 00:00:00 2001
+From: Benjamin Kaduk <kaduk@mit.edu>
+Date: Mon, 7 Apr 2014 21:54:46 -0400
+Subject: [PATCH 3/3] Do not install kauth manpages when kauth is disabled
+
+Commit 5afe7a882b0bb90a515e505d9ffce4f644633f06 added a configure
+option to disable the installation of the kauth suite, but did not
+add any logic to disable the installation of the corresponding man
+pages, so those man pages were always installed regardless of the
+options to configure.
+
+Add logic to doc/man-pages/Makefile.in to create .noinstall files
+for man pages which should not be installed in the current configuration.
+Depend on the Makefile (which will be regenerated by configure) in
+this target so as to attempt to behave properly if configure is re-run
+with different arguments in the same working tree.
+
+Change-Id: I19b77a9f20fe27c49db14f3e800d8c77cda1bb3a
+Reviewed-on: http://gerrit.openafs.org/10993
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: D Brashear <shadow@your-file-system.com>
+(cherry picked from commit 7223d7b00c20032a957bd6f82ddaf2e0c7d522a9)
+---
+ doc/man-pages/Makefile.in | 48 ++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 39 insertions(+), 9 deletions(-)
+
+diff --git a/doc/man-pages/Makefile.in b/doc/man-pages/Makefile.in
+index 1eed6a1..ee6bb15 100644
+--- a/doc/man-pages/Makefile.in
++++ b/doc/man-pages/Makefile.in
+@@ -7,7 +7,7 @@ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+
+-all:
++all: prep-noinstall
+
+ maintclean:
+ rm -rf html man1 man5 man8
+@@ -17,15 +17,41 @@ html:
+
+ LINKEDPAGES = klog pagsh tokens
+
+-dest:
++KAUTH_MAN = man1/klog.1 man1/knfs.1 man1/kpasswd.1 man5/kaserver.DB0.5 \
++ man5/kaserverauxdb.5 man8/ka-forwarder.8 man8/kadb_check.8 man8/kas.8 \
++ man8/kas_apropos.8 man8/kas_create.8 man8/kas_delete.8 \
++ man8/kas_examine.8 man8/kas_forgetticket.8 man8/kas_help.8 \
++ man8/kas_interactive.8 man8/kas_list.8 man8/kas_listtickets.8 \
++ man8/kas_noauthentication.8 man8/kas_quit.8 man8/kas_setfields.8 \
++ man8/kas_setpassword.8 man8/kas_statistics.8 man8/kas_stringtokey.8 \
++ man8/kas_unlock.8 man8/kaserver.8 man8/kdb.8 man8/kpwvalid.8 \
++ man1/klog.krb.1
++
++INSTALL_KAUTH = @INSTALL_KAUTH@
++
++# This really depends on the options to configure, but configure will
++# regenerate the Makefile so this is a reasonable proxy.
++prep-noinstall: Makefile
++ rm -f man*/*.noinstall
++ if [ "$(INSTALL_KAUTH)" = "no" ] ; then \
++ for M in $(KAUTH_MAN); do \
++ touch $$M.noinstall; \
++ done; \
++ fi
++
++dest: prep-noinstall
+ chmod +x install-man
+ mkdir -p $(DEST)/man/man1 $(DEST)/man/man5 $(DEST)/man/man8
+ set -e; for M in man1/*.1 man5/*.5 man8/*.8 ; do \
+- ./install-man $$M $(DEST)/man/$$M ; \
++ if ! [ -e $$M.noinstall ] ; then \
++ ./install-man $$M $(DEST)/man/$$M ; \
++ fi ; \
+ done
+ set -e; for M in ${LINKEDPAGES}; do \
+- test -h $(DEST)/man/man1/$$M.krb.1 \
+- || ln -s $$M.1 $(DEST)/man/man1/$$M.krb.1 ; \
++ if ! [ -e man1/$$M.1.noinstall ] ; then \
++ test -h $(DEST)/man/man1/$$M.krb.1 \
++ || ln -s $$M.1 $(DEST)/man/man1/$$M.krb.1 ; \
++ fi ; \
+ done
+ test -h $(DEST)/man/man8/dafssync-debug.8 \
+ || ln -s fssync-debug.8 $(DEST)/man/man8/dafssync-debug.8
+@@ -34,16 +60,20 @@ dest:
+ || ln -s afsd.8 $(DEST)/man/man8/afsd.fuse.8; \
+ fi
+
+-install: $(MAN1) $(MAN8)
++install: prep-noinstall $(MAN1) $(MAN8)
+ chmod +x install-man
+ mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 \
+ $(DESTDIR)$(mandir)/man8
+ set -e; for M in man1/*.1 man5/*.5 man8/*.8 ; do \
+- ./install-man $$M $(DESTDIR)$(mandir)/$$M ; \
++ if ! [ -e $$M.noinstall ] ; then \
++ ./install-man $$M $(DESTDIR)$(mandir)/$$M ; \
++ fi; \
+ done
+ set -e; for M in ${LINKEDPAGES}; do \
+- test -h $(DESTDIR)$(mandir)/man1/$$M.krb.1 \
+- || ln -s $$M.1 $(DESTDIR)$(mandir)/man1/$$M.krb.1 ; \
++ if ! [ -e man1/$$M.1.noinstall ] ; then \
++ test -h $(DESTDIR)$(mandir)/man1/$$M.krb.1 \
++ || ln -s $$M.1 $(DESTDIR)$(mandir)/man1/$$M.krb.1 ; \
++ fi ; \
+ done
+ test -h $(DESTDIR)/$(mandir)/man8/dafssync-debug.8 \
+ || ln -s fssync-debug.8 $(DESTDIR)/$(mandir)/man8/dafssync-debug.8
+--
+2.3.5
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5d7df588a11f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,118 @@
+# Maintainer: Michael Lass <bevan@bi-co.net>
+# Contributor: Szymon Jakubczak <szym-at-mit-dot-edu>
+
+# This PKGBUILD is maintained on github:
+# https://github.com/michaellass/AUR
+
+pkgname=openafs
+pkgver=1.6.11.1
+pkgrel=1
+pkgdesc="Open source implementation of the AFS distributed file system"
+arch=('i686' 'x86_64' 'armv7h')
+url="http://www.openafs.org"
+license=('custom:"IBM Public License Version 1.0"')
+depends=('krb5')
+optdepends=('openafs-modules: Kernel module for OpenAFS'
+ 'openafs-modules-dkms: Kernel module for OpenAFS, built automatically using dkms')
+conflicts=('openafs-features')
+backup=(etc/conf.d/openafs
+ etc/openafs/ThisCell
+ etc/openafs/cacheinfo
+ etc/openafs/CellServDB)
+options=(!emptydirs)
+install=openafs.install
+source=(http://openafs.org/dl/${pkgver}/${pkgname}-${pkgver}-src.tar.bz2
+ http://openafs.org/dl/${pkgver}/${pkgname}-${pkgver}-doc.tar.bz2
+ 0001-Adjust-RedHat-config-and-service-files.patch
+ 0002-Add-configure-option-to-not-install-kauth.patch
+ 0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch
+ tmpfiles.d-openafs.conf)
+sha256sums=('ae1a87faec8ee273f7d4baa69d1346f798415b38de72888decde011405423dc7'
+ 'cb398583931e7f0edf17b2321a858afc62cffa3c48cf69021eccc198d3e764f9'
+ '06bf2185eb6988e66a5b01edf53ca813161043ef774b82636274b7c6442593c7'
+ 'a1e886a282d1e52bdd5002c52f7340f659a9659bd1d629803a5b6c00bd6f4ce1'
+ '904c8a463c4874266344fb1d86b9bdd52a80cc3df88614dbffbcb8603f8834ec'
+ '5ef549180d1ac4e9530b65df7ddbdc1eceac6d6d6398fb2f32b06e96c1d9b5f0')
+
+# If you need the kauth tools set this to 1. But be aware that these tools
+# are considered insecure since 2003!
+ENABLE_KAUTH=0
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # Adjust RedHat config and service files to our needs
+ patch -p1 < ${srcdir}/0001-Adjust-RedHat-config-and-service-files.patch
+
+ # Backport possibility to disable kauth
+ patch -p1 < ${srcdir}/0002-Add-configure-option-to-not-install-kauth.patch
+ patch -p1 < ${srcdir}/0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch
+
+ # Only needed when changes to configure were made
+ ./regen.sh -q
+}
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ case "$CARCH" in
+ "i686") sysname=i386_linux26 ;;
+ "x86_64") sysname=amd64_linux26 ;;
+ "armv7h") sysname=arm_linux26 ;;
+ *) error "Unknown architecture '$CARCH'" && false
+ esac
+
+ if [ $ENABLE_KAUTH -eq 1 ]; then
+ kauth="enable-kauth"
+ else
+ kauth="disable-kauth"
+ fi
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/lib \
+ --disable-fuse-client \
+ --disable-kernel-module \
+ --with-afs-sysname=$sysname \
+ --$kauth
+
+ make all_nolibafs
+}
+
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ make DESTDIR=${pkgdir} install_nolibafs
+
+ # create cache directory
+ install -dm700 ${pkgdir}/var/cache/openafs
+ touch ${pkgdir}/var/cache/openafs/.keepdir
+
+ # move PAM libs
+ install -dm755 ${pkgdir}/usr/lib/security
+ mv ${pkgdir}/usr/lib/pam_afs.krb.so.1 ${pkgdir}/usr/lib/pam_afs.so.1 ${pkgdir}/usr/lib/security/
+
+ # install systemd service files
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/packaging/RedHat/openafs-client.service ${pkgdir}/usr/lib/systemd/system/openafs-client.service
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/packaging/RedHat/openafs-server.service ${pkgdir}/usr/lib/systemd/system/openafs-server.service
+
+ # install default configs
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/afsd/CellServDB ${pkgdir}/etc/${pkgname}/CellServDB
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/packaging/RedHat/openafs.sysconfig ${pkgdir}/etc/conf.d/openafs
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/packaging/RedHat/openafs-ThisCell ${pkgdir}/etc/${pkgname}/ThisCell
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/packaging/RedHat/openafs-cacheinfo ${pkgdir}/etc/${pkgname}/cacheinfo
+
+ # install license
+ install -Dm644 ${srcdir}/${pkgname}-${pkgver}/src/LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+
+ # install tmpfiles.d entry for /afs
+ install -Dm644 ${srcdir}/tmpfiles.d-openafs.conf ${pkgdir}/usr/lib/tmpfiles.d/openafs.conf
+
+ # if kauth was installed rename kpasswd which is already provided by krb5
+ if [ $ENABLE_KAUTH -eq 1 ]; then
+ mv ${pkgdir}/usr/bin/kpasswd ${pkgdir}/usr/bin/kpasswd-openafs
+ mv ${pkgdir}/usr/share/man/man1/kpasswd.1 ${pkgdir}/usr/share/man/man1/kpasswd-openafs.1
+ fi
+}
diff --git a/openafs.install b/openafs.install
new file mode 100644
index 000000000000..ccef13a78034
--- /dev/null
+++ b/openafs.install
@@ -0,0 +1,52 @@
+create_afs() {
+ systemd-tmpfiles --create openafs.conf
+}
+
+output() {
+ while IFS= read line; do
+ echo "-- $line"
+ done
+}
+
+post_install() {
+ create_afs
+
+ output << EOF
+In order to use the openafs-client you have to install the openafs kernel
+module (openafs-modules or openafs-modules-dkms).
+
+You may want to edit /etc/openafs/ThisCell to be your current cell.
+
+Afterwards you can enable and start the openafs-client:
+ systemctl enable openafs-client.service
+ systemctl start openafs-client.service
+EOF
+}
+
+post_upgrade() {
+ create_afs
+
+ if [ $(vercmp "$2" "1.6.11.1-1") -lt 0 ]; then
+ output << EOF
+Please note the following packaging changes:
+
+ * The kaserver / kauth suite is no longer installed. It is obsolete for a
+ long time and hopefully not needed anymore. Otherwise please leave a
+ comment in the AUR.
+ See: http://www.openafs.org/pages/no-more-des.html
+
+ * The server binaries were moved back to /usr/lib/openafs. If you use the
+ server you will need to modify your bos config. If you only use the client
+ you can safely ignore this.
+EOF
+ fi
+}
+
+post_remove() {
+ output << EOF
+The following directories have not been removed. You can manually remove them
+after making sure that openafs is not running anymore:
+ /afs
+ /var/cache/openafs
+EOF
+}
diff --git a/tmpfiles.d-openafs.conf b/tmpfiles.d-openafs.conf
new file mode 100644
index 000000000000..b412d2195b87
--- /dev/null
+++ b/tmpfiles.d-openafs.conf
@@ -0,0 +1 @@
+d /afs 755 root root