diff options
author | Michael Lass | 2015-06-08 20:52:33 +0200 |
---|---|---|
committer | Michael Lass | 2015-06-08 20:52:33 +0200 |
commit | 2a4d7bb7630b94e3d00fb31f1a3187d51b8d556a (patch) | |
tree | a5cc0ea8911737a518cd69db91523b030f59ef5c | |
download | aur-2a4d7bb7630b94e3d00fb31f1a3187d51b8d556a.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | 0001-Adjust-RedHat-config-and-service-files.patch | 74 | ||||
-rw-r--r-- | 0002-Add-configure-option-to-not-install-kauth.patch | 194 | ||||
-rw-r--r-- | 0003-Do-not-install-kauth-manpages-when-kauth-is-disabled.patch | 113 | ||||
-rw-r--r-- | PKGBUILD | 118 | ||||
-rw-r--r-- | openafs.install | 52 | ||||
-rw-r--r-- | tmpfiles.d-openafs.conf | 1 |
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 |