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.
This commit is contained in:
1 parent
5034bf3a9d
commit
b38fb802f9
7 files changed
+132
-134
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# -*- 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
|
||||
|
||||
Reference in new issue
Block a user