On Mon, 28 Jun 1999, Troy Benjegerdes wrote:

> It appear that updateclient and updateserver can't talk between my PPC and
> x86 boxes.
> 

Well, I believe I've fixed this. I've included a patch, and a spec file
which I have made some modifications to, most importantly allowing
non-root builds of coda, along with kerberos support. (If anyone wants my
patch for kerberos, let me know)


--------------------------------------------------------------------------
| Troy Benjegerdes    |       [EMAIL PROTECTED]     |    [EMAIL PROTECTED]   |
|    Unix is user friendly... You just have to be friendly to it first.  |
| This message composed with 100% free software.    http://www.gnu.org   |
--------------------------------------------------------------------------
diff -ur coda-5.2.7/coda-src/update/updateclnt.cc 
coda-5.2.7.new/coda-src/update/updateclnt.cc
--- coda-5.2.7/coda-src/update/updateclnt.cc    Thu May 13 16:11:21 1999
+++ coda-5.2.7.new/coda-src/update/updateclnt.cc        Mon Jun 28 20:56:45 1999
@@ -536,7 +536,7 @@
            hid.Tag = RPC2_HOSTBYNAME;
            strcpy(hid.Value.Name, host);
            sid.Tag = RPC2_PORTBYINETNUMBER;
-           sid.Value.InetPortNumber = port;
+           sid.Value.InetPortNumber = htons(port);
            ssid.Tag = RPC2_SUBSYSBYID;
            ssid.Value.SubsysId= SUBSYS_UPDATE;
            dummy.SeqLen = 0;
