%define destdir %buildroot %global myusr /usr %global myhome /var/daemontools Buildroot: %_builddir/%name-%version-root License: Check with djb Group: Utilities/System Name: daemontools Packager: philip@awale.qc.ca # Patch0: daemontools-0.76-in-var.patch Patch1: daemontools-0.76.errno.patch Provides: daemontools Release: 5 Source: http://cr.yp.to/%name/%name-%version.tar.gz Summary: Various tools to start/stop/monitor daemons. URL: http://cr.yp.to/%name.html Version: 0.76 %description daemontools is a collection of tools for managing UNIX services. supervise monitors a service. It starts the service and restarts the service if it dies. Setting up a new service is easy: all supervise needs is a directory with a run script that runs the service. multilog saves error messages to one or more logs. It optionally timestamps each line and, for each log, includes or excludes lines matching specified patterns. It automatically rotates logs to limit the amount of disk space used. If the disk fills up, it pauses and tries again, without losing any data. %prep %setup -c -n %destdir%myhome #%patch0 -p0 -b .in-var %patch1 -p0 -b .errno mkdir -p %destdir%myusr/sbin cd admin/%name-%version sed -e 's}^parent.*}parent=%myhome/admin}' \ -e 's} /command} %destdir%myhome/command}g' \ -e 's}-p /command}-p %destdir%myhome/command}' \ -e 's}ln -s %destdir/}ln -s /}' \ -e 's} /usr/local/bin} %destdir/usr/local/sbin}g' \ -e 's}/usr/local}%myusr}g' \ package/upgrade > package/upgrade'{new}' if [ "$?" != 0 ]; then exit 1 else mv package/upgrade'{new}' package/upgrade chmod 755 package/upgrade fi sed -e 's}/service}%myhome/service}' \ -e 's}exit 0}echo "If not, look at %myhome/admin/daemontools-0.76/package/boot.inittab or %myhome/admin/daemontools-0.76/package/boot.rclocal"; exit 0}' \ -e 's}test -d src.*}}' \ -e 's} /command} %myhome/admin/daemontools/command}' \ package/run > package/run'{new}' if [ "$?" != 0 ]; then exit 1 else mv package/run'{new}' package/run chmod 755 package/run fi sed -e 's}:1}:}' \ -e 's}6:}:}' \ package/boot.inittab > package/boot.inittab'{new}' if [ "$?" != 0 ]; then exit 1 else mv package/boot.inittab'{new}' package/boot.inittab chmod 755 package/boot.inittab fi sed -e 's}/command}%myhome/command}g' \ -e 's}/service}%myhome/service}g' \ src/svscanboot.sh > src/svscanboot.sh'{new}' if [ "$?" != 0 ]; then exit 1 else mv src/svscanboot.sh'{new}' src/svscanboot.sh chmod 755 src/svscanboot.sh fi sed -e 's}/command}%myhome/command}g' \ -e 's}/service}%myhome/service}g' \ package/boot.inittab > package/boot.inittab'{new}' if [ "$?" != 0 ]; then exit 1 else mv package/boot.inittab'{new}' package/boot.inittab chmod 755 package/boot.inittab fi %build cd admin/%name-%version package/compile COMPILER="Compiler: $(gcc -v 2>&1 | tail -1)" HARDWARE="Hardware: $(uname -m)" LIBRARY="Library: $(rpm -q glibc)" OSVERSION="OSversion: $(uname -sr)" PACKAGER="Packager: %packager" REDHATRELEASE="RedHat release: $(cat /etc/redhat-release)" RPMVERSION="rpm version: $(rpm -q rpm)" echo "The %name rpm was created in the following environment: " > README.rpm echo "$COMPILER $HARDWARE $LIBRARY $OSVERSION $PACKAGER $REDHATRELEASE $RPMVERSION The packager above has made an honest attempt to make sure the package behaves correctly. " >> README.rpm if test "%myusr" != "/usr/local"; then echo "" >> README.rpm echo "You cannot distribute this rpm publicly" >> README.rpm echo "http://cr.yp.to/daemontools.html" >>README.rpm fi # cp package/README src/{CHANGES,TODO} README.rpm %destdir # mkdir -p %destdir%myhome/service %install cd admin/%name-%version package/upgrade mv src/CHANGES src/TODO package/README . rm -fR compile # rm %destdir/CHANGES %destdir/README* %destdir/TODO # Build cleanup %clean rm -rf %destdir # Post installation setup %post cd %myhome/admin/%name-%version package/run mkdir -p %myhome/supervised cd %myhome/command for n in `find /var/daemontools/admin/daemontools/command/ -type f ` ; do ln -s $n done # Pre-uninstallation script %preun rm %myhome/command/* rmdir %myhome/service rmdir %myhome/supervised %postun rmdir %myhome/admin/daemontools-0.76 rmdir %myhome/admin rmdir %myhome %changelog * Thu May 27 2004 Philip Gwyn - Installs into /var/daemontools * Thu Aug 23 2001 Mate Wierdl - adjusted for slashpackage setup %files %defattr(-,root,root) %doc %myhome/admin/%name-%version/README %doc %myhome/admin/%name-%version/README.rpm %doc %myhome/admin/%name-%version/CHANGES %doc %myhome/admin/%name-%version/TODO %dir%attr(1755,root,root) %myhome/admin %dir%attr(755,root,root) %myhome/command # %dir%attr(755,root,root) %myhome/service %myhome/admin/%name-%version/src %myhome/admin/%name-%version/command %myhome/admin/%name-%version/package %myhome/admin/%name %myhome/command/* %myusr/sbin/* # %myhome/debug*.list