diff --git a/debian-alt/trusty/rules b/debian-alt/trusty/rules new file mode 100755 index 0000000000000000000000000000000000000000..345aa3b0532146d1b605648160cc1e28a5b858dc --- /dev/null +++ b/debian-alt/trusty/rules @@ -0,0 +1,213 @@ +#!/usr/bin/make -f + +# Quoting Policy version 3.9.2.0, 2011-04-07 section 4.9: + +# /start quote +# For some packages, notably ones where the same source tree is compiled in +# different ways to produce two binary packages, the build target does not make +# much sense. For these packages it is good enough to provide two (or more) +# targets (build-a and build-b or whatever) for each of the ways of building the +# package, and a build target that does nothing. The binary target will have to +# build the package in each of the possible ways and make the binary package out +# of each. +# ... +# When a package has a configuration and build routine which takes a long time, +# or when the makefiles are poorly designed, or when build needs to run clean +# first, it is a good idea to touch build when the build process is complete. +# This will ensure that if debian/rules build is run again it will not rebuild +# the whole program. +# /end quote + +# Since that fits building I2P very well, we override the build target. +# + +build: + @echo 'The build target is disabled. Use the appropriate binary target.' + +JAVA_HOME=/usr/lib/jvm/default-java +I2P=$(CURDIR)/pkg-temp +ROUTERVERSION=$(CURDIR)/router/java/src/net/i2p/router/RouterVersion.java +export DEB_BUILD_HARDENING=1 + +# I2P's version will be displayed in the router console as "$I2PVERSION-$EXTRAPREFIX$DEBIANVERSION", eg. 0.8.12-0-deb1 +#export EXTRAPREFIX := deb +export JAVA_HOME I2P +export DEBIANVERSION := $(shell dpkg-parsechangelog |awk -F' ' '/^Version:/{print $$2}' |sed 's/.*-\([.0-9A-Za-z~+]\{1,\}\)$$/\1/') +# required for jbigi/jcpuid build +export BITS := $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS) +#export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) + +%: + dh $@ --with systemd + +clean: createcopyright + +override_dh_auto_clean: + -[ -r $(CURDIR)/debian/routerversion.java.bak ] && mv -f $(CURDIR)/debian/routerversion.java.bak $(ROUTERVERSION) + dh_auto_clean + ant distclean + find $(CURDIR)/core \( -name '*\.so' -o -name '*\.o' \) -exec rm -f {} \; + rm -rf $(CURDIR)/core/c/jcpuid/lib/ + rm -f $(CURDIR)/installer/lib/wrapper/all/wrapper.jar + rm -rf $(CURDIR)/debian/python-i2p + rm -f $(CURDIR)/override.properties + debconf-updatepo + +override_dh_auto_build: + +override_dh_systemd_enable: + # We purposely do not set I2P to start at boot. + # This matches the behavior of the initscript + # and the setting RUN_DAEMON=false in /etc/default/i2p + +binary-indep: build-indep +build-indep: + dh_prep + mkdir -p $(CURDIR)/installer/lib/wrapper/all + ln -sf /usr/share/java/wrapper.jar $(CURDIR)/installer/lib/wrapper/all/wrapper.jar + if [ ! -e $(CURDIR)/debian/routerversion.java.bak ]; then \ + cp $(ROUTERVERSION) $(CURDIR)/debian/routerversion.java.bak; \ + fi +ifeq "$(findstring deb,$(shell grep 'deb' $(ROUTERVERSION)))" "" + sed -e "s/\(.*EXTRA\ =\ \)[^ ]*\"\(.*\)\"/\1\"\2-$$EXTRAPREFIX$$DEBIANVERSION\"/" < $(ROUTERVERSION) > $(ROUTERVERSION).tmp + mv -f $(ROUTERVERSION).tmp $(ROUTERVERSION) +else + @echo "Already found deb in version, not doing anything" +endif + @# build options + @/bin/echo -e "javac.version=1.7" > $(CURDIR)/override.properties + @/bin/echo -e "javac.compilerargs=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties + @/bin/echo -e "javac.compilerargs7=-bootclasspath $(JAVA_HOME)/jre/lib/rt.jar:$(JAVA_HOME)/jre/lib/jce.jar" >> $(CURDIR)/override.properties + @/bin/echo -e "build.built-by=debian" >> $(CURDIR)/override.properties + + @# debian and ubuntu: everywhere + @/bin/echo -e "with-geoip-database=true" >> $(CURDIR)/override.properties + + @# ubuntu: not in precise + @# debian: in wheezy jessie stretch sid + @/bin/echo -e "with-libjetty8-java=true" >> $(CURDIR)/override.properties + mkdir -p $(CURDIR)/apps/jetty/jettylib + ln -sf /usr/share/java/jetty8-continuation.jar $(CURDIR)/apps/jetty/jettylib/jetty-continuation.jar + ln -sf /usr/share/java/jetty8-deploy.jar $(CURDIR)/apps/jetty/jettylib/jetty-deploy.jar + ln -sf /usr/share/java/jetty8-http.jar $(CURDIR)/apps/jetty/jettylib/jetty-http.jar + ln -sf /usr/share/java/jetty8-io.jar $(CURDIR)/apps/jetty/jettylib/jetty-io.jar + ln -sf /usr/share/java/jetty8-rewrite.jar $(CURDIR)/apps/jetty/jettylib/jetty-rewrite-handler.jar + ln -sf /usr/share/java/jetty8-security.jar $(CURDIR)/apps/jetty/jettylib/jetty-security.jar + ln -sf /usr/share/java/jetty8-servlet.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlet.jar + ln -sf /usr/share/java/jetty8-servlets.jar $(CURDIR)/apps/jetty/jettylib/jetty-servlets.jar + ln -sf /usr/share/java/jetty8-start.jar $(CURDIR)/apps/jetty/jettylib/jetty-start.jar + ln -sf /usr/share/java/jetty8-util.jar $(CURDIR)/apps/jetty/jettylib/jetty-util.jar + ln -sf /usr/share/java/jetty8-webapp.jar $(CURDIR)/apps/jetty/jettylib/jetty-webapp.jar + ln -sf /usr/share/java/jetty8-xml.jar $(CURDIR)/apps/jetty/jettylib/jetty-xml.jar + ln -sf /usr/share/java/jetty8-server.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jetty.jar + ln -sf /usr/share/java/jetty8-jmx.jar $(CURDIR)/apps/jetty/jettylib/org.mortbay.jmx.jar + @# following two are from libservlet3.0-java which is a dependency of libjetty8-java + ln -sf /usr/share/java/servlet-api-3.0.jar $(CURDIR)/apps/jetty/jettylib/javax.servlet.jar + ln -sf /usr/share/java/jsp-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/jsp-api.jar + + @# ubuntu: only in precise trusty vivid + @# debian: only in wheezy + @#@/bin/echo -e "with-libtomcat6-java=true" >> $(CURDIR)/override.properties + @#mkdir -p $(CURDIR)/apps/jetty/jettylib + @#ln -sf /usr/share/java/jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar + @#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar + @#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar + @#ln -sf /usr/share/java/jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar + @# following is from libservlet2.5-java which is a dependency of libtomcat6-java + @#ln -sf /usr/share/java/el-api-2.1.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar + + @# debian and ubuntu: everywhere + @#/bin/echo -e "with-libtomcat7-java=true" >> $(CURDIR)/override.properties + @#mkdir -p $(CURDIR)/apps/jetty/jettylib + @#ln -sf /usr/share/java/tomcat-jasper.jar $(CURDIR)/apps/jetty/jettylib/jasper-runtime.jar + @#ln -sf /usr/share/java/tomcat-api.jar $(CURDIR)/apps/jetty/jettylib/tomcat-api.jar + @#ln -sf /usr/share/java/tomcat-util.jar $(CURDIR)/apps/jetty/jettylib/tomcat-util.jar + @#ln -sf /usr/share/java/tomcat-coyote.jar $(CURDIR)/apps/jetty/jettylib/tomcat-coyote.jar + @#ln -sf /usr/share/java/tomcat-juli.jar $(CURDIR)/apps/jetty/jettylib/commons-logging.jar + @#ln -sf /usr/share/java/tomcat-jasper-el.jar $(CURDIR)/apps/jetty/jettylib/jasper-el.jar + @# following is from libservlet3.0-java which is a dependency of libtomcat7-java + @#ln -sf /usr/share/java/el-api-2.2.jar $(CURDIR)/apps/jetty/jettylib/commons-el.jar + + @# debian and ubuntu: everywhere + @/bin/echo -e "with-glassfish-javaee=true" >> $(CURDIR)/override.properties + ln -sf /usr/share/java/glassfish-javaee.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar + ln -sf /usr/share/java/glassfish-appserv-jstl.jar $(CURDIR)/apps/susidns/src/lib/standard.jar + + @# debian and ubuntu: everywhere + @#/bin/echo -e "with-libjakarta-taglibs-standard-java=true" >> $(CURDIR)/override.properties + @#ln -sf /usr/share/java/standard.jar $(CURDIR)/apps/susidns/src/lib/standard.jar + + @# debian and ubuntu: everywhere + @#/bin/echo -e "with-libjstl1.1-java=true" >> $(CURDIR)/override.properties + @#ln -sf /usr/share/java/jstl1.1.jar $(CURDIR)/apps/susidns/src/lib/jstl.jar + + @# debian and ubuntu: everywhere + @/bin/echo -e "with-gettext-base=true" >> $(CURDIR)/override.properties + @mkdir -p $(CURDIR)/core/java/build + ln -sf /usr/share/java/libintl.jar $(CURDIR)/core/java/build/libintl.jar + + @# debian and ubuntu: everywhere + @/bin/echo -e "with-libgetopt-java=true" >> $(CURDIR)/override.properties + @mkdir -p $(CURDIR)/core/java/build + ln -sf /usr/share/java/gnu-getopt.jar $(CURDIR)/core/java/build/gnu-getopt.jar + + @# 2 MB of dependencies vs. 20 KB of copied source + @# Requires 4.4 or higher. + @# Debian: Not in wheezy/jessie + @# Ubuntu: Only in wily and later + @#/bin/echo -e "with-libhttpclient-java=true" >> $(CURDIR)/override.properties + @#mkdir -p $(CURDIR)/core/java/build + @#ln -sf /usr/share/java/httpclient.jar $(CURDIR)/core/java/build/httpclient.jar + @#ln -sf /usr/share/java/httpcore.jar $(CURDIR)/core/java/build/httpcore.jar + + TZ=UTC JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8 ant preppkg-unix javadoc + echo router.updateDisabled=true > $(I2P)/router.config + mv $(I2P)/runplain.sh $(I2P)/i2prouter-nowrapper + +binary-arch: build-arch +build-arch: + # build jbigi + cd $(CURDIR)/core/c/jbigi && ./build_jbigi.sh dynamic + # build jcpuid + cd $(CURDIR)/core/c/jcpuid && ./build.sh + +binary: binary-arch binary-indep + +createcopyright: + @echo " *** Creating debian/copyright*** " + @rm -f $(CURDIR)/debian/copyright + @/bin/echo -e "This package was Debianized by kytv <killyourtv@i2pmail.org>" >> $(CURDIR)/debian/copyright + @/bin/echo -e "Sun, 23 Jan 2011 20:26:51 +0000" >> $(CURDIR)/debian/copyright + @/bin/echo -e "\nIt was downloaded from https://geti2p.net" >> $(CURDIR)/debian/copyright + @/bin/echo -e "\nI2P is tracked upstream using the Monotone VCS" >> $(CURDIR)/debian/copyright + @/bin/echo -e "Complete information on fetching the source with monotone can be found" >> $(CURDIR)/debian/copyright + @/bin/echo -e "at https://geti2p.net/newdevelopers#getting-the-i2p-code\n\n\n" >> $(CURDIR)/debian/copyright + @/bin/cat $(CURDIR)/LICENSE.txt >> $(CURDIR)/debian/copyright + @/bin/echo -e "\n\n The debian packaging has been released into the public domain." >> $(CURDIR)/debian/copyright + +override_dh_compress: + dh_compress -X.xsl -X.xml + +override_dh_install: + dh_install --list-missing + dh_apparmor --profile-name=system_i2p -pi2p + dh_apparmor --profile-name=usr.bin.i2prouter -pi2p + +override_dh_installchangelogs: + dh_installchangelogs history.txt + +override_dh_installdocs: + dh_installdocs -pi2p -plibjbigi-jni --link-doc=i2p-router + dh_installdocs --remaining-packages + +override_dh_dhlibdeps: + dh_shlibdeps -llibjbigi-jni debian/libjbigi-jni/usr/lib/jni/*.so + +#override_dh_installinit: +# dh_installinit -r + +override_dh_builddeb: + dh_builddeb -- -Zxz + +get-orig-source: + uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download diff --git a/debian/rules b/debian/rules index e3b5ce80b313685e1e61b54897ade1f6e0dcf3b1..0cc4ff9143aae649e094747c869df34512b49347 100755 --- a/debian/rules +++ b/debian/rules @@ -33,6 +33,8 @@ export DEB_BUILD_HARDENING=1 #export EXTRAPREFIX := deb export JAVA_HOME I2P export DEBIANVERSION := $(shell dpkg-parsechangelog |awk -F' ' '/^Version:/{print $$2}' |sed 's/.*-\([.0-9A-Za-z~+]\{1,\}\)$$/\1/') +# required for jbigi/jcpuid build +export BITS := $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS) #export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) %: