source: debian/rules @ 5c8eab9

Last change on this file since 5c8eab9 was 5c8eab9, checked in by zzz <zzz@…>, 4 years ago

Debian: Add dependency on glassfish-javaee for jstl.jar and standard.jar version 1.2
don't echo comments in debian/rules

  • Property mode set to 100755
File size: 8.6 KB
Line 
1#!/usr/bin/make -f
2
3# Quoting Policy version 3.9.2.0, 2011-04-07 section 4.9:
4
5# /start quote
6# For some packages, notably ones where the same source tree is compiled in
7# different ways to produce two binary packages, the build target does not make
8# much sense. For these packages it is good enough to provide two (or more)
9# targets (build-a and build-b or whatever) for each of the ways of building the
10# package, and a build target that does nothing. The binary target will have to
11# build the package in each of the possible ways and make the binary package out
12# of each.
13# ...
14# When a package has a configuration and build routine which takes a long time,
15# or when the makefiles are poorly designed, or when build needs to run clean
16# first, it is a good idea to touch build when the build process is complete.
17# This will ensure that if debian/rules build is run again it will not rebuild
18# the whole program.
19# /end quote
20
21# Since that fits building I2P very well, we override the build target.
22#
23
24build:
25        @echo 'The build target is disabled. Use the appropriate binary target.'
26
27JAVA_HOME=/usr/lib/jvm/default-java
28I2P=$(CURDIR)/pkg-temp
29ROUTERVERSION=$(CURDIR)/router/java/src/net/i2p/router/RouterVersion.java
30export DEB_BUILD_HARDENING=1
31
32# I2P's version will be displayed in the router console as "$I2PVERSION-$EXTRAPREFIX$DEBIANVERSION", eg. 0.8.12-0-deb1
33#export EXTRAPREFIX := deb
34export JAVA_HOME I2P
35export DEBIANVERSION := $(shell dpkg-parsechangelog |awk -F' ' '/^Version:/{print $$2}' |sed 's/.*-\([.0-9A-Za-z~+]\{1,\}\)$$/\1/')
36#export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
37
38%:
39        dh $@ --with systemd,quilt
40
41clean: createcopyright
42
43override_dh_auto_clean:
44        -[ -r $(CURDIR)/debian/routerversion.java.bak ] && mv -f $(CURDIR)/debian/routerversion.java.bak $(ROUTERVERSION)
45        dh_auto_clean
46        ant distclean
47        find $(CURDIR)/core \( -name '*\.so' -o -name '*\.o' \) -exec rm -f {} \;
48        rm -rf $(CURDIR)/core/c/jcpuid/lib/
49        rm -f $(CURDIR)/installer/lib/wrapper/all/wrapper.jar
50        rm -rf $(CURDIR)/debian/python-i2p
51        rm -f $(CURDIR)/override.properties
52        debconf-updatepo
53
54override_dh_auto_build:
55
56override_dh_systemd_enable:
57        # We purposely do not set I2P to start at boot.
58        # This matches the behavior of the initscript
59        # and the setting RUN_DAEMON=false in /etc/default/i2p
60
61binary-indep: build-indep
62build-indep:
63        dh_prep
64        mkdir -p $(CURDIR)/installer/lib/wrapper/all
65        ln -sf /usr/share/java/wrapper.jar $(CURDIR)/installer/lib/wrapper/all/wrapper.jar
66        if [ ! -e $(CURDIR)/debian/routerversion.java.bak ]; then \
67                cp $(ROUTERVERSION) $(CURDIR)/debian/routerversion.java.bak; \
68        fi
69ifeq "$(findstring deb,$(shell grep 'deb' $(ROUTERVERSION)))" ""
70        sed -e "s/\(.*EXTRA\ =\ \)[^ ]*\"\(.*\)\"/\1\"\2-$$EXTRAPREFIX$$DEBIANVERSION\"/" < $(ROUTERVERSION) > $(ROUTERVERSION).tmp
71        mv -f $(ROUTERVERSION).tmp $(ROUTERVERSION)
72else
73        @echo "Already found deb in version, not doing anything"
74endif
75        @# build options
76        @/bin/echo -e "javac.version=1.7" > $(CURDIR)/override.properties
77        @/bin/echo -e "javac.compilerargs=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties
78        @/bin/echo -e "javac.compilerargs7=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties
79        @/bin/echo -e "build.built-by=debian" >> $(CURDIR)/override.properties
80
81        @# debian and ubuntu: everywhere
82        @/bin/echo -e "with-geoip-database=true" >> $(CURDIR)/override.properties
83
84        @# ubuntu: not in precise
85        @# debian: in wheezy jessie stretch sid
86        @/bin/echo -e "with-libjetty8-java=true" >> $(CURDIR)/override.properties
87        mkdir -p $(CURDIR)/apps/jetty/jettylib
88        ln -sf /usr/share/java/jetty8-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar
89        ln -sf /usr/share/java/jetty8-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar
90        ln -sf /usr/share/java/jetty8-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar
91        ln -sf /usr/share/java/jetty8-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar
92        ln -sf /usr/share/java/jetty8-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar
93        ln -sf /usr/share/java/jetty8-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar
94        ln -sf /usr/share/java/jetty8-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar
95        ln -sf /usr/share/java/jetty8-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar
96        ln -sf /usr/share/java/jetty8-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar
97        ln -sf /usr/share/java/jetty8-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar
98        ln -sf /usr/share/java/jetty8-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar
99        ln -sf /usr/share/java/jetty8-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar
100        ln -sf /usr/share/java/jetty8-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar
101        ln -sf /usr/share/java/jetty8-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar
102        @# following two are from libservlet3.0-java which is a dependency of libjetty8-java
103        ln -sf /usr/share/java/servlet-api-3.0.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar
104        ln -sf /usr/share/java/jsp-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar
105
106        @# ubuntu: only in wily
107        @# debian: in wheezy jessie stretch sid
108        @#mkdir -p $(CURDIR)/apps/jetty/jettylib
109        @#@/bin/echo -e "with-libservlet2.5-java=true" >> $(CURDIR)/override.properties
110        @#ln -sf /usr/share/java/el-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar
111
112        @# ubuntu: only in precise trusty vivid
113        @# debian: only in wheezy
114        @#@/bin/echo -e "with-libtomcat6-java=true" >> $(CURDIR)/override.properties
115        @#mkdir -p $(CURDIR)/apps/jetty/jettylib
116        @#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-compiler.jar
117        @#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
118        @#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
119        @#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
120
121        @# debian and ubuntu: everywhere
122        @#@/bin/echo -e "with-libtomcat7-java=true" >> $(CURDIR)/override.properties
123        @#mkdir -p $(CURDIR)/apps/jetty/jettylib
124        @#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-compiler.jar
125        @#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar
126        @#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar
127        @#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar
128
129        @# debian and ubuntu: everywhere
130        @/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties
131        ln -sf /usr/share/java/glassfish-javaee.jar $(CURDIR)/apps/susidns/src/WEB-INF/lib/jstl.jar
132        ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/WEB-INF/lib/standard.jar
133
134        TZ=UTC JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 ant preppkg-unix javadoc
135        echo router.updateDisabled=true > $(I2P)/router.config
136        mv $(I2P)/runplain.sh $(I2P)/i2prouter-nowrapper
137
138binary-arch: build-arch
139build-arch:
140        # build jbigi
141        cd $(CURDIR)/core/c/jbigi && ./build_jbigi.sh dynamic
142        # build jcpuid
143        cd $(CURDIR)/core/c/jcpuid && ./build.sh
144
145binary: binary-arch binary-indep
146
147createcopyright:
148        @echo " *** Creating debian/copyright*** "
149        @rm -f $(CURDIR)/debian/copyright
150        @/bin/echo -e "This package was Debianized by kytv <killyourtv@i2pmail.org>" >> $(CURDIR)/debian/copyright
151        @/bin/echo -e "Sun, 23 Jan 2011 20:26:51 +0000" >> $(CURDIR)/debian/copyright
152        @/bin/echo -e "\nIt was downloaded from https://geti2p.net" >> $(CURDIR)/debian/copyright
153        @/bin/echo -e "\nI2P is tracked upstream using the Monotone VCS" >> $(CURDIR)/debian/copyright
154        @/bin/echo -e "Complete information on fetching the source with monotone can be found" >> $(CURDIR)/debian/copyright
155        @/bin/echo -e "at https://geti2p.net/newdevelopers#getting-the-i2p-code\n\n\n" >> $(CURDIR)/debian/copyright
156        @/bin/cat $(CURDIR)/LICENSE.txt >> $(CURDIR)/debian/copyright
157        @/bin/echo -e "\n\n The debian packaging has been released into the public domain." >> $(CURDIR)/debian/copyright
158
159override_dh_compress:
160        dh_compress -X.xsl -X.xml
161
162override_dh_install:
163        dh_install --list-missing
164        dh_apparmor --profile-name=system_i2p -pi2p
165        dh_apparmor --profile-name=usr.bin.i2prouter -pi2p
166
167override_dh_installchangelogs:
168        dh_installchangelogs history.txt
169
170override_dh_installdocs:
171        dh_installdocs -pi2p -plibjbigi-jni --link-doc=i2p-router
172        dh_installdocs --remaining-packages
173
174override_dh_dhlibdeps:
175        dh_shlibdeps -llibjbigi-jni debian/libjbigi-jni/usr/lib/jni/*.so
176
177#override_dh_installinit:
178#       dh_installinit -r
179
180override_dh_builddeb:
181        dh_builddeb -- -Zxz
182
183get-orig-source:
184        uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download
Note: See TracBrowser for help on using the repository browser.