Update dependency in client init script, update patchset to match openafs-kernel
authorStefaan De Roeck <stefaan@gentoo.org>
Mon, 27 Mar 2006 21:34:02 +0000 (21:34 +0000)
committerStefaan De Roeck <stefaan@gentoo.org>
Mon, 27 Mar 2006 21:34:02 +0000 (21:34 +0000)
Package-Manager: portage-2.1_pre7-r2

net-fs/openafs-kernel/Manifest
net-fs/openafs/ChangeLog
net-fs/openafs/Manifest
net-fs/openafs/files/digest-openafs-1.4.0-r3 [new file with mode: 0644]
net-fs/openafs/openafs-1.4.0-r3.ebuild [new file with mode: 0644]

index 2c5d08e4eebc011e5a386917f144e9475ca50e53..7130abb7a6911fe31cb3f4a8f51bdb2f751f5698 100644 (file)
@@ -1,6 +1,24 @@
-MD5 3798f807a568f13241955c77c1a51391 ChangeLog 2843
+MD5 0339fe4f573dde0cda50fd2111a1b33b ChangeLog 3045
+RMD160 3c9618044659ca826cb657aab9ad6a6570d741ea ChangeLog 3045
+SHA256 0d3787706e0376d5c8a30e560c48188ec1d1fe7250ac1651bb2ec79d2e68d2ad ChangeLog 3045
 MD5 154b7f0bf57bb9377c49d03565366b15 files/digest-openafs-kernel-1.2.13 144
+RMD160 dab8ce2378890c72e7c751a4b5c104753d6aa397 files/digest-openafs-kernel-1.2.13 144
+SHA256 feb32bad7453da49c74d52f24b4607a87a39e8c406bef4e3cb13f02fbc5be411 files/digest-openafs-kernel-1.2.13 144
 MD5 ca384510d7062141681b910cc4603007 files/digest-openafs-kernel-1.4.0 518
+RMD160 9369634df1713e3d491fb109649d30da07d1cac5 files/digest-openafs-kernel-1.4.0 518
+SHA256 707edf6a74374d219a6b7ce67332d923a885a293c906a920651f9d63a74b6818 files/digest-openafs-kernel-1.4.0 518
+MD5 14e2a15196e2a9861d6a603628e77f08 files/digest-openafs-kernel-1.4.0-r1 518
+RMD160 5b4595b1aecafd7ba5eb28381316a5bad09de698 files/digest-openafs-kernel-1.4.0-r1 518
+SHA256 ab6957b6034684ff4cb1627310b7cb5eebba130009838b582827b082224e5267 files/digest-openafs-kernel-1.4.0-r1 518
 MD5 833551f00cc2163ac7f9eb367ee9caa8 metadata.xml 254
+RMD160 1bef8b94265bf2b400fb6235b3e43b504b8d2b71 metadata.xml 254
+SHA256 90d7dcb6aede67bf64f610984a31fc03573512de9e241db42acb32601373db62 metadata.xml 254
 MD5 228eb67d0e3ba6073ade6a9569dda9ec openafs-kernel-1.2.13.ebuild 1548
+RMD160 8b3c8e01b597cf2493a0c42dca7098d948693222 openafs-kernel-1.2.13.ebuild 1548
+SHA256 6d377d407f4dda8f2d1a7a24b109b26f6158f0bd786166c9dbe3b726a09ebc4f openafs-kernel-1.2.13.ebuild 1548
+MD5 cff077c9fad3259e17d77b859519eef0 openafs-kernel-1.4.0-r1.ebuild 1306
+RMD160 8b062c1223611c96e8e00bf91b7e09e087c7dc13 openafs-kernel-1.4.0-r1.ebuild 1306
+SHA256 f8929f66042d494f21d2d986ce571773d2704c40d7e4c2563022f2831308988a openafs-kernel-1.4.0-r1.ebuild 1306
 MD5 27b0cfb3bd9ab616e69dd15c26b294fe openafs-kernel-1.4.0.ebuild 1240
+RMD160 04129e8dbcc5dccfe9093cf0903ee2898e81587f openafs-kernel-1.4.0.ebuild 1240
+SHA256 21839ff7dcca92e84941b4cb7aefc4a59250b4f8a7865fda6ec78bdde2b72933 openafs-kernel-1.4.0.ebuild 1240
index 4b445815bba71bb6169eefb7173469fb814ad66f..64ed0bb71ffbf30356d8e53ba01a724f279802a8 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for net-fs/openafs
 # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.63 2006/03/17 15:20:23 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.64 2006/03/27 21:34:02 stefaan Exp $
+
+*openafs-1.4.0-r3 (27 Mar 2006)
+
+  27 Mar 2006; Stefaan De Roeck <stefaan@gentoo.org>
+  +openafs-1.4.0-r3.ebuild:
+  Update dependency in client init script, update patchset to match
+  openafs-kernel
 
   17 Mar 2006; Stefaan De Roeck <stefaan@gentoo.org>
   openafs-1.4.0-r2.ebuild:
index 1bdf17263a830a1d3890124601437c208fddb86c..dcb2b1d8919d177148396a44b888e04000d07712 100644 (file)
@@ -1,6 +1,6 @@
-MD5 a03e90466ab75d709583da0e2c1c3d0b ChangeLog 10534
-RMD160 7e09130742d547c707f07d62f2f8bd8b05065cc0 ChangeLog 10534
-SHA256 a70c23cb4d19eb1a5746c98bc49dbd7947224bda38b02595025b20c7a51dc326 ChangeLog 10534
+MD5 bc768a306c31d28bbd08667ee0323c11 ChangeLog 10734
+RMD160 884311b5491aecfabf36a26fc023794ddde80bbe ChangeLog 10734
+SHA256 ed1bcfcb1fbe2c8a7751cc0525607ee3db6b8a7cdc62c82206d28ea9a5331655 ChangeLog 10734
 MD5 4584cc6910401787e1ebd81cfa06f060 files/CellServDB 41
 RMD160 60358d0208a7fd49e099915c4e5ed8b8d1f7f468 files/CellServDB 41
 SHA256 0f3bbc0a460a982a0b1b616b9873aa03b4d9adc8e03614a7105eeb701f36e976 files/CellServDB 41
@@ -28,6 +28,9 @@ SHA256 3ce340d6f93e4e2ca45a4d7ea92f3938dff7198545e6fd36b79d61da600c208b files/di
 MD5 f9f5519f17fc1041bb945267f8fd54fb files/digest-openafs-1.4.0-r2 213
 RMD160 1f5e12dfa95b6dd4856f3af58857559d5fdb0f28 files/digest-openafs-1.4.0-r2 213
 SHA256 d0149212cea83c4edaedab39e9559a87023a06ae313f4db0f350719f734f448f files/digest-openafs-1.4.0-r2 213
+MD5 533710863cf8b6972a429a74a0343407 files/digest-openafs-1.4.0-r3 777
+RMD160 631b8906f337b0884cf21c5c818ae23aba060075 files/digest-openafs-1.4.0-r3 777
+SHA256 c4228297b7e69e79dc7d06098e1ba73d4180b4931167e146279bd6b21f08f809 files/digest-openafs-1.4.0-r3 777
 MD5 36dc33d8c6e647e8aacf8e69849a28a3 files/openafs-pinstall-execve-1.2.10.patch 1242
 RMD160 51ed3ebe3c36a39a7c2e367c92bc78d325dfc244 files/openafs-pinstall-execve-1.2.10.patch 1242
 SHA256 9c7168d077dcf3a539b34cd9fb234097ba8a5896511967f075616e65d464f84c files/openafs-pinstall-execve-1.2.10.patch 1242
@@ -46,6 +49,9 @@ SHA256 a19eee850f0e495f8f32896d0a0dc91bab9fe09934c0b3544e0898245aeaa098 openafs-
 MD5 db2db0b13e06da9fe68873982f1bda11 openafs-1.4.0-r2.ebuild 10034
 RMD160 7b95a695a3a39bc881eef7f40cd47a28b9408db0 openafs-1.4.0-r2.ebuild 10034
 SHA256 7fa3e9a7d7aaf51cbc8de32ea1f6303396ee59be8787e500953801de2a19f8d8 openafs-1.4.0-r2.ebuild 10034
