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
|
#!/usr/bin/make -f
export JAVA_HOME=/usr/lib/jvm/default-java
# See #830455 and #814875 for more background information
include /usr/share/java/java_defaults.mk
CPPFLAGS += ${jvm_includes}
#package names
pkg-platform := platform18
pkg-lib-platform := libnb-$(pkg-platform)
libnb-platform-java := $(pkg-lib-platform)-java
libnb-platform-java-doc := $(pkg-lib-platform)-java-doc
libnb-platform-devel-java := libnb-platform-devel-java
# Included clusters
base-platform := $(pkg-platform)
NBDIR := /usr/share/netbeans
export JAVADIR := /usr/share/java
JH_JAR := jhall.jar
JSEARCH_JAR := jsearch.jar
NB_JH_JAR := jhall-2.0_05.jar
NB_JSEARCH_JAR := jsearch-2.0_05.jar
JAVADOC_WEBSITE := http://bits.netbeans.org/8.1/javadoc
NB_INSTALL_DIR := usr/share/netbeans
EXT_JAR_LINK_DIR := $(NB_INSTALL_DIR)/$(pkg-platform)/modules/ext/
LIB_DIR := $(NB_INSTALL_DIR)/$(pkg-platform)/lib/
INSTALL := dh_install -p
LINK := dh_link -p
NB_PLATFORM_BUILD_DIR := $(shell pwd)/nbbuild/netbeans/platform
DEB_UPSTREAM_VERSION = $(shell dpkg-parsechangelog | grep -e '^Version' | \
perl -pi -e 's/^Version:\s+(.*)\+dfsg\d+-\d+.*$$/$$1/')
BUILDSTAMP := $(shell date --utc --date="`dpkg-parsechangelog -SDate`" "+%Y%m%d")
# Defined function to be used to create symlinks
define symlink
mkdir -p $(dir $(2))
ln -sf $(1) $(2)
endef
%:
dh $@ --parallel --with javahelper
override_dh_auto_build:
# w3c-sgml-lib: needed for xml validation, otherwise FTBFS
mkdir -p nbbuild/external/xhtml1-dtds
ln -sf /usr/share/xml/w3c-sgml-lib/schema/dtd/REC-xhtml1-20020801/xhtml* nbbuild/external/xhtml1-dtds
ln -sf /usr/share/xml/w3c-sgml-lib/schema/dtd/REC-xhtml-modularization-20100729/xhtml* nbbuild/external/xhtml1-dtds
# link Debian's system jars
$(shell awk 'NF==4 {printf("ln -sf %s %s/%s;\n",$$1,$$2,$$4)}' debian/linked-jars)
################################################################
# Build the Windows launcher
mkdir -p nbbuild/netbeans/platform/lib
cd o.n.bootstrap/launcher/windows && LDFLAGS="" CONF="nbexec" make -e
cd o.n.bootstrap/launcher/windows && LDFLAGS="" CONF="nbexec64" make -e
cd apisupport.harness/windows-launcher-src && LDFLAGS="" CONF="app.exe" make -e
cd apisupport.harness/windows-launcher-src && LDFLAGS="" CONF="app64.exe" make -e
################################################################
# Build the platform. DISPLAY must be unset to avoid build failures.
unset DISPLAY; ant \
-Dbuildstamp=$(BUILDSTAMP) \
-Dhg.id=debian-$(DEB_UPSTREAM_VERSION) \
-Dpermit.jdk8.builds=true \
-Dbuild.compiler.deprecation=false \
-Dbuild.compiler.debug=false \
-Dext.binaries.downloaded=true \
-Dverify.checkout=false \
-f nbbuild/build.xml build-platform
################################################################
# Build javadoc package
# Fix privacy breach logo and generic first
grep -rl "netbeans.org/favicon.ico" nbbuild/javadoctools/ | xargs sed -i \
's|href="http://www.netbeans.org/favicon.ico"||g'
grep -rl "NetBeansPlatformForBeginners.jpg" openide*/ | xargs sed -i \
's|http://wiki.apidesign.org/images/0/03/NetBeansPlatformForBeginners.jpg||g'
ant \
-Dpermit.jdk8.builds=true \
-Dbuild.compiler.deprecation=false \
-Dbuild.compiler.debug=false \
-Dverify.checkout=false \
-Dallmodules= \
-Dcluster.config=platform \
-Djavadoc.docs.org-netbeans-api-java=$(JAVADOC_WEBSITE)/org-netbeans-api-java/ \
-Djavadoc.docs.org-netbeans-modules-project-ant=$(JAVADOC_WEBSITE)/org-netbeans-modules-project-ant/ \
-Djavadoc.docs.org-netbeans-modules-projectapi=$(JAVADOC_WEBSITE)/org-netbeans-modules-projectapi/ \
-f nbbuild/build.xml build-javadoc
# remove the zip files - we only want the extracted files
$(RM) nbbuild/build/javadoc/*.zip
rdfind -outputname /dev/null -makesymlinks true nbbuild/build/javadoc
symlinks -rsc nbbuild/build/javadoc
override_dh_auto_install:
# recreate links
$(shell awk 'NF==4 {printf("ln -sf %s nbbuild/netbeans/%s/%s;\n",$$1,$$3,$$4)}' debian/linked-jars)
# Install libraries
mh_installjar -plibnb-org-openide-util-java -l debian/pom/openide-util.xml \
nbbuild/netbeans/platform/lib/org-openide-util.jar
mh_installpom -plibnb-org-openide-util-java debian/pom/openide-util.xml
mh_installjar -plibnb-org-openide-util-java -l debian/pom/openide-util-ui.xml \
nbbuild/netbeans/platform/lib/org-openide-util-ui.jar
mh_installpom -plibnb-org-openide-util-java debian/pom/openide-util-ui.xml
mh_installjar -plibnb-org-openide-util-lookup-java -l debian/pom/openide-util-lookup.xml \
nbbuild/netbeans/platform/lib/org-openide-util-lookup.jar
mh_installpom -plibnb-org-openide-util-lookup-java debian/pom/openide-util-lookup.xml
mh_installjar -plibnb-org-openide-modules-java -l debian/pom/openide-modules.xml \
nbbuild/netbeans/platform/lib/org-openide-modules.jar
mh_installpom -plibnb-org-openide-modules-java debian/pom/openide-modules.xml
#
# Install Platform
echo > nbbuild/netbeans/platform/.noautoupdate
echo > nbbuild/netbeans/platform/.lastModified
$(INSTALL)$(libnb-platform-java) nbbuild/netbeans/platform/* $(NB_INSTALL_DIR)/$(pkg-platform)
$(INSTALL)$(libnb-platform-java) nbbuild/netbeans/platform/.noautoupdate $(NB_INSTALL_DIR)/$(pkg-platform)
$(INSTALL)$(libnb-platform-java) nbbuild/netbeans/platform/.lastModified $(NB_INSTALL_DIR)/$(pkg-platform)
$(LINK)$(libnb-platform-java) $(JAVADIR)/org-openide-util.jar $(LIB_DIR)/org-openide-util.jar
$(LINK)$(libnb-platform-java) $(JAVADIR)/org-openide-util-ui.jar $(LIB_DIR)/org-openide-util-ui.jar
$(LINK)$(libnb-platform-java) $(JAVADIR)/org-openide-util-lookup.jar $(LIB_DIR)/org-openide-util-lookup.jar
$(LINK)$(libnb-platform-java) $(JAVADIR)/org-openide-modules.jar $(LIB_DIR)/org-openide-modules.jar
#
# Install devel package
rm -f nbbuild/netbeans/harness/antlib/$(NB_JSEARCH_JAR)
echo > nbbuild/netbeans/harness/.noautoupdate
echo > nbbuild/netbeans/harness/.lastModified
$(INSTALL)$(libnb-platform-devel-java) nbbuild/netbeans/harness/* $(NB_INSTALL_DIR)/harness
$(INSTALL)$(libnb-platform-devel-java) nbbuild/netbeans/harness/.noautoupdate $(NB_INSTALL_DIR)/harness
$(INSTALL)$(libnb-platform-devel-java) nbbuild/netbeans/harness/.lastModified $(NB_INSTALL_DIR)/harness
#
#Fixing permissions
chmod 0755 debian/$(libnb-platform-devel-java)/$(NB_INSTALL_DIR)/harness/launchers/app.sh
override_dh_auto_clean:
$(RM) stamp-build-$(libnb-platform-java)
$(RM) stamp-build-$(libnb-platform-devel-java)
$(RM) stamp-build-$(libnb-platform-java-doc)
$(call symlink, $(JAVADIR)/$(JH_JAR), javahelp/external/$(NB_JH_JAR))
$(call symlink, $(JAVADIR)/$(JSEARCH_JAR), apisupport.harness/external/$(NB_JSEARCH_JAR))
ant -Dpermit.jdk8.builds=true -f nbbuild/build.xml clean
cd o.n.bootstrap/launcher/windows && CONF="nbexec" make -e clean
cd o.n.bootstrap/launcher/windows && CONF="nbexec64" make -e clean
cd apisupport.harness/windows-launcher-src && CONF="app.exe" make -e clean
cd apisupport.harness/windows-launcher-src && CONF="app64.exe" make -e clean
mh_clean
# remove all the symlinks to jar files we created
find . -name "*.jar" -type l -delete
$(RM) -r nbbuild/external/xhtml1-dtds
$(RM) nbbuild/nbproject/private/scan-cache-standard.ser
$(RM) o.n.bootstrap/launcher/windows/nbexec_exe.res
override_jh_depends:
# Skipping jh_depends run - since we use symlinks to /usr/share/java then
# jh_depends gets it wrong.
get-orig-source:
uscan --download-current-version --force-download --no-symlink
|