diff options
author | Stefaan De Roeck <stefaan@gentoo.org> | 2006-05-26 00:53:24 +0000 |
---|---|---|
committer | Stefaan De Roeck <stefaan@gentoo.org> | 2006-05-26 00:53:24 +0000 |
commit | 018b74b19f77538568339c12d8c262924a66182e (patch) | |
tree | c42b0115c48e3ad8490082cc7a9d66d244686d31 /net-fs/openafs | |
parent | Stable on x86 wrt bug #132213 (diff) | |
download | gentoo-2-018b74b19f77538568339c12d8c262924a66182e.tar.gz gentoo-2-018b74b19f77538568339c12d8c262924a66182e.tar.bz2 gentoo-2-018b74b19f77538568339c12d8c262924a66182e.zip |
Ensuring usage of CFLAGS, + fixing bugs #131267 and #131333
(Portage version: 2.1_rc2)
Diffstat (limited to 'net-fs/openafs')
-rw-r--r-- | net-fs/openafs/ChangeLog | 8 | ||||
-rw-r--r-- | net-fs/openafs/files/digest-openafs-1.4.0 | 6 | ||||
-rw-r--r-- | net-fs/openafs/files/digest-openafs-1.4.0-r1 | 6 | ||||
-rw-r--r-- | net-fs/openafs/files/digest-openafs-1.4.0-r2 | 6 | ||||
-rw-r--r-- | net-fs/openafs/files/digest-openafs-1.4.1-r1 | 9 | ||||
-rw-r--r-- | net-fs/openafs/openafs-1.4.1-r1.ebuild | 317 |
6 files changed, 351 insertions, 1 deletions
diff --git a/net-fs/openafs/ChangeLog b/net-fs/openafs/ChangeLog index a0f3427f0b2a..98f06160d19d 100644 --- a/net-fs/openafs/ChangeLog +++ b/net-fs/openafs/ChangeLog @@ -1,6 +1,12 @@ # 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.67 2006/04/22 10:34:14 stefaan Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/openafs/ChangeLog,v 1.68 2006/05/26 00:53:24 stefaan Exp $ + +*openafs-1.4.1-r1 (26 May 2006) + + 26 May 2006; Stefaan De Roeck <stefaan@gentoo.org> + +openafs-1.4.1-r1.ebuild: + Ensuring usage of CFLAGS, + fixing bugs #131267 and #131333 *openafs-1.4.1 (22 Apr 2006) diff --git a/net-fs/openafs/files/digest-openafs-1.4.0 b/net-fs/openafs/files/digest-openafs-1.4.0 index 912a594d9556..8e6d8dd35743 100644 --- a/net-fs/openafs/files/digest-openafs-1.4.0 +++ b/net-fs/openafs/files/digest-openafs-1.4.0 @@ -1,3 +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 95496e4dee5c3c94b70a0131a8455b45 openafs-gentoo-0.4.tar.bz2 17266 +RMD160 b82f8947cb9aad7520d89e68a28eead6700f74c9 openafs-gentoo-0.4.tar.bz2 17266 +SHA256 f2ab36888ac8f4c50e08176efcda1641d4c79c5fa35fe075089a184ecc4d5156 openafs-gentoo-0.4.tar.bz2 17266 diff --git a/net-fs/openafs/files/digest-openafs-1.4.0-r1 b/net-fs/openafs/files/digest-openafs-1.4.0-r1 index 0745cbb0894d..4af9d6737cd9 100644 --- a/net-fs/openafs/files/digest-openafs-1.4.0-r1 +++ b/net-fs/openafs/files/digest-openafs-1.4.0-r1 @@ -1,3 +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 487b52b89968b32bb9f5bce590e3c11f openafs-gentoo-0.5.tar.bz2 17244 +RMD160 59fa174913bb633984241e77df75fe18b8b3fe20 openafs-gentoo-0.5.tar.bz2 17244 +SHA256 02be90c0a456bf2cbb984ea46dabdecc911d26738e226486c85ca5b4712ea67c openafs-gentoo-0.5.tar.bz2 17244 diff --git a/net-fs/openafs/files/digest-openafs-1.4.0-r2 b/net-fs/openafs/files/digest-openafs-1.4.0-r2 index f408ba96d17a..e2bb2e961ac0 100644 --- a/net-fs/openafs/files/digest-openafs-1.4.0-r2 +++ b/net-fs/openafs/files/digest-openafs-1.4.0-r2 @@ -1,3 +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 e7064c65c605f39ab0cd99f3f1466391 openafs-gentoo-0.6.tar.bz2 21735 +RMD160 29e94ab293110cba4cd6b7200ae0f8bcaeb98d9e openafs-gentoo-0.6.tar.bz2 21735 +SHA256 f704648a03030d075ffa938185b6ab4f69cfb8094ec1feba077ca7600abe0a17 openafs-gentoo-0.6.tar.bz2 21735 diff --git a/net-fs/openafs/files/digest-openafs-1.4.1-r1 b/net-fs/openafs/files/digest-openafs-1.4.1-r1 new file mode 100644 index 000000000000..8af024f6bf99 --- /dev/null +++ b/net-fs/openafs/files/digest-openafs-1.4.1-r1 @@ -0,0 +1,9 @@ +MD5 4f1d66c90a05d35f04b85a978dc585d9 openafs-1.4.1-doc.tar.bz2 3090382 +RMD160 1e8265191affec7584626e88fde018332937fcd0 openafs-1.4.1-doc.tar.bz2 3090382 +SHA256 6331c755bed05d40e97e1d53ac3c3feaf05b5fbd4aac6aec373b32cfe597e295 openafs-1.4.1-doc.tar.bz2 3090382 +MD5 3e125de450dda0d733ba5d57a156195e openafs-1.4.1-src.tar.bz2 11244316 +RMD160 f842cc0ba7c434eea82721528c0449a307aea62b openafs-1.4.1-src.tar.bz2 11244316 +SHA256 9563259772342ce50c5efd1c2c96cf643f4e9c818e1922e48a3d9183bb7fece6 openafs-1.4.1-src.tar.bz2 11244316 +MD5 6f298d8eb669b91b43b50ff8bd8dc5ef openafs-gentoo-0.9.tar.bz2 17015 +RMD160 07b90f9093677c6e043412c42dfa8096628fe6de openafs-gentoo-0.9.tar.bz2 17015 +SHA256 3f08b6f76b860efe522affccdfc393ea12b2255a3fe476d8d3f12b5f88233f26 openafs-gentoo-0.9.tar.bz2 17015 diff --git a/net-fs/openafs/openafs-1.4.1-r1.ebuild b/net-fs/openafs/openafs-1.4.1-r1.ebuild new file mode 100644 index 000000000000..43aa1a092d17 --- /dev/null +++ b/net-fs/openafs/openafs-1.4.1-r1.ebuild @@ -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.1-r1.ebuild,v 1.1 2006/05/26 00:53:24 stefaan Exp $ + +inherit flag-o-matic eutils toolchain-funcs versionator + +PATCHVER=0.9 +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 )" + +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} + + sed -i 's/^[ \t]*XCFLAGS.*//' src/cf/osconf.m4 + + ./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 + + XCFLAGS="${CFLAGS}" \ + 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 +} + |