diff --git a/Makefile b/Makefile index 09acaf71..7c1f30e8 100644 --- a/Makefile +++ b/Makefile @@ -35,6 +35,9 @@ PANDOC = $(shell which pandoc) GIT2DEBCL = ./tools/git2debcl CPPFIND = ./tools/cppfind RPMBUILD = $(shell which rpmbuild) +GZIP = $(shell which gzip) +SED = $(shell which sed) +MKDIR = $(shell which mkdir) ifeq ($(PKGCONFIG),"") $(error "pkg-config not installed") @@ -157,10 +160,13 @@ deb: rpm: $(eval VERSION := $(subst -,_,$(shell $(GIT) describe --always --tags --dirty))) - $(RPMBUILD) -bb $(TARGET).spec \ - --define "_topdir $(CURDIR)/rpmbuild" \ - --define "_builddir $(CURDIR)" \ - --define "pkg_version $(VERSION)" + $(MKDIR) -p rpmbuild/{BUILD,RPMS,SOURCES} + $(GIT) archive --prefix="$(TARGET)-$(VERSION)/" --format tar HEAD | \ + $(GZIP) > rpmbuild/SOURCES/$(TARGET)-$(VERSION).tar.gz + $(SED) 's/__VERSION__/$(VERSION)/g' $(TARGET).spec > \ + rpmbuild/SOURCES/$(TARGET).spec + $(RPMBUILD) -ba rpmbuild/SOURCES/$(TARGET).spec \ + --define "_topdir $(CURDIR)/rpmbuild" .PHONY: all clean install help diff --git a/mergerfs.spec b/mergerfs.spec index 4e82953e..ac75d23f 100644 --- a/mergerfs.spec +++ b/mergerfs.spec @@ -1,11 +1,12 @@ Name: mergerfs -Version: %{pkg_version} +Version: __VERSION__ Release: 1%{?dist} Summary: A FUSE union filesystem Group: Applications/System License: MIT URL: https://github.com/trapexit/mergerfs +Source: mergerfs-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: libattr-devel @@ -17,6 +18,9 @@ BuildRequires: pandoc Requires: fuse-libs +%prep +%setup -q + %description mergerfs is similar to mhddfs, unionfs, and aufs. Like mhddfs in that it too uses FUSE. Like aufs in that it provides multiple policies for how to handle @@ -33,5 +37,10 @@ make install DESTDIR=%{buildroot} %doc %{_mandir}/* %changelog +* Mon Dec 29 2014 Joe Lawrence +- Tweak rpmbuild to archive current git HEAD into a tarball, then (re)build in + the rpmbuild directory -- more complicated but seemingly better suited to + generate source and debug rpms. + * Fri Jun 20 2014 Joe Lawrence - Initial rpm spec file.