+MD5 3d2f83320a1aaf2f04a57870e103e510 openafs-1.4.0-r3.ebuild 10097
+RMD160 2b71bae4654d93f83118a870f6bc4f84fd51e2e1 openafs-1.4.0-r3.ebuild 10097
+SHA256 9394c48d1759abc563767e1c166b9e1bb726fbfd452c916033874436a0be8a37 openafs-1.4.0-r3.ebuild 10097
 MD5 1ea3c826321757888dec24f78b549a24 openafs-1.4.0.ebuild 9995
 RMD160 ae691d6d39488d67c883ce459b39292e0fb0c403 openafs-1.4.0.ebuild 9995
 SHA256 53a8d8c6da040526373b86f688f26b3c3b9c5819125d0f8b72d0d9c78660d261 openafs-1.4.0.ebuild 9995
diff --git a/net-fs/openafs/files/digest-openafs-1.4.0-r3 b/net-fs/openafs/files/digest-openafs-1.4.0-r3
new file mode 100644 (file)
index 0000000..f2aeee0
--- /dev/null
@@ -0,0 +1,9 @@
+MD5 315fb1110c0d1f95086de570c254dc32 openafs-1.4.0-doc.tar.bz2 2576915
+RMD160 ed68a6b0aabfefc92c475125991ee214a00d7ee7 openafs-1.4.0-doc.tar.bz2 2576915
+SHA256 47688b4f3ffb270f4d6f279445a0246aaf8d4bd125f692f285b9f255f18a3259 openafs-1.4.0-doc.tar.bz2 2576915
+MD5 df80dab7e8e346c6490a1382e85d05b5 openafs-1.4.0-src.tar.bz2 11268368
+RMD160 96cac36c5f0e0891b8a77506003d9bda448dce23 openafs-1.4.0-src.tar.bz2 11268368
+SHA256 439f4efee7f01f5859ae7b283df793c366e473a877cec687e58af02505a9e52c openafs-1.4.0-src.tar.bz2 11268368
+MD5 320c5f9590ffea3bc88f0826e49d73ab openafs-gentoo-0.7.tar.bz2 19890
+RMD160 e4ded5cf06b64ec6db568e37a29b7584d03b73d6 openafs-gentoo-0.7.tar.bz2 19890
+SHA256 29ccfcc46d2d70982b3530da5cef2d991815eeb1250d3db8fa912f005cc9385c openafs-gentoo-0.7.tar.bz2 19890
diff --git a/net-fs/openafs/openafs-1.4.0-r3.ebuild b/net-fs/openafs/openafs-1.4.0-r3.ebuild
new file mode 100644 (file)
index 0000000..eb160ec
--- /dev/null
@@ -0,0 +1,317 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.4.0-r3.ebuild,v 1.1 2006/03/27 21:34:02 stefaan Exp $
+
+inherit flag-o-matic eutils toolchain-funcs versionator
+
+PATCHVER=0.7
+DESCRIPTION="The OpenAFS distributed file system"
+HOMEPAGE="http://www.openafs.org/"
+SRC_URI="http://openafs.org/dl/${PN}/${PV}/${P}-src.tar.bz2
+       doc? ( http://openafs.org/dl/${PN}/${PV}/${P}-doc.tar.bz2 )
+       mirror://gentoo/${PN}-gentoo-${PATCHVER}.tar.bz2"
+
+LICENSE="IPL-1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="debug kerberos pam doc"
+
+RDEPEND="=net-fs/openafs-kernel-${PV}*
+       pam? ( sys-libs/pam )
+       kerberos? ( virtual/krb5 )
+       !>=sys-libs/glibc-2.4"
+# openafs fails horribly with glibc-2.4 on at least x86, this blocking depend
+# is introduced in the hope that it'll alert people to this.  see bug #126420
+
+PATCHDIR=${WORKDIR}/gentoo/patches/$(get_version_component_range 1-2)
+CONFDIR=${WORKDIR}/gentoo/configs
+SCRIPTDIR=${WORKDIR}/gentoo/scripts
+
+src_unpack() {
+       unpack ${A}; cd ${S}
+
+       # Apply patches to apply chosen compiler settings, fix the hardcoded paths
+       # to be more FHS friendly, and the fix the incorrect typecasts for va_arg
+       EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+
+       ./regen.sh || die "Failed: regenerating configure script"
+}
+
+src_compile() {
+       # cannot use "use_with" macro, as --without-krb5-config crashes the econf
+       local myconf=""
+       if use kerberos; then
+               myconf="--with-krb5-conf=$(type -p krb5-config)"
+       fi
+
+       econf \
+               $(use_enable pam) \
+               $(use_enable debug) \
+               --enable-largefile-fileserver \
+               ${myconf} || die econf
+
+       emake -j1 all_nolibafs || die "Build failed"
+}
+
+src_install() {
+       make DESTDIR=${D} install_nolibafs || die "Installing failed"
+
+       # pam_afs and pam_afs.krb have been installed in irregular locations, fix
+       if use pam; then
+               dodir /$(get_libdir)/security
+               mv ${D}/usr/$(get_libdir)/pam_afs* ${D}/$(get_libdir)/security
+       fi
+
+       # compile_et collides with com_err.  Remove it from this package.
+       rm ${D}/usr/bin/compile_et
+
+       # avoid collision with mit_krb5's version of kpasswd
+       mv ${D}/usr/bin/kpasswd ${D}/usr/bin/kpasswd_afs
+       mv src/man/kpasswd.1 src/man/kpasswd_afs.1
+
+       # install manuals
+       doman src/man/*.?
+
+       use kerberos && doman src/aklog/aklog.1
+       use pam && doman src/pam/pam_afs.5
+
+       # minimal documentation
+       dodoc ${CONFDIR}/README ${CONFDIR}/CellServDB
+
+       # documentation package
+       if use doc; then
+               cp -pPR doc/* ${D}/usr/share/doc/${PF}
+       fi
+
+       # Gentoo related scripts
+       newconfd ${CONFDIR}/openafs-client openafs-client
+       newconfd ${CONFDIR}/openafs-server openafs-server
+       newinitd ${SCRIPTDIR}/openafs-client openafs-client
+       newinitd ${SCRIPTDIR}/openafs-server openafs-server
+
+       # used directories: client
+       keepdir /etc/openafs
+       keepdir /var/cache/openafs
+
+       # used directories: server
+       keepdir /etc/openafs/server
+       diropts -m0700
+       keepdir /var/lib/openafs
+       keepdir /var/lib/openafs/db
+       diropts -m0755
+       keepdir /var/lib/openafs/logs
+}
+
+migrate_to_fhs() {
+       # conventions:
+       # only automatically migrate if the destination directories are
+       # as of yet non-existant
+
+       # path translations
+       local oldafsconfdir=${ROOT}usr/afs/etc
+       local newafsconfdir=${ROOT}etc/openafs/server
+       local oldviceetcdir=${ROOT}usr/vice/etc
+       local newviceetcdir=${ROOT}etc/openafs
+       local oldafslocaldir=${ROOT}usr/afs/local
+       local newafslocaldir=${ROOT}var/lib/openafs
+       local oldafsdbdir=${ROOT}usr/afs/db
+       local newafsdbdir=${ROOT}var/lib/openafs/db
+
+       # detect Transarc afsconfdir
+       local afsconfdir=0
+       [ ! -L ${oldafsconfdir} -a -d ${oldafsconfdir} -a ! -e ${newafsconfdir} ] && afsconfdir=1
+
+       # detect Transarc viceetcdir
+       local viceetcdir=0
+       local viceetcsoftlink=0
+       if [ -d ${oldviceetcdir} -a ! -e ${newviceetcdir} ]; then
+               if [ ! -L ${oldviceetcdir} ]; then
+                       viceetcdir=1
+               else
+                       if [ $(readlink ${oldviceetcdir}) = /etc/afs ]; then
+                               viceetcdir=1
+                               viceetcsoftlink=1
+                       fi
+               fi
+       fi
+
+       # detect Transarc afslocaldir
+       local afslocaldir=0
+       [ ! -L ${oldafslocaldir} -a -d ${oldafslocaldir} -a ! -e ${newafslocaldir} ] && afslocaldir=1
+
+       # detect Transarc afsdbdir
+       local afsdbdir=0
+       [ ! -L ${oldafsdbdir} -a -d ${oldafsdbdir} -a ! -e ${newafsdbdir} ] && afsdbdir=1
+
+       # detect Transarc afsbosconfigdir
+       local afsbosconfigdir=0
+       [ ${afslocaldir} = 1 -a -f ${oldafslocaldir}/BosConfig ] && afsbosconfigdir=1
+
+       # any of these?
+       local any=$((${afsconfdir}+${viceetcdir}+${afsdbdir}+${afslocaldir}))
+
+       # No migration needed?  Then bail out
+       if [ ${any} = 0 ]; then
+               return 0
+       fi
+
+       # Root not / ?  Then do not attempt automatic migration
+       if [ "$ROOT" != "/" ]; then
+               ewarn Old-style configuration files found, but not migrating
+               ewarn because installation rootdir is not /
+               ebeep 5
+               return 0
+       fi
+
+       # detect whether an installation with old config files is running
+       local pid
+       if pid=$(pgrep -n -U 0 bosserver) &>/dev/null; then
+               # find location of executable
+               if ! executable=$(readlink /proc/${pid}/exe); then
+                       die "Couldn't execute readlink on bosserver process"
+               fi
+               # if executable is not located in /usr/sbin, assume Transarc locations
+               if [[ $executable != ${ROOT}usr/sbin/* ]]; then
+                       ewarn "Found a running process with the name \"bosserver\" and pid ${pid}"
+                       ewarn "that is not located in /usr/sbin.  This suggests a running"
+                       ewarn "OpenAFS-server with traditional TransARC path conventions."
+                       ewarn "This installation procedure aims to migrate old"
+                       ewarn "configuration files to new FHS-conform locations."
+                       ewarn "Please stop the running server and reattempt the upgrade"
+                       die "Installation aborted because of running OpenAFS server"
+               fi
+       fi
+
+       # warn about migration
+       ewarn
+       ewarn "OpenAFS configuration/data-files have been found in old"
+       ewarn "TransARC-style locations, for which the standard FHS equivalents"
+       ewarn "do not exist yet.  "
+       ewarn "Following procedure will copy those files to the new locations such"
+       ewarn "that, given a previously working configuration, both server"
+       ewarn "and client should restart without problems.  Files will be copied"
+       ewarn "only, and not removed from the old locations.  For assistance"
+       ewarn "in removing the old files, consult the section on Upgrading in"
+       ewarn "the Gentoo OpenAFS documentation"
+       ewarn "(see http://www.gentoo.org/doc/en/openafs.xml)"
+       ewarn "Will continue in 30 seconds, press Ctrl-C to abort"
+       ewarn
+       ebeep 10
+       epause 20
+
+       # fortunately, there's no overlap between the old locations and the new ones
+
+       # afsconfdir: migrate /usr/afs/etc to /etc/openafs/server
+       if [ ${afsconfdir} = 1 ]; then
+               mkdir -m 755 -p ${newafsconfdir}
+               cp ${oldafsconfdir}/* ${newafsconfdir}
+       fi
+
+       # viceetcdir: migrate /usr/vice/etc (likely a link to /etc/afs) to /etc/openafs
+       if [ ${viceetcdir} = 1 ]; then
+               mkdir -m 755 -p ${newviceetcdir}
+               cp ${oldviceetcdir}/* ${newviceetcdir}
+       fi
+
+       # afslocaldir: migrate /usr/afs/local to /var/lib/openafs
+       if [ ${afslocaldir} = 1 ]; then
+               mkdir -m 700 -p ${newafslocaldir}
+               cp ${oldafslocaldir}/* ${newafslocaldir}
+
+               # afsbosconfigdir: migrate /usr/afs/local/BosConfig to /etc/openafs/BosConfig
+               if [ ${afsbosconfigdir} = 1 ]; then
+                       sed -i \
+                               -e 's:/usr/afs/bin/:/usr/libexec/openafs/:g' \
+                               -e 's:/usr/afs/etc:/etc/openafs/server:g' \
+                               -e 's:/usr/afs/bin:/usr/bin:g' \
+                               ${newafslocaldir}/BosConfig
+                       if [ -d ${newviceetcdir} ]; then
+                               mv ${newafslocaldir}/BosConfig ${newviceetcdir}
+                       else
+                               ewarn
+                               ewarn "No ${newviceetcdir} found, couldn't move BosConfig there,"
+                               ewarn "it will remain in ${newafslocaldir}.  Please investigate"
+                               ewarn "before attempting to start the server"
+                               ewarn
+                               ebeep 3
+                       fi
+               fi
+       fi
+
+       # afsdbdir: migrate /usr/afs/db to /var/lib/openafs/db
+       if [ ${afsdbdir} = 1 ]; then
+               mkdir -m 700 -p ${newafsdbdir}
+               cp ${oldafsdbdir}/* ${newafsdbdir}
+       fi
+
+       ewarn "Migration finished"
+       ewarn "Please remember to manually migrate disk-cache (if present)"
+       ewarn "Alter /etc/openafs/cacheinfo to do so"
+       ebeep 5
+}
+
+migrate_configfile() {
+       local oldconfigfile=${ROOT}etc/conf.d/afs
+       local oldconfigfile2=${ROOT}etc/conf.d/afs-client
+       local newconfigfile=${ROOT}etc/conf.d/openafs-client
+
+       if [ -f ${oldconfigfile} -a ! -e ${newconfigfile} ]; then
+               cp ${oldconfigfile} ${newconfigfile}
+       elif [ -f ${oldconfigfile2} -a ! -e ${newconfigfile} ]; then
+               cp ${oldconfigfile2} ${newconfigfile}
+       fi
+
+       oldconfigfile=${ROOT}etc/conf.d/afs-server
+       newconfigfile=${ROOT}etc/conf.d/openafs-server
+       if [ -f ${oldconfigfile} -a ! -e ${newconfigfile} ]; then
+               cp ${oldconfigfile} ${newconfigfile}
+       fi
+}
+
+pkg_preinst() {
+       migrate_to_fhs
+       migrate_configfile
+
+       ## Somewhat intelligently install default configuration files
+       ## (when they are not present)
+       # CellServDB
+       if [ ! -e ${ROOT}etc/openafs/CellServDB ] \
+               || grep "GCO Public CellServDB" ${ROOT}etc/openafs/CellServDB &> /dev/null
+       then
+               cp ${CONFDIR}/CellServDB ${IMAGE}etc/openafs
+       fi
+       # cacheinfo: use a default location cache, 200 megabyte in size
+       # (should be safe for about any root partition, the user can increase
+       # the size as required)
+       if [ ! -e ${ROOT}etc/openafs/cacheinfo ]; then
+               echo "/afs:/var/cache/openafs:200000" > ${IMAGE}etc/openafs/cacheinfo
+       fi
+       # ThisCell: default to "openafs.org"
+       if [ ! -e ${ROOT}etc/openafs/ThisCell ]; then
+               echo "openafs.org" > ${IMAGE}etc/openafs/ThisCell
+       fi
+}
+
+pkg_postinst() {
+       einfo ""
+       einfo "If you are upgrading from a < 1.4.0_rc8 version of the ebuild,"
+       einfo "we urge you to look at the upgrade-section of the"
+       einfo "Gentoo OpenAFS documentation.  (If you're upgrading from"
+       einfo "< 1.3.85, then you really really should)"
+
+       ebeep 5
+
+       einfo ""
+       einfo "This installation should work out of the box (at least the"
+       einfo "client part doing global afs-cell browsing, unless you had"
+       einfo "a previous and different configuration).  If you want to"
+       einfo "set up your own cell or modify the standard config,"
+       einfo "please have a look at the Gentoo OpenAFS documentation"
+       einfo "(warning: it is not yet up to date wrt the new file locations)"
+       einfo ""
+       einfo "The documentation can be found at:"
+       einfo "  http://www.gentoo.org/doc/en/openafs.xml"
+
+       epause 5
+}
+