From 8e154d59efdbbb95fd4e46623a735a7049cea754 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Sun, 6 Aug 2006 18:01:28 +0000 Subject: [PATCH] Added patch to improve RPM building --- AUTHORS | 1 + ChangeLog | 2 ++ Makefile.am | 32 ++++++++++++++++++++++++++++++++ configure.in | 13 +++++++++++++ 4 files changed, 48 insertions(+) diff --git a/AUTHORS b/AUTHORS index 2b2ad03..a488834 100644 --- a/AUTHORS +++ b/AUTHORS @@ -19,3 +19,4 @@ garcondumonde@riseup.net Martin Krafft madduck@debian.org -- admingroup patch Anarcat rhatto +Robert Napier -- improved RPM build diff --git a/ChangeLog b/ChangeLog index 4fece0d..b1b9b99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -67,6 +67,8 @@ version 0.9.4 -- unreleased symlinks for $configdirectory changed cron permissions to 644 minor documentation fixes + improved RPM build process allowing 'make rpm-package' and 'make + srpm-package' targets (thanks Robert Napier) version 0.9.3 -- February 1st, 2006 autotools fixes diff --git a/Makefile.am b/Makefile.am index 8f706df..34ab32a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,3 +5,35 @@ EXTRA_DIST = README COPYING AUTHORS INSTALL NEWS ChangeLog \ backupninja.spec backupninja.spec.in autogen.sh SUBDIRS = etc examples handlers lib man src + +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 BUILD RPMS SOURCES SPECS ; \ + cd SOURCES ; \ + ln -sf ../../$(distdir).tar.gz ; \ + cd .. ; \ + cd SPECS ; \ + ln -sf ../../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) ; \ + mkdir -p BUILD SRPMS SOURCES SPECS ; \ + cd SOURCES ; \ + ln -s ../../$(distdir).tar.gz ; \ + cd .. ; \ + cd SPECS ; \ + ln -sf ../../backupninja.spec . + 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 diff --git a/configure.in b/configure.in index 5781ce7..99ebdee 100644 --- a/configure.in +++ b/configure.in @@ -26,6 +26,19 @@ AC_CHECK_PROGS(AWK, awk) if test x$AWK = "x"; then AC_MSG_ERROR([awk is required]) fi +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_SUBST([CFGDIR], "${sysconfdir}") -- 2.30.2