diff options
Diffstat (limited to 'extras/LinuxRPM')
| -rw-r--r-- | extras/LinuxRPM/Makefile.am | 79 | 
1 files changed, 79 insertions, 0 deletions
diff --git a/extras/LinuxRPM/Makefile.am b/extras/LinuxRPM/Makefile.am new file mode 100644 index 00000000000..cf8f44a0550 --- /dev/null +++ b/extras/LinuxRPM/Makefile.am @@ -0,0 +1,79 @@ + +GFS_TAR = ../../glusterfs-*git.tar.gz +UFO_TAR = ../../gluster-swift-ufo-*git.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 +	@if [ -d /d/cache/glusterfs -a -e /d/cache/glusterfs/sources ]; then \ +		echo "copying glusterfs rpm files from local cache..."  ; \ +		mkdir -p ./rpmbuild/SOURCES; \ +		cp /d/cache/glusterfs/* ./rpmbuild/SOURCES/ ; \ +		touch /d/cache/.gluster ; \ +	elif [ -x /usr/bin/git ]; then \ +		echo "fetching glusterfs rpm files from fedora git repo..."; \ +		cd ./rpmbuild && git clone git://pkgs.fedoraproject.org/glusterfs.git > /dev/null && mv glusterfs SOURCES; \ +	else \ +		echo "glusterfs rpm files not fetched, you don't have git installed!" ; \ +		exit 1 ; \ +	fi +	cp ../../*.tar.gz ./rpmbuild/SOURCES +	cp ../../glusterfs.spec ./rpmbuild/SPECS + +# Remember to change folsom to grizzly when we rebase to grizzly +SWIFT_TARBALL = $(shell grep -v gluster ./rpmbuild/SOURCES/sources | cut -d ' ' -f 3) +SWIFT_MD5SIG = $(shell grep -v gluster ./rpmbuild/SOURCES/sources | cut -d ' ' -f 1) +SWIFT_VERS = $(shell echo $(SWIFT_TARBALL) | grep -o 1\.[0-9]\.[0-9]) +SWIFT_URL = https://launchpad.net/swift/folsom/$(SWIFT_VERS)/+download/$(SWIFT_TARBALL) + +prep:: +	@if [ -e /d/cache/$(SWIFT_TARBALL) -a -d ./rpmbuild/SOURCES ]; then \ +		echo "copying swift source tarball from local cache..." ; \ +		cp /d/cache/$(SWIFT_TARBALL) ./rpmbuild/SOURCES/ ; \ +		touch /d/cache/.swift ; \ +	elif [ -x /usr/bin/curl -a -d ./rpmbuild/SOURCES ]; then \ +		echo "fetching swift from launchpad.net..." ; \ +		cd ./rpmbuild/SOURCES && /usr/bin/curl -sOL $(SWIFT_URL) ; \ +	else \ +		echo "swift source not fetched, you don't have curl installed!" ; \ +		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  | 
