summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rw-r--r--BUILD.txt10
-rw-r--r--Makefile.am20
-rwxr-xr-xmakerpms.sh10
4 files changed, 39 insertions, 3 deletions
diff --git a/.travis.yml b/.travis.yml
index d95eb25db..54b9ce6de 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,4 +13,4 @@ script:
- >
docker run -v $PWD:/freeipa -w /freeipa
martbab/freeipa-fedora-builder:${TRAVIS_BRANCH}-latest
- /bin/bash -c 'dnf builddep -y -D "with_lint 1" --spec freeipa.spec.in && make rpms'
+ /bin/bash -c 'dnf builddep -y -D "with_lint 1" --spec freeipa.spec.in && ./makerpms.sh'
diff --git a/BUILD.txt b/BUILD.txt
index 10faa6fff..66a936bce 100644
--- a/BUILD.txt
+++ b/BUILD.txt
@@ -32,14 +32,20 @@ Building
--------
From the root of the source tree run:
-$ make rpms
+$ ./makerpms.sh
The resulting rpm packages are in dist/rpms:
# yum --nogpgcheck localinstall dist/rpms/*
# ipa-server-install
-It may be possible to do a simple make all install but this has not been
+You might tweak the build and run steps separatelly:
+$ autoreconf -i
+$ ./configure
+$ make
+$ make install
+
+It may be possible to do a simple make install but this has not been
well-tested. Additional work is done in pre/post install scripts in the ipa
spec file.
diff --git a/Makefile.am b/Makefile.am
index 79d607d88..eed7d9ffd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -24,3 +24,23 @@ EXTRA_DIST = .mailmap \
doc \
pylintrc \
pytest.ini
+
+# convenience targets for RPM build
+RPMBUILD ?= $(abs_builddir)/rpmbuild
+TARBALL = $(PACKAGE)-$(VERSION).tar.gz
+rpmroot:
+ mkdir -p $(RPMBUILD)/BUILD
+ mkdir -p $(RPMBUILD)/RPMS
+ mkdir -p $(RPMBUILD)/SOURCES
+ mkdir -p $(RPMBUILD)/SPECS
+ mkdir -p $(RPMBUILD)/SRPMS
+
+rpmdistdir:
+ mkdir -p $(top_builddir)/dist/rpms
+ mkdir -p $(top_builddir)/dist/srpms
+
+rpms: dist-gzip rpmroot rpmdistdir
+ cp $(top_builddir)/$(TARBALL) $(RPMBUILD)/SOURCES/
+ rpmbuild --define "_topdir $(RPMBUILD)" -ba $(top_builddir)/$(PACKAGE).spec
+ cp $(RPMBUILD)/RPMS/*/*.rpm $(top_builddir)/dist/rpms/
+ cp $(RPMBUILD)/SRPMS/*.src.rpm $(top_builddir)/dist/srpms/
diff --git a/makerpms.sh b/makerpms.sh
new file mode 100755
index 000000000..775d18f67
--- /dev/null
+++ b/makerpms.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/bash
+set -o errexit
+
+pushd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+test ! -x "configure" && autoreconf -i
+test ! -f "Makefile" && ./configure "$@"
+make rpms
+
+popd