diff -ur coda-5.2.7/coda-src/update/updatesrv.cc 
coda-5.2.7.new/coda-src/update/updatesrv.cc
--- coda-5.2.7/coda-src/update/updatesrv.cc     Thu May 13 10:29:15 1999
+++ coda-5.2.7.new/coda-src/update/updatesrv.cc Mon Jun 28 22:01:01 1999
@@ -197,7 +197,7 @@
     }
     rc = portmapper_client_register_sqsh(portmapid, 
                                         (unsigned char *) "codaupdate", 
-                                        0, 17,  port1.Value.InetPortNumber);
+                                        0, 17,  ntohs(port1.Value.InetPortNumber));
 
     if ( rc ) {
            fprintf(stderr, "Cannot register with rpc2portmap; exiting, rc = %i \n", 
rc);
Summary: Coda distributed filesystem
Name: coda-debug
%define basever 5.2.7
Version: krb5_%{basever}
Release: 2
Source: ftp://ftp.coda.cs.cmu.edu/pub/coda/src/coda-%{basever}.tgz
Patch: coda-krb5.patch
Patch1: coda-5.2.7-endian.patch
Requires: bc
Copyright: CMU
BuildRoot: /tmp/coda-buildroot
Group: Networking/Daemons
%description
Source package for the Coda filesystem.  Three packages are provided by
this rpm: the client and server and the backup components. Separately
you must install a kernel module, or have a Coda enabled kernel, and 
you should get the Coda documentation package.


%package client
Summary: Coda client
Group: Networking/Daemons
%description client
This package contains the main client program, the cachemanager Venus.
Also included are the binaries for the cfs, utilities for logging, ACL
manipulation etc, the hoarding tools for use with laptops and repair
tools for fixing conflicts. Finally there is the cmon and codacon
console utilities to monitor Coda's activities. You need a Coda
kernel-module for your kernel version, or Coda in your kernel, to have
a complete coda client.  Make sure to select the correct C library
version.

%package server
Summary: Coda server
Group: Networking/Daemons
%description server
This package contains the fileserver codasrv for the coda filesystem,
as well as the volume utilities.  For highest performance you will
need a modified kernel with inode system calls.

%package backup
Summary: Coda backup coordinator
Group: Networking/Daemons
%description backup
This package contains the backup software for the coda filesystem, as
well as the volume utilities.

%changelog
* Mon Jun 28 1999 Troy Benjegerdes <[EMAIL PROTECTED]>
- fixed endianess problem in updateclnt/updateserver
* Sun Jun 27 1999 Troy Benjegerdes <[EMAIL PROTECTED]>
- update to 5.2.7, add %{basever}
* Fri Jun 11 1999 Troy Benjegerdes <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
- update to 5.2.4
- now do mknod /dev/cfs0 in '%post' so non-root builds work
* Wed May 11 1999 Troy Benjegerdes <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
- Patched to build with Kerberos 5 authentication only
- Made $RPM_OPT_FLAGS work
* Sun Jun 21 1998 Peter Braam <[EMAIL PROTECTED]>
- get rid of the kernel package. This needs interaction during the build.
- no more separate libc, glibc packages
* Tue Dec 30 1997 Peter Braam <[EMAIL PROTECTED]>
- several changes: documentation separate
- use variables: =`uname -r`, 5.2.4=coda version
* Mon Jun 02 1997 Peter Braam <[EMAIL PROTECTED]>
- small changes to Elliots improvements.
- some of his ideas are now in the scripts
* Wed May 28 1997 Elliot Lee <[EMAIL PROTECTED]>
- Based upon 4.0.3-1 spec file.
- Changed to BuildRoot
- Do as much as possible at build time instead of in %post
- Added initscript for venus
        
%prep
%setup -n coda-%{basever}
%patch -p1
%patch1 -p1

%build
#chown -R root.bin $RPM_BUILD_DIR/coda-%{basever}
rm -rf $RPM_BUILD_DIR/obj-%{basever}
mkdir $RPM_BUILD_DIR/obj-%{basever}
cd $RPM_BUILD_DIR/obj-%{basever}
# be sure and use g++
CXX=g++ $RPM_BUILD_DIR/coda-%{basever}/configure --prefix=$RPM_BUILD_ROOT/usr

# Build an optimized Coda
MYFLAGS="$RPM_OPT_FLAGS" make 

%install
cd $RPM_BUILD_DIR/obj-%{basever}
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/coda/venus.cache $RPM_BUILD_ROOT/dev \
        $RPM_BUILD_ROOT/usr/coda/etc \
        $RPM_BUILD_ROOT/coda $RPM_BUILD_ROOT/etc/rc.d/init.d\
        $RPM_BUILD_ROOT/usr/lib/coda $RPM_BUILD_ROOT/etc/rc.d/init.d

make client-install
make server-install

touch $RPM_BUILD_ROOT/coda/NOT_REALLY_CODA


# for non debuging versions
if [ X1 != X1 ]; then
   strip $RPM_BUILD_ROOT/usr/bin/* $RPM_BUILD_ROOT/vice/bin/* 
$RPM_BUILD_ROOT/usr/sbin/* || :
fi

#chown -R root.root $RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_DIR/obj-%{basever}

%pre client
grep "^coda" /proc/mounts > /dev/null 2>&1
if [ $? = 0 ]; then
        echo "*** Coda is mounted: cannot install ***"
        exit 1
else
        exit 0
fi

%preun client
grep "^coda" /proc/mounts > /dev/null 2>&1
if [ $? = 0 ]; then
        echo "*** Coda is mounted: cannot uninstall ***"
        exit 1
else
        exit 0
fi
        
%post client
if [ ! -e /dev/cfs0 ]; then
        mknod /dev/cfs0 c 67 0
fi
if [ ! -e /usr/coda/etc/vstab ]; then 
        /usr/sbin/venus-setup testserver.coda.cs.cmu.edu 40000
fi

cd /usr/lib/coda
#if [ ! -x /usr/bin/tixindex ]; then
#       chmod a+x /usr/bin/tixindex 
#fi
#tixindex *tcl
#if [ ! -f /usr/bin/tixwish ]; then
#       ln -s /usr/bin/tixwish* /usr/bin/tixwish
#       if [ x$? != x0 ]; then
#               echo "**WARNING: tixwish is not correctly installed"
#       fi
#fi
/sbin/chkconfig --add venus.init

%postun
/sbin/chkconfig --del venus.init

%post server
/sbin/chkconfig --add update.init
/sbin/chkconfig --add auth2.init
/sbin/chkconfig --add codasrv.init

%postun server
/sbin/chkconfig --del update.init
/sbin/chkconfig --del auth2.init
/sbin/chkconfig --del codasrv.init


%files client
%defattr(-,root,root)
%dir /usr/coda
%dir /usr/coda/etc
%dir /usr/coda/venus.cache
/etc/rc.d/init.d/venus.init
%dir /coda
%verify() /coda/NOT_REALLY_CODA
/usr/sbin/kau
/usr/sbin/venus
/usr/sbin/venus-setup
/usr/sbin/volmunge
/usr/sbin/vutil
/usr/bin/advice_srv
/usr/bin/cfs
/usr/bin/kclog
/usr/bin/cmon
/usr/bin/codacon
/usr/bin/cpasswd
/usr/bin/ctokens
/usr/bin/cunlog
/usr/bin/filcon
/usr/bin/filerepair
/usr/bin/hoard
/usr/bin/logbandwidth
/usr/bin/logcmls
/usr/bin/logprogress
/usr/bin/logreintegration
/usr/bin/parser
/usr/bin/removeinc
/usr/bin/repair
/usr/bin/replay
/usr/bin/spy
/usr/bin/xaskuser
/usr/bin/xfrepair
/usr/lib/coda/Advice.tcl
/usr/lib/coda/CodaConsole
/usr/lib/coda/Consider.tcl
/usr/lib/coda/ConsiderAdding.tcl
/usr/lib/coda/ConsiderRemoving.tcl
/usr/lib/coda/ControlPanel.tcl
/usr/lib/coda/Date.tcl
/usr/lib/coda/DiscoMiss.tcl
/usr/lib/coda/Events.tcl
/usr/lib/coda/Globals.tcl
/usr/lib/coda/Helper.tcl
/usr/lib/coda/HoardWalk.tcl
/usr/lib/coda/HoardWalkAdvice.tcl
/usr/lib/coda/Indicators.tcl
/usr/lib/coda/Initialization.tcl
/usr/lib/coda/Lock.tcl
/usr/lib/coda/Log.tcl
/usr/lib/coda/Network.tcl
/usr/lib/coda/OutsideWorld.tcl
/usr/lib/coda/ReadMiss.tcl
/usr/lib/coda/Reconnection.tcl
/usr/lib/coda/Reintegration.tcl
/usr/lib/coda/Repair.tcl
/usr/lib/coda/Space.tcl
/usr/lib/coda/Task.tcl
/usr/lib/coda/Timing.tcl
/usr/lib/coda/Tokens.tcl
/usr/lib/coda/WeakMiss.tcl
/usr/lib/coda/tixCodaMeter.tcl

%files server   
%defattr(-,root,root)
/usr/sbin/kauth2
/usr/sbin/bldvldb.sh
/usr/sbin/codasrv
/usr/sbin/createvol_rep
/usr/sbin/initpw
/usr/sbin/inoder
/usr/sbin/makeftree
/usr/sbin/parserecdump
/usr/sbin/partial-reinit.sh
/usr/sbin/pdbtool
/usr/sbin/printvrdb
/usr/sbin/purgevol
/usr/sbin/purgevol_rep
/usr/sbin/pwdtopdbtool.py
/usr/sbin/rdsinit
/usr/sbin/rpc2portmap
/usr/sbin/rvmutl
/usr/sbin/startserver
/usr/sbin/updatesrv
/usr/sbin/updateclnt
/usr/sbin/updatefetch
/usr/sbin/vice-killvolumes
/usr/sbin/vice-setup
/usr/sbin/vice-setup-rvm
/usr/sbin/vice-setup-srvdir
/usr/sbin/vice-setup-user
/usr/sbin/vice-setup-scm
/usr/sbin/vice-setup-ports
/usr/sbin/volutil
/usr/bin/filcon
/usr/bin/norton
/usr/bin/norton-reinit
/usr/bin/reinit
/etc/rc.d/init.d/codasrv.init
/etc/rc.d/init.d/auth2.init
/etc/rc.d/init.d/update.init

%files backup   
%defattr(-,root,root)
/usr/sbin/kauth2
/usr/sbin/backup
/usr/sbin/backup.sh
/usr/sbin/merge
/usr/sbin/readdump
/usr/sbin/tape.pl
/usr/sbin/updatesrv
/usr/sbin/updateclnt
/usr/sbin/updatefetch
/usr/sbin/volutil
/usr/bin/filcon

Reply via email to