bug 5060
authorBrandon Low <lostlogic@gentoo.org>
Wed, 23 Oct 2002 21:23:01 +0000 (21:23 +0000)
committerBrandon Low <lostlogic@gentoo.org>
Wed, 23 Oct 2002 21:23:01 +0000 (21:23 +0000)
net-fs/coda-client/ChangeLog [new file with mode: 0644]
net-fs/coda-client/coda-client-5.3.19.ebuild [new file with mode: 0644]
net-fs/coda-client/files/coda-client-5.3.19-gentoo.patch [new file with mode: 0644]
net-fs/coda-client/files/coda-client-5.3.19-gentoo2.patch [new file with mode: 0644]
net-fs/coda-client/files/digest-coda-client-5.3.19 [new file with mode: 0644]

diff --git a/net-fs/coda-client/ChangeLog b/net-fs/coda-client/ChangeLog
new file mode 100644 (file)
index 0000000..642cdf5
--- /dev/null
@@ -0,0 +1,33 @@
+# ChangeLog for net-fs/coda-client
+# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/coda-client/ChangeLog,v 1.1 2002/10/23 21:23:01 lostlogic Exp $
+
+*coda-client-5.3.19 (23 Jul 2002)
+
+  23 Oct 2002; Brandon Low <lostlogic@gentoo.org> coda-client-5.3.19.ebuild, coda-client-5.3.19-gentoo.patch, coda-client-5.3.19-gentoo2.patch:
+
+  This took forever to make it work, but it does now, gcc-3 compile
+  fixes are in gentoo2.patch and there is some sedfu in the ebuild.
+
+  This is this the initial portage commit of this ebuild.
+
+  15 Jul 2002; Greg Briggs <gb006k@mail.rochester.edu> 
+  coda-client-5.3.19.ebuild, coda-client-5.3.19-gentoo.patch: 
+
+  Created  ebuild for this package.
+  * To test out coda in a hurry, do (as root of course):
+      emerge coda-client
+      venus-setup testserver.coda.cs.cmu.edu
+      /etc/init.d/venus.init start
+  Okay, now watch your 11th console until it says "/coda now mounted".
+  Now look in /coda for some files; you have connected to the testserver!
+  * Notes: You need kernel support for Coda enabled. You definitely need to 
+  read the docs to use Coda, at least 
+      http://www.coda.cs.cmu.edu/doc/html/coda-howto-5.html
+  The initscript that gets added to your system is "/etc/init.d/venus.init".
+  This will also mount coda -- no changes to fstab. By the way, you can test
+  with the public Coda server "testserver.coda.cs.cmu.edu".
+  * Bugs (these are in other packages I think; it is SAFE TO IGNORE them)
+  "cat: write error" during ebuild: a problem in depscan.sh
+  "mv: cannot move `cfs0-' to `cfs0': Operation not permitted" during 
+    venus-setup: a problem in "( cd /dev ; ./MAKEDEV cfs )"
diff --git a/net-fs/coda-client/coda-client-5.3.19.ebuild b/net-fs/coda-client/coda-client-5.3.19.ebuild
new file mode 100644 (file)
index 0000000..69bc6d5
--- /dev/null
@@ -0,0 +1,81 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/coda-client/coda-client-5.3.19.ebuild,v 1.1 2002/10/23 21:23:01 lostlogic Exp $
+
+IUSE=""
+PN="coda"
+#client and server dont come separately, just install separately
+P="${PN}-${PV}"
+DESCRIPTION="Coda is an advanced networked filesystem developed at Carnegie Mellon Univ."
+HOMEPAGE="http://www.coda.cs.cmu.edu"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+
+# 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="virtual/glibc
+       >=sys-libs/lwp-1.9
+       >=net-libs/rpc2-1.13
+       >=sys-libs/rvm-1.6
+       >=sys-libs/db-4
+       >=sys-libs/ncurses-4
+       >=sys-libs/readline-3
+       >=sys-kernel/linux-headers-2.4"
+
+SRC_URI="ftp://ftp.coda.cs.cmu.edu/pub/${PN}/src/${P}.tar.gz"
+
+S=${WORKDIR}/${P}
+
+src_unpack() {
+
+       unpack ${A}
+
+       cd ${S}
+       # So that the venus initscript is Gentoo-compliant
+       patch -p1 < ${FILESDIR}/${PF}-gentoo.patch || die "patch failed"
+       patch -p1 < ${FILESDIR}/${PF}-gentoo2.patch || die "patch failed"
+
+}
+
+src_compile() {
+       OCFLAGS="${CFLAGS}"
+       CFLAGS="${CFLAGS} -lpthread"
+       econf || die "configure failed"
+
+       mv Makeconf.setup Makeconf.setup.orig
+       sed -e "s:-lpthread::;s:-ldb:-ldb -lpthread:" \
+               Makeconf.setup.orig > Makeconf.setup
+
+       CFLAGS="${OCFLAGS}"
+       MAKEOPTS="-j1" emake || 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, need to do "make client-install" for client, or
+       # "make server-install" for server.
+       #...you can find out about this from ./configs/Makerules
+       make \
+               prefix=${D}/usr \
+               sysconfdir=${D}/etc/coda \
+               mandir=${D}/usr/share/man \
+               infodir=${D}/usr/share/info \
+               oldincludedir=${D}/usr/include client-install || die
+}
+
+pkg_postinst () {
+       rc-update add venus.init default
+       einfo
+       einfo "I have already done:"
+       einfo "   rc-update add venus.init default"
+       einfo
+}
+
+pkg_prerm () {
+       /etc/init.d/venus.init stop || /etc/init.d/venus.init hardstop
+       rc-update del venus.init default
+}
diff --git a/net-fs/coda-client/files/coda-client-5.3.19-gentoo.patch b/net-fs/coda-client/files/coda-client-5.3.19-gentoo.patch
new file mode 100644 (file)
index 0000000..a55cb45
--- /dev/null
@@ -0,0 +1,119 @@
+diff -ur coda-5.3.19.orig/coda-src/scripts/venus.init.in coda-5.3.19/coda-src/scripts/venus.init.in
+--- coda-5.3.19.orig/coda-src/scripts/venus.init.in    Wed Jun  6 09:38:58 2001
++++ coda-5.3.19/coda-src/scripts/venus.init.in Sun Jul 14 10:32:55 2002
+@@ -1,4 +1,5 @@
+-#!/bin/sh
++#!/sbin/runscript
++#Patched to gentoo-style by Greg Briggs, <gb006k@mail.rochester.edu> on 14-Jul-2002
+ #
+ # skeleton      Example file to build /etc/init.d scripts.
+ #
+@@ -10,66 +11,65 @@
+ # chkconfig: 345 97 01
+ # description: The Coda cache manager.
+ 
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
++opts="${opts} hardstop"
+ 
+-PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
+-export PATH
++venusinit() {
++      prefix=@prefix@
++      exec_prefix=@exec_prefix@
+ 
+-# defaults
+-pid_file=/usr/coda/venus.cache/pid
++      PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
++      export PATH
+ 
+-# overridden from the venus.conf
+-[ -f @sysconfdir@/venus.conf ] && . @sysconfdir@/venus.conf
+-
+-[ -f @sbindir@/venus ] || exit 0
+-
+-echon() {
+-    if [ "`echo -n`" ] ; then
+-        echo "$@"\c
+-    else
+-        echo -n "$@"
+-    fi
++      # defaults
++      pid_file=/usr/coda/venus.cache/pid
++
++      # overridden from the venus.conf
++      [ -f @sysconfdir@/venus.conf ] && . @sysconfdir@/venus.conf
++
++      [ -f @sbindir@/venus ] || exit 0
++
++      outputtty=/dev/tty11
+ }
+ 
++depend() {
++      need net localmount
++      provide codaclient
++}
+ 
+-# See how we were called.
+-case "$1" in
+-  start)
+-      echon "Starting venus: "
++start() {
++      venusinit
++      ebegin "Starting Coda Venus; output on $outputtty"
+       if [ -f $pid_file ]; then
+-              echo "$pid_file exists, venus already running?."
++              ewarn "$pid_file exists, venus already running?."
+       fi
+       [ -d /var/lock/subsys ] && touch /var/lock/subsys/venus.init
+-      @sbindir@/venus &
+-      echo "done."
+-    ;;
+-  stop)
+-      echon "Shutting down venus: "
++      #send error to /dev/null for people who compiled coda support in directly
++      modprobe coda 2>/dev/null
++      @sbindir@/venus &>$outputtty &
++      eend $?
++}
++
++stop()  {
++      venusinit
++      ebegin "Shutting down Coda Venus"
+       if [ -f $pid_file ]; then
+               kill -TERM `cat $pid_file`
+               umount /coda
+       fi
+       rm -f $pid_file
+       [ -d /var/lock/subsys ] && rm -f /var/lock/subsys/venus.init
+-      echo "done."
+-    ;;
+-  hardstop)
+-      echon "Killing venus: "
++      rmmod coda 2>/dev/null
++      eend 0
++}
++
++hardstop() {
++      venusinit
++      ebegin "Killing Coda Venus"
+       if [ -f $pid_file ]; then
+               kill -9 `cat $pid_file`
+               umount /coda
+       fi
+       rm -f $pid_file
+-      echo "done."
+-    ;;
+-    restart|force-reload)
+-      echo "$1 not available"
+-    ;;
+-    *)
+-      echo "Usage: $0 {start|stop|hardstop}"
+-      exit 1
+-    ;;
+-esac
+-
+-exit 0
++      rmmod coda 2>/dev/null
++      eend 0
++}
diff --git a/net-fs/coda-client/files/coda-client-5.3.19-gentoo2.patch b/net-fs/coda-client/files/coda-client-5.3.19-gentoo2.patch
new file mode 100644 (file)
index 0000000..2170ce2
--- /dev/null
@@ -0,0 +1,20 @@
+--- coda-5.3.19/coda-src/venus/fso_cachefile.cc        2001-05-17 16:26:53.000000000 -0500
++++ coda-5.3.19/coda-src/venus/fso_cachefile.cc.new    2002-10-23 16:12:33.000000000 -0500
+@@ -132,7 +132,7 @@
+ /* Must be called from within a transaction!  Assume caller has done
+    RVMLIB_REC_OBJECT() */
+ 
+-void CacheFile::Create(int newlength = 0)
++void CacheFile::Create(int newlength)
+ {
+     LOG(10, ("CacheFile::Create: %s, %d\n", name, newlength));
+ 
+@@ -183,7 +183,7 @@
+     return 0;
+ }
+ 
+-int CacheFile::Copy(char *destname, ino_t *ino, int recovering = 0)
++int CacheFile::Copy(char *destname, ino_t *ino, int recovering)
+ {
+     LOG(10, ("CacheFile::Copy: from %s, %d, %d/%d, to %s\n",
+            name, inode, validdata, length, destname));
diff --git a/net-fs/coda-client/files/digest-coda-client-5.3.19 b/net-fs/coda-client/files/digest-coda-client-5.3.19
new file mode 100644 (file)
index 0000000..2a13740
--- /dev/null
@@ -0,0 +1 @@
+MD5 d3e90136f1f560b3ab7bd5550f12574e coda-5.3.19.tar.gz 1342652