aboutsummaryrefslogtreecommitdiff
path: root/rules/deb.mk
diff options
context:
space:
mode:
authorIgor Pashev <igor.pashev@nexenta.com>2012-10-29 15:36:38 +0400
committerIgor Pashev <igor.pashev@nexenta.com>2012-10-29 15:36:38 +0400
commit434c9d1997c6b4e8efff4755511f5430ba8f7efe (patch)
treeaddb65ce4643f17b41548d4da9bb7d612fda682e /rules/deb.mk
parent64fb34d1346bab605bf702bf2c2659c91bac0bc3 (diff)
downloadcibs-434c9d1997c6b4e8efff4755511f5430ba8f7efe.tar.gz
Add support for creating deb packages
Diffstat (limited to 'rules/deb.mk')
-rw-r--r--rules/deb.mk80
1 files changed, 80 insertions, 0 deletions
diff --git a/rules/deb.mk b/rules/deb.mk
new file mode 100644
index 0000000..15053f5
--- /dev/null
+++ b/rules/deb.mk
@@ -0,0 +1,80 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+# include guard:
+ifeq (,$(__deb_mk))
+
+include /usr/share/cibs/rules/ips-manifest.mk
+
+debmaker := /usr/share/cibs/scripts/debmaker.pl
+
+DEBVERSION ?= ips
+
+pkg-define += -D COMPONENT_VERSION="$(ips-version)"
+
+debsdir := ./debs
+
+deb-build-depends = \
+ $(subst /,-, \
+ $(subst pkg:/,,$(build-depends)) \
+ )
+
+
+pre-deb: depend-stamp
+
+deb-stamp: pre-deb
+ [ -n "$(debsdir)" ]
+ [ -d "$(debsdir)" ] || mkdir -p "$(debsdir)"
+ $(root-cmd) $(debmaker) \
+ -V "$(DEBVERSION)" \
+ -S "$(name)" \
+ -O "$(debsdir)" \
+ $(pkg-define) \
+ $(pkg-protos) \
+ $(depend-manifests) \
+
+ touch $@
+
+deb: deb-stamp
+
+check-build-dep-stamp: check-deb-build-dep-stamp
+
+# issue 'make d=' to skip dependency checking:
+check-deb-build-dep-stamp: d=true
+check-deb-build-dep-stamp:
+ @[ -z "$d" ] || [ -z "$(build-depends)" ] || dpkg -l $(deb-build-depends) || \
+ (echo "type '$(MAKE) build-dep' to install build dependencies"; \
+ echo "or add 'd=' to command, e. g. '$(MAKE) build d='"; \
+ false)
+ touch $@
+
+
+# Install build dependencies:
+build-dep:
+ $(root-cmd) apt-get install $(deb-build-depends)
+
+.PHONY: deb build-dep pre-deb
+
+__deb_mk := included
+endif
+