ostree/Makefile.dist-packaging
Colin Walters b38fb802f9 packaging: Update infrastructure
The Makefile.dist-packaging lives canonically in rpm-ostree/ for now,
it's my latest hack to automate git -> (s)rpm.

Update the spec.in from current Fedora.
2014-01-18 04:49:17 -05:00

40 lines
1.3 KiB
Makefile

# -*- mode: Makefile -*-
GITREV = $$(git describe --always --tags)
GITREV_FOR_PKG = $(shell echo "$(GITREV)" | sed -e 's,-,\.,g' -e 's,^v,,')
srcdir=$(shell pwd)
PACKAGE=$(shell basename $(srcdir))
PKG_VER = $(PACKAGE)-$(GITREV_FOR_PKG)
dist-snapshot:
set -x; \
echo "PACKAGE=$(PACKAGE)"; \
TARFILE_TMP=$(PKG_VER).tar.tmp; \
echo "Archiving $(PACKAGE) at $(GITREV)"; \
(cd $(srcdir); git archive --format=tar --prefix=$(PKG_VER)/ $(GITREV)) > $${TARFILE_TMP}; \
(cd $$(git rev-parse --show-toplevel); git submodule status) | while read line; do \
rev=$$(echo $$line | cut -f 1 -d ' '); path=$$(echo $$line | cut -f 2 -d ' '); \
echo "Archiving $${path} at $${rev}"; \
(cd $(srcdir)/$$path; git archive --format=tar --prefix=$(PKG_VER)/$$path/ $${rev}) > submodule.tar; \
tar -A -f $${TARFILE_TMP} submodule.tar; \
rm submodule.tar; \
done; \
mv $(PKG_VER).tar{.tmp,}; \
rm -f $(PKG_VER).tar.xz; \
xz $(PKG_VER).tar
srpm: dist-snapshot
(cd $(srcdir)/packaging; \
cp ../$(PKG_VER).tar.xz . ; \
sed -e "s,^Version:.*,Version: $(GITREV_FOR_PKG)," $(PACKAGE).spec.in > $(PACKAGE).spec; \
./rpmbuild-cwd -bs $(PACKAGE).spec)
rpm: srpm
$(srcdir)/packaging/rpmbuild-cwd --rebuild packaging/$(PKG_VER)*.src.rpm
buildinstall: rpm
sudo yum localinstall $(PKG_VER)*.src.rpm