summaryrefslogtreecommitdiffstats
path: root/extras/rpm/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'extras/rpm/Makefile')
-rw-r--r--extras/rpm/Makefile30
1 files changed, 30 insertions, 0 deletions
diff --git a/extras/rpm/Makefile b/extras/rpm/Makefile
index 534e4d43f99..f4b63b6684c 100644
--- a/extras/rpm/Makefile
+++ b/extras/rpm/Makefile
@@ -11,6 +11,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+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,6 +25,31 @@ 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) .
+
+RPM:
+ @echo $(TARBALL)
+ mkdir -p RPMS SOURCES
+ cp $(TARBALL) SOURCES/vpp-$(VERSION)-$(RELEASE).tar.xz
+ rpmbuild -bb \
+ --define "_topdir $(PWD)" \
+ --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}
@@ -44,3 +73,4 @@ RPM:
--define "_release $(RELEASE)" \
vpp.spec
mv $$(find RPMS -name \*.rpm -type f) .
+endif