+#
+# TODO:
+# - more FHS-compilant changes (/coda, /usr/coda)
+# - separate some programs to coda-common package
+#
Summary: Coda distributed filesystem
+Summary(pl): Rozproszony system plików Coda
Name: coda
-Version: 5.2.4
+Version: 5.3.20
Release: 1
-Copyright: CMU
+License: GPL
Group: Networking/Daemons
-Group(pl): Sieciowe/Serwery
-Source0: ftp://ftp.coda.cs.cmu.edu/pub/coda/src/%{name}-%{version}.tgz
+Source0: ftp://ftp.coda.cs.cmu.edu/pub/coda/src/%{name}-%{version}.tar.gz
+# Source0-md5: 91337387273f1abda9c67d1dd41d1366
+Source1: %{name}.venus.init
+Source2: %{name}.auth2.init
+Source3: %{name}.codasrv.init
+Source4: %{name}.update.init
+Patch0: %{name}-ugly-common.patch
+Patch1: %{name}-FHS.patch
+URL: http://www.coda.cs.cmu.edu/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: db-devel
+BuildRequires: lwp-devel
+BuildRequires: rvm-devel
+BuildRequires: rpc2-devel
+BuildRequires: ncurses-devel
+BuildRequires: readline-devel
Requires: bc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
zainstalowaæ modu³ do j±dra (lub mieæ j±dro z obs³ug± Cody), nale¿y
rownie¿ zaopatrzyæ siê w pakiet z dokumentacj± Cody.
+%package common
+Summary: Coda filesystem common programs
+Summary(pl): Wspólne programy dla klienta i serwera systemu plików Coda
+Group: Networking/Daemons
+
+%description common
+This package contains programs used by server and client.
+
+%description common -l pl
+Ten pakiet zawiera programy u¿ywane przez klienta i serwer systemu plików
+Coda.
+
%package client
Summary: Coda client
+Summary(pl): Klient Cody
Group: Networking/Daemons
-Group(pl): Sieciowe/Serwery
+Prereq: /sbin/chkconfig
+Requires: coda-common
%description client
This package contains the main client program, the cachemanager Venus.
a complete coda client. Make sure to select the correct C library
version.
+%description client -l pl
+Ten pakiet zawiera g³ównego klienta, zarz±dcê cache Venus. Do³±czone
+s± tak¿e binaria cfs, narzêdzia do logowania, zarz±dzania ACL-ami
+itp., narzêdzia do u¿ywania z laptopami i narzêdzia do naprawiania
+konfliktów. S± tak¿e narzêdzia cmon i codacon do monitorowania
+aktywno¶ci Cody. Pakiet wymaga Cody w kernelu lub module kernela.
+
%package server
Summary: Coda server
+Summary(pl): Serwer Cody
Group: Networking/Daemons
-Group(pl): Sieciowe/Serwery
+Prereq: /sbin/chkconfig
+Requires: coda-common
%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.
+%description server -l pl
+Ten pakiet zawiera codasrv - serwer systemu plików Coda, oraz
+narzêdzia do wolumenów. Aby osi±gn±æ lepsz± wydajno¶æ, potrzebny jest
+zmodyfikowany kernel z wywo³aniami dotycz±cymi inodów.
+
%package backup
Summary: Coda backup coordinator
-Group: Networking/Daemons
-Group(pl): Sieciowe/Serwery
+Summary(pl): Program do zarz±dzania backupem Cody
+Group: Networking
+
%description backup
This package contains the backup software for the coda filesystem, as
well as the volume utilities.
+%description backup -l pl
+Ten pakiet zawiera oprogramowanie do backupu systemu plików Coda oraz
+narzêdzia do wolumenów.
+
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%build
-CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" LDFLAGS="-s" \
+touch ChangeLog
+#autoheader
+%{__aclocal}
+#autoconf
+#%%configure
+CFLAGS="%{rpmcflags}" CXXFLAGS="%{rpmcflags} -fno-rtti -fno-exceptions" LDFLAGS="%{rpmldflags}" \
./configure %{_target_platform} \
---prefix=%{_prefix}
-make
+ --prefix=%{_prefix}
+%{__make} OPTFLAGS="%{rpmcflags}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_prefix}/coda/venus.cache $RPM_BUILD_ROOT/dev \
+install -d $RPM_BUILD_ROOT%{_prefix}/coda/venus.cache \
$RPM_BUILD_ROOT%{_prefix}/coda%{_sysconfdir} \
- $RPM_BUILD_ROOT/coda $RPM_BUILD_ROOT/etc/rc.d/init.d\
- $RPM_BUILD_ROOT%{_libdir}/coda
+ $RPM_BUILD_ROOT/coda $RPM_BUILD_ROOT/etc/rc.d/init.d
-make client-install
-make server-install
+%{__make} prefix=$RPM_BUILD_ROOT%{_prefix} client-install
+%{__make} prefix=$RPM_BUILD_ROOT%{_prefix} server-install
touch $RPM_BUILD_ROOT%{_prefix}/coda/venus.cache/INIT
-mknod $RPM_BUILD_ROOT/dev/cfs0 c 67 0
+#mknod $RPM_BUILD_ROOT/dev/cfs0 c 67 0
touch $RPM_BUILD_ROOT/coda/NOT_REALLY_CODA
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/venus
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/auth2
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/codasrv
+install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/update
+
%clean
rm -rf $RPM_BUILD_ROOT
exit 0
fi
+%post client
+if [ -e /usr/coda/etc/vstab ]; then
+ touch /usr/coda/venus.cache/INIT
+else
+ %{_sbindir}/venus-setup testserver.coda.cs.cmu.edu 40000
+fi
+/sbin/chkconfig --add venus
+if [ -f /var/lock/subsys/venus ]; then
+ /etc/rc.d/init.d/venus restart >&2
+else
+ echo "Run \"/etc/rc.d/init.d/venus start\" to start venus." >&2
+fi
+
%preun client
grep "^coda" /proc/mounts > /dev/null 2>&1
if [ $? = 0 ]; then
else
exit 0
fi
-
-%post client
-if [ -e /usr/coda/etc/vstab ]; then
- touch /usr/coda/venus.cache/INIT
-else
- %{_sbindir}/venus-setup testserver.coda.cs.cmu.edu 40000
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/venus ]; then
+ /etc/rc.d/init.d/venus stop >&2
+ fi
+ /sbin/chkconfig --del venus
fi
-cd %{_libdir}/coda
-if [ ! -x %{_bindir}/tixindex ]; then
- chmod a+x %{_bindir}/tixindex
+%post server
+/sbin/chkconfig --add auth2
+if [ -f /var/lock/subsys/auth2 ]; then
+ /etc/rc.d/init.d/auth2 restart >&2
+else
+ echo "Run \"/etc/rc.d/init.d/auth2 start\" to start auth." >&2
+fi
+/sbin/chkconfig --add update
+if [ -f /var/lock/subsys/update ]; then
+ /etc/rc.d/init.d/update restart >&2
+else
+ echo "Run \"/etc/rc.d/init.d/update start\" to start update." >&2
+fi
+/sbin/chkconfig --add codasrv
+if [ -f /var/lock/subsys/codasrv ]; then
+ /etc/rc.d/init.d/codasrv restart >&2
+else
+ echo "Run \"/etc/rc.d/init.d/codasrv start\" to start codasrv." >&2
fi
-tixindex *tcl
-#if [ ! -f %{_bindir}/tixwish ]; then
-# ln -s %{_bindir}/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
+%preun server
+if [ "$1" = "0" ]; then
+ if [ -f /var/lock/subsys/update ]; then
+ /etc/rc.d/init.d/update stop >&2
+ fi
+ /sbin/chkconfig --del update
+ if [ -f /var/lock/subsys/auth2 ]; then
+ /etc/rc.d/init.d/auth2 stop >&2
+ fi
+ /sbin/chkconfig --del auth2
+ if [ -f /var/lock/subsys/codasrv ]; then
+ /etc/rc.d/init.d/codasrv stop >&2
+ fi
+ /sbin/chkconfig --del codasrv
+fi
-%postun server
-/sbin/chkconfig --del update.init
-/sbin/chkconfig --del auth2.init
-/sbin/chkconfig --del codasrv.init
+%files common
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/coda
+%attr(755,root,root) %{_sbindir}/codaconfedit
+%attr(755,root,root) %{_sbindir}/coda-setup-ports
+%attr(755,root,root) %{_bindir}/rpc2ping
%files client
%defattr(644,root,root,755)
-/dev/cfs0
%dir %{_prefix}/coda
%dir %{_prefix}/coda%{_sysconfdir}
%dir %{_prefix}/coda/venus.cache
%verify() %{_prefix}/coda/venus.cache/INIT
-/etc/rc.d/init.d/venus.init
+%attr(754,root,root) /etc/rc.d/init.d/venus
%dir /coda
%verify() /coda/NOT_REALLY_CODA
+%{_sysconfdir}/coda/venus.conf.ex
+%attr(755,root,root) %{_sbindir}/codastart
+%attr(755,root,root) %{_sbindir}/pwdtopdbtool.py
%attr(755,root,root) %{_sbindir}/venus-setup
%attr(755,root,root) %{_sbindir}/vutil
%attr(755,root,root) %{_sbindir}/venus
%attr(755,root,root) %{_sbindir}/au
-%attr(755,root,root) %{_bindir}/advice_srv
-%attr(755,root,root) %{_bindir}/filcon
%attr(755,root,root) %{_bindir}/clog
+%attr(755,root,root) %{_bindir}/codaconfedit
+%attr(755,root,root) %{_bindir}/coda_replay
%attr(755,root,root) %{_bindir}/cpasswd
%attr(755,root,root) %{_bindir}/ctokens
%attr(755,root,root) %{_bindir}/cunlog
%attr(755,root,root) %{_bindir}/cmon
%attr(755,root,root) %{_bindir}/codacon
%attr(755,root,root) %{_bindir}/cfs
+%attr(755,root,root) %{_bindir}/getvolinfo
%attr(755,root,root) %{_bindir}/hoard
%attr(755,root,root) %{_bindir}/spy
-%attr(755,root,root) %{_bindir}/replay
%attr(755,root,root) %{_bindir}/parser
+%attr(755,root,root) %{_bindir}/smon2
%attr(755,root,root) %{_bindir}/filerepair
%attr(755,root,root) %{_bindir}/removeinc
%attr(755,root,root) %{_bindir}/xfrepair
%attr(755,root,root) %{_bindir}/xaskuser
-%attr(755,root,root) %{_bindir}/logbandwidth
-%attr(755,root,root) %{_bindir}/logcmls
-%attr(755,root,root) %{_bindir}/logreintegration
%attr(755,root,root) %{_sbindir}/volmunge
-%{_libdir}/coda/Advice.tcl
-%{_libdir}/coda/CodaConsole
-%{_libdir}/coda/Consider.tcl
-%{_libdir}/coda/ConsiderAdding.tcl
-%{_libdir}/coda/ConsiderRemoving.tcl
-%{_libdir}/coda/ControlPanel.tcl
-%{_libdir}/coda/Date.tcl
-%{_libdir}/coda/DiscoMiss.tcl
-%{_libdir}/coda/Events.tcl
-%{_libdir}/coda/Globals.tcl
-%{_libdir}/coda/Helper.tcl
-%{_libdir}/coda/HoardWalk.tcl
-%{_libdir}/coda/HoardWalkAdvice.tcl
-%{_libdir}/coda/Indicators.tcl
-%{_libdir}/coda/Initialization.tcl
-%{_libdir}/coda/Lock.tcl
-%{_libdir}/coda/Log.tcl
-%{_libdir}/coda/Network.tcl
-%{_libdir}/coda/OutsideWorld.tcl
-%{_libdir}/coda/ReadMiss.tcl
-%{_libdir}/coda/Reconnection.tcl
-%{_libdir}/coda/Reintegration.tcl
-%{_libdir}/coda/Repair.tcl
-%{_libdir}/coda/Space.tcl
-%{_libdir}/coda/Task.tcl
-%{_libdir}/coda/Timing.tcl
-%{_libdir}/coda/Tokens.tcl
-%{_libdir}/coda/WeakMiss.tcl
-%{_libdir}/coda/tixCodaMeter.tcl
-
-%files server
+
+%files server
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/rvmutl
-%attr(755,root,root) %{_sbindir}/rdsinit
+%{_sysconfdir}/coda/server.conf.ex
%attr(755,root,root) %{_sbindir}/startserver
%attr(755,root,root) %{_sbindir}/partial-reinit.sh
%attr(755,root,root) %{_sbindir}/createvol_rep
+%attr(755,root,root) %{_sbindir}/pdbtool
%attr(755,root,root) %{_sbindir}/purgevol
%attr(755,root,root) %{_sbindir}/purgevol_rep
%attr(755,root,root) %{_sbindir}/bldvldb.sh
%attr(755,root,root) %{_sbindir}/vice-setup-srvdir
%attr(755,root,root) %{_sbindir}/vice-setup-user
%attr(755,root,root) %{_sbindir}/vice-setup-scm
-%attr(755,root,root) %{_sbindir}/vice-setup-ports
%attr(755,root,root) %{_sbindir}/vice-killvolumes
-%attr(755,root,root) %{_sbindir}/pcfgen
-%attr(755,root,root) %{_sbindir}/pwd2pdb
-%attr(755,root,root) %{_sbindir}/mvdb
%attr(755,root,root) %{_sbindir}/auth2
%attr(755,root,root) %{_sbindir}/initpw
%attr(755,root,root) %{_sbindir}/volutil
%attr(755,root,root) %{_sbindir}/rpc2portmap
-%attr(755,root,root) %{_sbindir}/makeftree
%attr(755,root,root) %{_sbindir}/inoder
%attr(755,root,root) %{_sbindir}/parserecdump
%attr(755,root,root) %{_sbindir}/codasrv
%attr(755,root,root) %{_sbindir}/updatesrv
%attr(755,root,root) %{_sbindir}/updateclnt
%attr(755,root,root) %{_sbindir}/updatefetch
-%attr(755,root,root) %{_bindir}/filcon
%attr(755,root,root) %{_bindir}/norton
%attr(755,root,root) %{_bindir}/norton-reinit
%attr(755,root,root) %{_bindir}/reinit
-/etc/rc.d/init.d/codasrv.init
-/etc/rc.d/init.d/auth2.init
-/etc/rc.d/init.d/update.init
+%attr(754,root,root) /etc/rc.d/init.d/codasrv
+%attr(754,root,root) /etc/rc.d/init.d/auth2
+%attr(754,root,root) /etc/rc.d/init.d/update
-%files backup
+%files backup
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/backup.sh
%attr(755,root,root) %{_sbindir}/tape.pl
%attr(755,root,root) %{_sbindir}/updatesrv
%attr(755,root,root) %{_sbindir}/updateclnt
%attr(755,root,root) %{_sbindir}/updatefetch
-%attr(755,root,root) %{_bindir}/filcon