api: vat2 and json autogeneration for api messages
[vpp.git] / extras / rpm / Makefile
index f4b63b6..b06c9fb 100644 (file)
@@ -13,7 +13,6 @@
 
 ifneq ($(shell uname),Darwin)
 OS_ID        = $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
-OS_VERSION_ID= $(shell grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
 endif
 
 TARBALL=$(shell realpath ../../build-root/vpp-latest.tar.xz)
@@ -21,56 +20,33 @@ TARBALL=$(shell realpath ../../build-root/vpp-latest.tar.xz)
 BASENAME=$(shell basename $(TARBALL) | sed -e s/.tar.\*//)
 VERSION=$(shell echo $(BASENAME) | cut -f2 -d-)
 RELEASE=$(shell echo $(BASENAME) | cut -f3- -d- | sed -e s/-/_/g)
+BR=$(shell realpath $(CURDIR)/../../build-root)
+RPMBUILD=$(BR)/rpmbuild
 PC=%
 
 all: RPM
 
-ifeq ($(filter opensuse,$(OS_ID)),$(OS_ID))
-srpm:
-       @echo $(TARBALL)
-       mkdir -p rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS}
-       cp $(TARBALL) rpmbuild/SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
-       cp vpp.spec rpmbuild/SOURCES
-       sed -i '1s/^/$(PC)define _version $(VERSION)\n/' rpmbuild/SOURCES/vpp-suse.spec
-       sed -i '1s/^/$(PC)define _release $(RELEASE)\n/' rpmbuild/SOURCES/vpp-suse.spec
-       sed -i '/define _topdir/d' rpmbuild/SOURCES/vpp-suse.spec
-       rpmbuild -bs \
-         --define "_topdir rpmbuild" \
-         rpmbuild/SOURCES/vpp-suse.spec
-       mv $$(find rpmbuild/SRPMS -name \*.src.rpm -type f) .
+SPEC_FILE='vpp.spec'
 
-RPM:
+spec:
        @echo $(TARBALL)
-       mkdir -p RPMS SOURCES
-       cp $(TARBALL) SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
-       rpmbuild -bb \
-         --define "_topdir $(PWD)" \
+       mkdir -p $(RPMBUILD)/RPMS $(RPMBUILD)/SRPMS $(RPMBUILD)/BUILD \
+             $(RPMBUILD)/SOURCES $(RPMBUILD)/SPECS
+       cp $(TARBALL) $(RPMBUILD)/SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
+       cp $(SPEC_FILE) $(RPMBUILD)/SPECS
+
+srpm: spec
+       rpmbuild -bs \
+         --define "_topdir $(RPMBUILD)" \
          --define "_version $(VERSION)" \
          --define "_release $(RELEASE)" \
-         vpp-suse.spec
-       mv $$(find RPMS -name \*.rpm -type f) .
-else
-srpm:
-       @echo $(TARBALL)
-       mkdir -p rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS}
-       cp $(TARBALL) rpmbuild/SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
-       cp vpp.spec rpmbuild/SOURCES
-       sed -i '1s/^/$(PC)define _version $(VERSION)\n/' rpmbuild/SOURCES/vpp.spec
-       sed -i '1s/^/$(PC)define _release $(RELEASE)\n/' rpmbuild/SOURCES/vpp.spec
-       sed -i '/define _topdir/d' rpmbuild/SOURCES/vpp.spec
-       rpmbuild -bs \
-         --define "_topdir rpmbuild" \
-         rpmbuild/SOURCES/vpp.spec
-       mv $$(find rpmbuild/SRPMS -name \*.src.rpm -type f) .
+         $(RPMBUILD)/SPECS/$(SPEC_FILE)
+       mv $$(find $(RPMBUILD)/SRPMS -name \*.src.rpm -type f) $(BR)
 
-RPM:
-       @echo $(TARBALL)
-       mkdir -p RPMS SOURCES
-       cp $(TARBALL) SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
+RPM: spec
        rpmbuild -bb \
-         --define "_topdir $(PWD)" \
+         --define "_topdir $(RPMBUILD)" \
          --define "_version $(VERSION)" \
          --define "_release $(RELEASE)" \
-         vpp.spec
-       mv $$(find RPMS -name \*.rpm -type f) .
-endif
+         $(RPMBUILD)/SPECS/$(SPEC_FILE)
+       mv $$(find $(RPMBUILD)/RPMS -name \*.rpm -type f) $(BR)