%define version 1.0.0.0 Summary: A highly-available distributed filesystem Name: intermezzo Version: %{version} Release: 1 Source: ftp://ftp.inter-mezzo.org/pub/intermezzo/intermezzo-%{version}.tgz Copyright: GPL BuildRoot: /var/tmp/%{name}-%{version}-root Group: Networking/Daemons URL: http://www.inter-mezzo.org/ Requires: perl-Time-HiRes perl-Storable perl-POE perl-Term-ReadLine-Gnu # The following are needed for the build, at least. Requires: perl-XML-Simple perl-XML-Parser # This is a funky way to to BuildRequires, but it makes cross-building # SRPMS a little easier. %(rpm -q rpm >/dev/null 2>&1 && echo 'BuildRequires: %{requires}') # Finally, we require the kernel-source package to build Presto. Requires: kernel-source Requires: mount >= 2.10m-6.1 Requires: e2fsprogs >= 1.22 Packager: William Stearns , Brian J. Murrell , and Gordon Matzigkeit Vendor: Stelias Computing, Carnegie Mellon University, Red Hat and others. %description InterMezzo is a distributed filesystem inspired by Coda, but much simpler. %prep %setup -n intermezzo-%{version} %build make all PRESTO= %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/sysconfig #I believe the fhs requires init scripts in /etc/init.d as opposed to /etc/rc.d/init.d install -d $RPM_BUILD_ROOT/etc/init.d install -d $RPM_BUILD_ROOT/usr/lib install -d $RPM_BUILD_ROOT/usr/share/man/man1 install -d $RPM_BUILD_ROOT/usr/share/man/man3 install -d $RPM_BUILD_ROOT/usr/share/doc install -d $RPM_BUILD_ROOT/usr/sbin install -d $RPM_BUILD_ROOT/usr/src install -d $RPM_BUILD_ROOT/usr/src/presto-%{version} #install -d $RPM_BUILD_ROOT/usr/src/presto-%{version}/CVS install -d $RPM_BUILD_ROOT/usr/src/presto-%{version}/linux install -d $RPM_BUILD_ROOT/usr/src/presto-%{version}/patches #install -d $RPM_BUILD_ROOT/usr/src/presto-%{version}/patches/CVS install -d $RPM_BUILD_ROOT/usr/src/presto-%{version}/tests #install -d $RPM_BUILD_ROOT/usr/src/presto-%{version}/tests/CVS make install PRESTO= DOC= DESTDIR=$RPM_BUILD_ROOT # Install the Presto sources. SRCPRESTO=$RPM_BUILD_ROOT/usr/src/presto-%{version} mkdir -p $SRCPRESTO (cd presto && tar -cf - .) | (cd $SRCPRESTO && tar -xvBpf -) # Install the test harness and strip build code. tar -cf - tests | (cd $RPM_BUILD_ROOT/usr/lib/intermezzo && tar -xvBpf -) lento/tools/use-lib $RPM_BUILD_ROOT/usr/lib/intermezzo/tests/common.sh %clean rm -rf $RPM_BUILD_ROOT %pre #Does this _really_ need to force the gid? I have worries about an app that requires a particular gid. if ! grep "^InterMezzo:" /etc/group &> /dev/null; then gid=4711 # start with the default while [ $gid -lt 65536 ]; do groupadd -g $gid InterMezzo &> /dev/null if [ $? = 0 ]; then # success! gid=65567 # exit the loop fi done fi %post chkconfig --add lento # FIXME: We may eventually support and presto RPMs for stock kernels. # Even if we do, we leave this option open for people with custom # kernels. cat </dev/null test -L linux/version.h && rm linux/version.h test -d .depfiles && rmdir .depfiles if [ "$1" -eq 0 ]; then chkconfig --del lento || exit 0 fi %postun if [ "$1" -eq 0 ]; then groupdel InterMezzo fi %files %defattr(-, root, root) %doc COPYING %doc ChangeLog %doc NEWS %doc INSTALL %doc doc # %doc doc/CVS # %doc doc/CVS/Root # %doc doc/CVS/Repository # %doc doc/CVS/Entries # %doc doc/CVS/Tag %doc doc/InterMezzo-HOWTO.html %doc doc/InterMezzo-HOWTO.sgml %doc doc/InterMezzo-ext3.txt %doc doc/KML-Expect.html %doc doc/Makefile %doc doc/VERSIONING %doc doc/fsetdb.sgml %doc doc/intermezzo.5 %doc doc/intermezzo.sgml %doc doc/internals.pod %doc doc/kernelapi.pod %doc doc/kernelapi.sgml %doc doc/message.sgml %doc doc/mkizofs.sgml %doc doc/protocol.txt %doc doc/semantics.pod %doc doc/semantics.txt %doc doc/serverdb.man %doc doc/serverdb.sgml %doc doc/sysid.man %doc doc/sysid.sgml %doc doc/internals.html # %doc doc/pod2htmi.x~~ # %doc doc/pod2htmd.x~~ %doc doc/kernelapi.html %doc doc/semantics.html %doc doc/intermezzo.4 %doc doc/mkizofs.8 %doc doc/fsetdb.5 %doc doc/sysid.5 %doc doc/serverdb.5 %attr(644,root,root) %config /etc/sysconfig/intermezzo %attr(755,root,root) /etc/init.d/lento #Is this actually used? It doesn't seem to be installed to the buildroot. #%attr(755,root,root) /etc/init.d/presto %attr(755,root,root) %dir /usr/lib/intermezzo %attr(755,root,root) %dir /usr/lib/intermezzo/i386-linux %attr(755,root,root) %dir /usr/lib/intermezzo/i386-linux/auto %attr(755,root,root) %dir /usr/lib/intermezzo/i386-linux/auto/Lento %attr(644,root,root) /usr/lib/intermezzo/i386-linux/auto/Lento/.packlist %attr(755,root,root) %dir /usr/lib/intermezzo/i386-linux/auto/SetFS %attr(555,root,root) /usr/lib/intermezzo/i386-linux/auto/SetFS/SetFS.so %attr(644,root,root) /usr/lib/intermezzo/i386-linux/auto/SetFS/.packlist %attr(444,root,root) /usr/lib/intermezzo/i386-linux/auto/SetFS/SetFS.bs %attr(444,root,root) /usr/lib/intermezzo/i386-linux/auto/SetFS/autosplit.ix %attr(444,root,root) /usr/lib/intermezzo/i386-linux/SetFS.pm %attr(644,root,root) /usr/lib/intermezzo/i386-linux/perllocal.pod %attr(755,root,root) %dir /usr/lib/intermezzo/Lento %attr(444,root,root) /usr/lib/intermezzo/Lento/Debuggable.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/ACT.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/ReqDispatcher.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Serverdb.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/InControl.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/EventSupport.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Callback.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Acceptor.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/KML.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Packet.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Utils.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Fileset.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/CacheTable.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Fsetdb.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Pinger.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/CreateML.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Client.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/ClientDB.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/ServerSemantics.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/List.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Server.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Connector.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Psdev.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Bootstrap.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Replicator.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/LML.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Connection.pm %attr(755,root,root) %dir /usr/lib/intermezzo/Lento/LML %attr(444,root,root) /usr/lib/intermezzo/Lento/LML/Rec.pm %attr(755,root,root) %dir /usr/lib/intermezzo/Lento/InterMezzo %attr(444,root,root) /usr/lib/intermezzo/Lento/InterMezzo/ReqHandler.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/InterMezzo/UpcallHandler.pm %attr(755,root,root) %dir /usr/lib/intermezzo/Lento/RPCS %attr(444,root,root) /usr/lib/intermezzo/Lento/RPCS/GetPermit.pm %attr(755,root,root) %dir /usr/lib/intermezzo/Lento/Bulk %attr(444,root,root) /usr/lib/intermezzo/Lento/Bulk/README %attr(444,root,root) /usr/lib/intermezzo/Lento/Bulk/Source.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Bulk/Sink.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Bulk/Desc.pm %attr(755,root,root) %dir /usr/lib/intermezzo/Lento/Filter %attr(444,root,root) /usr/lib/intermezzo/Lento/Filter/Packet.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/Filter/Upcall.pm %attr(755,root,root) %dir /usr/lib/intermezzo/Lento/KML %attr(444,root,root) /usr/lib/intermezzo/Lento/KML/Rec.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/KML/ReintLento.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/KML/ReintFS.pm %attr(444,root,root) /usr/lib/intermezzo/Lento/KML/Reint.pm %attr(755,root,root) /usr/lib/intermezzo/fsetroot %attr(444,root,root) /usr/share/man/man3/Lento::Pinger.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::ACT.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::ReqDispatcher.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::KML::Reint.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::KML::ReintLento.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Acceptor.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::List.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::KML.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Server.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Connector.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Bootstrap.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::LML.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Connection.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Fileset.3pm.gz %attr(444,root,root) /usr/share/man/man3/SetFS.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::KML::ReintFS.3pm.gz %attr(444,root,root) /usr/share/man/man3/Lento::Bulk::Source.3pm.gz %attr(444,root,root) /usr/share/man/man1/kml-print.1.gz %attr(444,root,root) /usr/share/man/man1/lento.1.gz %attr(444,root,root) /usr/share/man/man1/closejournal.1.gz %attr(555,root,root) /usr/sbin/closejournal %attr(555,root,root) /usr/sbin/lento %attr(555,root,root) /usr/sbin/kml-print %attr(555,root,root) /usr/sbin/inconfig %attr(555,root,root) /usr/sbin/umountizo %attr(755,root,root) /usr/sbin/mkizofs %attr(755,root,root) /usr/sbin/inconfig-check %attr(755,root,root) %dir /usr/src/presto-%{version} #%attr(644,root,root) /usr/src/presto-%{version}/.cvsignore #%attr(755,root,root) %dir /usr/src/presto-%{version}/CVS #%attr(644,root,root) /usr/src/presto-%{version}/CVS/Root #%attr(644,root,root) /usr/src/presto-%{version}/CVS/Repository #%attr(644,root,root) /usr/src/presto-%{version}/CVS/Entries #%attr(644,root,root) /usr/src/presto-%{version}/CVS/Tag %attr(644,root,root) /usr/src/presto-%{version}/COPYING %attr(755,root,root) /usr/src/presto-%{version}/Configure %attr(644,root,root) /usr/src/presto-%{version}/MANIFEST %attr(644,root,root) /usr/src/presto-%{version}/Makefile %attr(644,root,root) /usr/src/presto-%{version}/README %attr(644,root,root) /usr/src/presto-%{version}/cache.c %attr(644,root,root) /usr/src/presto-%{version}/config.in %attr(644,root,root) /usr/src/presto-%{version}/dcache.c %attr(644,root,root) /usr/src/presto-%{version}/dir.c %attr(644,root,root) /usr/src/presto-%{version}/file.c %attr(644,root,root) /usr/src/presto-%{version}/inode.c %attr(644,root,root) /usr/src/presto-%{version}/intermezzo.c %attr(644,root,root) /usr/src/presto-%{version}/journal.c %attr(644,root,root) /usr/src/presto-%{version}/journal_ext2.c %attr(644,root,root) /usr/src/presto-%{version}/journal_ext3.c %attr(644,root,root) /usr/src/presto-%{version}/kmlreint.c %attr(644,root,root) /usr/src/presto-%{version}/methods.c %attr(644,root,root) /usr/src/presto-%{version}/psdev.c %attr(644,root,root) /usr/src/presto-%{version}/redo %attr(644,root,root) /usr/src/presto-%{version}/super.c %attr(644,root,root) /usr/src/presto-%{version}/sysctl.c %attr(644,root,root) /usr/src/presto-%{version}/upcall.c %attr(644,root,root) /usr/src/presto-%{version}/vfs.c %attr(755,root,root) %dir /usr/src/presto-%{version}/linux #%attr(644,root,root) /usr/src/presto-%{version}/linux/.cvsignore #%attr(755,root,root) %dir /usr/src/presto-%{version}/linux/CVS #%attr(644,root,root) /usr/src/presto-%{version}/linux/CVS/Root #%attr(644,root,root) /usr/src/presto-%{version}/linux/CVS/Repository #%attr(644,root,root) /usr/src/presto-%{version}/linux/CVS/Entries #%attr(644,root,root) /usr/src/presto-%{version}/linux/CVS/Tag %attr(644,root,root) /usr/src/presto-%{version}/linux/Makefile %attr(644,root,root) /usr/src/presto-%{version}/linux/filter.h %attr(644,root,root) /usr/src/presto-%{version}/linux/intermezzo_fs.h %attr(644,root,root) /usr/src/presto-%{version}/linux/intermezzo_kml.h %attr(644,root,root) /usr/src/presto-%{version}/linux/intermezzo_psdev.h %attr(644,root,root) /usr/src/presto-%{version}/linux/intermezzo_upcall.h %attr(755,root,root) %dir /usr/src/presto-%{version}/patches #%attr(755,root,root) %dir /usr/src/presto-%{version}/patches/CVS #%attr(644,root,root) /usr/src/presto-%{version}/patches/CVS/Root #%attr(644,root,root) /usr/src/presto-%{version}/patches/CVS/Repository #%attr(644,root,root) /usr/src/presto-%{version}/patches/CVS/Entries #%attr(644,root,root) /usr/src/presto-%{version}/patches/CVS/Tag %attr(644,root,root) /usr/src/presto-%{version}/patches/README %attr(644,root,root) /usr/src/presto-%{version}/patches/loop_discard.diff %attr(755,root,root) %dir /usr/src/presto-%{version}/tests #%attr(755,root,root) %dir /usr/src/presto-%{version}/tests/CVS #%attr(644,root,root) /usr/src/presto-%{version}/tests/CVS/Root #%attr(644,root,root) /usr/src/presto-%{version}/tests/CVS/Repository #%attr(644,root,root) /usr/src/presto-%{version}/tests/CVS/Entries #%attr(644,root,root) /usr/src/presto-%{version}/tests/CVS/Tag %attr(644,root,root) /usr/src/presto-%{version}/tests/loop_discard.c %attr(644,root,root) /usr/src/presto-%{version}/tests/test_open.c %attr(644,root,root) /usr/src/presto-%{version}/tests/time_create.c %changelog * Thu Jul 26 2001 William Stearns - Updated tar to version 1.0.0.0. - Explicit file list - suck in intermezzo.spec.in changes - Do not include *~, .cvsignore, or CVS/* files in final rpm. - Other minor spec updates. * Tue Apr 24 2001 Gordon Matzigkeit - Actually install manpages. * Wed Apr 11 2001 Brian J. Murrell - include manpages * Mon Apr 09 2001 Brian J. Murrell - numerous changes to prepare for 1.0 release * Mon Nov 27 2000 Gordon Matzigkeit - Initial spec