Added coda 6.0.12
authorMaurice van der Pot <griffon26@gentoo.org>
Sun, 25 Sep 2005 14:12:26 +0000 (14:12 +0000)
committerMaurice van der Pot <griffon26@gentoo.org>
Sun, 25 Sep 2005 14:12:26 +0000 (14:12 +0000)
Package-Manager: portage-2.0.52-r1

net-fs/coda/ChangeLog
net-fs/coda/Manifest
net-fs/coda/coda-6.0.12.ebuild [new file with mode: 0644]
net-fs/coda/files/6.0.12/venus [new file with mode: 0644]
net-fs/coda/files/digest-coda-6.0.12 [new file with mode: 0644]

index ea3533af9f842743178c7d692cac8e483e0ea4d4..995a3c8c6e06d4a9bd6899e8c97165666dce7e2a 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for net-fs/coda
 # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/coda/ChangeLog,v 1.19 2005/07/07 16:26:01 griffon26 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/coda/ChangeLog,v 1.20 2005/09/25 14:12:26 griffon26 Exp $
+
+  23 Sep 2005; Maurice van der Pot <griffon26@gentoo.org>
+  +files/6.0.12/venus, +coda-6.0.12.ebuild:
+  Added coda 6.0.12
 
   07 Jul 2005; Maurice van der Pot <griffon26@gentoo.org>
   +files/6.0.11/venus, coda-6.0.8.ebuild, coda-6.0.10.ebuild,
index a94e800defe39c4cf8d03c5f933ef3131e4f1a05..01124d29431485880587e1cd008b149010d23951 100644 (file)
@@ -5,7 +5,8 @@ MD5 f905a614fde3a85e0adefb203ece18fc metadata.xml 321
 MD5 e7e6046cd8636379b027013e5611ceaf coda-6.0.11.ebuild 7693
 MD5 8a8d38f5264d5208b8505db44551a40f coda-6.0.10.ebuild 7770
 MD5 74aae1c441ef9051b70de88883748457 coda-6.0.8.ebuild 7741
-MD5 abcdd28e9b29bbe0fd35567d8bda913f ChangeLog 4740
+MD5 9f57bf8fe91e1e51305b534dc8ad436a ChangeLog 4863
+MD5 1c9a39159ad792e79b481d42c7328c2c coda-6.0.12.ebuild 7693
 MD5 78b3c40cf0a838d73ed8a67e9d153589 files/coda-update 1223
 MD5 f40f2b0227b97168e8dcd64c86f2e8cc files/codasrv 941
 MD5 1ea6425841d7fed645aad9d06d728ff7 files/auth2 1041
@@ -13,13 +14,15 @@ MD5 9c2db8abdf6c03a125489b31ab191c00 files/digest-coda-6.0.8 63
 MD5 fcba6f871a054b13f4f49b5c64c746f2 files/digest-coda-6.0.10 64
 MD5 bc3186837c0aeaec912e7040cadd36d9 files/coda-6.0.10-venus-setup-fix.patch 662
 MD5 90ab5e322be7ffed9b181e74c6c35072 files/digest-coda-6.0.11 64
+MD5 57ae3214fc33e1ba8d8d4d0406ad9afe files/digest-coda-6.0.12 64
 MD5 0e33cefc07af92d1e9351c60412f9628 files/6.0.8/venus 702
 MD5 b4e38a53462318a1c6db3a3b1d7e3db3 files/6.0.10/venus 703
 MD5 818953dac5d5dd5981ea6b6125cc7d91 files/6.0.11/venus 703
+MD5 e8eceaf4a75c95c4960701632ab31578 files/6.0.12/venus 703
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFCzVe1MGnpIbeahxwRApOgAJ9YorYQnXfxqI3kl81bGdWFsl1OwgCbBvvC
-8um+0ZKFOp6sHDW9Ca3JkLA=
-=kqlf
+iD8DBQFDNrBiMGnpIbeahxwRAgDyAJwNYG6GGKSdNnOfq6buUAOlvFeKmQCgh8/E
+zxk+zLsQzT8gWi7L7fGLkO0=
+=NIHm
 -----END PGP SIGNATURE-----
