summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefaan De Roeck <stefaan@gentoo.org>2005-11-13 15:14:19 +0000
committerStefaan De Roeck <stefaan@gentoo.org>2005-11-13 15:14:19 +0000
commit594d813e6d3a7402e33a14b04200a2a298567304 (patch)
tree74f87fc17fc1144198370449000aec031b84ad6c
parentDrop Keywords to testing (my mistake) (diff)
downloadgentoo-2-594d813e6d3a7402e33a14b04200a2a298567304.tar.gz
gentoo-2-594d813e6d3a7402e33a14b04200a2a298567304.tar.bz2
gentoo-2-594d813e6d3a7402e33a14b04200a2a298567304.zip
Version bump to 1.4.0, fixing bug #111230, + init-script cleanup, new CellServDB
(Portage version: 2.0.53_rc7)
-rw-r--r--net-fs/openafs/ChangeLog9
-rw-r--r--net-fs/openafs/Manifest6
-rw-r--r--net-fs/openafs/files/digest-openafs-1.4.03
-rw-r--r--net-fs/openafs/openafs-1.4.0.ebuild322
-rw-r--r--net-fs/openafs/openafs-1.4.0_rc8.ebuild4
5 files changed, 339 insertions, 5 deletions
diff --git a/net-fs/openafs/ChangeLog b/net-fs/openafs/ChangeLog
index ea5cd7635bcd..01370ef62137 100644
--- a/net-fs/openafs/ChangeLog
+++ b/net-fs/openafs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-fs/openafs
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.56 2005/10/30 14:18:24 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.57 2005/11/13 15:14:19 stefaan Exp $
+
+*openafs-1.4.0 (13 Nov 2005)
+
+ 13 Nov 2005; Stefaan De Roeck <stefaan@gentoo.org>
+ openafs-1.4.0_rc8.ebuild, +openafs-1.4.0.ebuild:
+ Version bump to 1.4.0, fixing bug #111230, + init-script cleanup, new
+ CellServDB
*openafs-1.4.0_rc8 (30 Oct 2005)
diff --git a/net-fs/openafs/Manifest b/net-fs/openafs/Manifest
index 79b8bd38d77d..7c6bae79a18a 100644
--- a/net-fs/openafs/Manifest
+++ b/net-fs/openafs/Manifest
@@ -1,15 +1,17 @@
-MD5 6f96ea2882d6ca0c642d959c42a85f94 ChangeLog 9371
+MD5 7b49d1ebd87e133e39d63b19a4d14f6d ChangeLog 9591
MD5 4584cc6910401787e1ebd81cfa06f060 files/CellServDB 41
MD5 c620f50b47424c46f59dc847eb8c0dd3 files/README 8735
MD5 1903c6a5e0aeedf794939945536341cd files/ThisCell 7
MD5 4f3ec773401fff6eeeacd14345ba89c1 files/afs.rc.rc6 5429
MD5 e8488032f070544719cba9c7dbaf8108 files/digest-openafs-1.2.10-r1 73
MD5 a1b6ea45c7ab974a743757727b6ea8ce files/digest-openafs-1.2.13-r2 144
+MD5 2d7bcf469c528a02033083758270861e files/digest-openafs-1.4.0 213
MD5 c34ff780d55a6cb8a4776f42ab0daa74 files/digest-openafs-1.4.0_rc3 222
MD5 134b749c48413e30650069ea3665d71c files/digest-openafs-1.4.0_rc8 221
MD5 36dc33d8c6e647e8aacf8e69849a28a3 files/openafs-pinstall-execve-1.2.10.patch 1242
MD5 833551f00cc2163ac7f9eb367ee9caa8 metadata.xml 254
MD5 ee9f05df88be42798097e61cd2f29bd1 openafs-1.2.10-r1.ebuild 2402
MD5 724bc6d7494376e988f9b32ef90071ba openafs-1.2.13-r2.ebuild 9986
+MD5 e8e2478a2aae9d6d9e399637dd7f5316 openafs-1.4.0.ebuild 9897
MD5 f8a275d18b672ecd89fc4a36b504748c openafs-1.4.0_rc3.ebuild 10411
-MD5 661f5627263f13f15d149e54b0a55567 openafs-1.4.0_rc8.ebuild 10110
+MD5 d9599c1146304db7079cdaf09238affa openafs-1.4.0_rc8.ebuild 10111
diff --git a/net-fs/openafs/files/digest-openafs-1.4.0 b/net-fs/openafs/files/digest-openafs-1.4.0
new file mode 100644
index 000000000000..912a594d9556
--- /dev/null
+++ b/net-fs/openafs/files/digest-openafs-1.4.0
@@ -0,0 +1,3 @@
+MD5 315fb1110c0d1f95086de570c254dc32 openafs-1.4.0-doc.tar.bz2 2576915
+MD5 df80dab7e8e346c6490a1382e85d05b5 openafs-1.4.0-src.tar.bz2 11268368
+MD5 95496e4dee5c3c94b70a0131a8455b45 openafs-gentoo-0.4.tar.bz2 17266
diff --git a/net-fs/openafs/openafs-1.4.0.ebuild b/net-fs/openafs/openafs-1.4.0.ebuild
new file mode 100644
index 000000000000..e86534fbf4a8
--- /dev/null
+++ b/net-fs/openafs/openafs-1.4.0.ebuild
@@ -0,0 +1,322 @@
+# Copyright 1999-2005 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.ebuild,v 1.1 2005/11/13 15:14:19 stefaan Exp $
+
+inherit flag-o-matic eutils toolchain-funcs versionator
+
+PATCHVER=0.4
+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 ~ppc ~ppc64 ~x86"
+IUSE="debug kerberos pam doc"
+
+RDEPEND="=net-fs/openafs-kernel-${PV}
+ pam? ( sys-libs/pam )
+ kerberos? ( virtual/krb5 )"
+
+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}
+}
+
+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, 50 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() {
+ # See bug 9849
+ # Create afs mountpoint
+ mkdir /afs 2>/dev/null
+
+ 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
+}
+
+pkg_prerm() {
+ # See bug 9849
+ # Remove afs mountpoint
+ rmdir /afs 2>/dev/null
+}
+
diff --git a/net-fs/openafs/openafs-1.4.0_rc8.ebuild b/net-fs/openafs/openafs-1.4.0_rc8.ebuild
index fd7769c19b1d..fe61bd89c853 100644
--- a/net-fs/openafs/openafs-1.4.0_rc8.ebuild
+++ b/net-fs/openafs/openafs-1.4.0_rc8.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 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_rc8.ebuild,v 1.1 2005/10/30 14:18:24 stefaan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/openafs-1.4.0_rc8.ebuild,v 1.2 2005/11/13 15:14:19 stefaan Exp $
inherit flag-o-matic eutils toolchain-funcs versionator
@@ -282,7 +282,7 @@ pkg_preinst() {
# (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:50000" > ${IMAGE}etc/openafs/cacheinfo
+ echo "/afs:/var/cache/openafs:200000" > ${IMAGE}etc/openafs/cacheinfo
fi
# ThisCell: default to "openafs.org"
if [ ! -e ${ROOT}etc/openafs/ThisCell ]; then