aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Warnicke <hagbard@gmail.com>2016-09-16 00:56:06 +0000
committerEd Warnicke <eaw@cisco.com>2016-10-04 11:26:38 -0700
commitd65ee3a8a3e7f6fccea9f682b4171c1ca1228f5e (patch)
tree81bc3e7817bb923e80ec8fb68df1c3a2f317f7d0
parent24bb3c191a66d20624d550f9ea392f2873199e88 (diff)
nsh-plugin deb packaging
Change-Id: I100f14fe2bc215beab8635cd987423599f15aaa0 Signed-off-by: Ed Warnicke <hagbard@gmail.com>
-rw-r--r--nsh-plugin/Makefile.am19
-rw-r--r--nsh-plugin/packaging/.gitignore12
-rw-r--r--nsh-plugin/packaging/deb/debian/compat1
-rw-r--r--nsh-plugin/packaging/deb/debian/control21
-rw-r--r--nsh-plugin/packaging/deb/debian/copyright9
-rwxr-xr-xnsh-plugin/packaging/deb/debian/rules27
-rwxr-xr-xnsh-plugin/packaging/scripts/generate-deb-changelog37
7 files changed, 125 insertions, 1 deletions
diff --git a/nsh-plugin/Makefile.am b/nsh-plugin/Makefile.am
index 096eb90..bf24b6d 100644
--- a/nsh-plugin/Makefile.am
+++ b/nsh-plugin/Makefile.am
@@ -1,4 +1,3 @@
-
# Copyright (c) <current-year> <your-organization>
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -57,3 +56,21 @@ pkg-rpm: all install
cd $(srcdir)/packaging/rpm; \
rpmbuild -bb --define "_topdir $$PWD" \
--define "_plugin_prefix ${prefix}" vpp-nsh-plugin.spec
+
+pkg-deb: all install
+ DOTPREFIX=$$(readlink -f ${srcdir}/packaging/deb/debian); \
+ echo DOTPREFIX $${DOTPREFIX}; \
+ DOTPREFIX=$$(echo $${DOTPREFIX}| sed 's;[^\/]*;..;g'); \
+ echo DOTPREFIX $${DOTPREFIX}; \
+ echo ../../$${DOTPREFIX}/$(prefix)/lib/vpp_plugins/nsh_plugin.so /usr/lib/vpp_plugins > $(srcdir)/packaging/deb/debian/vpp-nsh-plugin.install; \
+ echo ../../$${DOTPREFIX}/$(prefix)/lib/vpp_api_test_plugins/nsh_test_plugin.so /usr/lib/vpp_api_test_plugins >> $(srcdir)/packaging/deb/debian/vpp-nsh-plugin.install; \
+ echo ../../$${DOTPREFIX}/$(prefix)/include/vpp-api/nsh_all_api_h.h /usr/include/vpp-api > $(srcdir)/packaging/deb/debian/vpp-nsh-plugin-dev.install; \
+ echo ../../$${DOTPREFIX}/$(prefix)/include/vpp-api/nsh_msg_enum.h /usr/include/vpp-api >> $(srcdir)/packaging/deb/debian/vpp-ns\
+h-plugin-dev.install; \
+ echo ../../$${DOTPREFIX}/$(prefix)/include/vpp-api/nsh.api.h /usr/include/vpp-api >> $(srcdir)/packaging/deb/debian/vpp-nsh-plugin-dev.install
+ $(srcdir)/packaging/scripts/generate-deb-changelog; \
+ ( \
+ cd $(srcdir)/packaging/deb && \
+ dpkg-buildpackage -us -uc -b \
+ )
+
diff --git a/nsh-plugin/packaging/.gitignore b/nsh-plugin/packaging/.gitignore
new file mode 100644
index 0000000..3ee2e7f
--- /dev/null
+++ b/nsh-plugin/packaging/.gitignore
@@ -0,0 +1,12 @@
+deb/debian/changelog
+deb/debian/files
+deb/debian/*.log
+deb/debian/*.substvars
+deb/debian/*.install
+deb/debian/*.debhelper
+deb/debian/vpp-nsh-plugin/
+deb/debian/vpp-nsh-plugin-dev/
+deb/debian/vpp-nsh-plugin-dbg/
+*.changes
+*.deb
+
diff --git a/nsh-plugin/packaging/deb/debian/compat b/nsh-plugin/packaging/deb/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/nsh-plugin/packaging/deb/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/nsh-plugin/packaging/deb/debian/control b/nsh-plugin/packaging/deb/debian/control
new file mode 100644
index 0000000..5ae4910
--- /dev/null
+++ b/nsh-plugin/packaging/deb/debian/control
@@ -0,0 +1,21 @@
+Source: vpp-nsh-plugin
+Section: net
+Priority: extra
+Maintainer: fd.io nsh-plugin for vpp
+Build-Depends: debhelper (>= 9), dkms, dh-systemd
+Standards-Version: 3.9.4
+
+Package: vpp-nsh-plugin
+Architecture: any
+Depends: vpp, ${shlibs:Depends}, ${misc:Depends}
+Description: fd.io nsh-plugin for vpp
+
+Package: vpp-nsh-plugin-dev
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: fd.io nsh-plugin for vpp api headers
+
+Package: vpp-nsh-plugin-dbg
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: fd.io nsh-plugin for vpp--debug symbols \ No newline at end of file
diff --git a/nsh-plugin/packaging/deb/debian/copyright b/nsh-plugin/packaging/deb/debian/copyright
new file mode 100644
index 0000000..f9775c1
--- /dev/null
+++ b/nsh-plugin/packaging/deb/debian/copyright
@@ -0,0 +1,9 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: optional.
+Upstream-Contact: optional.
+Source: optional.
+Disclaimer: optional.
+Comment: optional.
+License: Apache-2.0
+Copyright: 2015 Cisco and/or its affiliates and others.
+
diff --git a/nsh-plugin/packaging/deb/debian/rules b/nsh-plugin/packaging/deb/debian/rules
new file mode 100755
index 0000000..6d11aed
--- /dev/null
+++ b/nsh-plugin/packaging/deb/debian/rules
@@ -0,0 +1,27 @@
+#!/usr/bin/make -f
+# See debhelper(7) (uncomment to enable)
+# output every command that modifies files on the build system.
+DH_VERBOSE = 1
+
+# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/default.mk
+
+# see FEATURE AREAS in dpkg-buildflags(1)
+#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+# see ENVIRONMENT in dpkg-buildflags(1)
+# package maintainers to append CFLAGS
+#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
+# package maintainers to append LDFLAGS
+#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
+# main packaging script based on dh7 syntax
+%:
+ dh $@ --with dkms --with systemd
+
+override_dh_install:
+ dh_install --exclude .git
+
+override_dh_strip:
+ dh_strip --dbg-package=vpp-nsh-plugin-dbg
diff --git a/nsh-plugin/packaging/scripts/generate-deb-changelog b/nsh-plugin/packaging/scripts/generate-deb-changelog
new file mode 100755
index 0000000..f3dc245
--- /dev/null
+++ b/nsh-plugin/packaging/scripts/generate-deb-changelog
@@ -0,0 +1,37 @@
+#!/bin/bash
+SCRIPTDIR=$(dirname $0)
+CHANGELOG=${SCRIPTDIR}/../deb/debian/changelog
+DIST=unstable
+FIRST=1
+
+print_changelog_item() {
+ DATE=$(git log -1 --format=%cD ${TAG})
+ DEBFULLNAME=$(git log -1 --format=%an ${TAG})
+ DEBEMAIL=$(git log -1 --format=%ae ${TAG})
+
+ if [ ${FIRST} = 0 ]; then echo >> ${CHANGELOG}; fi
+ FIRST=0
+
+ echo "vpp-nsh-plugin (${VER}) ${DIST}; urgency=low" >> ${CHANGELOG}
+ echo >> ${CHANGELOG}
+ echo "${DESC}" >> ${CHANGELOG}
+ echo >> ${CHANGELOG}
+ echo " -- ${DEBFULLNAME} <${DEBEMAIL}> ${DATE}" >> ${CHANGELOG}
+}
+
+VER=$(${SCRIPTDIR}/version)
+TAG=HEAD
+ADDS=$(echo ${VER} | sed -e 's/~.*//'| cut -s -d- -f2)
+
+rm -f ${CHANGELOG}
+
+if [ -n "${ADDS}" ]; then
+ DESC=" * includes ${ADDS} commits after $(echo ${VER}| cut -d- -f1) release"
+ print_changelog_item
+fi
+
+for TAG in $(git tag -l 'v[0-9][0-9].[0-9][0-9]' | sort -r ); do
+ VER=$(echo ${TAG}| sed -e 's/^v//')
+ DESC=$(git tag -l -n20 ${TAG} | tail -n+2 | sed -e 's/^ */ /')
+ print_changelog_item
+done