1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
|
#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
export LC_ALL=en_US.UTF-8
# This has to be exported to make some magic below work.
export DH_OPTIONS
# enable dpkg build flags
# disable full hardening for now
# export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
export JAVA_HOME=/usr/lib/jvm/default-java/
#
# Use the system gradle unless it has been overridden by GRADLE
# environment variable.
#
ifeq ($(GRADLE),)
export GRADLE = gradle
endif
export GRADLEARGS = --gradle-user-home $(CURDIR)/.gradle \
--info \
--console plain \
--offline \
--stacktrace \
--no-daemon \
--refresh-dependencies \
-PicegridguiProguard=false \
-PjgoodiesLooksVersion=debian \
-PjgoodiesFormsVersion=debian \
-PiceBuilderVersion=debian \
-PiceBuilderClassPath=com.zeroc.gradle.ice-builder \
-PjarsClassPath=true
#
# These files are not installed with any debian package.
#
INSTALL_EXCLUDE = usr/bin/slice2confluence
PHP_VERSIONS := $(shell /usr/sbin/phpquery -V)
PYTHON_VERSIONS := 2 3
export PYTHON2DIR := $(shell python2 -c "import sys;print('python{0}.{1}'.format(sys.version_info.major, sys.version_info.minor))")
export PYTHON3DIR := $(shell python3 -c "import sys;print('python{0}.{1}'.format(sys.version_info.major, sys.version_info.minor))")
export VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's,^\([.0-9|.a-z]*\).*,\1,')
DESTDIR=$(CURDIR)/debian/tmp
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
OPTIMIZE=yes
else
OPTIMIZE=no
endif
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
else
PROCESSORS := $(shell cat /proc/cpuinfo | grep processor | wc -l)
ifneq ($(PROCESSORS),0)
MAKEFLAGS += -j$(PROCESSORS)
endif
endif
DHARGS = --parallel --with maven_repo_helper --with systemd --with php --with python3 --with python2 --with javahelper
MAKEOPTS = V=1 prefix=/usr DESTDIR=$(DESTDIR)
%:
dh $@ $(DHARGS)
override_dh_auto_build-arch:
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp CONFIGS="shared cpp11-shared static cpp11-static" srcs
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
$(MAKE) $(MAKEOPTS) OPTIMIZE=no LANGUAGES=cpp CONFIGS="shared cpp11-shared" tests
endif
for v in $(PHP_VERSIONS); do \
cp -a php php-$${v}; \
PHP_CONFIG=php-config$${v} $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) -C php-$${v}; \
done
for v in $(PYTHON_VERSIONS); do \
cp -a python python-$${v}; \
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python$${v} -C python-$${v}; \
done
override_dh_auto_build-indep:
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) -C cpp slice2java
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES="java java-compat" srcs
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
$(MAKE) $(MAKEOPTS) LANGUAGES="java java-compat" tests
endif
override_dh_auto_install-arch:
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp CONFIGS="shared cpp11-shared static cpp11-static" install
for v in $(PHP_VERSIONS); do \
PHP_CONFIG=php-config$${v} $(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) -C php-$${v} install; \
done
for v in $(PYTHON_VERSIONS); do \
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) PYTHON=python$${v} -C python-$${v} install; \
done
rm -rf $(addprefix $(DESTDIR)/,$(INSTALL_EXCLUDE))
override_dh_auto_install-indep:
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES="java java-compat" install
rm -rf $(DESTDIR)/usr/share/java/*-sources.jar
override_dh_auto_clean-arch:
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp CONFIGS="shared cpp11-shared static cpp11-static" distclean
for v in $(PHP_VERSIONS); do \
rm -rf php-$${v}; \
done
for v in $(PYTHON_VERSIONS); do \
rm -rf python-$${v}; \
done
override_dh_auto_clean-indep:
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES=cpp distclean
#
# Don't fail if gradle isn't present
#
ifeq ($(shell type $(GRADLE) > /dev/null 2>&1 && echo 0),0)
$(MAKE) $(MAKEOPTS) OPTIMIZE=$(OPTIMIZE) LANGUAGES="java java-compat" clean
endif
rm -rf java/.gradle
rm -rf java-compat/.gradle
rm -rf $(CURDIR)/.gradle
override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-python cpp/allTests.py --rfilter=IceUtil/stacktrace --rfilter IceGrid/simple --rfilter IceDiscovery
-python cpp/allTests.py --config=cpp11-shared --rfilter=IceUtil/stacktrace --rfilter IceGrid/simple --rfilter IceDiscovery
endif
override_dh_auto_test-indep:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-python java/allTests.py --rfilter Glacier2 --rfilter IceGrid --rfilter IceDiscovery
-python java-compat/allTests.py --rfilter Glacier2 --rfilter IceGrid --rfilter IceDiscovery
endif
override_dh_clean:
find . -iname "*.pyc" -exec rm -rf {} \;
dh_clean
override_dh_systemd_start:
dh_systemd_start --no-start
override_dh_systemd_enable:
dh_systemd_enable --name icegridregistry --no-enable
dh_systemd_enable --name icegridnode --no-enable
dh_systemd_enable --name glacier2router --no-enable
override_dh_install:
install -d -m 0755 $(DESTDIR)/usr/bin
install -m 0755 debian/zeroc-icegridgui.icegridgui $(DESTDIR)/usr/bin/icegridgui
install -d -m 0755 $(DESTDIR)/usr/share/man/man1
install -m 0644 debian/zeroc-icegridgui.icegridgui.1 $(DESTDIR)/usr/share/man/man1/icegridgui.1
install -d -m 0755 $(DESTDIR)/etc/
install -m 0644 debian/zeroc-glacier2.glacier2router.conf $(DESTDIR)/etc/glacier2router.conf
install -m 0644 debian/zeroc-icegrid.icegridnode.conf $(DESTDIR)/etc/icegridnode.conf
install -m 0644 debian/zeroc-icegrid.icegridregistry.conf $(DESTDIR)/etc/icegridregistry.conf
dh_install --list-missing -X.pom -XICE_LICENSE -XLICENSE
jh_depends -pzeroc-icegridgui
override_dh_strip:
dh_strip
# Sadly, perl "-B" test (used by dh_strip) for binary files sometime misses some binary files,
# the following ensures, static libraries are always stripped even if the binay check fails.
strip --strip-debug --remove-section=.comment --remove-section=.note --enable-deterministic-archives \
debian/libzeroc-ice-dev/usr/lib/*/lib*.a
override_dh_installdocs:
dh_installdocs -A debian/README
override_mh_install-arch:
override_mh_install-indep:
mh_install
get-orig-source:
uscan --download-current-version --rename --force-download
|