diff --git a/net-fs/coda/coda-6.0.12.ebuild b/net-fs/coda/coda-6.0.12.ebuild
new file mode 100644 (file)
index 0000000..2aef96a
--- /dev/null
@@ -0,0 +1,274 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/coda/coda-6.0.12.ebuild,v 1.1 2005/09/25 14:12:26 griffon26 Exp $
+
+inherit eutils
+
+IUSE="kerberos"
+
+DESCRIPTION="Coda is an advanced networked filesystem developed at Carnegie Mellon Univ."
+HOMEPAGE="http://www.coda.cs.cmu.edu/"
+SRC_URI="http://www.coda.cs.cmu.edu/pub/coda/src/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~ppc"
+
+# partly based on the deps suggested by Mandrake's RPM, and/or on my current versions
+# Also, definely needs coda.h from linux-headers.
+DEPEND=">=sys-libs/lwp-2.1
+       >=net-libs/rpc2-1.28
+       >=sys-libs/rvm-1.11
+       >=sys-libs/db-3
+       >=sys-libs/ncurses-4
+       >=sys-libs/readline-3
+       >=dev-lang/perl-5.8
+       kerberos? ( virtual/krb5 )
+       sys-apps/gawk
+       sys-devel/bison
+       sys-apps/grep
+       virtual/os-headers"
+
+RDEPEND=">=sys-libs/lwp-2.1
+       >=net-libs/rpc2-1.28
+       >=sys-libs/rvm-1.11
+       >=sys-libs/db-3
+       >=sys-libs/ncurses-4
+       >=sys-libs/readline-3
+       >=dev-lang/perl-5.8
+       kerberos? ( virtual/krb5 )"
+
+src_compile() {
+       local myflags=""
+
+       use kerberos && myflags="${myflags} --with-crypto"
+
+       econf ${myflags} || die "configure failed"
+       emake -j1 || die "emake failed"
+}
+
+src_install () {
+       #these crazy makefiles dont seem to use DESTDIR, but they do use these... 
+       # (except infodir, but no harm in leaving it there)
+       # see Makeconf.setup in the package
+
+       #Also note that for Coda, we need to do "make client-install" for
+       # the client, and "make server-install" for the server.
+       #...you can find out about this from ./configs/Makerules
+       emake \
+               CINIT-SCRIPTS="" \
+               prefix=${D}/usr \
+               sysconfdir=${D}/etc/coda \
+               mandir=${D}/usr/share/man \
+               infodir=${D}/usr/share/info \
+               oldincludedir=${D}/usr/include client-install || die
+
+       emake \
+               SINIT-SCRIPTS="" \
+               prefix=${D}/usr \
+               sysconfdir=${D}/etc/coda \
+               mandir=${D}/usr/share/man \
+               oldincludedir=${D}/usr/include server-install || die
+               infodir=${D}/usr/share/info \
+
+       dodoc README* ChangeLog CREDITS
+
+       exeinto /etc/init.d
+       doexe ${FILESDIR}/${PV}/venus
+       doexe ${FILESDIR}/coda-update
+       doexe ${FILESDIR}/codasrv
+       doexe ${FILESDIR}/auth2
+
+       # We may use a conf.d/coda file at some point ?
+#      insinto /etc/conf.d
+#      newins ${FILESDIR}/coda.conf.d coda
+
+       sed -i -e "s,^#vicedir=/.*,vicedir=/var/lib/vice," \
+               ${D}/etc/coda/server.conf.ex
+
+       sed -i -e "s,^#mountpoint=/.*,mountpoint=/mnt/coda," \
+               ${D}/etc/coda/venus.conf.ex
+
+       # Fix conflict with backup.sh from tar
+       mv -f ${D}/usr/sbin/backup{,-coda}.sh
+
+       dodir /var/lib/vice
+       dodir /mnt/coda
+       dodir /usr/coda
+       dodir /usr/coda/spool
+
+       diropts -m0700
+       dodir /usr/coda/etc
+       dodir /usr/coda/venus.cache
+}
+
+pkg_postinst () {
+       einfo
+       einfo "To enable the coda at boot up, please do:"
+       einfo "    rc-update add codasrv default"
+       einfo "    rc-update add venus default"
+       einfo
+       einfo "To get started, run vice-setup and venus-setup."
+       einfo
+       einfo "Alternatively you can get a default coda setup by running:"
+       einfo "    ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config"
+}
+
+pkg_config () {
+
+       # Set of default configuration values 
+       local CODA_ROOT_DIR="/var/lib/vice"
+       local CODA_TEST_VOLUME="codatestvol"
+       local CODA_TEST_VOLUME_MOUNTPOINT="test"
+       local CODA_ADMIN_UID="6000"
+       local CODA_ADMIN_NAME="codaroot"
+       local CODA_STORAGE_DIR="/var/lib/vice"
+       local RVM_LOG_PARTITION="rvmlogpartition.img"
+       local RVM_DATA_PARTITION="rvmdatapartition.img"
+       local VICE_PARTITION="vicepa"
+       local UPDATE_AUTHENTICATION_TOKEN="updatetoken"
+       local AUTH2_AUTHENTICATION_TOKEN="auth2token"
+       local VOLUTIL_AUTHENTICATION_TOKEN="volutiltoken"
+
+       # Do not modify after this line
+
+       local FQDN=$(hostname --fqdn)
+       local CODA_MOUNTPOINT=$(codaconfedit venus.conf mountpoint)
+
+       # Make sure coda is not running before we start messing with its files
+       if [ "x$(pidof auth2)" != "x" ]; then
+               eerror "Please stop coda, coda-update and auth2 first."
+               exit 1
+       fi
+
+       # Also make sure venus is not running
+       if [ "x$(pidof venus)" != "x" ]; then
+               eerror "Please stop venus first."
+               exit 1
+       fi
+
+       # Ask for the location of (amongst other things) the vice partition
+       ewarn "This default configuration of coda will require 350MB of free space"
+       ewarn "for Recoverable Virtual Memory. Additional space is required for"
+       ewarn "the files that you store on your coda volume."
+       echo
+       einfon "Please specify where coda should store this data [${CODA_STORAGE_DIR}]: "
+       read new_storage_dir
+       if [ "x${new_storage_dir}" != "x" ]; then
+               CODA_STORAGE_DIR=${new_storage_dir}
+       fi
+       echo
+
+       # Check if an existing server.conf is in the way
+       conf=$(codaconfedit server.conf)
+       intheway=
+       if [ ${conf} != /dev/null ]; then
+               intheway="${intheway} ${conf}"
+       fi
+
+       # Check if an existing vice root dir is in the way
+       if [ -e ${CODA_ROOT_DIR} ]; then
+               intheway="${intheway} ${CODA_ROOT_DIR}"
+       fi
+
+       # Check if an existing vice partition is in the way
+       if [ -e ${CODA_STORAGE_DIR}/${VICE_PARTITION} ]; then
+               intheway="${intheway} ${CODA_STORAGE_DIR}/${VICE_PARTITION}"
+       fi
+
+       if [ "x${intheway}" != "x" ]; then
+               eerror "Please remove the following items manually first if you want to"
+               eerror "set up a default coda configuration:"
+               for item in ${intheway}; do
+                       eerror "\t${item}"
+               done
+               exit 1
+       fi
+
+       einfo "A default coda server and client configuration will be set up that consists of:"
+       einfo "- a coda SCM (System Control Machine)"
+       einfo "- a coda administrator '${CODA_ADMIN_NAME}' with coda uid ${CODA_ADMIN_UID} and password 'changeme'"
+       einfo "- a coda root volume available at /mnt/coda/${FQDN}"
+       einfo "- a test volume mounted at ${CODA_MOUNTPOINT}/${FQDN}/${CODA_TEST_VOLUME_MOUNTPOINT}"
+       echo
+       einfon "Are you sure you want to do this? (y/n) "
+       read answer
+       if [ "x${answer}" != "xy" ]; then
+               exit 1
+       fi
+       echo
+
+       einfo "Setting up vice (the coda server)..."
+       vice-setup > /dev/null <<- EOF
+       yes
+       ${CODA_ROOT_DIR}
+       y
+       ${UPDATE_AUTHENTICATION_TOKEN}
+       ${AUTH2_AUTHENTICATION_TOKEN}
+       ${VOLUTIL_AUTHENTICATION_TOKEN}
+       1
+       ${CODA_ADMIN_UID}
+       ${CODA_ADMIN_NAME}
+       yes
+       ${CODA_STORAGE_DIR}/${RVM_LOG_PARTITION}
+       20M
+       ${CODA_STORAGE_DIR}/${RVM_DATA_PARTITION}
+       315M
+       y
+       ${CODA_STORAGE_DIR}/${VICE_PARTITION}
+       y
+       2M
+       n
+       EOF
+
+       # Start coda server
+       /etc/init.d/codasrv start || exit 1
+
+       # Workaround to increase the likelihood that the coda server finished
+       # starting up. Once there is a nicer way to detect this, it should 
+       # probably be added to the codasrv init script.
+       # See http://www.coda.cs.cmu.edu/maillists/codalist/codalist-2004/6954.html
+       sleep 5
+
+       einfo "Creating root volume..."
+       # Create root volume
+       createvoloutput=`createvol_rep / ${FQDN} 2>&1 <<- EOF
+       n
+       EOF`
+       if ! volutil info / &> /dev/null
+       then
+               eerror "Unable to create root volume, output of createvol_rep follows"
+               echo "$createvoloutput"
+               exit 1
+       fi
+
+       einfo "Creating test volume..."
+       # Create test volume
+       createvoloutput=`createvol_rep ${CODA_TEST_VOLUME} ${FQDN} 2>&1 <<- EOF
+       n
+       EOF`
+       if ! volutil info ${CODA_TEST_VOLUME} &> /dev/null; then
+               eerror "Unable to create writable volume, output of createvol_rep follows"
+               echo "$createvoloutput"
+               exit 1
+       fi
+
+       einfo "Setting up venus (the coda client)..."
+       venus-setup ${FQDN} 20000 > /dev/null
+
+       /etc/init.d/venus start
+
+       einfo "Mounting test volume at ${CODA_MOUNTPOINT}/${FQDN}/${CODA_TEST_VOLUME_MOUNTPOINT}"
+       clog ${CODA_ADMIN_NAME}@${FQDN} > /dev/null <<- EOF
+       changeme
+       EOF
+
+       cfs mkmount ${CODA_MOUNTPOINT}/${FQDN}/${CODA_TEST_VOLUME_MOUNTPOINT} ${CODA_TEST_VOLUME}
+
+       echo
+       einfo "The coda server and client have been set up successfully."
+       einfo "Please refer to http://www.coda.cs.cmu.edu/doc/html/ for Coda documentation."
+       echo
+       einfo "Tip: use pdbtool to add a normal coda user and clog to authenticate and get write access."
+}
+
diff --git a/net-fs/coda/files/6.0.12/venus b/net-fs/coda/files/6.0.12/venus
new file mode 100644 (file)
index 0000000..2661425
--- /dev/null
@@ -0,0 +1,31 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/coda/files/6.0.12/venus,v 1.1 2005/09/25 14:12:26 griffon26 Exp $
+
+depend() {
+       need net
+       after codasrv
+}
+
+checkconfig() {
+       if ! /usr/sbin/codaconfedit venus.conf &>/dev/null; then
+               eerror "Please run venus-setup before starting the service..."
+               return 1
+       fi
+}
+
+start() {
+       checkconfig || return 1
+
+       ebegin "Starting venus"
+       start-stop-daemon --start --quiet --exec /usr/sbin/venus > /dev/null
+       eend $?
+}
+
+stop() {
+       ebegin "Stopping venus"
+       start-stop-daemon --stop --quiet --exec /usr/sbin/venus
+       umount -l coda &>/dev/null
+       eend $?
+}
diff --git a/net-fs/coda/files/digest-coda-6.0.12 b/net-fs/coda/files/digest-coda-6.0.12
new file mode 100644 (file)
index 0000000..5395c06
--- /dev/null
@@ -0,0 +1 @@
+MD5 32200de1d92ae9c61753a7b549c38043 coda-6.0.12.tar.gz 1568219