1874 lines
62 KiB
Makefile
Executable File
1874 lines
62 KiB
Makefile
Executable File
#!/usr/bin/make -f
|
|
# -*- makefile -*-
|
|
|
|
# Uncomment this to turn on verbose mode.
|
|
#export DH_VERBOSE=1
|
|
|
|
unexport LANG LC_ALL
|
|
|
|
dh_version := $(shell dpkg-query -f '$${Version}\n' -W debhelper | sed -n 's/^\(.\).*/\1/p')
|
|
|
|
# using brace expansion and substring replacements (${var:0:2}).
|
|
SHELL = /bin/bash
|
|
|
|
# use gnu time in verbose mode if available, otherwise default to the shell builtin
|
|
ifneq (,$(wildcard /usr/bin/time))
|
|
TIME = /usr/bin/time -v
|
|
else
|
|
TIME = time
|
|
endif
|
|
|
|
vafilt = $(subst $(2)=,,$(filter $(2)=%,$(1)))
|
|
|
|
DPKG_VARS := $(shell dpkg-architecture)
|
|
DEB_HOST_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_GNU_TYPE)
|
|
DEB_BUILD_GNU_TYPE ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_GNU_TYPE)
|
|
DEB_HOST_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH)
|
|
DEB_BUILD_ARCH ?= $(call vafilt,$(DPKG_VARS),DEB_BUILD_ARCH)
|
|
DEB_HOST_ARCH_CPU ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_ARCH_CPU)
|
|
DEB_HOST_MULTIARCH ?= $(call vafilt,$(DPKG_VARS),DEB_HOST_MULTIARCH)
|
|
|
|
PATH := $(CURDIR)/bin:$(PATH)
|
|
export PATH
|
|
|
|
CHANGELOG_VARS := $(shell dpkg-parsechangelog | sed -n 's/ /_/g;/^[^_]/s/^\([^:]*\):_\(.*\)/\1=\2/p')
|
|
PKGSOURCE := $(call vafilt,$(CHANGELOG_VARS),Source)
|
|
PKGVERSION := $(call vafilt,$(CHANGELOG_VARS),Version)
|
|
PKGYEAR := $(shell echo $(call vafilt,$(CHANGELOG_VARS),Timestamp) | date --utc +%Y)
|
|
|
|
distribution := $(shell lsb_release --id --short)
|
|
distrel := $(shell lsb_release --codename --short)
|
|
derivative := $(shell if dpkg-vendor --derives-from Ubuntu; then echo Ubuntu; \
|
|
elif dpkg-vendor --derives-from Debian; then echo Debian; \
|
|
else echo Unknown; fi)
|
|
ifeq ($(distrel),n/a)
|
|
distrel := sid
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),precise))
|
|
OBJCOPY := objcopy
|
|
STRIP := strip
|
|
else
|
|
OBJCOPY := $(DEB_HOST_GNU_TYPE)-objcopy
|
|
STRIP := $(DEB_HOST_GNU_TYPE)-strip
|
|
endif
|
|
|
|
multiarch_dir = /$(DEB_HOST_MULTIARCH)
|
|
|
|
hotspot_archs = amd64 i386 arm64 armhf ppc64 ppc64el sparc64 s390x
|
|
jtreg_archs = $(hotspot_archs) alpha ia64 powerpc powerpcspe ppc64 sh4 x32
|
|
jtreg_archs += armel mipsel mips64el
|
|
|
|
# FIXME: use bootcycle builds for zero archs?
|
|
bootcycle_build = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),yes)
|
|
zbootcycle_build =
|
|
ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
|
|
bootcycle_build =
|
|
zbootcycle_build =
|
|
endif
|
|
ifneq (,$(filter nobootcycle, $(DEB_BUILD_OPTIONS)))
|
|
bootcycle_build =
|
|
zbootcycle_build =
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),lucid precise quantal raring saucy trusty utopic vivid wily lenny etch squeeze wheezy jessie))
|
|
is_default = no
|
|
else
|
|
is_default = yes
|
|
endif
|
|
|
|
is_upstream_release = yes
|
|
|
|
srcdir = .
|
|
builddir = build
|
|
zbuilddir = build-zero
|
|
|
|
VENDOR = openjdk
|
|
Vendor = OpenJDK
|
|
TOP = usr/lib/jvm
|
|
origin = openjdk
|
|
basename = openjdk-$(shortver)
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
|
|
priority = $(if $(filter yes, $(is_default)),1111,1109)
|
|
vm_name = Hotspot JIT
|
|
else
|
|
priority = $(if $(filter yes, $(is_default)),1104,1103)
|
|
vm_name = Hotspot Zero
|
|
endif
|
|
jvmver = 1.11.0
|
|
shortver = 11
|
|
v_debian := $(shell echo $(PKGVERSION) | sed 's/ea//')
|
|
v_upstream := $(shell echo $(v_debian) | sed 's/-[^-][^-]*$$//')
|
|
v_pkgrel := $(shell echo $(v_debian) | sed 's/^.*-//')
|
|
# FIXME. currently v_upstream like 11~4
|
|
v_upbase := $(word 1, $(subst +, , $(v_upstream)))
|
|
v_upbuild := $(word 2, $(subst +, , $(v_upstream)))
|
|
#v_upbase := $(word 1, $(subst ~, , $(v_upstream)))
|
|
#v_upbuild := $(word 2, $(subst ~, , $(v_upstream)))
|
|
# that should be the package version ...
|
|
|
|
ifneq ($(v_debian),$(v_upbase)+$(v_upbuild)-$(v_pkgrel))
|
|
$(error wrong version: $(v_upbase)+$(v_upbuild)-$(v_pkgrel) should be: $(v_debian))
|
|
endif
|
|
#ifneq ($(v_debian),$(v_upbase)~$(v_upbuild)-$(v_pkgrel))
|
|
# $(error wrong version: $(v_upbase)~$(v_upbuild)-$(v_pkgrel) should be: $(v_debian))
|
|
#endif
|
|
|
|
ifneq (,$(DEB_HOST_MULTIARCH))
|
|
jdirname = java-$(shortver)-$(origin)-$(DEB_HOST_ARCH)
|
|
jdiralias = java-$(jvmver)-$(origin)-$(DEB_HOST_ARCH)
|
|
basedir = $(TOP)/$(jdirname)
|
|
commonbasedir = $(TOP)/java-$(shortver)-$(origin)-common
|
|
commonbasedir = $(basedir)
|
|
etcdir = etc/java-$(shortver)-$(origin)
|
|
else
|
|
jdirname = java-$(shortver)-$(origin)
|
|
jdiralias = java-$(jvmver)-$(origin)
|
|
basedir = $(TOP)/$(jdirname)
|
|
commonbasedir = $(TOP)/java-$(shortver)-$(origin)
|
|
etcdir = etc/$(jdirname)
|
|
endif
|
|
security = $(etcdir)/security
|
|
ifeq ($(bootcycle_build),yes)
|
|
sdkimg = bootcycle-build/images/jdk
|
|
build_target = bootcycle-images test-image
|
|
else
|
|
sdkimg = images/jdk
|
|
build_target = images test-image
|
|
endif
|
|
ifeq ($(zbootcycle_build),yes)
|
|
zsdkimg = bootcycle-build/images/jdk
|
|
zbuild_target = bootcycle-images test-image
|
|
else
|
|
zsdkimg = images/jdk
|
|
zbuild_target = images test-image
|
|
endif
|
|
|
|
# Support parallel=<n> in DEB_BUILD_OPTIONS (see #209008)
|
|
COMMA=,
|
|
SPACE = $(EMPTY) $(EMPTY)
|
|
ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
|
|
NJOBS = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
|
|
endif
|
|
|
|
with_check = $(if $(findstring nocheck, $(DEB_BUILD_OPTIONS)),,yes)
|
|
# see Debian #920161
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), alpha))
|
|
with_check = disabled running check on $(DEB_HOST_ARCH)
|
|
endif
|
|
# no jtreg backport yet
|
|
ifneq (,$(filter $(distrel), precise trusty xenial))
|
|
with_check = disabled for $(distrel)
|
|
endif
|
|
|
|
with_docs = $(if $(findstring nodoc, $(DEB_BUILD_OPTIONS)),,yes)
|
|
ifneq (,$(filter $(distrel), precise trusty))
|
|
with_docs =
|
|
endif
|
|
# with_check = disabled for this upload
|
|
|
|
with_wqy_zenhai = $(if $(filter $(distrel),lenny),,yes)
|
|
|
|
arch_map := alpha=alpha arm=arm armel=arm armhf=arm arm64=aarch64 amd64=amd64 hppa=parisc i386=i586 m68k=m68k mips=mips mipsel=mipsel mips64=mips64 mips64el=mips64el powerpc=ppc powerpcspe=ppc ppc64=ppc64 ppc64el=ppc64le riscv64=riscv64 sparc=sparc sparc64=sparcv9 sh4=sh s390x=s390x ia64=ia64 x32=x32
|
|
|
|
jvmarch := $(strip $(patsubst $(DEB_HOST_ARCH_CPU)=%, %, \
|
|
$(filter $(DEB_HOST_ARCH_CPU)=%, $(arch_map))))
|
|
ifeq ($(DEB_HOST_ARCH),x32)
|
|
jvmarch := x32
|
|
endif
|
|
|
|
default_vm = $(if $(filter $(DEB_HOST_ARCH), $(hotspot_archs)),hotspot,zero)
|
|
|
|
any_archs = alpha amd64 armel armhf arm64 i386 ia64 mips mipsel mips64 mips64el powerpc powerpcspe ppc64 ppc64el m68k riscv64 sh4 sparc sparc64 s390x x32
|
|
|
|
altzero_archs = $(hotspot_archs)
|
|
ifneq (,$(filter $(distrel),trusty))
|
|
altzero_archs := $(filter-out arm64, $(altzero_archs))
|
|
endif
|
|
# ftbfs in 11.0.5+bx, and 13+17
|
|
altzero_archs := $(filter-out armhf, $(altzero_archs))
|
|
|
|
# FIXME: Zero currently FTBFS on sparc64 with gcc-9
|
|
altzero_archs := $(filter-out sparc64, $(altzero_archs))
|
|
|
|
ifneq (,$(filter noaltzero, $(DEB_BUILD_OPTIONS)))
|
|
altzero_archs =
|
|
else ifneq (,$(filter $(DEB_HOST_ARCH), $(altzero_archs)))
|
|
alternate_vms += zero
|
|
zero_dir = zero
|
|
endif
|
|
|
|
# needed for the jexec build
|
|
export DEBIAN_JDK_BASE_DIR := /$(basedir)
|
|
|
|
BOOTJDK_HOME := $(strip $(subst /bin/javac,, $(firstword $(wildcard \
|
|
/usr/lib/jvm/java-10-openjdk-$(DEB_BUILD_ARCH)/bin/javac \
|
|
/usr/lib/jvm/java-11-openjdk-$(DEB_BUILD_ARCH)/bin/javac \
|
|
))))
|
|
|
|
ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
|
|
BUILDJDK_HOME = $(CURDIR)/$(builddir)/$(sdkimg)
|
|
else
|
|
BUILDJDK_HOME = $(BOOTJDK_HOME)
|
|
endif
|
|
|
|
# for Hotspot: hotspot/make/linux/makefiles/vm.make
|
|
# Don't overwrite Hotspot opt level :
|
|
# -O3 is already default option for hotspot
|
|
|
|
# FIXME: ftbfs with -Werror=format-security
|
|
dpkg_buildflags_hs = \
|
|
DEB_BUILD_MAINT_OPTIONS="optimize=-lto" \
|
|
DEB_CFLAGS_MAINT_STRIP="-O2 -Werror=format-security" \
|
|
DEB_CXXFLAGS_MAINT_STRIP="-O2 -Werror=format-security" \
|
|
DEB_CFLAGS_MAINT_APPEND="-fno-stack-protector -Wno-deprecated-declarations" \
|
|
DEB_CXXFLAGS_MAINT_APPEND="-fno-stack-protector -Wno-deprecated-declarations$(if $(filter $(DEB_HOST_ARCH), armel armhf), -fpermissive)"
|
|
# jdk/make/CompileDemos.gmk (SetupJVMTIDemo) doesn't like commas in flags
|
|
dpkg_buildflags_hs += \
|
|
DEB_LDFLAGS_MAINT_STRIP="-Wl,-z,relro -Wl,-Bsymbolic-functions" \
|
|
DEB_LDFLAGS_MAINT_APPEND="-Xlinker -z -Xlinker relro -Xlinker -Bsymbolic-functions"
|
|
dpkg_buildflags_hs += dpkg-buildflags
|
|
export EXTRA_CPPFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CPPFLAGS)
|
|
export EXTRA_CFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CFLAGS; $(dpkg_buildflags_hs) --get CPPFLAGS)
|
|
export EXTRA_CXXFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get CXXFLAGS) -Wno-deprecated-declarations
|
|
export EXTRA_LDFLAGS_HS := $(shell $(dpkg_buildflags_hs) --get LDFLAGS)
|
|
|
|
dpkg_buildflags_zero = \
|
|
DEB_BUILD_MAINT_OPTIONS="optimize=-lto" \
|
|
DEB_CFLAGS_MAINT_STRIP="-O2 -Werror=format-security -fstack-protector -fstack-protector-strong" \
|
|
DEB_CXXFLAGS_MAINT_STRIP="-O2 -Werror=format-security -fstack-protector -fstack-protector-strong" \
|
|
DEB_CFLAGS_MAINT_APPEND="-fno-stack-protector -Wno-deprecated-declarations" \
|
|
DEB_CXXFLAGS_MAINT_APPEND="-fno-stack-protector -Wno-deprecated-declarations"
|
|
# jdk/make/CompileDemos.gmk (SetupJVMTIDemo) doesn't like commas in flags
|
|
dpkg_buildflags_zero += \
|
|
DEB_LDFLAGS_MAINT_STRIP="-Wl,-z,relro -Wl,-Bsymbolic-functions" \
|
|
DEB_LDFLAGS_MAINT_APPEND="-Xlinker -z -Xlinker relro -Xlinker -Bsymbolic-functions"
|
|
dpkg_buildflags_zero += dpkg-buildflags
|
|
export EXTRA_CPPFLAGS_ZERO := $(shell $(dpkg_buildflags_zero) --get CPPFLAGS)
|
|
export EXTRA_CFLAGS_ZERO := $(shell $(dpkg_buildflags_zero) --get CFLAGS; $(dpkg_buildflags_zero) --get CPPFLAGS)
|
|
export EXTRA_CXXFLAGS_ZERO := $(shell $(dpkg_buildflags_zero) --get CXXFLAGS)
|
|
export EXTRA_LDFLAGS_ZERO := $(shell $(dpkg_buildflags_zero) --get LDFLAGS)
|
|
|
|
ifeq ($(DEB_HOST_ARCH),alpha)
|
|
export EXTRA_LDFLAGS_ZERO += -Wl,--no-relax
|
|
endif
|
|
|
|
# for JDK: jdk/make/common/Defs.gmk
|
|
# Don't overwrite JDK opt level :
|
|
# 1) with forced -03, it cause wrong Math.* computations, see #679292 and #678228
|
|
# 2) JDK already use it's own OPTIMIZATION_LEVEL variable for each module
|
|
dpkg_buildflags_jdk = \
|
|
DEB_BUILD_MAINT_OPTIONS="optimize=-lto" \
|
|
DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2"
|
|
dpkg_buildflags_jdk += dpkg-buildflags
|
|
export EXTRA_CPPFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CPPFLAGS)
|
|
export EXTRA_CFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CFLAGS) $(shell $(dpkg_buildflags_jdk) --get CPPFLAGS)
|
|
export EXTRA_CXXFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get CXXFLAGS)
|
|
export EXTRA_LDFLAGS_JDK := $(shell $(dpkg_buildflags_jdk) --get LDFLAGS)
|
|
|
|
#for IcedTea
|
|
dpkg_buildflags_it = \
|
|
DEB_BUILD_MAINT_OPTIONS="optimize=-lto"
|
|
ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
|
dpkg_buildflags_it += DEB_CFLAGS_MAINT_STRIP="-O2" DEB_CXXFLAGS_MAINT_STRIP="-O2"
|
|
dpkg_buildflags_it += DEB_CFLAGS_MAINT_APPEND="-O3" DEB_CXXFLAGS_MAINT_APPEND="-O3"
|
|
endif
|
|
dpkg_buildflags_it += dpkg-buildflags
|
|
export EXTRA_CPPFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CPPFLAGS)
|
|
export EXTRA_CFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CFLAGS)
|
|
export EXTRA_CXXFLAGS_IT := $(shell $(dpkg_buildflags_it) --get CXXFLAGS)
|
|
export EXTRA_LDFLAGS_IT := $(shell $(dpkg_buildflags_it) --get LDFLAGS)
|
|
|
|
# This section should be in sync with "bd_gcc" definition
|
|
ifneq (,$(filter $(distrel),saucy))
|
|
export CC = gcc-4.8
|
|
export CXX = g++-4.8
|
|
bd_gcc = g++-4.8,
|
|
else ifneq (,$(filter $(distrel),utopic vivid jessie))
|
|
export CC = gcc-4.9
|
|
export CXX = g++-4.9
|
|
bd_gcc = g++-4.9,
|
|
else ifneq (,$(filter $(distrel),wily))
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
|
|
export CC = $(DEB_HOST_GNU_TYPE)-gcc-5
|
|
export CXX = $(DEB_HOST_GNU_TYPE)-g++-5
|
|
# FIXME: altzero seems to build with GCC 5 on i386, amd64, ppc64el ...
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), arm64))
|
|
ZERO_CC = $(DEB_HOST_GNU_TYPE)-gcc-4.9
|
|
ZERO_CXX = $(DEB_HOST_GNU_TYPE)-g++-4.9
|
|
endif
|
|
else
|
|
export CC = $(DEB_HOST_GNU_TYPE)-gcc-4.9
|
|
export CXX = $(DEB_HOST_GNU_TYPE)-g++-4.9
|
|
endif
|
|
bd_gcc = g++-5 [$(hotspot_archs)], g++-4.9 [$(strip $(foreach a,$(hotspot_archs), !$(a)))], g++-4.9 [arm64],
|
|
else ifneq (,$(filter $(distrel),stretch))
|
|
# FIXME: still hotspot core dumps with GCC 6
|
|
export CC = $(DEB_HOST_GNU_TYPE)-gcc-6
|
|
export CXX = $(DEB_HOST_GNU_TYPE)-g++-6
|
|
bd_gcc = g++-6 <!cross>,
|
|
else ifneq (,$(filter $(distrel),artful))
|
|
export CC = $(DEB_HOST_GNU_TYPE)-gcc-7
|
|
export CXX = $(DEB_HOST_GNU_TYPE)-g++-7
|
|
bd_gcc = g++-7 <!cross>,
|
|
else ifneq (,$(filter $(distrel),buster precise trusty xenial bionic cosmic disco))
|
|
# FIXME: ftbfs on armhf with the default GCC
|
|
export CC = $(DEB_HOST_GNU_TYPE)-gcc-8
|
|
export CXX = $(DEB_HOST_GNU_TYPE)-g++-8
|
|
bd_gcc = g++-8,
|
|
ifneq (,$(filter $(distrel),buster bionic cosmic disco))
|
|
bd_gcc = g++-8 <!cross>,
|
|
endif
|
|
else ifneq (,$(filter $(distrel),focal))
|
|
export CC = $(DEB_HOST_GNU_TYPE)-gcc-9
|
|
export CXX = $(DEB_HOST_GNU_TYPE)-g++-9
|
|
bd_gcc = g++-9 <!cross>,
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),squeeze lucid))
|
|
with_bridge = bridge
|
|
with_jni_bridge = yes
|
|
else
|
|
with_bridge = atk
|
|
endif
|
|
|
|
with_nss = yes
|
|
|
|
on_buildd := $(shell [ -f /CurrentlyBuilding -o "$$LOGNAME" = buildd ] && echo yes)
|
|
|
|
CONFIGURE_ARGS =
|
|
|
|
# there are problems --with-alt-jar=/usr/bin/fastjar,
|
|
# see http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=217
|
|
# only use it for zero ports except powerpc (which we assume as
|
|
# fast enough to build.
|
|
ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs) ia64 powerpc powerpcspe))
|
|
CONFIGURE_ARGS += --with-alt-jar=/usr/bin/fastjar
|
|
endif
|
|
|
|
ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
|
|
CONFIGURE_ARGS += --enable-zero
|
|
endif
|
|
|
|
ifeq (,$(filter $(DEB_BUILD_OPTIONS), terse))
|
|
EXTRA_BUILD_ENV += MAKE_VERBOSE=y QUIETLY= LOG=debug
|
|
endif
|
|
|
|
# timestamp skew on kFreeBSD
|
|
EXTRA_BUILD_ENV += IGNORE_OLD_CONFIG=true
|
|
|
|
EXTRA_BUILD_ENV += LIBFFI_LIBS=-lffi_pic
|
|
|
|
EXTRA_BUILD_ENV += JOBS=$(NJOBS)
|
|
|
|
ifeq ($(derivative),Ubuntu)
|
|
ifeq ($(DEB_HOST_ARCH),s390x)
|
|
ifneq (,$(filter $(distrel), trusty xenial bionic eoan focal))
|
|
export VENDOR_FLAGS_CPU = -march=zEC12
|
|
else
|
|
export VENDOR_FLAGS_CPU = -march=z13 -mtune=z15
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
CONFIGURE_ARGS += --enable-system-kerberos
|
|
|
|
ifeq ($(with_nss),yes)
|
|
CONFIGURE_ARGS += --enable-nss
|
|
else ifeq ($(with_nss),no)
|
|
CONFIGURE_ARGS += --disable-nss
|
|
endif
|
|
|
|
ifeq ($(with_systemtap),yes)
|
|
CONFIGURE_ARGS += --enable-systemtap --with-abs-install-dir=/$(basedir)
|
|
endif
|
|
|
|
COMMON_CONFIGURE_ARGS =
|
|
DEFAULT_CONFIGURE_ARGS =
|
|
ZERO_CONFIGURE_ARGS =
|
|
|
|
# FIXME: --with-jvm-variants=server,zero not supported upstream
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),$(hotspot_archs)))
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),i386))
|
|
DEFAULT_CONFIGURE_ARGS += --with-jvm-variants=client,server
|
|
else
|
|
DEFAULT_CONFIGURE_ARGS += --with-jvm-variants=server
|
|
endif
|
|
else
|
|
DEFAULT_CONFIGURE_ARGS += --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
|
|
DEFAULT_CONFIGURE_ARGS += --with-jvm-variants=zero
|
|
endif
|
|
ZERO_CONFIGURE_ARGS += --with-jvm-variants=zero
|
|
|
|
DEFAULT_CONFIGURE_ARGS += --with-boot-jdk=$(BOOTJDK_HOME)
|
|
ZERO_CONFIGURE_ARGS += --with-boot-jdk=$(BUILDJDK_HOME)
|
|
|
|
COMMON_CONFIGURE_ARGS += --disable-ccache
|
|
|
|
# FIXME: zero not ready for --disable-precompiled-headers
|
|
#COMMON_CONFIGURE_ARGS += --disable-precompiled-headers
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),$(hotspot_archs)))
|
|
DEFAULT_CONFIGURE_ARGS += --disable-precompiled-headers
|
|
endif
|
|
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), powerpc))
|
|
DEFAULT_CONFIGURE_ARGS += --with-boot-jdk-jvmargs="-XX:ThreadStackSize=2240"
|
|
endif
|
|
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), ppc64 ppc64el))
|
|
ZERO_CONFIGURE_ARGS += --with-boot-jdk-jvmargs="-XX:ThreadStackSize=2240"
|
|
endif
|
|
|
|
ifeq ($(with_check),yes)
|
|
ifneq (,$(filter $(distrel), precise trusty xenial bionic eoan etch wheezy jessie stretch buster))
|
|
COMMON_CONFIGURE_ARGS += --with-jtreg=/usr
|
|
else
|
|
COMMON_CONFIGURE_ARGS += --with-jtreg=/usr/share/jtreg
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),$(hotspot_archs)))
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), amd64))
|
|
jvm_features = zgc
|
|
endif
|
|
jvm_features += shenandoahgc
|
|
DEFAULT_CONFIGURE_ARGS += --with-jvm-features=$(subst $(SPACE),$(COMMA),$(strip $(jvm_features)))
|
|
endif
|
|
|
|
ifeq ($(distribution),Debian)
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-vendor-name='$(distribution)' \
|
|
--with-vendor-url='https://tracker.debian.org/$(basename)' \
|
|
--with-vendor-bug-url='https://bugs.debian.org/$(basename)' \
|
|
--with-vendor-vm-bug-url='https://bugs.debian.org/$(basename)'
|
|
else ifeq ($(distribution),Ubuntu)
|
|
ppa_build := $(shell if echo '$(v_pkgrel)' | egrep '^[0-9]+(ubuntu[0-9]+)?(~[0-9.]+)?$$'; then echo no; else echo yes; fi)
|
|
ifeq ($(ppa_build),yes)
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-vendor-name='Private Build' \
|
|
--with-vendor-url='Unknown' \
|
|
--with-vendor-bug-url='Unknown' \
|
|
--with-vendor-vm-bug-url='Unknown'
|
|
else
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-vendor-name='$(distribution)' \
|
|
--with-vendor-url='https://ubuntu.com/' \
|
|
--with-vendor-bug-url='https://bugs.launchpad.net/ubuntu/+source/openjdk-lts' \
|
|
--with-vendor-vm-bug-url='https://bugs.launchpad.net/ubuntu/+source/openjdk-lts'
|
|
endif
|
|
else
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-vendor-name='$(distribution)' \
|
|
--with-vendor-url='Unknown' \
|
|
--with-vendor-bug-url='Unknown' \
|
|
--with-vendor-vm-bug-url='Unknown'
|
|
endif
|
|
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-version-pre='$(if $(filter yes, $(is_upstream_release)),,ea)' \
|
|
--with-version-build='$(v_upbuild)' \
|
|
--with-version-opt='post-$(distribution)-$(v_pkgrel)' \
|
|
--with-copyright-year=$(PKGYEAR) \
|
|
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-debug-level=release \
|
|
--with-native-debug-symbols=internal \
|
|
--enable-unlimited-crypto \
|
|
--with-zlib=system \
|
|
--with-giflib=system \
|
|
--with-libpng=system \
|
|
--with-libjpeg=system \
|
|
--with-lcms=system \
|
|
--with-pcsclite=system \
|
|
--disable-warnings-as-errors \
|
|
--disable-javac-server \
|
|
|
|
ifeq (,$(filter $(distrel),jessie stretch precise trusty xenial))
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-harfbuzz=system
|
|
with_system_hb = yes
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),precise trusty xenial))
|
|
# building with a GCC from a PPA ...
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-stdc++lib=static
|
|
else
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--with-stdc++lib=dynamic
|
|
endif
|
|
|
|
ifneq (,$(NJOBS))
|
|
COMMON_CONFIGURE_ARGS += --with-num-cores=$(NJOBS)
|
|
endif
|
|
|
|
# FIXME: upstream says the extra flags are not designed for general purpose ...
|
|
# http://mail.openjdk.java.net/pipermail/jdk8u-dev/2014-July/001389.html
|
|
|
|
# FIXME: demos fail to build with these ...
|
|
# FIXME: zero ftbfs without -fpermissive
|
|
#src/cpu/zero/vm/cppInterpreter_zero.cpp:732:30: error: invalid conversion from 'intptr_t {aka long int}' to 'const void*' [-fpermissive]
|
|
# object = (oop) locals[0];
|
|
# ^
|
|
|
|
#COMMON_CONFIGURE_ARGS += \
|
|
--with-extra-cflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CFLAGS_HS)' \
|
|
--with-extra-cxxflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CXXFLAGS_HS)' \
|
|
--with-extra-ldflags='$(EXTRA_LDFLAGS_HS)'
|
|
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
|
|
DEFAULT_CONFIGURE_ARGS += \
|
|
--with-extra-cflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CFLAGS_HS)' \
|
|
--with-extra-cxxflags='$(EXTRA_CPPFLAGS_HS) $(EXTRA_CXXFLAGS_HS)' \
|
|
--with-extra-ldflags='$(EXTRA_LDFLAGS_HS)'
|
|
else
|
|
DEFAULT_CONFIGURE_ARGS += \
|
|
--with-extra-cflags='$(EXTRA_CPPFLAGS_ZERO) $(EXTRA_CFLAGS_ZERO)' \
|
|
--with-extra-cxxflags='$(EXTRA_CPPFLAGS_ZERO) $(EXTRA_CXXFLAGS_ZERO)' \
|
|
--with-extra-ldflags='$(EXTRA_LDFLAGS_ZERO)'
|
|
endif
|
|
|
|
ZERO_CONFIGURE_ARGS += \
|
|
--with-extra-cflags='$(EXTRA_CPPFLAGS_ZERO) $(EXTRA_CFLAGS_ZERO)' \
|
|
--with-extra-cxxflags='$(EXTRA_CPPFLAGS_ZERO) $(EXTRA_CXXFLAGS_ZERO)' \
|
|
--with-extra-ldflags='$(EXTRA_LDFLAGS_ZERO)'
|
|
|
|
ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH))
|
|
COMMON_CONFIGURE_ARGS += \
|
|
--build=$(DEB_BUILD_GNU_TYPE) \
|
|
--host=$(DEB_HOST_GNU_TYPE) \
|
|
--target=$(DEB_HOST_GNU_TYPE) \
|
|
BUILD_CC=$(subst $(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE),$(CC)) \
|
|
BUILD_LD=$(subst $(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE),$(CC)) \
|
|
BUILD_CXX=$(subst $(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE),$(CXX)) \
|
|
|
|
endif
|
|
|
|
# (most) jre and jdk tools handled by the alternatives system.
|
|
# dups in heimdal-clients, krb5-user: kinit, klist, ktab, no alternatives
|
|
# have jrunscript in the jdk packages
|
|
|
|
all_tools = jar jarsigner java javac javadoc javap jcmd \
|
|
jconsole jdb jdeprscan jdeps jfr jimage jinfo jjs jlink jmap \
|
|
jmod jps jrunscript jshell jstack jstat jstatd keytool \
|
|
rmid rmiregistry serialver pack200 unpack200
|
|
|
|
jdk_hl_tools = jar jarsigner javac javadoc javap jcmd jdb \
|
|
jdeprscan jdeps jfr jimage jinfo jlink jmap jmod jps \
|
|
jrunscript jshell jstack jstat jstatd rmic serialver
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64))
|
|
all_tools += jaotc
|
|
jdk_hl_tools += jaotc
|
|
endif
|
|
ifeq (,$(filter $(DEB_HOST_ARCH), alpha armel ia64 m68k mips mipsel mips64el powerpc riscv64 s390x sh4 x32))
|
|
all_tools += jhsdb
|
|
jdk_hl_tools += jhsdb
|
|
endif
|
|
jdk_tools = jconsole
|
|
|
|
all_jre_tools = $(filter-out $(jdk_hl_tools) $(jdk_tools), $(all_tools))
|
|
# no tools in $(p_jre)
|
|
jre_tools =
|
|
jre_hl_tools := $(filter-out $(jre_tools), $(all_jre_tools))
|
|
|
|
# build dependencies
|
|
ifneq (,$(filter $(distrel),precise))
|
|
bd_autotools = autoconf2.69, automake, autotools-dev,
|
|
else
|
|
bd_autotools = autoconf, automake, autotools-dev,
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),precise))
|
|
bd_bootstrap = openjdk-10-jdk-headless | openjdk-11-jdk-headless,
|
|
else ifneq (,$(filter $(distrel),squeeze wheezy jessie trusty xenial))
|
|
bd_bootstrap = openjdk-10-jdk-headless:native | openjdk-11-jdk-headless:native,
|
|
else
|
|
bd_bootstrap = openjdk-11-jdk-headless:native | openjdk-10-jdk-headless:native,
|
|
endif
|
|
ifeq (,$(filter $(distrel),squeeze wheezy jessie precise trusty xenial))
|
|
bd_cross += \
|
|
$(basename)-jdk-headless <cross>,
|
|
else
|
|
bd_cross += \
|
|
file,
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),squeeze wheezy jessie precise trusty))
|
|
old_debhelper = veryold
|
|
bd_debhelper = debhelper (>= 9),
|
|
else ifneq (,$(filter $(distrel), stretch xenial))
|
|
old_debhelper = old
|
|
bd_debhelper = debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14),
|
|
else
|
|
bd_debhelper = debhelper (>= 11),
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),precise))
|
|
bd_syslibs = zlib1g-dev, libattr1-dev,
|
|
else
|
|
bd_syslibs = zlib1g-dev:native, zlib1g-dev, libattr1-dev,
|
|
endif
|
|
ifneq (,$(filter $(distrel),squeeze lucid))
|
|
bd_syslibs += libpng12-dev, libjpeg62-dev,
|
|
else ifneq (,$(filter $(distrel),wheezy precise quantal raring saucy))
|
|
bd_syslibs += libpng-dev, libjpeg8-dev,
|
|
else
|
|
bd_syslibs += libpng-dev, libjpeg-dev,
|
|
endif
|
|
bd_syslibs += \
|
|
libgif-dev,
|
|
bd_openjdk = \
|
|
libxtst-dev, libxi-dev, libxt-dev, libxaw7-dev, libxrender-dev, libcups2-dev, \
|
|
libasound2-dev, liblcms2-dev, libfreetype6-dev (>= 2.2.1), \
|
|
libxinerama-dev, libkrb5-dev, xsltproc, libpcsclite-dev, libxrandr-dev, \
|
|
libelf-dev, libfontconfig1-dev, libgtk2.0-0 | libgtk-3-0,
|
|
ifeq ($(with_system_hb),yes)
|
|
bd_openjdk += libharfbuzz-dev,
|
|
endif
|
|
|
|
pkg_ffidev = libffi-dev
|
|
|
|
bd_zero = \
|
|
$(pkg_ffidev) [$(foreach a,$(hotspot_archs),!$(a))],
|
|
bd_zero = \
|
|
$(pkg_ffidev),
|
|
|
|
bd_ant = ant, ant-optional,
|
|
|
|
bd_fastjar = fastjar (>= 2:0.96-0ubuntu2),
|
|
ifeq ($(with_nss),yes)
|
|
ifneq (,$(filter $(distrel),squeeze lucid precise quantal))
|
|
bd_nss = libnss3-dev (>= 3.12.3),
|
|
else ifneq (,$(filter $(distrel),wheezy raring saucy trusty))
|
|
bd_nss = libnss3-dev (>= 2:3.12.3),
|
|
else
|
|
bd_nss = libnss3-dev (>= 2:3.17.1),
|
|
endif
|
|
endif
|
|
ifeq ($(with_systemtap),yes)
|
|
bd_systemtap = systemtap-sdt-dev [!sh4],
|
|
endif
|
|
|
|
ifeq (,$(filter $(distrel),jessie stretch buster precise trusty xenial bionic focal groovy))
|
|
with_debugedit = yes
|
|
bd_debugedit = debugedit (>= 4.16),
|
|
build_id_seed = $(PKGSOURCE)-$(PKGVERSION)
|
|
endif
|
|
|
|
ifeq (,$(filter $(distrel),jessie stretch buster precise trusty xenial bionic))
|
|
bd_strip_ndt = strip-nondeterminism,
|
|
endif
|
|
|
|
ifeq (,$(filter $(distrel),precise))
|
|
nocheck_profile = $(EMPTY) <!nocheck>
|
|
endif
|
|
|
|
# look at all TEST.ROOT for the required jtreg version, sorted by newest
|
|
min_jtreg_version := $(shell find test/ -name TEST.ROOT -exec grep -hr "^requiredVersion=" {} \; | sed -e 's:^requiredVersion=::' -e 's:$$:-0~:' | sort -uVr | head -n1 | tr ' ' '-')
|
|
|
|
ifeq ($(with_check),yes)
|
|
bd_check = \
|
|
jtreg (>= $(min_jtreg_version))$(nocheck_profile), testng$(nocheck_profile), \
|
|
xvfb$(nocheck_profile), xauth$(nocheck_profile), \
|
|
xfonts-base$(nocheck_profile), libgl1-mesa-dri [!x32]$(nocheck_profile), \
|
|
xfwm4$(nocheck_profile), x11-xkb-utils$(nocheck_profile), \
|
|
dbus-x11$(nocheck_profile),
|
|
else
|
|
bd_check = file,
|
|
endif
|
|
|
|
dlopen_hl_depends = \
|
|
libcups2, liblcms2-2,
|
|
ifeq ($(derivative),Ubuntu)
|
|
ifneq (,$(filter $(distrel),lucid))
|
|
dlopen_hl_depends += libjpeg62,
|
|
else
|
|
dlopen_hl_depends += libjpeg8,
|
|
endif
|
|
else
|
|
ifneq (,$(filter $(distrel),squeeze))
|
|
dlopen_hl_depends += libjpeg62,
|
|
else
|
|
dlopen_hl_depends += libjpeg62-turbo,
|
|
endif
|
|
endif
|
|
dlopen_hl_depends += libfontconfig1,
|
|
ifneq ($(with_nss),no)
|
|
ifneq (,$(filter $(distrel),squeeze lucid precise))
|
|
dlopen_hl_depends += , libnss3-1d (>= 3.12.3)
|
|
else ifneq (,$(filter $(distrel),wheezy quantal raring saucy trusty))
|
|
dlopen_hl_depends += , libnss3 (>= 2:3.12.3)
|
|
else
|
|
dlopen_hl_depends += , libnss3 (>= 2:3.17.1)
|
|
endif
|
|
endif
|
|
dlopen_hl_recommends =
|
|
dlopen_jre_depends = \
|
|
libglib2.0-0 (>= 2.24), libgtk2.0-0 | libgtk-3-0, libxrandr2, libxinerama1,
|
|
ifneq (,$(filter $(distrel),squeeze wheezy jessie stretch lucid precise xenial))
|
|
dlopen_jre_depends = libgl1-mesa-glx | libgl1,
|
|
else
|
|
dlopen_jre_depends = libgl1,
|
|
endif
|
|
ifeq ($(with_system_hb),yes)
|
|
dlopen_jre_depends += libharfbuzz0b,
|
|
endif
|
|
dlopen_jre_recommends =
|
|
|
|
# .desktop files need to be multiarch installable
|
|
java_launcher = /$(basedir)/bin/java
|
|
java_launcher = /usr/bin/java
|
|
ifeq ($(derivative),Ubuntu)
|
|
java_launcher = cautious-launcher %f /$(basedir)/bin/java
|
|
java_launcher = cautious-launcher %f /usr/bin/java
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel),squeeze wheezy lucid precise quantal raring))
|
|
core_fonts = ttf-dejavu-extra
|
|
else
|
|
core_fonts = fonts-dejavu-extra
|
|
endif
|
|
ifneq (,$(filter $(distrel),squeeze lucid))
|
|
cjk_fonts = ttf-baekmuk | ttf-unfonts | ttf-unfonts-core,
|
|
cjk_fonts += ttf-sazanami-gothic | ttf-kochi-gothic,
|
|
cjk_fonts += ttf-sazanami-mincho | ttf-kochi-mincho,
|
|
else
|
|
cfk_fonts = fonts-nanum,
|
|
cjk_fonts += fonts-ipafont-gothic, fonts-ipafont-mincho,
|
|
endif
|
|
cjk_fonts += $(if $(with_wqy_zenhai),fonts-wqy-microhei | fonts-wqy-zenhei,fonts-arphic-uming),
|
|
ifneq (,$(filter $(distrel),squeeze wheezy))
|
|
cjk_fonts += ttf-indic-fonts,
|
|
else ifneq (,$(filter $(distrel), lucid maverick natty oneiric precise quantal raring saucy trusty))
|
|
cjk_fonts += ttf-indic-fonts-core, ttf-telugu-fonts, ttf-oriya-fonts,
|
|
cjk_fonts += ttf-kannada-fonts, ttf-bengali-fonts,
|
|
else
|
|
cjk_fonts += fonts-indic,
|
|
endif
|
|
|
|
jrehl_breaks = clojure1.8 (<= 1.8.0-7ubuntu1~),
|
|
ifneq (,$(filter $(distrel),buster bionic cosmic disco eoan))
|
|
jrehl_breaks += \
|
|
jetty9 (<< 9.4.15-1~), netbeans (<< 10.0-3~), visualvm (<< 1.4.2-2~), \
|
|
eclipse-platform (<< 3.8.1-11), eclipse-rcp (<< 3.8.1-11), \
|
|
libequinox-osgi-java (<< 3.9.1),
|
|
endif
|
|
ifneq (,$(filter $(distrel),bionic cosmic disco eoan))
|
|
jrehl_breaks += \
|
|
tomcat8 (<< 8.5.39-1ubuntu1~),
|
|
endif
|
|
ifneq (,$(filter $(distrel),buster sid))
|
|
jrehl_breaks += libreoffice-core (<< 1:6.1.5-2~),
|
|
else ifneq (,$(filter $(distrel),xenial))
|
|
jrehl_breaks += libreoffice-core (<< 1:5.1.6~rc2-0ubuntu1~xenial7),
|
|
else ifneq (,$(filter $(distrel),bionic))
|
|
jrehl_breaks += libreoffice-core (<< 1:6.0.7-0ubuntu0.18.04.6),
|
|
else ifneq (,$(filter $(distrel),disco))
|
|
jrehl_breaks += libreoffice-core (<< 1:6.2.2-0ubuntu2),
|
|
endif
|
|
|
|
p_jre = $(basename)-jre
|
|
p_jrehl = $(basename)-jre-headless
|
|
p_jrez = $(basename)-jre-zero
|
|
p_jdkhl = $(basename)-jdk-headless
|
|
p_jdk = $(basename)-jdk
|
|
p_demo = $(basename)-demo
|
|
p_src = $(basename)-source
|
|
p_doc = $(basename)-doc
|
|
p_dbg = $(basename)-dbg
|
|
|
|
d = debian/tmp
|
|
d_jre = debian/$(p_jre)
|
|
d_jrehl = debian/$(p_jrehl)
|
|
d_jrez = debian/$(p_jrez)
|
|
d_jdkhl = debian/$(p_jdkhl)
|
|
d_jdk = debian/$(p_jdk)
|
|
d_demo = debian/$(p_demo)
|
|
d_src = debian/$(p_src)
|
|
d_doc = debian/$(p_doc)
|
|
d_dbg = debian/$(p_dbg)
|
|
|
|
control_vars = \
|
|
'-Vvm:Name=$(vm_name)' \
|
|
'-Vdlopenhl:Depends=$(dlopen_hl_depends)' \
|
|
'-Vdlopenhl:Recommends=$(dlopen_hl_recommends)' \
|
|
'-Vdlopenjre:Depends=$(dlopen_jre_depends)' \
|
|
'-Vdlopenjre:Recommends=$(dlopen_jre_recommends)' \
|
|
|
|
ifeq ($(with_bridge),atk)
|
|
control_vars += '-Vbridge:Recommends=libatk-wrapper-java-jni (>= 0.30.4-0ubuntu2)'
|
|
else ifeq ($(with_bridge),yes)
|
|
ifneq (,$(DEB_HOST_MULTIARCH))
|
|
control_vars += '-Vbridge:Recommends=libaccess-bridge-java-jni (>= 1.26.2-6)'
|
|
else ifeq ($(with_jni_bridge),yes)
|
|
control_vars += '-Vbridge:Recommends=libaccess-bridge-java-jni'
|
|
else
|
|
control_vars += '-Vbridge:Recommends=libaccess-bridge-java'
|
|
endif
|
|
endif
|
|
|
|
ifeq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
|
|
control_vars += '-Vdefaultvm:Provides=$(p_jre)-zero'
|
|
endif
|
|
|
|
pkg_certs = ca-certificates-java
|
|
ifneq (,$(filter $(distrel), squeeze wheezy jessie stretch precise trusty xenial bionic cosmic disco))
|
|
control_vars += '-Vcacert:Depends=$(pkg_certs)'
|
|
else
|
|
control_vars += '-Vcacert:Depends=$(pkg_certs) (>= 20190405~)'
|
|
endif
|
|
|
|
ifneq (,$(filter $(distrel), squeeze wheezy jessie lucid precise quantal raring saucy trusty utopic vivid))
|
|
control_vars += '-Vmountpoint:Depends=initscripts'
|
|
else
|
|
control_vars += '-Vmountpoint:Depends=util-linux (>= 2.26.2-4)'
|
|
endif
|
|
|
|
pkg_jcommon = java-common (>= 0.28)
|
|
control_vars += '-Vjcommon:Depends=$(pkg_jcommon)'
|
|
|
|
control_vars += '-Vjrehl:Breaks=$(jrehl_breaks)'
|
|
|
|
ifneq ($(with_debugedit),yes)
|
|
control_vars += '-Vdbg:Conflicts=openjdk-12-dbg, openjdk-13-dbg, openjdk-14-dbg, openjdk-15-dbg, openjdk-16-dbg, openjdk-17-dbg'
|
|
endif
|
|
|
|
debian/control: debian/control.in debian/tests/control debian/rules
|
|
@cp -p debian/control debian/control.old
|
|
sed \
|
|
-e 's/@basename@/$(basename)/g' \
|
|
-e 's/@bd_autotools@/$(bd_autotools)/g' \
|
|
-e 's/@bd_bootstrap@/$(strip $(bd_bootstrap))/g' \
|
|
-e 's/@bd_cross@/$(strip $(bd_cross))/g' \
|
|
-e 's/@bd_debhelper@/$(strip $(bd_debhelper))/g' \
|
|
-e 's/@bd_openjdk@/$(bd_openjdk)/g' \
|
|
-e 's/@bd_zero@/$(bd_zero)/g' \
|
|
-e 's/@bd_gcc@/$(bd_gcc)/g' \
|
|
-e 's/@bd_syslibs@/$(bd_syslibs)/g' \
|
|
-e 's/@bd_fastjar@/$(bd_fastjar)/g' \
|
|
-e 's/@bd_nss@/$(bd_nss)/g' \
|
|
-e 's/@bd_systemtap@/$(bd_systemtap)/g' \
|
|
-e 's/@bd_ant@/$(bd_ant)/g' \
|
|
-e 's/@bd_debugedit@/$(bd_debugedit)/g' \
|
|
-e 's/@bd_strip_ndt@/$(bd_strip_ndt)/g' \
|
|
-e 's/@bd_check@/$(bd_check)/g' \
|
|
-e 's/@core_fonts@/$(core_fonts)/g' \
|
|
-e 's/@cjk_fonts@/$(cjk_fonts)/g' \
|
|
-e 's/@any_archs@/$(any_archs)/g' \
|
|
-e 's/@hotspot_archs@/$(hotspot_archs)/g' \
|
|
-e 's/@altzero_archs@/$(altzero_archs)/g' \
|
|
debian/control.in \
|
|
$(if $(altzero_archs), debian/control.zero-jre) \
|
|
$(if $(DEB_HOST_MULTIARCH),,| grep -v '^Multi-Arch') \
|
|
> debian/control
|
|
@if cmp -s debian/control debian/control.old; then \
|
|
rm -f debian/control.old; \
|
|
else \
|
|
diff -u debian/control.old debian/control | wdiff -d -; \
|
|
echo "debian/control did change, please restart the build"; \
|
|
rm -f debian/control.old; \
|
|
exit 1; \
|
|
fi
|
|
|
|
debian/tests/control: debian/tests/control.in debian/rules
|
|
sed \
|
|
-e 's/@min_jtreg_version@/$(min_jtreg_version)/g' \
|
|
$< > $@;
|
|
|
|
debian/tests/%.sh: debian/tests/%.in debian/rules
|
|
sed \
|
|
-e 's,@JDK_DIR@,/$(basedir),g' \
|
|
-e 's/@jtreg_archs@/$(jtreg_archs)/g' \
|
|
-e 's:@doc_dir@:/usr/share/doc/$(p_jrehl)/:g' \
|
|
$< > $@;
|
|
chmod +x $@
|
|
|
|
gen-autopkgtests: debian/tests/jtdiff-autopkgtest.sh debian/tests/jtreg-autopkgtest.sh
|
|
|
|
packaging-files:
|
|
for f in debian/*.in; do \
|
|
case "$$f" in debian/control.in) continue; esac; \
|
|
f2=$$(echo $$f | sed 's/JB/$(basename)/;s/\.in$$//'); \
|
|
sed -e 's/@JRE@/$(p_jre)/g' \
|
|
-e 's/@JDK@/$(p_jdk)/g' \
|
|
-e 's/@vendor@/$(Vendor)/g' \
|
|
-e 's/@RELEASE@/$(shortver)/g' \
|
|
-e 's/@basename@/$(basename)/g' \
|
|
-e 's,@TOP@,$(TOP),g' \
|
|
-e 's,@basedir@,$(basedir),g' \
|
|
-e 's,@etcdir@,$(etcdir),g' \
|
|
-e 's,@jdiralias@,$(jdiralias),g' \
|
|
-e 's,@jdirname@,$(jdirname),g' \
|
|
-e 's/@srcname@/$(srcname)/g' \
|
|
-e 's/@jvmarch@/$(jvmarch)/g' \
|
|
-e 's/@tag@/$(tag)/g' \
|
|
-e 's/@priority@/$(priority)/g' \
|
|
-e 's/@mantag@/$(mantag)/g' \
|
|
-e 's/@multiarch@/$(DEB_HOST_MULTIARCH)/g' \
|
|
-e 's/@jre_hl_tools@/$(jre_hl_tools)/g' \
|
|
-e 's/@jre_tools@/$(jre_tools)/g' \
|
|
-e 's/@jdk_hl_tools@/$(jdk_hl_tools)/g' \
|
|
-e 's/@jdk_tools@/$(jdk_tools)/g' \
|
|
-e 's/@corba_tools@/$(corba_tools)/g' \
|
|
-e 's,@j2se_lib@,$(j2se_lib),g' \
|
|
-e 's,@j2se_share@,$(j2se_share),g' \
|
|
-e 's,@java_launcher@,$(java_launcher),g' \
|
|
-e 's/@cjk_fonts@/$(cjk_fonts)/g' \
|
|
$$f > $$f2; \
|
|
done
|
|
|
|
configure: stamps/configure
|
|
stamps/configure: stamps/unpack
|
|
@echo '========== $@ =========='
|
|
@echo "Build options: $(DEB_BUILD_OPTIONS), Processors: $$(nproc)"
|
|
@echo '========== $@ =========='
|
|
-cat /proc/meminfo |egrep '^(Mem|Swap)'
|
|
@echo '========== $@ =========='
|
|
-cat /etc/hosts
|
|
@echo '========== $@ =========='
|
|
-cat /etc/fstab
|
|
@echo '========== $@ =========='
|
|
-cat /etc/mtab
|
|
@echo '========== $@ =========='
|
|
-cat /proc/mounts
|
|
@echo '========== $@ =========='
|
|
|
|
mkdir -p bin
|
|
ifeq (0,1)
|
|
ifeq (,$(filter $(DEB_HOST_ARCH), alpha amd64 arm64 hppa mips64 mips64el ppc64 ppc64el s390x sparc64 x32))
|
|
( \
|
|
echo '#! /bin/sh'; \
|
|
echo 'if [ -x /usr/bin/linux32 ]; then'; \
|
|
echo ' exec /usr/bin/linux32 /bin/uname "$$@"'; \
|
|
echo 'else'; \
|
|
echo ' exec /bin/uname "$$@"'; \
|
|
echo 'fi'; \
|
|
) > bin/uname
|
|
chmod +x bin/uname
|
|
echo "UNAME checks"
|
|
uname -a
|
|
endif
|
|
endif
|
|
ifneq (,$(filter $(distrel),precise))
|
|
for i in autoreconf autoheader autoupdate autoscan autom4te ifnames autoconf; do \
|
|
ln -sf /usr/bin/$${i}2.69 bin/$${i}; \
|
|
done
|
|
endif
|
|
which autoconf
|
|
/bin/uname -a
|
|
lsb_release -a
|
|
|
|
-cat /proc/sys/kernel/random/entropy_avail
|
|
|
|
mkdir -p stamps
|
|
rm -rf $(builddir)
|
|
mkdir -p $(builddir)
|
|
# bash make/autoconf/autogen.sh
|
|
cd $(builddir) && $(EXTRA_BUILD_ENV) bash ../configure \
|
|
$(DEFAULT_CONFIGURE_ARGS) \
|
|
$(COMMON_CONFIGURE_ARGS)
|
|
|
|
touch $@
|
|
|
|
stamps/zero-configure: stamps/build stamps/unpack
|
|
@echo '========== $@ =========='
|
|
mkdir -p stamps
|
|
rm -rf $(zbuilddir)
|
|
mkdir -p $(zbuilddir)
|
|
$(if $(ZERO_CC), export CC=$(ZERO_CC); export CXX=$(ZERO_CXX);) \
|
|
cd $(zbuilddir) && $(EXTRA_BUILD_ENV) bash ../configure \
|
|
$(ZERO_CONFIGURE_ARGS) \
|
|
$(COMMON_CONFIGURE_ARGS)
|
|
|
|
touch $@
|
|
|
|
stamps/unpack:
|
|
: # apply some architecture specific patches ...
|
|
ifeq ($(DEB_HOST_ARCH),alpha)
|
|
patch -p1 < debian/patches/alpha-float-const.diff
|
|
endif
|
|
ifeq ($(DEB_HOST_ARCH),powerpcspe)
|
|
patch -p1 < debian/patches/powerpcspe-float-const.diff
|
|
endif
|
|
|
|
$(MAKE) -f debian/rules packaging-files
|
|
|
|
mkdir -p stamps
|
|
touch $@
|
|
|
|
ifeq ($(with_check),yes)
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), $(jtreg_archs)))
|
|
with_jtreg_check = $(default_vm)
|
|
endif
|
|
|
|
ifneq (,$(filter zero, $(alternate_vms)))
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), arm64 amd64 i386))
|
|
# only activate after testing; hangs several tests.
|
|
with_jtreg_check += zero
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
build_stamps = \
|
|
stamps/build \
|
|
$(if $(filter $(DEB_HOST_ARCH),$(altzero_archs)),stamps/zero-build)
|
|
|
|
build_stamps += stamps/jtreg-check-default
|
|
|
|
pre-build:
|
|
ifeq ($(with_check),yes)
|
|
jtreg_version="$$(dpkg-query -f '$${Version}\n' -W jtreg)"; \
|
|
if ! dpkg --compare-versions $(min_jtreg_version) le $$jtreg_version; then \
|
|
echo "Error: testsuite requires jtreg $(min_jtreg_version) but $$jtreg_version is installed"; \
|
|
echo "Please update the jtreg dependency and regenerate debian/control"; \
|
|
false; \
|
|
fi
|
|
endif
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),s390))
|
|
@echo explicitely fail the build for $(DEB_HOST_ARCH), patches not updated
|
|
#else ifneq (,$(filter $(DEB_HOST_ARCH),armel))
|
|
# @echo explicitely fail the build for $(DEB_HOST_ARCH), ARM assembler interpreter not yet ported
|
|
false
|
|
endif
|
|
|
|
build-arch: build
|
|
build-indep: build stamps/build-docs
|
|
build: pre-build $(build_stamps)
|
|
if [ -f buildwatch.pid ]; then \
|
|
pid=$$(cat buildwatch.pid); \
|
|
kill -1 $$pid || :; sleep 1; kill -9 $$pid || :; \
|
|
fi
|
|
rm -f buildwatch.pid
|
|
|
|
stamps/build: stamps/configure
|
|
@echo '========== $@ =========='
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), alpha armel armhf ia64 m68k mips mipsel mips64 mips64el powerpc powerpcspe riscv64 s390x sh4 sparc sparc64))
|
|
sh -c 'sh debian/buildwatch.sh $(CURDIR)/$(builddir) &'
|
|
endif
|
|
if $(EXTRA_BUILD_ENV) $(MAKE) -C $(builddir) $(build_target); then \
|
|
: ; \
|
|
else \
|
|
if [ -f buildwatch.pid ]; then \
|
|
pid=$$(cat buildwatch.pid); \
|
|
kill -1 $$pid || :; sleep 1; kill -9 $$pid || :; \
|
|
fi; \
|
|
false; \
|
|
fi
|
|
|
|
touch $@
|
|
|
|
stamps/zero-build: stamps/zero-configure
|
|
@echo '========== $@ =========='
|
|
: # FIXME: build using the just built jdk, and build the vm only
|
|
$(EXTRA_BUILD_ENV) $(MAKE) -C $(zbuilddir) $(zbuild_target)
|
|
rm -rf $(builddir)/$(sdkimg)/lib/zero
|
|
cp -a $(zbuilddir)/$(zsdkimg)/lib/server \
|
|
$(builddir)/$(sdkimg)/lib/zero
|
|
touch $@
|
|
|
|
stamps/build-docs: stamps/build
|
|
@echo '========== $@ =========='
|
|
mkdir -p $(builddir)/images/docs
|
|
echo '<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="refresh" content="0;url=api/index.html"> </head> </html>' > $(builddir)/images/docs/index.html
|
|
ifeq ($(with_docs),yes)
|
|
$(MAKE) -C $(builddir) docs
|
|
endif
|
|
touch $@
|
|
|
|
stamps/jtreg-check-default: stamps/build
|
|
$(MAKE) -f debian/rules jtreg-run-check VMNAME=$(default_vm) VMARGS= \
|
|
$(if $(filter $(default_vm),hotspot),TEST_SUITES='hotspot langtools jaxp jdk',TEST_SUITES='hotspot langtools jaxp')
|
|
# TEST_SUITES='hotspot langtools jaxp'
|
|
touch $@
|
|
|
|
stamps/jtreg-check-zero: stamps/build
|
|
$(MAKE) -f debian/rules jtreg-run-check VMNAME=zero VMARGS='-vmoption:-zero' \
|
|
TEST_SUITES='hotspot langtools jaxp'
|
|
touch $@
|
|
|
|
jtreg-run-check:
|
|
mkdir -p jtreg-test-output
|
|
ifneq (,$(filter $(VMNAME), $(with_jtreg_check)))
|
|
if [ ! -f $(builddir)/$(sdkimg)/conf/security/java.security.install ]; then \
|
|
fgrep -v 'sun.security.pkcs11' $(builddir)/$(sdkimg)/conf/security/java.security \
|
|
> $(builddir)/$(sdkimg)/conf/security/java.security.test; \
|
|
mv $(builddir)/$(sdkimg)/conf/security/java.security \
|
|
$(builddir)/$(sdkimg)/conf/security/java.security.install; \
|
|
mv $(builddir)/$(sdkimg)/conf/security/java.security.test \
|
|
$(builddir)/$(sdkimg)/conf/security/java.security; \
|
|
fi
|
|
|
|
@echo "BEGIN jtreg"
|
|
$(TIME) $(MAKE) -f debian/rules -k jtregcheck \
|
|
$(if $(TEST_SUITES),TEST_SUITES="$(TEST_SUITES)") \
|
|
JTREG_OPTIONS='$(VMARGS)' \
|
|
2>&1 | tee jtreg-test-output/jtreg_output-$(VMNAME)
|
|
@echo "END jtreg"
|
|
|
|
if [ -f $(builddir)/$(sdkimg)/conf/security/java.security.install ]; then \
|
|
mv $(builddir)/$(sdkimg)/conf/security/java.security.install \
|
|
$(builddir)/$(sdkimg)/conf/security/java.security; \
|
|
fi
|
|
|
|
for i in check-hotspot.log check-jaxp.log check-jdk.log check-langtools.log jtreg-summary.log; do \
|
|
if [ -f jtreg-test-output/$$i ]; then \
|
|
mv jtreg-test-output/$$i jtreg-test-output/$${i%*.log}-$(VMNAME).log; \
|
|
else \
|
|
mkdir -p jtreg-test-output; \
|
|
fi; \
|
|
done
|
|
|
|
@echo "BEGIN jtreg-summary-$(VMNAME)"
|
|
-cat jtreg-test-output/jtreg-summary-$(VMNAME).log
|
|
@echo "END jtreg-summary-$(VMNAME)"
|
|
|
|
-for i in hotspot langtools jaxp jdk; do \
|
|
find jtreg-test-output/$$i/JTwork/ -name '*.jtr'; \
|
|
done | sort -u > jtreg-test-output/failed_tests-$(VMNAME).list; \
|
|
GZIP=-9vn tar --ignore-failed-read -C . -c -z -f jtreg-test-output/failed_tests-$(VMNAME).tar.gz -T jtreg-test-output/failed_tests-$(VMNAME).list
|
|
GZIP=-9vn tar -C . -c -z -f jtreg-test-output/jtreport-$(VMNAME).tar.gz $$(find jtreg-test-output -name JTreport)
|
|
else
|
|
echo "jtreg harness not run for this build" > jtreg-test-output/jtreg_output-$(VMNAME)
|
|
endif
|
|
|
|
# ----------------------------------------------------------------------------
|
|
# jtreg targets taken from IcedTea
|
|
|
|
TESTS_TO_RUN = $(addprefix check-,$(TEST_SUITES))
|
|
|
|
check-hotspot: stamps/build
|
|
@echo '===== START $@ ====='
|
|
mkdir -p jtreg-test-output/hotspot
|
|
JTREG_OPTIONS=$(JTREG_OPTIONS) VMNAME=$(VMNAME) JDK_TO_TEST=$(builddir)/$(sdkimg) \
|
|
AUTOPKGTEST_TMP=/tmp/ AUTOPKGTEST_ARTIFACTS=jtreg-test-output/ \
|
|
$(TIME) debian/tests/hotspot | tee jtreg-test-output/$@.log
|
|
@echo '===== END $@ ====='
|
|
|
|
check-langtools: stamps/build
|
|
@echo '===== START $@ ====='
|
|
mkdir -p jtreg-test-output/langtools
|
|
JTREG_OPTIONS=$(JTREG_OPTIONS) VMNAME=$(VMNAME) JDK_TO_TEST=$(builddir)/$(sdkimg) \
|
|
AUTOPKGTEST_TMP=/tmp/ AUTOPKGTEST_ARTIFACTS=jtreg-test-output/ \
|
|
$(TIME) debian/tests/langtools | tee jtreg-test-output/$@.log
|
|
@echo '===== END $@ ====='
|
|
|
|
check-jaxp: stamps/build
|
|
@echo '===== START $@ ====='
|
|
mkdir -p jtreg-test-output/jaxp
|
|
JTREG_OPTIONS=$(JTREG_OPTIONS) VMNAME=$(VMNAME) JDK_TO_TEST=$(builddir)/$(sdkimg) \
|
|
AUTOPKGTEST_TMP=/tmp/ AUTOPKGTEST_ARTIFACTS=jtreg-test-output/ \
|
|
$(TIME) debian/tests/jaxp | tee jtreg-test-output/$@.log
|
|
@echo '===== END $@ ====='
|
|
|
|
check-jdk: stamps/build
|
|
@echo '===== START $@ ====='
|
|
mkdir -p jtreg-test-output/jdk
|
|
JTREG_OPTIONS=$(JTREG_OPTIONS) VMNAME=$(VMNAME) JDK_TO_TEST=$(builddir)/$(sdkimg) \
|
|
AUTOPKGTEST_TMP=/tmp/ AUTOPKGTEST_ARTIFACTS=jtreg-test-output/ \
|
|
$(TIME) debian/tests/jdk | tee jtreg-test-output/$@.log
|
|
@echo '===== END $@ ====='
|
|
|
|
jtregcheck: $(TESTS_TO_RUN)
|
|
for i in $(TEST_SUITES); do \
|
|
echo "--------------- jtreg console summary for $$i ---------------"; \
|
|
egrep -v '^(Passed:|Directory|Re[a-z]+\ written\ to)' jtreg-test-output/check-$$i.log; \
|
|
done | tee jtreg-test-output/jtreg-summary.log
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
clean: debian-clean
|
|
dh_testdir
|
|
dh_testroot
|
|
rm -rf stamps build build-* jtreg-test-output
|
|
rm -rf autom4te.cache
|
|
rm -f bin/{jtreg.tmwrc,my-jtreg-run,my-xvfb-run,auto*,ifnames}
|
|
rm -f buildwatch.pid
|
|
rm -f config.log configure.log
|
|
dh_clean
|
|
|
|
debian-clean:
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_prep
|
|
for f in debian/*.in; do \
|
|
f2=$$(echo $$f | sed 's/JB/$(basename)/;s/\.in$$//'); \
|
|
case "$$f2" in debian/control) continue; esac; \
|
|
rm -f $$f2; \
|
|
done
|
|
rm -f debian/*.install debian/*.links debian/*.debhelper.log
|
|
|
|
lib_ext_dirs = common $(sort $(foreach arch,$(arch_map),$(firstword $(subst =,$(SPACE),$(arch)))))
|
|
ifeq ($(derivative),Ubuntu)
|
|
lib_ext_dirs := $(filter-out arm hppa m68k mips% powerpcspe s390% sh%, $(lib_ext_dirs))
|
|
else
|
|
lib_ext_dirs := $(filter-out arm hppa, $(lib_ext_dirs))
|
|
endif
|
|
|
|
install: packaging-files
|
|
dh_testdir
|
|
dh_testroot
|
|
dh_prep || dh_clean -k
|
|
rm -f debian/*.install debian/*.links
|
|
dh_installdirs
|
|
|
|
@echo "all_jre_tools: $(all_jre_tools)"
|
|
@echo "jre_tools: $(jre_tools)"
|
|
@echo "jre_hl_tools: $(jre_hl_tools)"
|
|
@echo "all_jdk_tools: $(all_jdk_tools)"
|
|
@echo "jdk_tools: $(jdk_tools)"
|
|
|
|
: # install into temporary location
|
|
mkdir -p $(d)/$(basedir)
|
|
cp -a $(builddir)/$(sdkimg)/* $(d)/$(basedir)/
|
|
|
|
chmod -R u+w $(d)
|
|
|
|
: # use javaws from icedtea-netx
|
|
find $(d) -name 'javaws*' | xargs -r rm -f
|
|
|
|
: # install default jvm config file
|
|
ls -l $(d)/$(basedir)/lib
|
|
cp debian/jvm.cfg-default $(d)/$(basedir)/lib/.
|
|
|
|
: # compress manpages
|
|
find $(d)/$(basedir)/man -type f ! -type l | xargs gzip -9v -n
|
|
|
|
ifeq ($(with_debugedit),yes)
|
|
: # rewrite build-id
|
|
for i in $$(find $(d)/$(basedir) -type f | xargs -r file | sed -n '/ELF/s/:.*//p'); do \
|
|
debugedit --build-id --build-id-seed='$(build_id_seed)' $$i; \
|
|
done
|
|
endif
|
|
|
|
mkdir -p $(d)/$(etcdir)/security
|
|
mkdir -p $(d)/$(etcdir)/security/policy/limited
|
|
mkdir -p $(d)/$(etcdir)/security/policy/unlimited
|
|
mkdir -p $(d)/$(etcdir)/management
|
|
mkdir -p $(d)/$(etcdir)/jfr
|
|
|
|
ifeq (0,1)
|
|
: # rename templates (comments only) to config files,
|
|
: # and move to /$(etcdir)
|
|
for i in \
|
|
conf/management/jmxremote.password \
|
|
conf/management/snmp.acl; \
|
|
do \
|
|
mv $(d)/$(basedir)/$$i.template $(d)/$(etcdir)/$$i; \
|
|
done
|
|
else
|
|
: # FIXME: what to do about these?
|
|
for i in \
|
|
conf/management/jmxremote.password \
|
|
conf/management/snmp.acl; \
|
|
do \
|
|
rm -f $(d)/$(basedir)/$$i.template; \
|
|
done
|
|
endif
|
|
|
|
ifeq ($(with_bridge),atk)
|
|
# only add releases that are known to work with atk
|
|
# by default leave atk disabled
|
|
# ifneq (,$(filter $(distrel),))
|
|
# cp -p debian/accessibility-atk.properties.enabled \
|
|
$(d)/$(basedir)/conf/accessibility.properties
|
|
# else
|
|
cp -p debian/accessibility-atk.properties.disabled \
|
|
$(d)/$(basedir)/conf/accessibility.properties
|
|
# endif
|
|
else
|
|
cp -p debian/accessibility.properties $(d)/$(basedir)/conf/
|
|
endif
|
|
cp -p debian/swing.properties $(d)/$(basedir)/conf/
|
|
|
|
ifneq (,$(pkg_certs))
|
|
rm -f $(d)/$(basedir)/lib/security/cacerts
|
|
endif
|
|
|
|
: # FIXME: merge nss changes from IcedTea
|
|
cp debian/nss.cfg $(d)/$(basedir)/conf/security/nss.cfg
|
|
|
|
: # move config files to $(etcdir) and symlink them.
|
|
rm -f $(d_jrehl).links
|
|
for i in \
|
|
conf/accessibility.properties \
|
|
conf/logging.properties \
|
|
conf/sound.properties \
|
|
conf/net.properties \
|
|
lib/psfontj2d.properties \
|
|
lib/psfont.properties.ja \
|
|
lib/jfr/default.jfc \
|
|
lib/jfr/profile.jfc \
|
|
conf/swing.properties \
|
|
conf/management/jmxremote.access \
|
|
conf/management/management.properties \
|
|
conf/security/java.policy \
|
|
conf/security/java.security \
|
|
conf/security/policy/limited/default_local.policy \
|
|
conf/security/policy/limited/exempt_local.policy \
|
|
conf/security/policy/limited/default_US_export.policy \
|
|
conf/security/policy/unlimited/default_local.policy \
|
|
conf/security/policy/unlimited/default_US_export.policy \
|
|
conf/security/policy/README.txt \
|
|
$$([ -f $(d)/$(basedir)/conf/security/nss.cfg ] && echo conf/security/nss.cfg) \
|
|
$(if $(findstring ca-cert,$(pkg_certs)),,lib/security/cacerts) \
|
|
lib/security/default.policy \
|
|
lib/security/blacklisted.certs \
|
|
lib/security/blocked.certs \
|
|
lib/security/public_suffix_list.dat; \
|
|
do \
|
|
dest=$$(echo $$i | sed 's,^[^/]*/,,'); \
|
|
mv $(d)/$(basedir)/$$i $(d)/$(etcdir)/$$dest; \
|
|
echo "$(etcdir)/$$dest $(basedir)/$$i" >> $(d_jrehl).links; \
|
|
done
|
|
mv $(d)/$(basedir)/lib/jvm.cfg \
|
|
$(d)/$(etcdir)/
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), $(hotspot_archs)))
|
|
printf -- '-zero KNOWN\n' >> $(d)/$(etcdir)/jvm.cfg
|
|
else
|
|
printf -- '-zero ALIASED_TO -server\n' >> $(d)/$(etcdir)/jvm.cfg
|
|
endif
|
|
ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386))
|
|
printf -- '-dcevm KNOWN\n' >> $(d)/$(etcdir)/jvm.cfg
|
|
endif
|
|
|
|
: # remove files which we do not want to distribute
|
|
|
|
: # remove empty directories
|
|
|
|
: # FIXME: fix, move and install tapset files
|
|
rm -rf $(d)/$(basedir)/tapset
|
|
|
|
: # TODO: why do we provide a custom font.properties.ja?
|
|
: # cp -p debian/font.properties.ja $(d_jbin)/$(etcdir)/.
|
|
# cp debian/font.properties.wqy_zenhai \
|
|
# $(d)/$(etcdir)/font.properties.ja
|
|
|
|
|
|
: # now move things to the packages. it is so ****** to create
|
|
: # .install files first. dh_movefiles did do the job perfectly
|
|
|
|
: # $(p_jrehl).install / $(p_jre).install
|
|
( \
|
|
echo 'etc'; \
|
|
echo '$(basedir)/lib/server'; \
|
|
echo '$(basedir)/lib/jvm.cfg-default'; \
|
|
echo '$(basedir)/lib/jli/libjli.so'; \
|
|
echo '$(basedir)/lib/ct.sym'; \
|
|
echo '$(basedir)/lib/jexec'; \
|
|
echo '$(basedir)/lib/jspawnhelper'; \
|
|
echo '$(basedir)/lib/jrt-fs.jar'; \
|
|
echo '$(basedir)/release'; \
|
|
echo '$(basedir)/lib/tzdb.dat'; \
|
|
if [ "$(default_vm)" = hotspot ]; then \
|
|
echo '$(basedir)/lib/classlist'; \
|
|
fi; \
|
|
echo '$(basedir)/lib/modules'; \
|
|
) > debian/$(p_jrehl).install
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),i386))
|
|
ifneq (,$(findstring --with-jvm-variants=client,$(DEFAULT_CONFIGURE_ARGS)))
|
|
echo '$(basedir)/lib/client' >> debian/$(p_jrehl).install
|
|
endif
|
|
endif
|
|
ifeq ($(derivative),Ubuntu)
|
|
( \
|
|
echo 'usr/share/apport/package-hooks'; \
|
|
) >> debian/$(p_jrehl).install
|
|
endif
|
|
|
|
$(RM) debian/$(p_jre).install
|
|
|
|
: # jre binaries and man pages
|
|
for i in $(jre_hl_tools); do \
|
|
case "$$i" in \
|
|
*policytool*) p=debian/$(p_jre).install;; \
|
|
*) p=debian/$(p_jrehl).install; \
|
|
esac; \
|
|
echo $(basedir)/bin/$$i >> $$p; \
|
|
if [ -f $(d)/$(basedir)/man/man1/$$i.1.gz ]; then \
|
|
echo $(basedir)/man/man1/$$i.1.gz >> $$p; \
|
|
fi; \
|
|
if [ -f $(d)/$(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz ]; then \
|
|
echo $(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz >> $$p; \
|
|
fi; \
|
|
done
|
|
|
|
cd $(CURDIR)/$(d); \
|
|
for i in $(basedir)/lib/*.so; do \
|
|
case "$$i" in \
|
|
*/libawt_xawt.so|*/libjawt.so|*/libsplashscreen.so|*/xawt) echo $$i >> ../$(p_jre).install;; \
|
|
*/zero) echo $$i >> ../$(p_jrez).install;; \
|
|
*) echo $$i >> ../$(p_jrehl).install; \
|
|
esac; \
|
|
done
|
|
|
|
@echo XXXXX $(alternate_vms)
|
|
ifneq (,$(filter zero, $(alternate_vms)))
|
|
echo '$(basedir)/lib/zero' >> debian/$(p_jrez).install
|
|
endif
|
|
|
|
: # $(p_jrehl).install
|
|
( \
|
|
echo '$(basedir)/legal'; \
|
|
echo '$(basedir)/man/ja'; \
|
|
) >> debian/$(p_jrehl).install
|
|
|
|
: # $(p_jdkhl).install
|
|
( \
|
|
for i in $(jdk_hl_tools); do \
|
|
echo $(basedir)/bin/$$i; \
|
|
if [ -f $(d)/$(basedir)/man/man1/$$i.1.gz ]; then \
|
|
echo $(basedir)/man/man1/$$i.1.gz; \
|
|
fi; \
|
|
if [ -f $(d)/$(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz ]; then \
|
|
echo $(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz; \
|
|
fi; \
|
|
done; \
|
|
cd $(d); \
|
|
for i in $(basedir)/include/*.h; do \
|
|
case $$i in */jawt.h|*/jawt_md.h) continue; esac; \
|
|
[ -h $$i ] && continue; \
|
|
echo $$i; \
|
|
done; \
|
|
echo '$(basedir)/include/*/jni_md.h'; \
|
|
echo '$(basedir)/jmods'; \
|
|
) > debian/$(p_jdkhl).install
|
|
|
|
: # $(p_jdk).install
|
|
( \
|
|
echo '$(basedir)/include/jawt.h'; \
|
|
echo '$(basedir)/include/*/jawt_md.h'; \
|
|
for i in $(jdk_tools); do \
|
|
echo $(basedir)/bin/$$i; \
|
|
if [ -f $(d)/$(basedir)/man/man1/$$i.1.gz ]; then \
|
|
echo $(basedir)/man/man1/$$i.1.gz; \
|
|
fi; \
|
|
if [ -f $(d)/$(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz ]; then \
|
|
echo $(basedir)/man/ja_JP.UTF-8/man1/$$i.1.gz; \
|
|
fi; \
|
|
done; \
|
|
) > debian/$(p_jdk).install
|
|
|
|
: # $(p_src).install
|
|
( \
|
|
echo '$(basedir)/lib/src.zip $(TOP)/$(basename)/lib'; \
|
|
) > debian/$(p_src).install
|
|
|
|
: # copy apport hook
|
|
ifeq ($(derivative),Ubuntu)
|
|
mkdir -p $(d)/usr/share/apport/package-hooks/
|
|
cp debian/apport-hook.py $(d)/usr/share/apport/package-hooks/source_$(PKGSOURCE).py
|
|
endif
|
|
|
|
: # move demos and samples, create symlinks for $(p_demo)
|
|
mkdir -p $(d)/usr/share/doc/$(p_jrehl)/demo
|
|
for i in $(d)/$(basedir)/demo/*; do \
|
|
b=$$(basename $$i); \
|
|
case "$$i" in \
|
|
*/jvmti) \
|
|
echo $(basedir)/demo/$$b usr/share/doc/$(p_jrehl)/demo/$$b >> $(d_demo).links;; \
|
|
*) \
|
|
mv $$i $(d)/usr/share/doc/$(p_jrehl)/demo/$$b; \
|
|
echo usr/share/doc/$(p_jrehl)/demo/$$b $(basedir)/demo/$$b >> $(d_demo).links;; \
|
|
esac; \
|
|
done
|
|
echo usr/share/doc/$(p_jre) usr/share/doc/$(p_demo) >> $(d_demo).links
|
|
|
|
: # $(p_demo).install
|
|
( \
|
|
echo '$(basedir)/demo'; \
|
|
echo 'usr/share/doc/$(p_jrehl)/demo'; \
|
|
) > debian/$(p_demo).install
|
|
|
|
: # $(p_dbg).install
|
|
ifneq (,$(wildcard $(builddir)/$(sdkimg)/lib/*.diz))
|
|
( \
|
|
echo '$(basedir)/lib/*.diz'; \
|
|
echo '$(basedir)/lib/*/*.diz'; \
|
|
) > debian/$(p_dbg).install
|
|
endif
|
|
ifneq (,$(wildcard $(builddir)/$(sdkimg)/lib/*.debuginfo))
|
|
( \
|
|
echo '$(basedir)/lib/*.debuginfo'; \
|
|
echo '$(basedir)/lib/*/*.debuginfo'; \
|
|
) > debian/$(p_dbg).install
|
|
endif
|
|
|
|
dh_install --sourcedir=debian/tmp -XLICENSE
|
|
ifeq (,$(findstring old, $(old_debhelper)))
|
|
dh_missing --sourcedir=debian/tmp --fail-missing -XLICENSE
|
|
endif
|
|
|
|
find $(d_jrehl) $(d_jre) $(d_jrez) \
|
|
\( -name '*.debuginfo' -o -name '*.diz' \) -print | xargs -r rm -f
|
|
|
|
ifeq (0,1)
|
|
# FIXME: ext no longer supported
|
|
: # give all permissions to cross-VM extension directory
|
|
sed -i \
|
|
-e '/permission java\.security\.AllPermission;/,/};/c\' \
|
|
-e ' permission java.security.AllPermission;\' \
|
|
-e '};\' \
|
|
-e '\' \
|
|
$(if $(DEB_HOST_MULTIARCH),$(foreach i, $(lib_ext_dirs), \
|
|
-e 'grant codeBase "file:/$(TOP)/java-$(shortver)-$(origin)-$(i)/lib/ext/*" {\' \
|
|
-e ' permission java.security.AllPermission;\' \
|
|
-e '};\')) \
|
|
-e '\' \
|
|
-e '// Comment this out if you want to give all permissions to the\' \
|
|
-e '// Debian Java repository too:\' \
|
|
-e '//grant codeBase "file:/usr/share/java/repository/-" {\' \
|
|
-e '// permission java.security.AllPermission;\' \
|
|
-e '//};\' \
|
|
-e '' \
|
|
$(d_jrehl)/$(security)/java.policy
|
|
# 'make Emacs Makefile mode happy
|
|
endif
|
|
|
|
dh_installdirs -p$(p_jrehl) \
|
|
usr/share/doc/$(p_jrehl) \
|
|
usr/share/binfmts
|
|
|
|
dh_installdirs -p$(p_jre) \
|
|
usr/share/applications \
|
|
usr/share/application-registry \
|
|
usr/share/mime-info \
|
|
usr/share/pixmaps
|
|
|
|
: # add GNOME stuff
|
|
ifneq (,$(findstring cautious-launcher, $(java_launcher)))
|
|
cp -p debian/$(basename)-java.desktop \
|
|
$(d_jre)/usr/share/applications/
|
|
endif
|
|
|
|
for i in archive; do \
|
|
cp debian/$(basename)-$$i.applications \
|
|
$(d_jre)/usr/share/application-registry/; \
|
|
cp debian/$(basename)-$$i.keys $(d_jre)/usr/share/mime-info/; \
|
|
cp debian/$(basename)-$$i.mime $(d_jre)/usr/share/mime-info/; \
|
|
done
|
|
|
|
cp -p debian/sun_java.xpm \
|
|
$(d_jre)/usr/share/pixmaps/$(basename).xpm
|
|
|
|
mkdir -p $(d_demo)/usr/share/pixmaps
|
|
cp -p debian/sun_java_app.xpm \
|
|
$(d_demo)/usr/share/pixmaps/$(basename)-app.xpm
|
|
|
|
: # install icons
|
|
for i in 16 24 32 48; do \
|
|
install -D -m 644 -p src/java.desktop/unix/classes/sun/awt/X11/java-icon$${i}.png \
|
|
$(d_jre)/usr/share/icons/hicolor/$${i}x$${i}/apps/$(basename).png; \
|
|
done
|
|
|
|
: # create docdir symlinks for $(p_jrehl)
|
|
( \
|
|
echo usr/share/doc/$(p_jrehl) $(basedir)/docs; \
|
|
) >> $(d_jrehl).links
|
|
|
|
: # create docdir symlinks for $(p_jre)
|
|
( \
|
|
echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jre); \
|
|
) > $(d_jre).links
|
|
|
|
ifneq (,$(filter zero, $(alternate_vms)))
|
|
: # create docdir symlinks for $(p_jrez)
|
|
( \
|
|
echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jrez); \
|
|
) > $(d_jrez).links
|
|
endif
|
|
|
|
: # create docdir symlinks for $(p_src)
|
|
( \
|
|
echo usr/share/doc/$(p_jdk) usr/share/doc/$(p_src); \
|
|
) > $(d_src).links
|
|
|
|
: # create docdir symlinks for $(p_jdkhl)
|
|
( \
|
|
echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_jdkhl); \
|
|
) > $(d_jdkhl).links
|
|
|
|
: # create docdir symlinks for $(p_jdk)
|
|
( \
|
|
echo usr/share/doc/$(p_jre) usr/share/doc/$(p_jdk); \
|
|
echo $(TOP)/$(basename)/lib/src.zip $(TOP)/$(basename)/src.zip; \
|
|
) > $(d_jdk).links
|
|
# doesn't work, no package dependency
|
|
ifneq (,$(DEB_HOST_MULTIARCH))
|
|
echo '$(TOP)/$(basename)/src.zip $(basedir)/lib/src.zip' >> $(d_jdkhl).links
|
|
echo '$(TOP)/$(basename)/lib/src.zip $(basedir)/lib/src.zip' >> $(d_jdkhl).links
|
|
endif
|
|
|
|
: # create docdir symlinks for $(p_dbg)
|
|
( \
|
|
echo usr/share/doc/$(p_jrehl) usr/share/doc/$(p_dbg); \
|
|
) > $(d_dbg).links
|
|
|
|
: # OpenJDK Stack Unwinder and Frame Decorator
|
|
ifneq (,$(filter $(DEB_HOST_ARCH),amd64))
|
|
mkdir -p $(d_jrehl)/usr/share/gdb/auto-load/$(basedir)/jre/lib/server
|
|
cp debian/dbg.py \
|
|
$(d_jrehl)/usr/share/gdb/auto-load/$(basedir)/jre/lib/server/libjvm.so-gdb.py
|
|
ifneq (,$(filter zero, $(alternate_vms)))
|
|
mkdir -p $(d_jrez)/usr/share/gdb/auto-load/$(basedir)/jre/lib/zero
|
|
ln -sf ../server/libjvm.so-gdb.py \
|
|
$(d_jrez)/usr/share/gdb/auto-load/$(basedir)/jre/lib/zero/libjvm.so
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(with_bridge),atk)
|
|
: # create links for the atk wrapper
|
|
ifeq (0,1)
|
|
# FIXME: ext no longer supported
|
|
echo "usr/share/java/java-atk-wrapper.jar $(basedir)/lib/ext/java-atk-wrapper.jar" \
|
|
>> $(d_jre).links
|
|
endif
|
|
echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/libatk-wrapper.so" \
|
|
>> $(d_jre).links
|
|
else ifeq ($(with_bridge),yes)
|
|
ifeq (0,1)
|
|
# FIXME: ext no longer supported
|
|
: # create links for the gnome accessibility bridge
|
|
echo "usr/share/java/gnome-java-bridge.jar $(basedir)/lib/ext/gnome-java-bridge.jar" \
|
|
>> $(d_jre).links
|
|
ifeq ($(with_jni_bridge),yes)
|
|
echo "usr/lib$(multiarch_dir)/jni/libjava-access-bridge-jni.so $(basedir)/lib/libjava-access-bridge-jni.so" \
|
|
>> $(d_jre).links
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
: # create links for the config/lib files
|
|
# note: $(d_jrehl).links already created when moving files to the etcdir
|
|
ifneq (,$(DEB_HOST_MULTIARCH))
|
|
mv $(d_jrehl)/$(etcdir)/jvm.cfg \
|
|
$(d_jrehl)/$(etcdir)/jvm-$(DEB_HOST_ARCH).cfg
|
|
( \
|
|
echo "$(etcdir)/jvm-$(DEB_HOST_ARCH).cfg $(basedir)/lib/jvm.cfg"; \
|
|
) >> $(d_jrehl).links
|
|
else
|
|
( \
|
|
echo "$(etcdir)/jvm.cfg $(basedir)/lib/jvm.cfg"; \
|
|
) >> $(d_jrehl).links
|
|
endif
|
|
ifneq (,$(pkg_certs))
|
|
echo "etc/ssl/certs/java/cacerts $(basedir)/lib/security/cacerts" \
|
|
>> $(d_jrehl).links
|
|
endif
|
|
|
|
@echo JRE_HL_TOOLS: $(jre_hl_tools) jexec
|
|
@echo JRE_TOOLS: $(jre_tools)
|
|
@echo JDK_HL_TOOLS: $(jdk_hl_tools)
|
|
@echo JDK_TOOLS: $(jdk_tools)
|
|
( \
|
|
echo 'name=$(jdirname)'; \
|
|
echo 'alias=$(jdiralias)'; \
|
|
echo 'priority=$(priority)'; \
|
|
echo 'section=main'; \
|
|
echo ''; \
|
|
for i in $(jre_hl_tools); do \
|
|
echo "hl $$i /$(basedir)/bin/$$i"; \
|
|
done; \
|
|
echo "hl jexec /$(basedir)/lib/jexec"; \
|
|
for i in $(jre_tools); do \
|
|
echo "jre $$i /$(basedir)/bin/$$i"; \
|
|
done; \
|
|
for i in $(jdk_hl_tools); do \
|
|
echo "jdkhl $$i /$(basedir)/bin/$$i"; \
|
|
done; \
|
|
for i in $(jdk_tools); do \
|
|
echo "jdk $$i /$(basedir)/bin/$$i"; \
|
|
done; \
|
|
) > $(d_jrehl)/$(TOP)/.$(jdiralias).jinfo
|
|
|
|
( \
|
|
echo 'package $(basename)'; \
|
|
echo 'interpreter /usr/bin/jexec'; \
|
|
echo 'magic PK\x03\x04'; \
|
|
) > $(d_jrehl)/$(basedir)/lib/jar.binfmt
|
|
|
|
: # another jvm symlink
|
|
ln -sf $(jdirname) $(d_jrehl)/usr/lib/jvm/$(jdiralias)
|
|
: # the debug link only needed for debhelper << 9
|
|
mkdir -p $(d_jrehl)/usr/lib/debug/usr/lib/jvm/$(jdirname)
|
|
ln -sf $(jdirname) $(d_jrehl)/usr/lib/debug/usr/lib/jvm/$(jdiralias)
|
|
|
|
ifeq ($(with_systemtap),yes FIXME)
|
|
: # systemtap support
|
|
mkdir -p $(d_jrehl)/usr/share/systemtap/tapset
|
|
cp -p build/tapset/hotspot.stp $(d_jrehl)/usr/share/systemtap/tapset/
|
|
endif
|
|
|
|
: # install lintian overrides
|
|
for FILE in debian/*.overrides; do \
|
|
PKG=`basename $$FILE .overrides`; \
|
|
install -D -m644 $$FILE debian/$$PKG/usr/share/lintian/overrides/$$PKG; \
|
|
done
|
|
|
|
nodocs = $(if $(findstring nodoc, $(DEB_BUILD_OPTIONS)),-N$(p_doc))
|
|
nojrez = $(if $(filter zero, $(alternate_vms)),,-N$(p_jrez))
|
|
|
|
# Build architecture independant packages
|
|
binary-indep: build-indep install
|
|
dh_testdir
|
|
dh_testroot
|
|
ifeq ($(with_docs),yes)
|
|
dh_installchangelogs -p$(p_doc)
|
|
dh_installdocs -p$(p_doc)
|
|
mkdir -p $(d_doc)/usr/share/doc/$(p_jrehl)
|
|
for i in $(builddir)/images/docs/*; do \
|
|
[ -e $$i ] || continue; \
|
|
b=$$(basename $$i); \
|
|
cp -a $$i $(d_doc)/usr/share/doc/$(p_jrehl)/; \
|
|
ln -sf ../$(p_jrehl)/$$b $(d_doc)/usr/share/doc/$(p_doc)/$$b; \
|
|
done
|
|
endif
|
|
# FIXME: desktop and menu files not ready for multiarch. #658321
|
|
ifeq (,$(DEB_HOST_MULTIARCH))
|
|
dh_installmenu -i $(nodocs)
|
|
endif
|
|
-dh_icons -i $(nodocs) || dh_iconcache -i $(nodocs)
|
|
# dh_installdebconf -i $(nodocs)
|
|
dh_link -i $(nodocs)
|
|
set -e; if which dh_strip_nondeterminism >/dev/null; then \
|
|
dh_strip_nondeterminism -i $(nodocs); \
|
|
fi
|
|
dh_compress -i $(nodocs) -Xexamples -Xdemo -Xpackage-list -Xelement-list
|
|
dh_fixperms -i $(nodocs)
|
|
dh_installdeb -i $(nodocs)
|
|
dh_gencontrol -i $(nodocs) -- $(control_vars)
|
|
dh_md5sums -i $(nodocs)
|
|
dh_builddeb -i $(nodocs) $(bd_options)
|
|
|
|
absarchdir = $(CURDIR)/$(d_jrehl)/$(basedir)/lib
|
|
shlibdeps_ld_path =$(absarchdir):$(absarchdir)/client:$(absarchdir)/server:$(absarchdir)/native_threads
|
|
|
|
# pass vm name as first argument
|
|
define install_test_results
|
|
mkdir -p $(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)
|
|
-cp jtreg-test-output/jtreg_output-$(1) \
|
|
$(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/jtreg_output-$(1).log
|
|
-cp jtreg-test-output/jtreg-summary-$(1).log jtreg-test-output/check-*-$(1).log \
|
|
$(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/
|
|
-cp jtreg-test-output/failed_tests-$(1).tar.gz \
|
|
$(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/failed_tests-$(1).tar.gz
|
|
-cp jtreg-test-output/jtreport-$(1).tar.gz \
|
|
$(d_jdk)/usr/share/doc/$(p_jrehl)/test-$(DEB_HOST_ARCH)/jtreport-$(1).tar.gz
|
|
endef
|
|
|
|
# Build architecture dependant packages
|
|
binary-arch: build install
|
|
dh_testdir
|
|
dh_testroot
|
|
|
|
dh_installchangelogs -p$(p_jrehl)
|
|
dh_installdocs -p$(p_jrehl) \
|
|
debian/JAVA_HOME \
|
|
debian/README.alternatives \
|
|
debian/README.Debian
|
|
ifeq (0,1)
|
|
# FIXME: IcedTea specific bits
|
|
for i in AUTHORS NEWS README; do \
|
|
cp -p $$i $(d_jrehl)/usr/share/doc/$(p_jrehl)/$$i.IcedTea; \
|
|
done
|
|
endif
|
|
$(call install_test_results,$(default_vm))
|
|
|
|
ifneq (,$(filter zero, $(alternate_vms)))
|
|
$(call install_test_results,zero)
|
|
endif
|
|
# FIXME: desktop and menu files not ready for multiarch. #658321
|
|
ifeq (,$(DEB_HOST_MULTIARCH))
|
|
dh_installmenu -a $(nodemo) $(nojrez)
|
|
endif
|
|
-dh_icons -a $(nodemo) $(nojrez) \
|
|
|| dh_iconcache -a $(nodemo) $(nojrez)
|
|
# dh_installdebconf -a $(nodemo) $(nojrez)
|
|
dh_link -a $(nodemo) $(nojrez)
|
|
set -e; if which dh_strip_nondeterminism >/dev/null; then \
|
|
dh_strip_nondeterminism -a $(nodemo) $(nojrez); \
|
|
fi
|
|
dh_strip -a $(nodemo) $(nojrez) \
|
|
-Xlibjvm.so -X.debuginfo --dbg-package=$(p_dbg)
|
|
|
|
ifeq (,$(findstring nostrip, $(DEB_BUILD_OPTIONS)))
|
|
set -ex; \
|
|
for i in {$(d_jrehl),$(d_jre),$(d_jrez)}/$(basedir)/lib/*/libjvm.so; do \
|
|
[ -f $$i ] || continue; \
|
|
b_id=$$(LC_ALL=C readelf -n $$i | sed -n 's/ *Build ID: *\([0-9a-f][0-9a-f]*\)/\1/p'); \
|
|
if [ -z "$$b_id" ]; then \
|
|
id=$$(echo $$i | sed -r 's,debian/[^/]+,$(d_dbg)/usr/lib/debug,'); \
|
|
echo strip $$i; \
|
|
mkdir -p $$(dirname $$id); \
|
|
$(OBJCOPY) --only-keep-debug $$i $$id; \
|
|
chmod 644 $$id; \
|
|
$(STRIP) --remove-section=.comment --remove-section=.note \
|
|
--strip-debug $$i; \
|
|
$(OBJCOPY) --add-gnu-debuglink $$id $$i; \
|
|
else \
|
|
d=usr/lib/debug/.build-id/$${b_id:0:2}; \
|
|
f=$${b_id:2}.debug; \
|
|
mkdir -p $(d_dbg)/$$d; \
|
|
$(OBJCOPY) --only-keep-debug --compress-debug-sections $$i $(d_dbg)/$$d/$$f; \
|
|
chmod 644 $(d_dbg)/$$d/$$f; \
|
|
$(STRIP) --remove-section=.comment --remove-section=.note $$i; \
|
|
fi; \
|
|
done
|
|
endif
|
|
dh_compress -a $(nodemo) $(nojrez) -Xexamples -Xdemo -Xpackage-list
|
|
dh_fixperms -a $(nodemo) $(nojrez)
|
|
dh_makeshlibs -p$(p_jrehl) -p$(p_jre)
|
|
dh_shlibdeps -a $(nodemo) $(nojrez) -L $(p_jrehl) \
|
|
-l$(shlibdeps_ld_path) \
|
|
--
|
|
find $(d_jrehl) $(d_jre) $(d_jrez) -type f -name '*.debuginfo'
|
|
dh_installdeb -a $(nodemo) $(nojrez)
|
|
dh_gencontrol -a $(nodemo) $(nojrez) \
|
|
-- $(control_vars)
|
|
dh_md5sums -a $(nodemo) $(nojrez)
|
|
: # FIXME: something seems to hang here ...
|
|
-ps afx
|
|
NO_PKG_MANGLE=1 \
|
|
dh_builddeb -a $(nodemo) $(nojrez) #$(bd_options)
|
|
|
|
is_release = yes
|
|
git_project = jdk11u
|
|
git_tag = jdk-11.0.16+8
|
|
package_version = $(subst jdk-,,$(git_tag))
|
|
package_version = $(shell echo $(PKGVERSION) | sed 's/-[^-][^-]*$$//')
|
|
ifneq ($(is_release),yes)
|
|
package_version := $(subst +,~,$(package_version))
|
|
endif
|
|
git_url = https://github.com/openjdk/$(git_project)
|
|
origdir = ../$(basename)-$(package_version).orig
|
|
topdir = $(basename)-$(package_version)
|
|
get-orig:
|
|
mkdir $(origdir)
|
|
wget -O $(origdir)/jdk.tar.gz $(git_url)/archive/$(git_tag).tar.gz
|
|
|
|
set -ex; \
|
|
repo=jdk; \
|
|
d=$$(tar tf $(origdir)/$$repo.tar.gz | head -1 | sed 's,/.*,,'); \
|
|
tar xf $(origdir)/$$repo.tar.gz; \
|
|
chmod 755 $$d/configure; \
|
|
case $$repo in jdk) \
|
|
rm -v -rf $$d/src/java.base/share/native/libzip/zlib; \
|
|
find $$d/src/java.desktop/share/native/libjavajpeg \
|
|
! -name imageioJPEG.c ! -name jpegdecoder.c ! -name jinclude.h \
|
|
-type f -print -delete; \
|
|
rm -v -rf $$d/src/java.desktop/share/native/libsplashscreen/giflib; \
|
|
rm -v -rf $$d/src/java.desktop/share/native/libsplashscreen/libpng; \
|
|
rm -v -f $$d/src/java.desktop/share/native/liblcms/cms*.c; \
|
|
rm -v -f $$d/src/java.desktop/share/native/liblcms/lcms2*.h; \
|
|
rm -v -rf $$d/src/java.smartcardio/unix/native/libj2pcsc/MUSCLE; \
|
|
rm -v -rf $$d/.github; \
|
|
rm -v -f $$d/.gitattributes; \
|
|
esac; \
|
|
mv $$d $(topdir); \
|
|
tar cfJ ../$(basename)_$(package_version).orig.tar.xz $(topdir); \
|
|
rm -rf $(topdir)
|
|
|
|
rm -rf $(origdir)
|
|
|
|
binary: binary-arch binary-indep
|
|
.PHONY: build build-arch build-indep clean binary-indep binary-arch binary install packaging-files
|