From 28338e91c351bef21a856f4280b762b9ee0dc2aa Mon Sep 17 00:00:00 2001
From: Micah Anderson <micah@riseup.net>
Date: Fri, 11 Aug 2006 13:46:57 +0000
Subject: [PATCH] Added RPM patches submitted by Robert Napier

---
 AUTHORS             |  2 +-
 ChangeLog           |  4 +++-
 Makefile.am         | 30 ++++++++++++++++++------------
 autogen.sh          |  5 +++++
 backupninja.spec.in | 18 +++++++++++-------
 configure.in        | 16 ++++++++++++++++
 handlers/mysql      |  1 +
 7 files changed, 55 insertions(+), 21 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index a488834..63294e5 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -9,6 +9,7 @@ intrigeri@boum.org -- dup handler, pgsql handler, vserver support, bug fixes
 Charles Lepple 	   -- trac handler
 Petr Kl�ma <petr.klima@madeta-group.cz>	-- autotools, RPM support and sys checks
 paulv@bikkel.org   -- rsnap handler
+Robert Napier 	   -- improved RPM build
 
 Patches: 
 
@@ -19,4 +20,3 @@ garcondumonde@riseup.net
 Martin Krafft madduck@debian.org -- admingroup patch
 Anarcat
 rhatto
-Robert Napier -- improved RPM build
diff --git a/ChangeLog b/ChangeLog
index 0c01669..2daf397 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -69,7 +69,9 @@ version 0.9.4 -- unreleased
     changed cron permissions to 644
     minor documentation fixes
     improved RPM build process allowing 'make rpm-package' and 'make
-    srpm-package' targets (thanks Robert Napier)
+    srpm-package' targets, also fixes permissions on man directories, 
+    cleans up RPM-related files during distclean, and adds default
+    EDITOR for "autogen.sh -f" if none is set. (thanks Robert Napier)
 
 version 0.9.3 -- February 1st, 2006
     autotools fixes
diff --git a/Makefile.am b/Makefile.am
index 34ab32a..7339f0c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,34 +6,40 @@ EXTRA_DIST = README COPYING AUTHORS INSTALL NEWS ChangeLog \
 
 SUBDIRS = etc examples handlers lib man src
 
-rpm_topdir=`cd $(top_srcdir) && pwd`/rpm
+local_rpm_topdir=`cd $(top_srcdir) && pwd`/rpm
 rpm-package: dist
        if test x$(HAVE_RPM) = xyes ; then \
-               mkdir -p $(rpm_topdir) ; \
-               cd $(rpm_topdir) ; \
+               mkdir -p $(local_rpm_topdir) ; \
+               cd $(local_rpm_topdir) ; \
                mkdir -p BUILD RPMS SOURCES SPECS ; \
                cd SOURCES ; \
-               ln -sf ../../$(distdir).tar.gz ; \
+               $(LN_S) ../../$(distdir).tar.gz ; \
                cd .. ; \
                cd SPECS ; \
-               ln -sf ../../backupninja.spec . ; \
-               cd .. ; \
+               $(LN_S) ../../backupninja.spec . ; \
+	       cd .. ; \
                rpmbuild --define "_topdir `cd . && pwd`" -bb SPECS/backupninja.spec && \
                echo "Package successfully built in `pwd`/RPMS." ; \
        else \
                echo "Error: RPM executable and/or source directory not found." ; \
        fi
+
 srpm-package: dist
-       if test x$(HAVE_RPM) = xyes ; then \
-               cd $(rpm_topdir) ; \
+      if test x$(HAVE_RPM) = xyes ; then \
+               mkdir -p $(local_rpm_topdir) ; \
+               cd $(local_rpm_topdir) ; \
                mkdir -p BUILD SRPMS SOURCES SPECS ; \
                cd SOURCES ; \
-               ln -s ../../$(distdir).tar.gz ; \
+               $(LN_S) ../../$(distdir).tar.gz ; \
                cd .. ; \
                cd SPECS ; \
