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
|
#!/usr/bin/make -f
export JAVA_HOME=/usr/lib/jvm/default-java
# export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
#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
#libnb-platform-nbms-java := $(pkg-lib-platform)-nbms-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/7.4/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/')
# Defined function to be used to create symlinks
define symlink
mkdir -p $(dir $(2))
ln -sf $(1) $(2)
endef
%:
dh $@ --with javahelper
override_dh_auto_build:
if [ -e javahelp/external/binaries-list ]; then \
echo "ERROR: Make sure patches are applied before clean/build" && false; fi
mkdir -p nbbuild/external/xhtml1-dtds
ln -sf /usr/share/xml/xhtml/schema/dtd/1.0/xhtml* nbbuild/external/xhtml1-dtds
ln -sf /usr/share/xml/entities/xhtml/xhtml* nbbuild/external/xhtml1-dtds
# link the required 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 \
-Dhg.id=debian-$(DEB_FULL_VERSION) \
-Dpermit.jdk7.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
ant \
-Dpermit.jdk7.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 -f nbbuild/build/javadoc/*.zip
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-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-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
#
# Install nbms package
#$(INSTALL)$(libnb-platform-nbms-java) nbbuild/nbms/* $(NB_INSTALL_DIR)/$(pkg-platform)-nbms
override_dh_auto_clean:
if [ -e javahelp/external/binaries-list ]; then \
echo "ERROR: Make sure patches are applied before clean/build" && false; fi
-rm -f *.cdbs-config_list
-rm -f stamp-build-$(libnb-platform-java)
-rm -f stamp-build-$(libnb-platform-devel-java)
-rm -f 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.jdk7.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 -execdir rm -f \{\} \;
-rm -rf nbbuild/external/xhtml1-dtds
-rm -f nbbuild/nbproject/private/scan-cache-standard.ser
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-version $(subst +dfsg\d*,,$(DEB_UPSTREAM_VERSION)) --force-download
|