summaryrefslogtreecommitdiffstats
path: root/extras/LinuxRPM
diff options
context:
space:
mode:
Diffstat (limited to 'extras/LinuxRPM')
-rw-r--r--extras/LinuxRPM/Makefile.am65
1 files changed, 65 insertions, 0 deletions
diff --git a/extras/LinuxRPM/Makefile.am b/extras/LinuxRPM/Makefile.am
new file mode 100644
index 000000000..e63a1ce40
--- /dev/null
+++ b/extras/LinuxRPM/Makefile.am
@@ -0,0 +1,65 @@
+
+GFS_TAR = ../../glusterfs-3git.tar.gz
+UFO_TAR = ../../gluster-swift-ufo-3git.tar.gz
+GFS_SPEC = ../../glusterfs.spec
+
+.PHONY: all
+
+all:
+ @echo "To build RPMS run `make glusterrpms`"
+
+.PHONY: glusterrpms prep srcrpm testsrpm clean
+
+glusterrpms: prep srcrpm rpms
+ -rm -rf rpmbuild
+
+prep::
+ if [ ! -e $(GFS_TAR) -a ! -e $(UFO_TAR) -a ! -e $(GFS_SPEC) ]; then \
+ $(MAKE) -c ../.. dist; \
+ fi
+ -mkdir -p rpmbuild/SPECS
+ -mkdir -p rpmbuild/RPMS
+ -mkdir -p rpmbuild/SRPMS
+ -rm -rf rpmbuild/SOURCES
+ cd rpmbuild && git clone http://pkgs.fedoraproject.org/cgit/glusterfs.git > /dev/null && mv glusterfs SOURCES
+ cp ../../*.tar.gz rpmbuild/SOURCES
+ cp ../../glusterfs.spec rpmbuild/SPECS
+
+# openstack/launchpad 'hides' source tarballs behind javascript glorp,
+# and curl will fail to fetch it using their download URL; we're forced
+# to fetch it from somewhere else.
+# maybe someone with better awk and sed skills than I have can suggest
+# something better here.
+SWIFT_URL = http://pkgs.fedoraproject.org/repo/pkgs/glusterfs/$(shell grep -v gluster rpmbuild/SOURCES/sources | cut -d ' ' -f 3)/$(shell grep -v gluster rpmbuild/SOURCES/sources | cut -d ' ' -f 1)/$(shell grep -v gluster rpmbuild/SOURCES/sources | cut -d ' ' -f 3)
+
+prep::
+ @if [ -x /usr/bin/curl -a ! -e rpmbuild/SOURCES/swift-1.7.4.tar.gz ]; then \
+ echo "fetching swift..." ; \
+ cd rpmbuild/SOURCES && /usr/bin/curl -s -O $(SWIFT_URL) ; \
+ elif [ ! -x /usr/bin/curl ]; then \
+ echo "you don't have curl installed, swift source not fetched" ; \
+ exit 1 ; \
+ fi
+
+srcrpm:
+ rpmbuild --define '_topdir $(shell pwd)/rpmbuild' -bs rpmbuild/SPECS/glusterfs.spec
+ mv rpmbuild/SRPMS/* .
+
+rpms:
+ rpmbuild --define '_topdir $(shell pwd)/rpmbuild' -bb rpmbuild/SPECS/glusterfs.spec
+ mv rpmbuild/RPMS/*/* .
+
+# EPEL-5 does not like new versions of rpmbuild and requires some
+# _source_* defines
+
+testsrpm: prep
+ rpmbuild --define '_topdir $(shell pwd)/rpmbuild' \
+ --define '_source_payload w9.gzdio' \
+ --define '_source_filedigest_algorithm 1' \
+ -bs rpmbuild/SPECS/glusterfs.spec
+ mv rpmbuild/SRPMS/* ../..
+ -rm -rf rpmbuild
+
+clean:
+ -rm -rf rpmbuild
+ -rm -f *.rpm