-               ln -sf ../../backupninja.spec .
+               $(LN_S) ../../backupninja.spec . \
+	       cd .. ; \
                rpmbuild --define "_topdir `cd . && pwd`" -bs SPECS/backupninja.spec && \
                echo "Package successfully built in `pwd`/SRPMS." ; \
        else \
-               echo "Error: RPM executable and/or source directory not found." ; \
-       fi 
+              echo "Error: RPM executable and/or source directory not found." ; \
+       fi
+
+clean-local:
+	-rm -rf $(local_rpm_topdir)
diff --git a/autogen.sh b/autogen.sh
index 63702a7..aae1061 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,5 +1,10 @@
 #!/bin/bash
 
+if [ "x$EDITOR" = "x" ];
+then
+        EDITOR=vi
+fi
+
 if [ "x$1" = "x-f"  ]
 then
     autoscan
diff --git a/backupninja.spec.in b/backupninja.spec.in
index ed84520..0887691 100644
--- a/backupninja.spec.in
+++ b/backupninja.spec.in
@@ -38,22 +38,26 @@ touch "%{buildroot}%{_localstatedir}/log/backupninja.log"
 #rm -fr %{buildroot}
 
 %files
-%defattr(0750,root,root)
+%defattr(-,root,root,-)
 %{_sbindir}/*
 %{_datadir}/backupninja/*
 %{_libdir}/backupninja/*
-%{_sysconfdir}/cron.d/backupninja
-%{_sysconfdir}/logrotate.d/backupninja
 
-%defattr(0600,root,root)
+%config %{_sysconfdir}/cron.d/backupninja
+%config %{_sysconfdir}/logrotate.d/backupninja
+
 %config(noreplace) %{_sysconfdir}/backupninja.conf
-%dir %{_sysconfdir}/backup.d
 %dir %{_localstatedir}/backups
+
 %ghost %{_localstatedir}/log/backupninja.log
 
-%defattr(0644,root,root)
 %doc AUTHORS COPYING ChangeLog INSTALL NEWS README
-%{_mandir}/*
+%{_mandir}/man1/*
+%{_mandir}/man5/*
+
+%defattr(0640,root,root,0750)
+%dir %{_sysconfdir}/backup.d
+
 
 %changelog
 * Mon Apr 29 2002 Petr Klima <Petr.Klima@madeta-group.cz> 0.7.0
diff --git a/configure.in b/configure.in
index 99ebdee..b32c8f3 100644
--- a/configure.in
+++ b/configure.in
@@ -40,6 +40,22 @@ if test "x$ac_cv_have_rpm" = "xyes"; then
 fi
 AC_SUBST(HAVE_RPM)
 
+AC_CHECK_PROG(ac_cv_have_rpm, rpm, "yes", "no")
+if test "x$ac_cv_have_rpm" = "xyes"; then
+        rpm --define '_topdir /tmp' > /dev/null 2>&1
+        AC_MSG_CHECKING(to see if we can redefine _topdir)
+        if test $? -eq 0 ; then
+                AC_MSG_RESULT(yes)
+                HAVE_RPM=yes
+        else
+                AC_MSG_RESULT(no.  You'll have to build packages manually.)
+                HAVE_RPM=no
+        fi
+fi
+AC_SUBST(HAVE_RPM)
+
+AC_PROG_LN_S
+
 AC_SUBST([CFGDIR], "${sysconfdir}")
 
 AC_CONFIG_FILES([Makefile
diff --git a/handlers/mysql b/handlers/mysql
index 02289f1..cd72fc9 100644
--- a/handlers/mysql
+++ b/handlers/mysql
@@ -276,6 +276,7 @@ fi
 			fi
 		fi
 	done
+fi
 
 # clean up tmp config file
 if [ "$dbusername" != "" -a "$dbpassword" != "" ]
-- 
GitLab