diff --git a/build.xml b/build.xml index 66004c67f7e87cffec3f139a933c039312a69c9a..ca56f94182ee80927f142e3640d100d57ca29e07 100644 --- a/build.xml +++ b/build.xml @@ -45,7 +45,18 @@ <echo message=" pkg-portable-win32: build a minimum portable version for win32" /> </target> <target name="debianhowto"> - <echo message="To build debian packages, you must run dpkg-buildpackage as root in the source directory. It will then run ant for you. dpkg-buildpackage is found in the 'dpkg-dev' package. Also it should work fine to use the 'fakeroot' package with dpkg-buildpackage, if you don't want to run as root. Please read 'man dpkg-buildpackage' before building any packages yourself." /> + <echo message="To build debian packages, you must make sure that you have" /> + <echo message="the necessary build-dependencies installed." /> + <echo message="The packages required to build can be found in the file "/> + <echo message=""debian/control" in both the Build-Depends and Build-Depends-Indep fields."/> + <echo message="In addition to those packages, be sure to install "fakeroot","/> + <echo message=""quilt" and "build-essential"!" /> + <echo message="" /> + <echo message="The following command will install all dependencies for you:" /> + <echo message="apt-get install junit debhelper ant debconf default-jdk libgmp3-dev po-debconf fakeroot build-essential quilt" /> + <echo message=" " /> + <echo message="Once the dependencies are installed, run "ant debian""/> + <echo message="to patch the source and build the packages." /> </target> <target name="dist" depends="pkg, javadoc"> </target> @@ -1030,38 +1041,51 @@ <echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" /> </target> - <target name="debian" depends="distclean, debian-source, debian-binary" /> + <target name="debian" depends="debian-clean, debian-binary" /> - <target name="debian-binary" depends="buildProperties" > - <echo message="Did you update the version in these files?" /> - <exec executable="ls" failonerror="true"> - <arg value="-l" /> - <arg value="debian/changelog" /> - </exec> + <target name="debian-binary" > + <echo message="Did you update the version using dch -i?" /> + <echo message=" " /> + <echo message="If the changelog was not updated with dch -i, press" /> + <echo message="press CTRL+C to abort building this Debian package." /> + <echo message="" /> + <echo message="Pausing build for ten seconds to give enough time to read this notice." /> + <exec executable="sleep" failonerror="true"> + <arg value="10" /> + </exec> <echo message="====================" /> - <!-- bundle the 20MB jetty 5 lib since there probably isn't a deb for it --> + <!-- bundle the jetty 5 lib since there isn't a deb for it --> <ant dir="apps/jetty" target="ensureJettylib" /> - <exec dir="debian" executable="./buildpackage.sh" failonerror="true"> - <arg value="i386" /> + <exec executable="fakeroot" failonerror="true"> + <arg value="debian/rules" /> + <arg value="patch" /> + <arg value="binary" /> + <arg value="clean" /> </exec> - <exec dir="debian" executable="./buildpackage.sh" failonerror="true"> - <arg value="amd64" /> + <delete dir=".pc" /> + </target> + <target name="debian-clean" depends="buildProperties" > + <exec executable="fakeroot" failonerror="true"> + <arg value="debian/rules" /> + <arg value="clean" /> </exec> + <delete dir="./.pc" /> </target> - <target name="debian-source" depends="buildProperties" > - <!-- bundle the 20MB jetty 5 lib since there probably isn't a deb for it --> - <ant dir="apps/jetty" target="ensureJettylib" /> - <echo message="Did you update the version in these files?" /> - <exec executable="ls" failonerror="true"> - <arg value="-l" /> - <arg value="debian/changelog" /> + <target name="debian-patch" depends="buildProperties" > + <exec executable="quilt" failonerror="true"> + <arg value="-a" /> + <arg value="push" /> </exec> <echo message="====================" /> - <exec dir="debian" executable="./buildpackage.sh" failonerror="true"> - <arg value="source" /> + </target> + <target name="debian-unpatch" depends="buildProperties"> + <exec executable="quilt" failonerror="false"> + <arg value="-a" /> + <arg value="pop" /> </exec> </target> + <target name="debianrepo" depends="debian"> <exec dir="debian" executable="./makerepo.sh" failonerror="true"/> </target> diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000000000000000000000000000000000000..c738572d52ce31ec79b1a7a2521036f91f4bfd9a --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,9 @@ +i2p (0.8.6-5) UNRELEASED; urgency=low + + The file /etc/i2p/wrapper.service is no longer shipped in this package. + Instead the file /etc/i2p/wrapper.config is used with the changes that used to + be in wrapper.service have been moved to the initscript. If you have changed + the amount of memory set aside for I2P, you'll need to make that change to + /etc/i2p/wrapper.config. + + -- Kill Your TV <killyourtv@i2pmail.org> Wed, 25 May 2011 22:17:05 +0000 diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000000000000000000000000000000000000..ec626b7427cd5c3760bf579a572c76d4e88745e9 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,23 @@ +There are a few changes in this package from upstream. + +- eepget and i2prouter are installed to /usr/bin. + +- If you run I2P using the i2prouter or runplain scripts, +the wrapper.log is in /tmp and the other logs are in +~/.i2p/logs. + +- If you run i2p with the initscript in /etc/init.d/i2p, +all logs are written to /var/logs/i2p. + +- wrapper.config (in /etc/i2p) contains the settings for +/usr/bin/i2prouter. wrapper.service in /etc/i2p is read when +using the initscript. + +- SAM and BOB default to enabled out of the box. + +- jbigi is compiled as a dynamic .so. Unfortunately I can't + get jcpuid to compile, so I just 'steal' the .so from the + jbigi.jar file. + +- runplain.sh is stored in /usr/share/doc/i2p/examples. + diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000000000000000000000000000000000000..5dde0bf848c064a1c93ae08f33dc782a35910ab0 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new <patch> + +where <patch> is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add <file> + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P <patch> /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). <patch> as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete <patch> + +You may need to run quilt pop -a to unapply patches first before running +this command. diff --git a/debian/README.txt b/debian/README.txt deleted file mode 100644 index e2b38b54299ea9b8fe79f85676d5e46fc04a9451..0000000000000000000000000000000000000000 --- a/debian/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -This sets up a binary package with the following: - -- A new user i2psvc (a lot of people already have an i2p user) -- i2psvc home is /var/lib/i2p -- $I2P is /usr/share/i2p, owned by i2psvc -- i2psvc router directory is /var/lib/i2p/i2p-config (hack in WorkingDir.java) -- i2p daemon script in /etc/init.d/i2p -- i2prouter and eepget scripts in /usr/bin for other users to run it -- Users other than i2psvc cannot update via i2p, as they don't have - write permissions in $I2P -- Configured temp directory is /tmp -- linux and linux64 (i386) wrapper libs only - - -Todo: - -- Remove lib/jbigi.jar, just build and include dynamic libjbigi - and the linux libjcpuid (and add dependency on libgmp) -- Initial router.config for i2psvc (without confusing i2p that - the router directory already exists): - * Disable browser launch at startup - * Move i2psnark dir, eepsite dir, log dir, etc. up one level diff --git a/debian/buildpackage.sh b/debian/buildpackage.sh deleted file mode 100755 index 5806a438f5dabd7e4760fd94411f4a3650beddf5..0000000000000000000000000000000000000000 --- a/debian/buildpackage.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# This script takes one argument, which is the architecture to build for, -# or "source". - -echo Target architecture: $1 -VERSION=`grep String\ VERSION ../core/java/src/net/i2p/CoreVersion.java | cut -d\" -f2` -echo "I2P Version: ${VERSION}" -builddir="packages/$1/i2p-${VERSION}" - -# dpkg-buildpackage doesn't have an option to change the output directory, -# so copy or symlink i2p.i2p in ${builddir} and call dpkg-buildpackage -# in that directory. The output files are generated one directory above. -if [ "$1" = "source" ]; then - cd .. - ant clean - # dpkg-source (called by dpkg-buildpackage) can't handle symlinks, so copy the i2p.i2p tree - tempdir=../_i2p_copy_temp___ - cp -a . ${tempdir} - mkdir -p debian/packages/$1 - mv ${tempdir} debian/${builddir} - cd debian/${builddir} - dpkg-buildpackage -I_MTN -Idebian/packages -S -else - mkdir -p ${builddir} - cd ${builddir} - # make symlinks for all files and dirs in i2p.i2p - find ../../../.. -not -name . -and -not -name .. -maxdepth 1 -exec ln -fs {} \; - dpkg-buildpackage -I_MTN -b -a$1 -fi -if [ "$?" -ne 0 ]; then - exit 1 -fi - -cd ../../.. -rm -rf ${builddir} diff --git a/debian/changelog b/debian/changelog index 110bae03b31d1d150edc9c4081af5fa53a38fcc6..c242704292ce0ef7af5fe122a102968c00d96810 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,30 +1,139 @@ -i2p (0.8.1-4) all; urgency=low - * I2P 0.8.1-6 - * Closes: #448638 - -- Hungry Hobo <HungryHobo@i2pmail.org> Mon, 24 Nov 2010 17:14:57 +0000 - -i2p (0.8.1-3) all; urgency=low - * I2P 0.8.1-3 - -- Hungry Hobo <HungryHobo@i2pmail.org> Mon, 21 Nov 2010 17:14:57 +0000 - -i2p (0.8.1) all; urgency=low - * Speedups - * Bugfixes - * I2PSnark UI redesign - * Debian packaging improvements - -- Hungry Hobo <HungryHobo@i2pmail.org> Mon, 18 Nov 2010 17:14:57 +0000 - -i2p (0.8.0-1) all; urgency=low - * I2P 0.8 - * Debian packaging improvements - -- Hungry Hobo <HungryHobo@i2pmail.org> Mon, 08 Nov 2010 17:14:57 +0000 - -i2p (0.7.10-0) testing; urgency=low - * tweaks - um... - -- zzz <nobody@nowhere.invalid> Wed, 31 Jan 2010 17:14:57 +0000 - -i2p (0.7-0) testing; urgency=low - * just setting this debian thing up - um... - -- dream <nobody@nowhere.invalid> Wed, 01 Jan 2009 17:14:57 +0000 +i2p (0.8.6-5) UNRELEASED; urgency=low + + * Remove /etc/i2p/wrapper.service and add the changed configs to the + initscript. + * Create debian/copyright at build time. + + -- Kill Your TV <killyourtv@i2pmail.org> Wed, 25 May 2011 21:11:40 +0000 + + +i2p (0.8.6-4) stable; urgency=low + + * backported patch from 9a26dcaef3687ff7fa08cf3b3eb2180ebb2dedde to fix + missing "addWebApplications" in Jetty. + + -- Kill Your TV <killyourtv@i2pmail.org> Sun, 22 May 2011 19:00:37 +0000 + +i2p (0.8.6-3) stable; urgency=low + + [Kill Your TV] + * Creating libjbigi-jni packages again. Backported patch from MTN so that + jbigi can be built for i386 + * Drop build-dep on unzip since jbigi can be built. + * Check to see if doc/libjbigi-jni is a directory and remove it. It is + supposed to be a symlink to doc/i2p + * Don't chown $I2P to i2psvc + * Add Build-Dep for tor-geoipdb and remove from debian/ + * Add launch-i2psnark to doc/examples + * Remove obsolete build-dep on default-jdk-builddep + [Karl Goetz] + * Move adduser to depends from pre-depends + * Tidy postinst + + -- Kill Your TV <killyourtv@i2pmail.org> Fri, 20 May 2011 22:03:52 +0000 + +i2p (0.8.6-2) stable; urgency=low + + * Fix permissions bug for /var/run/i2p, reported by "signhere" on IRC + + -- Kill Your TV <killyourtv@i2pmail.org> Tue, 17 May 2011 16:30:29 +0000 + +i2p (0.8.6-1) stable; urgency=low + + * New upstream version + + -- Kill Your TV <killyourtv@i2pmail.org> Tue, 17 May 2011 12:30:07 +0000 + +i2p (0.8.5-4) stable; urgency=low + + * Correct lintian error + + -- Kill Your TV <killyourtv@i2pmail.org> Sun, 15 May 2011 16:20:39 +0000 + +i2p (0.8.5-3) stable; urgency=low + + * *Sigh* Set debian/i2p.default run_daemon to false + + -- Kill Your TV <killyourtv@i2pmail.org> Fri, 29 Apr 2011 09:54:39 +0000 + +i2p (0.8.5-2) stable; urgency=low + + * Change debconf priority to medium. + * RUN_DAEMON defaults to false. Earlier versions defaulted to true. Since + the priority is changing, this should as well. + * Split jbigi into its own source package + * Update geoip.txt + * Update Suggests: + + -- Kill Your TV <killyourtv@i2pmail.org> Mon, 25 Apr 2011 17:00:43 +0000 + +i2p (0.8.5-1) stable; urgency=low + + * New upstream + + -- Kill Your TV <killyourtv@i2pmail.org> Mon, 18 Apr 2011 15:41:42 +0000 + +i2p (0.8.4-4) stable; urgency=low + + * Update geoip from tor-0.2.2.23-alpha + + -- Kill Your TV <killyourtv@i2pmail.org> Sat, 09 Apr 2011 23:34:11 +0000 + +i2p (0.8.4-3) stable; urgency=low + + * Back out upgrade 'do you want to reboot' logic since it's utterly borked. + + -- Kill Your TV <killyourtv@i2pmail.org> Thu, 17 Mar 2011 18:54:09 +0000 + +i2p (0.8.4-2) stable; urgency=low + + * Stop including /usr/share/i2p/lib/jbigi.jar. + * Compile a dynamic jbigi and create a new package, libjbigi-jni. Since I + can't get jcpuid to compile I take this library from jbigi.jar. + Unfortunately it was not compiled with -fPIC, causing lintian to complain. + Additionally it is a 32bit compile, forcing libc-i386 to be installed on + amd64 boxes. + * Add dependency on libc-i386 because of jcpuid and a build-dep on unzip for + the same reason. + * Don't display errors generated from chowning files that don't exist. + * Bug fix: Somehow I missed packaging the geoip information before. Oops. + * Bug fix: Add history.txt to /usr/share/i2p. I didn't realize it was shown + in the console at /help. + * Since I'm packaging the missing geoip information, I use an updated + geoiodb from tor (taken from Debian package tor-geoipdb version + 0.2.2.22-alpha-1) + * Patching countries.txt to add entries that are in Maxmind's database. + * Now using debconf to ask about running as a daemon. + * From this point forward, users will be asked to confirm that they want to + upgrade this package, due to it requiring a router reboot. + * Updated README.Debian to better explain differences compared with + upstream. + * Add history.txt to /usr/share/i2p + + -- Kill Your TV <killyourtv@i2pmail.org> Sun, 13 Mar 2011 10:45:47 +0000 + +i2p (0.8.4-1) stable; urgency=low + + * New upstream version, monotone revision + fea6969d789a6b85396439be9906abb9b4a4a405 + + -- Kill Your TV <killyourtv@mail.i2p> Thu, 03 Mar 2011 11:37:37 +0000 + +i2p (0.8.3-2) testing; urgency=low + + * Minor changes to initscript + + -- Kill Your TV <killyourtv@mail.i2p> Wed, 26 Jan 2011 14:29:50 +0000 + +i2p (0.8.3-1) testing; urgency=low + + * New upstream + + -- Kill Your TV <killyourtv@mail.i2p> Mon, 24 Jan 2011 20:23:38 +0000 + +i2p (0.8.2-1) testing; urgency=low + + * Initial packaging + + -- Kill Your TV <killyourtv@mail.i2p> Sun, 23 Jan 2011 00:03:31 +0000 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000000000000000000000000000000000000..7f8f011eb73d6043d2e6db9d2c101195ae2801f2 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +7 diff --git a/debian/conffiles b/debian/conffiles deleted file mode 100644 index 0c0895bbca783f809f59ba6f25e3690860c8a9d6..0000000000000000000000000000000000000000 --- a/debian/conffiles +++ /dev/null @@ -1,9 +0,0 @@ -/etc/init.d/i2p -/etc/i2p/blocklist.txt -/etc/i2p/clients.config -/etc/i2p/hosts.txt -/etc/i2p/i2psnark.config -/etc/i2p/i2ptunnel.config -/etc/i2p/jetty-i2psnark.xml -/etc/i2p/systray.config -/etc/i2p/wrapper.config diff --git a/debian/control b/debian/control index fbe7deb155922ced3bb003eb76c3cc271586ab4a..c8242d582f3526fda3967437f5364a0b2e22106b 100644 --- a/debian/control +++ b/debian/control @@ -1,19 +1,68 @@ Source: i2p -Maintainer: Hungry Hobo <HungryHobo@i2pmail.org> +Maintainer: Kill Your TV <killyourtv@i2pmail.org> +Uploaders: zzz <zzz@i2pmail.org> Section: net -Standards-Version: 3.8.4 +Standards-Version: 3.9.2 Priority: optional +Bugs: mailto:killyourtv@i2pmail.org Homepage: http://www.i2p2.de/ -Build-Depends: libc6-dev (>= 2.10), sun-java6-jdk | openjdk-6-jdk | default-jdk | java-sdk, ant, fakeroot, gettext +Build-Depends: debhelper (>= 7.0.50~), + ant, + debconf, + default-jdk, + libgmp3-dev, + po-debconf +Build-Depends-Indep: junit, tor-geoipdb Package: i2p -Architecture: i386 amd64 +Architecture: all Section: net Priority: optional -Depends: ${shlibs:Depends}, sun-java6-jre | default-jre | java-runtime +Depends: ${misc:Depends}, ${java:Depends}, ${shlibs:Depends}, default-jre | java5-runtime | java6-runtime, + adduser, + libjbigi-jni (>= ${source:Version}), + libjbigi-jni (<< ${source:Version}.1~), + lsb-base (>= 3.2-14), + service-wrapper +Suggests: tor, + i2pfox, + mail-client, + mail-reader, + news-reader, + polipo, + privoxy, + syndie, + www-browser, + xul-ext-torbutton Description: Load-balanced unspoofable packet switching network I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties. -Homepage: http://www.i2p2.de/ + +Package: libjbigi-jni +Architecture: any +Section: java +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Homepage: http://www.i2p2.de/jbigi +Description: Java Big Integer library + This Package contains the libjbigi JNI library + . + libjbigi is a math library that is part of the I2P installation. Use of this + library greatly enhances the efficiency of cryptographic algorithms, such as + the ones used by I2P. You can expect to see a 5-7x speed improvement on certain + tasks, such as elGamal encryption/decryption. + +Package: i2p-doc +Architecture: all +Section: doc +Depends: ${misc:Depends} +Suggests: i2p, default-jdk-doc +Description: Documentation for I2P + I2P is an anonymizing network, offering a simple layer that identity-sensitive + applications can use to securely communicate. All data is wrapped with several + layers of encryption, and the network is both distributed and dynamic, with no + trusted parties. + . + This package contains the Javadoc files. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000000000000000000000000000000000000..bccf1ffb3aa42dd445e794fc154b1e81ec910ee3 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,267 @@ +This package was Debianized by kytv <killyourtv@i2pmail.org> +Sun, 23 Jan 2011 20:26:51 +0000 + +It was downloaded from http://www.i2p2.de + +I2P is tracked upstream using the Monotone VCS +Complete information on fetching the source with monotone can be found +at http://www.i2p2.de/newdevelopers#getting-the-i2p-code + + + +This product includes both public domain code and licensed code as described below. +For all code, unless otherwise stated in the appropriate license, the following applies: + + + NO WARRANTY + + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + + +LICENSES +-------- + +Core: +Public domain except as listed below: + + ElGamal and DSA code: + Copyright (c) 2003, TheCrypto + See licenses/LICENSE-ElGamalDSA.txt + + SHA256 and HMAC-SHA256: + Copyright (c) 2000 - 2004 The Legion Of The Bouncy Castle + See licenses/LICENSE-SHA256.txt + + AES code: + Under the Cryptix (MIT) license, written by the Cryptix team + (That's what our website says but all our AES code looks like it is public domain) + + Crypto filters: + From the xlattice app - http://xlattice.sourceforge.net/ + See licenses/LICENSE-BSD.txt + + SNTP code: + Copyright (c) 2004, Adam Buckley + See licenses/LICENSE-SNTP.txt + + PRNG: + Copyright (C) 2001, 2002, Free Software Foundation, Inc. + See licenses/LICENSE-LGPLv2.1.txt + + GMP 4.1.3 / 4.1.4: + Copyright 1991, 1996, 1999, 2000 Free Software Foundation, Inc. + See licenses/LICENSE-LGPLv2.1.txt + + HashCash code: + Copyright 2006 Gregory Rubin grrubin@gmail.com + See licenses/LICENSE-HashCash.txt + + GettextResource from gettext v0.18: + Copyright (C) 2001, 2007 Free Software Foundation, Inc. + See licenses/LICENSE-LGPLv2.1.txt + + SSLEepGet: + Contains some code Copyright 2006 Sun Microsystems, Inc. + See licenses/LICENSE-InstallCert.txt + + BlockFile: + Copyright (c) 2006, Matthew Estes + See licenses/LICENSE-BlockFile.txt + + +Router: +Public domain except as listed below: + UPnP.java: + From freenet + See licenses/LICENSE-GPLv2.txt + + UPnP subsystem 1.7: + Copyright (C) 2003-2006 Satoshi Konno + See licenses/LICENSE-UPnP.txt + + GeoIP data free to use, courtesy http://ip-to-country.webhosting.info/ + + +Installer: + Launch4j 3.0.1: + Copyright (c) 2004, 2008 Grzegorz Kowal + See licenses/LICENSE-Launch4j.txt (in binary packages) + See installer/lib/launch4j/LICENSE.txt (in source packages) + The following projects are used by Launch4j... + MinGW binutils (http://www.mingw.org/) + + Commons BeanUtils (http://jakarta.apache.org/commons/beanutils/) + + Commons Logging (http://jakarta.apache.org/commons/logging/) + See licenses/LICENSE-Apache1.1.txt + See licenses/NOTICE-Commons-Logging.txt + + XStream (http://xstream.codehaus.org/) + Copyright (c) 2003-2004, Joe Walnes + See licenses/LICENSE-XStream.txt + + JGoodies Forms (http://www.jgoodies.com/freeware/forms/) + Copyright (c) 2002-2004 JGoodies Karsten Lentzsch. All rights reserved. + See licenses/LICENSE-JGoodies-Forms.txt + + JGoodies Looks (http://www.jgoodies.com/freeware/looks/) + Copyright (c) 2003 JGoodies Karsten Lentzsch. All rights reserved. + See licenses/LICENSE-JGoodies-Looks.txt + + Foxtrot (http://foxtrot.sourceforge.net/) + Copyright (c) 2002, Simone Bordet & Marco Cravero. All rights reserved. + See licenses/LICENSE-Foxtrot.txt + + Nuvola Icon Theme (http://www.icon-king.com) + See licenses/LICENSE-LGPLv2.1.txt + + Forms were created using Abeille Forms Designer (https://abeille.dev.java.net/) + + Izpack 4.3.0: + Copyright (c) 2001-2008 Julien Ponge + See licenses/LICENSE-Apache2.0.txt + + + +Wrapper 3.1.1: + Copyright (c) 1999, 2004 Tanuki Software + See licenses/LICENSE-Wrapper.txt + + + +Applications: + + Addressbook: + Copyright (c) 2004 Ragnarok + See licenses/LICENSE-Addressbook.txt + + BOB: + Copyright (C) sponge + DWTFYWTPL + + I2PSnark: + Copyright (C) 2003 Mark J. Wielaard + See licenses/LICENSE-GPLv2.txt + Silk icons: See licenses/LICENSE-SilkIcons.txt + + I2PTunnel: + (c) 2003 - 2004 mihi + GPLv2 with exception. + See licenses/LICENSE-I2PTunnel.txt + See licenses/LICENSE-GPLv2.txt + + I2PTunnel SOCKS Proxy: + Copyright (c) 2004 by human + GPLv2 with exception. + See licenses/LICENSE-I2PTunnel.txt + See licenses/LICENSE-GPLv2.txt + + I2PTunnel UDP and Streamr: + By welterde. + See licenses/LICENSE-GPLv2.txt + + Jetty 5.1.15: + Copyright 2000-2004 Mort Bay Consulting Pty. Ltd. + See licenses/LICENSE-Apache1.1.txt + See licenses/LICENSE-Apache2.0.txt + See licenses/NOTICE-Commons-Logging.txt + + JRobin 1.5.9.1: + See licenses/LICENSE-LGPLv2.1.txt + + Ministreaming Lib: + By mihi. + See licenses/LICENSE-BSD.txt + + Proxyscript: + By Cervantes. + Public domain. + + Router console: + Public domain. + Flag icons: public domain, courtesy mjames@gmail.com http://www.famfamfam.com/ + Silk icons: See licenses/LICENSE-SilkIcons.txt + + GeoIP Data: + Copyright (c) 2003 Direct Information Pvt. Ltd. All Rights Reserved. + See licenses/LICENSE-GeoIP.txt + + Router Console and I2PSnark themes: + "Man with hat over face" & related images licensed under a Creative Commons 2.0 license. + Original photos by Florian Kuhlmann. http://www.flickr.com/photos/floriankuhlmann/3117758155 + + SAM: + Public domain. + + Streaming Lib: + Public domain. + + SusiDNS: + Copyright (C) 2005 <susi23@mail.i2p> + See licenses/LICENSE-GPLv2.txt + Uses Apache Jakarta Standard Tag Library 1.1.2: + See licenses/LICENSE-Apache2.0.txt + + SusiMail: + Copyright (C) 2004-2005 <susi23@mail.i2p> + See licenses/LICENSE-GPLv2.txt + + Systray: + Public domain. + Bundles systray4j code: + See licenses/LICENSE-GPLv2.txt + + + +Other Applications and Libraries +-------------------------------- +The following applications and libraries are not used or bundled in +binary packages, therefore the licenses are not included in binary +distributions. See the source package for the additional license information. + + Admin Manager: + Public domain + + Atalk: + Public domain + + BOB Demos: + Copyright (C) sponge + DWTFYWTPL + + Desktopgui + Copyright (c) Mathias De Maré + See apps/desktopgui/LICENSE + + SAM C Library: + Copyright (c) 2004, Matthew P. Cashdollar <mpc@innographx.com> + See apps/sam/c/doc/license.txt + + SAM C# Library: + Public domain. + See apps/sam/csharp/README + + SAM Perl Library: + See licenses/LICENSE-GPLv2.txt + + SAM Python Library: + Public domain. diff --git a/debian/copyright.part1 b/debian/copyright.part1 deleted file mode 100644 index 009410c0d046bf513109c4e3b4c7110fe8a24fb0..0000000000000000000000000000000000000000 --- a/debian/copyright.part1 +++ /dev/null @@ -1,11 +0,0 @@ -This is the Debian package of I2P. The latest version of I2P can always be found at: - http://www.i2p2.de/ - -I2P was originally developed by jrandom and others. The main developer now is zzz. -See http://www.i2p2.de/team for a list of past and present developers. - -I2P is maintained in Monotone. The current development version may be checked out -by issuing the following two commands: - mtn --db i2p.mtn dn init - mtn --db i2p.mtn co mtn.i2p2.de i2p.i2p - diff --git a/debian/i2p-doc.doc-base b/debian/i2p-doc.doc-base new file mode 100644 index 0000000000000000000000000000000000000000..222b794f4f3ae252a884cefb95011d5fe7ecdce1 --- /dev/null +++ b/debian/i2p-doc.doc-base @@ -0,0 +1,9 @@ +Document: i2p-doc +Title: API JavaDoc for i2p-doc +Author: +Abstract: This the API JavaDoc for i2p-doc +Section: Programming/Java + +Format: HTML +Index: /usr/share/doc/i2p/api +Files: /usr/share/doc/i2p/api/*.html diff --git a/debian/i2p-doc.install b/debian/i2p-doc.install new file mode 100644 index 0000000000000000000000000000000000000000..fb5b592178ca6a73c167b57c8b721d9b17d3bcaf --- /dev/null +++ b/debian/i2p-doc.install @@ -0,0 +1 @@ +build/api usr/share/doc/i2p-doc diff --git a/debian/i2p.config b/debian/i2p.config new file mode 100755 index 0000000000000000000000000000000000000000..340266dbf4e5c6622aed4e63d7b38af2955190ab --- /dev/null +++ b/debian/i2p.config @@ -0,0 +1,39 @@ +#!/bin/sh -e +# I2P package configuration script + +conffile="/etc/default/i2p" + +get_config_file() +{ + config_field=$1 + db_field=$2 + + if [ -f "$conffile" ] ; then + VALUE="$(grep "^[ ]*$config_field" $conffile | sed -e "s/^$config_field *= *\"\(.*\)\"/\1/g")" + if [ -n "$VALUE" ] ; then + db_set $db_field "$VALUE" + fi + fi +} + +. /usr/share/debconf/confmodule +db_version 2.0 + +if [ "$1" = configure -o "$1" = reconfigure ] ; then + get_config_file STARTI2P i2p/daemon + get_config_file RUN_DAEMON i2p/daemon + db_input medium i2p/daemon || true + + get_config_file I2PUSER i2p/user + db_input medium i2p/user || true + #db_input high i2p/stop_running_router || true + + db_go + if dpkg --compare-versions "$2" lt 0.8.4-2 ; then + rm -f $conffile + fi + +fi + +exit 0 + diff --git a/debian/i2p.default b/debian/i2p.default new file mode 100644 index 0000000000000000000000000000000000000000..0bf8a47f0f6fa8e4b46628eb0ef344945a238864 --- /dev/null +++ b/debian/i2p.default @@ -0,0 +1,13 @@ +# Defaults for i2p initscript (/etc/init.d/i2p) +# This is a posix shell fragment + +# [automatically edited by postinst, do not change line format ] +# Run 'dpkg-reconfigure -plow i2p' to change these values. + +# I2P daemon. If set to true, i2p will start automatically when +# the computer boots +RUN_DAEMON="false" + +# The user that runs the I2P daemon. By default this is set to i2psvc. +# You may want to change this to use a manually installed I2P profile. +I2PUSER="i2psvc" diff --git a/debian/i2p.docs b/debian/i2p.docs new file mode 100644 index 0000000000000000000000000000000000000000..ac63ab5ce8af8cfb414cad56e778e7bf22faa11f --- /dev/null +++ b/debian/i2p.docs @@ -0,0 +1 @@ +pkg-temp/licenses diff --git a/debian/i2p.examples b/debian/i2p.examples new file mode 100644 index 0000000000000000000000000000000000000000..042c4dec8e7e206fd2672293a95d42bc8f33a36d --- /dev/null +++ b/debian/i2p.examples @@ -0,0 +1,2 @@ +pkg-temp/runplain.sh +apps/i2psnark/launch-i2psnark diff --git a/debian/i2p.init b/debian/i2p.init new file mode 100755 index 0000000000000000000000000000000000000000..c6dd2c61fb5c7109c9aa255ee7fdd169af430bdc --- /dev/null +++ b/debian/i2p.init @@ -0,0 +1,147 @@ +#!/bin/sh + +### BEGIN INIT INFO +# Provides: i2p i2p-router +# Required-Start: $remote_fs $syslog $named $network $time +# Required-Stop: $remote_fs $syslog $named $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: start and stop the i2p router +# Description: i2p is a load-balanced unspoofable packet switching network +### END INIT INFO + +# Check permissions +if [ "`id -ur`" != '0' ]; then + echo 'Error: you must be root.' + echo + exit 1 +fi + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="I2P Router" +NAME="i2p" +RUN="/var/run/$NAME" +DAEMON="/usr/sbin/wrapper" +PIDFILE="$RUN/$NAME.pid" +JVMPIDFILE="$RUN/routerjvm.pid" +I2P="/usr/share/i2p" +I2PTEMP="/tmp/" +WRAPPERLOG="/var/log/i2p/wrapper.log" +ANCHORFILE="$I2PTEMP/i2p.anchor" + +# Don't touch these, edit /etc/default/i2p +RUN_DAEMON="False" +NICE= +I2PUSER="i2psvc" + +I2P_ARGS="/etc/i2p/wrapper.config \ + wrapper.java.additional.1=-DloggerFilenameOverride=/var/log/i2p/log-router-@.txt \ + wrapper.java.additional.5=-Dwrapper.logfile=$WRAPPERLOG \ + wrapper.logfile=$WRAPPERLOG \ + wrapper.pidfile=$PIDFILE \ + wrapper.anchorfile=$ANCHORFILE \ + wrapper.java.pidfile=$JVMPIDFILE \ + wrapper.daemonize=TRUE" + + + +# this isn't really needed since we depend on lsb-base (>= 3.2-14) +[ -r /lib/lsb/init-functions ] && . /lib/lsb/init-functions +[ -r /lib/init/vars.sh ] && . /lib/init/vars.sh + +# read config file +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +case "$RUN_DAEMON" in + [NnFf]*) + log_action_msg "$DESC daemon disabled in /etc/default/$NAME". + exit 0 + ;; +esac + + +# is the wrapper from the service-wrapper package even installed? +# if not, bail NOW + +[ -x $DAEMON ] || exit 0 + +# Ditto for i2prouter. Even though this script doesn't call it, +# if it's not found the package probably hasn't been installed. + +[ -r /usr/bin/i2prouter ] || exit 0 + +do_start() +{ + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null\ + || return 1 + [ -d $RUN ] || mkdir $RUN + [ -r $PIDFILE ] || touch $PIDFILE + [ -r $JVMPIDFILE ] || touch $JVMPIDFILE + [ -d $I2PTEMP ] || mkdir $I2PTEMP + chown -Rf $I2PUSER:$I2PUSER $I2PTEMP/*i2p* $I2PTEMP/router.ping $RUN > /dev/null + chown -f -R $I2PUSER:adm /var/log/$NAME + TZ=UTC start-stop-daemon --start --quiet -c $I2PUSER --pidfile $PIDFILE --exec $DAEMON $NICE -- \ + $I2P_ARGS || return 2 +} + +do_stop() +{ + start-stop-daemon --stop --quiet --retry=TERM/15/KILL/5 --pidfile $PIDFILE -u $I2PUSER + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + +# start-stop-daemon --stop --quiet --oknodo --retry=TERM/15/KILL/5 -u $I2PUSER + + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + + rm -f "$PIDFILE" "$JVMPIDFILE" + [ -d $RUN ] && rmdir $RUN +} + + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) log_end_msg 0 ;; + 2) log_end_msg 1 ;; + esac + ;; + status) + status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; +*) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; + + +esac diff --git a/debian/i2p.install b/debian/i2p.install new file mode 100644 index 0000000000000000000000000000000000000000..41bfe13fd55ac1d7d5effee30d8bec29daed763d --- /dev/null +++ b/debian/i2p.install @@ -0,0 +1,17 @@ +pkg-temp/eepsite usr/share/i2p +pkg-temp/docs usr/share/i2p/ +pkg-temp/scripts usr/share/i2p +pkg-temp/webapps usr/share/i2p +pkg-temp/lib/*.jar usr/share/i2p/lib +pkg-temp/clients.config usr/share/i2p +pkg-temp/i2psnark.config usr/share/i2p +pkg-temp/i2ptunnel.config usr/share/i2p +pkg-temp/systray.config usr/share/i2p +pkg-temp/wrapper.config etc/i2p +pkg-temp/*.xml usr/share/i2p +pkg-temp/hosts.txt usr/share/i2p +pkg-temp/blocklist.txt usr/share/i2p +pkg-temp/geoip usr/share/i2p +pkg-temp/eepget usr/bin +pkg-temp/i2prouter usr/bin +history.txt usr/share/i2p diff --git a/debian/i2p.links b/debian/i2p.links new file mode 100644 index 0000000000000000000000000000000000000000..d3ac5ed0adc7bb54f04b94fdef3cee074591fefd --- /dev/null +++ b/debian/i2p.links @@ -0,0 +1,7 @@ +var/lib/i2p/i2p-config/blocklist.txt etc/i2p/blocklist.txt +var/lib/i2p/i2p-config/clients.config etc/i2p/clients.config +var/lib/i2p/i2p-config/hosts.txt etc/i2p/hosts.txt +var/lib/i2p/i2p-config/i2psnark.config etc/i2p/i2psnark.config +var/lib/i2p/i2p-config/i2ptunnel.config etc/i2p/i2ptunnel.config +var/lib/i2p/i2p-config/jetty-i2psnark.xml etc/i2p/jetty-i2psnark.xml +var/lib/i2p/i2p-config/systray.config etc/i2p/systray.config diff --git a/debian/i2p.manpages b/debian/i2p.manpages new file mode 100644 index 0000000000000000000000000000000000000000..f2cce18012f84175328d3a86f3c5ddca8317d248 --- /dev/null +++ b/debian/i2p.manpages @@ -0,0 +1 @@ +installer/resources/man/*.1 diff --git a/debian/i2p.postinst b/debian/i2p.postinst new file mode 100755 index 0000000000000000000000000000000000000000..690cb4cef069ef9766a7d7a73e6ddbf2767ca380 --- /dev/null +++ b/debian/i2p.postinst @@ -0,0 +1,111 @@ +#!/bin/sh -e + +I2PHOME=/var/lib/i2p +I2P=/usr/share/i2p +I2PUSER=i2psvc + +conffile="/etc/default/i2p" + +update_config_file() +{ + db_field=$1 + config_field=$2 + + RET=false + db_get $db_field + if [ -n "$RET" ] ; then + if grep -q "^$config_field" $conffile ; then + # keep any admin changes, while replacing the variable content + sed "s/^[ ]*$config_field=\".*\"/$config_field=\"$RET\"/" < $conffile > $conffile.new && + mv $conffile.new $conffile + else + echo "$config_field=\"$RET\"" >> $conffile + fi + fi +} + +# Source debconf library -- we have a Depends line +# to make sure it is there... +. /usr/share/debconf/confmodule +db_version 2.0 + + +case "$1" in + configure|reconfigure) + if [ -f $conffile ] ; then + sed -i -e 's/^[ ]*STARTI2P/RUN_DAEMON/g' $conffile + if ! grep -q RUN_DAEMON $conffile ; then + cat << EOF >> $conffile +# I2P daemon. If set to true, I2P will start automatically +# when your computer boots. +RUN_DAEMON="false" +EOF + fi + if ! grep -q I2PUSER $conffile ; then + cat << EOF >> $conffile +# The user that runs the I2P daemon. By default this is set to i2psvc. +# You may want to change this to use a manually installed I2P profile. +I2PUSER="i2psvc" +EOF + fi + else + cat << EOF >> $conffile +# Defaults for i2p initscript (/etc/init.d/i2p) +# This is a posix shell fragment + +# [automatically edited by postinst, do not change line format ] +# Run 'dpkg-reconfigure -plow i2p' to change these values. + +# I2P daemon. If set to true, i2p will start automatically when +# the computer boots +RUN_DAEMON="false" + +# The user that runs the I2P daemon. By default this is set to i2psvc. +# You may want to change this to use a manually installed I2P profile. +I2PUSER="i2psvc" +EOF + fi + update_config_file i2p/daemon RUN_DAEMON + update_config_file i2p/user I2PUSER + + migrate_existing_user(){ + # Adjust the user/group in /etc/passwd, mainly for upgrades from old packages that didn't + # create $I2PUSER as a system group/user + usermod -c "I2P Router Daemon" -m -d $I2PHOME -g $I2PUSER -s "/bin/false" \ + -l $I2PUSER -e 1 > /dev/null 2>&1 + echo "Existing user migrated, home directory moved to $I2PHOME" + } + + # Create user and group as a system user. + adduser --system --quiet --group --home $I2PHOME $I2PUSER || migrate_existing_user + + [ -d /var/log/i2p ] || mkdir -m0750 /var/log/i2p + chown -f -R $I2PUSER:adm /var/log/i2p + + # Has someone set the permissions with dpkg-statoverride? If so, obey them. + if ! dpkg-statoverride --list $I2PHOME > /dev/null 2>&1 + then + chown -f -R $I2PUSER:$I2PUSER $I2PHOME + chmod -f u=rwx,g=rxs,o= $I2PHOME + fi + + ##if ! dpkg-statoverride --list $I2P > /dev/null + ##then + ## chown -f -R $I2PUSER:$I2PUSER $I2P + ##fi + + db_stop +;; +abort-upgrade|abort-remove|abort-deconfigure) + echo "Aborting upgrade" + exit 0 + ;; +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/i2p.templates b/debian/i2p.templates new file mode 100644 index 0000000000000000000000000000000000000000..faab389190cf37b9b0c224d69e4f34729d499f70 --- /dev/null +++ b/debian/i2p.templates @@ -0,0 +1,26 @@ +Template: i2p/stop_running_router +Type: boolean +Default: false +_Description: Automatically stop I2P when there are upgrades? + To update this package the I2P router will need to be restarted. + Any activity on the I2P network will be briefly interrupted + during the upgrade. + +Template: i2p/daemon +Type: boolean +Default: false +_Description: Should the I2P router be started at boot? + The I2P router can be run as a daemon that starts automatically + when your computer boots up. This is the recommended configuration. + +Template: i2p/user +Type: string +Default: i2psvc +_Description: I2P daemon user: + By default I2P is configured to run under the account i2psvc when running + as a daemon. To use an existing I2P profile you may enter a different + account name here. For example, if your previous I2P installation is at + /home/user/i2p, you may enter 'user' here. + . + A script to ease the transition from the manual installation to this deb + package is in development. diff --git a/debian/i2pversion b/debian/i2pversion new file mode 100755 index 0000000000000000000000000000000000000000..8c7a821faf75ffd5a50e0945466719b5092e9381 --- /dev/null +++ b/debian/i2pversion @@ -0,0 +1,25 @@ +#!/bin/sh + +ROUTER=$(/bin/echo -ne "_")$(cat ./router/java/src/net/i2p/router/RouterVersion.java | grep -e "public final static long BUILD" | cut -f2 -d"=" | cut -f1 -d";" | sed -re "s/ //g") +if [ "$ROUTER" = "_" ] ; then + ROUTER="_0" +fi + +# +# That was the easy one, now for the tough one. +# + +CORE=$(cat core/java/src/net/i2p/CoreVersion.java | grep -e "public final static String VERSION" | cut -f2 -d'"' | sed -re "s/ //g") +CORE1=$(/bin/echo -n $CORE.x.x | sed -re "s/(.*)\.(.*)\.(.*)\.(.*)/\1/") +CORE2=$(/bin/echo -n $CORE.x | sed -re "s/(.*)\.(.*)\.(.*)\.(.*)/\1/") + +if [ "$CORE.x.x" = "$CORE1" ] ; then + CORE=$(/bin/echo -ne $CORE".0.0") +fi +if [ "$CORE.x" = "$CORE2" ] ; then + CORE=$(/bin/echo -ne $CORE".0") +fi + +VERSION=$(/bin/echo $CORE$ROUTER) + +echo $VERSION diff --git a/debian/libjbigi-jni.install b/debian/libjbigi-jni.install new file mode 100644 index 0000000000000000000000000000000000000000..c56cc123ad8e5a11abdc5178895b0c682288a881 --- /dev/null +++ b/debian/libjbigi-jni.install @@ -0,0 +1,2 @@ +core/c/jbigi/*.so usr/lib/jni +core/c/jcpuid/lib/freenet/support/CPUInformation/*.so usr/lib/jni diff --git a/debian/libjbigi-jni.preinst b/debian/libjbigi-jni.preinst new file mode 100644 index 0000000000000000000000000000000000000000..464371ac8739c1f373e8ad066230af05c21a87f8 --- /dev/null +++ b/debian/libjbigi-jni.preinst @@ -0,0 +1,10 @@ +#!/bin/sh -e + +if [ ! -z $2 ]; then + if dpkg --compare-versions $2 lt 0.8.6-4; then + test -d /usr/share/doc/libjbigi-jni \ + && rm -rf /usr/share/doc/libjbigi-jni + fi +fi + +#DEBHELPER# diff --git a/debian/makerepo.sh b/debian/makerepo.sh deleted file mode 100755 index 4f1078627008bdd39d70546ed00e4a20caa7ff19..0000000000000000000000000000000000000000 --- a/debian/makerepo.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# This script creates a Debian repository in ${DIR} using the reprepro tool. -# The packages are signed with the key referenced in the newest changelog entry. - -set -e - -cd $(dirname $0) -DIR=./repo -CONFDIR=conf -CONFFILE=${CONFDIR}/distributions - -SIGNER=`parsechangelog --file changelog | grep Maintainer | cut -d\< -f2 | cut -d\> -f1` -KEYID=`gpg --list-keys "${SIGNER}" | cut -d: -f2 | grep -w pub | cut -d/ -f2 | cut -d\ -f1` -echo Using signing key: ${SIGNER} -echo Key ID: ${KEYID} - -# creating the reprepro config file dynamically allows us to specify the signer -mkdir -p ${CONFDIR} -echo "Origin: I2P" > ${CONFFILE} -echo "Label: I2P Debian Repository" >> ${CONFFILE} -echo "Suite: all" >> ${CONFFILE} -echo "Codename: all" >> ${CONFFILE} -echo "Architectures: i386 amd64 source" >> ${CONFFILE} -echo "Components: main" >> ${CONFFILE} -echo "SignWith: ${SIGNER}" >> ${CONFFILE} - -# create the repository -echo Building the repository... -find packages/ -name *.deb -exec reprepro --ask-passphrase --outdir ${DIR} includedeb all {} \; -find packages/ -name *.changes -exec reprepro --ask-passphrase --outdir ${DIR} include all {} \; -find packages/ -name *.dsc -exec reprepro --ask-passphrase --outdir ${DIR} includedsc all {} \; - -# export the public key -gpg --armor --export ${SIGNER} > ${DIR}/0x${KEYID}.asc - -# remove the config file created above -echo Cleaning up... -rm -f ${CONFFILE} -rmdir ${CONFDIR} - -echo Debian repository created in `pwd`/${DIR}. diff --git a/debian/patches/0001-Update-paths.patch b/debian/patches/0001-Update-paths.patch new file mode 100644 index 0000000000000000000000000000000000000000..35bbf10bd93d1512512a3203fe46ef6912262a56 --- /dev/null +++ b/debian/patches/0001-Update-paths.patch @@ -0,0 +1,124 @@ +From: Kill Your TV <killyourtv@i2pmail.org> +Date: Mon, 18 Apr 2011 16:43:40 +0000 +Subject: Update-paths + +--- + installer/resources/eepget | 2 +- + installer/resources/i2prouter | 8 ++++---- + installer/resources/runplain.sh | 6 +++--- + installer/resources/wrapper.config | 17 ++++++++--------- + 4 files changed, 16 insertions(+), 17 deletions(-) + +diff --git a/installer/resources/eepget b/installer/resources/eepget +index 080bcc8..f2e84ba 100644 +--- a/installer/resources/eepget ++++ b/installer/resources/eepget +@@ -1,3 +1,3 @@ + #!/bin/sh +-I2P="%INSTALL_PATH" ++I2P="/usr/share/i2p" + java -cp "$I2P/lib/i2p.jar" net.i2p.util.EepGet "$@" +diff --git a/installer/resources/i2prouter b/installer/resources/i2prouter +index be6ef4f..8ebe059 100644 +--- a/installer/resources/i2prouter ++++ b/installer/resources/i2prouter +@@ -22,8 +22,8 @@ + # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir + # should have been replaced by the izpack installer. + # If you did not run the installer, replace them with the appropriate path. +-I2P="%INSTALL_PATH" +-I2PTEMP="%SYSTEM_java_io_tmpdir" ++I2P="/usr/share/i2p" ++I2PTEMP="/tmp" + # PORTABLE installation: + # Use the following instead. + #I2PTEMP="%INSTALL_PATH" +@@ -33,8 +33,8 @@ APP_NAME="i2p" + APP_LONG_NAME="I2P Service" + + # Wrapper +-WRAPPER_CMD="$I2P/i2psvc" +-WRAPPER_CONF="$I2P/wrapper.config" ++WRAPPER_CMD="/usr/sbin/wrapper" ++WRAPPER_CONF="/etc/i2p/wrapper.config" + + # Priority at which to run the wrapper. See "man nice" for valid priorities. + # nice is only used if a priority is specified. +diff --git a/installer/resources/runplain.sh b/installer/resources/runplain.sh +index eaf2d29..e5530eb 100644 +--- a/installer/resources/runplain.sh ++++ b/installer/resources/runplain.sh +@@ -11,12 +11,12 @@ + # Note that (percent)INSTALL_PATH and (percent)SYSTEM_java_io_tmpdir + # should have been replaced by the izpack installer. + # If you did not run the installer, replace them with the appropriate path. +-I2P="%INSTALL_PATH" +-I2PTEMP="%SYSTEM_java_io_tmpdir" ++I2P="/usr/share/i2p" ++I2PTEMP="/tmp" + + export CP="$I2P" ; for j in "$I2P/lib/*" ; do export CP="$CP:$j" ; done; + JAVA=java + +-JAVAOPTS="-Djava.library.path=$I2P:$I2P/lib -Di2p.dir.base=$I2P -DloggerFilenameOverride=logs/log-router-@.txt" ++JAVAOPTS="-Djava.library.path=/usr/lib/jni:$I2P/lib -Di2p.dir.base=$I2P -DloggerFilenameOverride=logs/log-router-@.txt" + nohup $JAVA -cp "$CP" $JAVAOPTS net.i2p.router.RouterLaunch > /dev/null 2>&1 & + echo $! > "$I2PTEMP/router.pid" +diff --git a/installer/resources/wrapper.config b/installer/resources/wrapper.config +index 380f94b..7bda095 100644 +--- a/installer/resources/wrapper.config ++++ b/installer/resources/wrapper.config +@@ -45,20 +45,19 @@ wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp + # classes, or all the classes of i2p.jar, are in a different directory). + # Be sure there are no other duplicate classes. + # +-wrapper.java.classpath.1=$INSTALL_PATH/lib/*.jar ++wrapper.java.classpath.1=/usr/share/i2p/lib/*.jar + # uncomment this to use the system classpath as well (e.g. to get tools.jar) +-# wrapper.java.classpath.2=%CLASSPATH% +- ++wrapper.java.classpath.2=/usr/share/java/wrapper.jar + # Java Library Path (location of Wrapper.DLL or libwrapper.so) +-wrapper.java.library.path.1=$INSTALL_PATH +-wrapper.java.library.path.2=$INSTALL_PATH/lib ++wrapper.java.library.path.1=/usr/lib/jni ++wrapper.java.library.path.2=/usr/share/java/lib + + # Java Additional Parameters + # Numbers must be consecutive (except for stripquotes) + wrapper.java.additional.1=-DloggerFilenameOverride=logs/log-router-@.txt + wrapper.java.additional.2=-Dorg.mortbay.http.Version.paranoid=true + wrapper.java.additional.3=-Dorg.mortbay.xml.XmlParser.NotValidating=true +-wrapper.java.additional.4=-Di2p.dir.base="$INSTALL_PATH" ++wrapper.java.additional.4=-Di2p.dir.base="/usr/share/i2p" + wrapper.java.additional.4.stripquotes=TRUE + # Jetty says this is a security risk + # Uncommenting this won't help as the router forces it to true +@@ -116,7 +115,7 @@ wrapper.console.loglevel=INFO + # tell the router where to find the wrapper log + # (change X to the next available number) + # wrapper.java.additional.X=-Dwrapper.logfile=/path/to/wrapper.log +-wrapper.logfile=$SYSTEM_java_io_tmpdir/wrapper.log ++wrapper.logfile=/tmp/wrapper.log + # PORTABLE installation: + # Use the following instead. I2P will find the logfile here, + # no need for a wrapper.java.additional line too. +@@ -182,7 +181,7 @@ wrapper.use_system_time=false + # you should copy this file, change the location or file name, + # and edit the i2prouter script to change the WRAPPER_CONF setting + # to point to the new wrapper.config location. +-wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid ++wrapper.java.pidfile=/tmp/routerjvm.pid + # PORTABLE installation: + # Use the following instead. + #wrapper.java.pidfile=$INSTALL_PATH/routerjvm.pid +@@ -196,7 +195,7 @@ wrapper.java.pidfile=$SYSTEM_java_io_tmpdir/routerjvm.pid + # + # This means i2prouter looks for './i2p.pid'. + # See comments above for wrapper.java.pidfile +-wrapper.pidfile=$SYSTEM_java_io_tmpdir/i2p.pid ++wrapper.pidfile=/tmp/i2p.pid + # PORTABLE installation: + # Use the following instead. + #wrapper.pidfile=$INSTALL_PATH/i2p.pid +-- diff --git a/debian/patches/0002-disable-browser-launch.patch b/debian/patches/0002-disable-browser-launch.patch new file mode 100644 index 0000000000000000000000000000000000000000..8821586107b8a612a4a9c236325a47f31b73682c --- /dev/null +++ b/debian/patches/0002-disable-browser-launch.patch @@ -0,0 +1,22 @@ +From: Kill Your TV <killyourtv@i2pmail.org> +Date: Mon, 18 Apr 2011 16:43:40 +0000 +Subject: disable browser launch + +--- + installer/resources/clients.config | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/installer/resources/clients.config b/installer/resources/clients.config +index 08c6c62..0506a45 100644 +--- a/installer/resources/clients.config ++++ b/installer/resources/clients.config +@@ -51,7 +51,7 @@ clientApp.4.main=net.i2p.apps.systray.UrlLauncher + clientApp.4.name=Open Router Console in web browser at startup + clientApp.4.args=http://127.0.0.1:7657/ + clientApp.4.delay=3 +-clientApp.4.startOnLoad=true ++clientApp.4.startOnLoad=false + + # BOB bridge + clientApp.5.args= +-- diff --git a/debian/patches/0004-Update-path-of-jbigi-and-add-soname.patch b/debian/patches/0004-Update-path-of-jbigi-and-add-soname.patch new file mode 100644 index 0000000000000000000000000000000000000000..3013b748ece80ab85152906488d9df9c8299438d --- /dev/null +++ b/debian/patches/0004-Update-path-of-jbigi-and-add-soname.patch @@ -0,0 +1,33 @@ +From: Kill Your TV <killyourtv@i2pmail.org> +Date: Wed, 11 May 2011 00:12:04 +0000 +Subject: Update path of jbigi and add soname + +--- + core/c/jbigi/mbuild_jbigi.sh | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/core/c/jbigi/mbuild_jbigi.sh b/core/c/jbigi/mbuild_jbigi.sh +index 1e262a6..7581335 100755 +--- a/core/c/jbigi/mbuild_jbigi.sh ++++ b/core/c/jbigi/mbuild_jbigi.sh +@@ -25,8 +25,8 @@ Darwin*) + LIBFILE="libjbigi.jnilib";; + *) + COMPILEFLAGS="-fPIC -Wall" +- INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/linux" +- LINKFLAGS="-shared -Wl,-soname,libjbigi.so" ++ INCLUDES="-I. -I./jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/linux" ++ LINKFLAGS="-shared -Wl,-soname,libjbigi.so.0" + LIBFILE="libjbigi.so";; + esac + +@@ -41,7 +41,7 @@ fi + + echo "Compiling C code..." + rm -f jbigi.o $LIBFILE +-$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c || exit 1 ++$CC -c $COMPILEFLAGS $INCLUDES ./jbigi/src/jbigi.c || exit 1 + $CC $LINKFLAGS $INCLUDES $INCLUDELIBS -o $LIBFILE jbigi.o $STATICLIBS || exit 1 + + exit 0 +-- diff --git a/debian/patches/0005-update-launch-i2psnark-paths.patch b/debian/patches/0005-update-launch-i2psnark-paths.patch new file mode 100644 index 0000000000000000000000000000000000000000..94ccb4651b25b5c69f3fa9de9f6af3ce549d4378 --- /dev/null +++ b/debian/patches/0005-update-launch-i2psnark-paths.patch @@ -0,0 +1,44 @@ +From: Kill Your TV <killyourtv@i2pmail.org> +Date: Wed, 18 May 2011 11:32:14 +0000 +Subject: update launch-i2psnark paths + +--- + apps/i2psnark/jetty-i2psnark.xml | 4 ++-- + apps/i2psnark/launch-i2psnark | 3 ++- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/apps/i2psnark/jetty-i2psnark.xml b/apps/i2psnark/jetty-i2psnark.xml +index b5d6d1e..b9b375e 100644 +--- a/apps/i2psnark/jetty-i2psnark.xml ++++ b/apps/i2psnark/jetty-i2psnark.xml +@@ -55,7 +55,7 @@ + <Set name="rootWebApp">i2psnark</Set> + <Call name="addWebApplication"> + <Arg>/</Arg> +- <Arg>webapps/i2psnark.war</Arg> ++ <Arg>/usr/share/i2p/webapps/i2psnark.war</Arg> + </Call> + + <!-- this is so we can find the css --> +@@ -63,7 +63,7 @@ + <Arg> + <New class="org.mortbay.http.HttpContext"> + <Set name="contextPath">/themes</Set> +- <Set name="resourceBase">./docs/themes</Set> ++ <Set name="resourceBase">/usr/share/i2p/docs/themes</Set> + <Call name="addHandler"> + <Arg> + <New class="org.mortbay.http.handler.ResourceHandler"> +diff --git a/apps/i2psnark/launch-i2psnark b/apps/i2psnark/launch-i2psnark +index 023b5a2..03a4ed2 100755 +--- a/apps/i2psnark/launch-i2psnark ++++ b/apps/i2psnark/launch-i2psnark +@@ -4,5 +4,6 @@ + # The file jetty-i2psnark.xml must be present in the current directory. + # i2psnark will be accessed at http://127.0.0.1:8002/ + # +-I2P="." ++cd /var/lib/i2p/i2p-config ++I2P="/usr/share/i2p" + java -cp "$I2P/lib/i2psnark.jar:$I2P/lib/i2p.jar:$I2P/lib/mstreaming.jar:$I2P/lib/streaming.jar:$I2P/lib/commons-el.jar:$I2P/lib/commons-logging.jar:$I2P/lib/jasper-compiler.jar:$I2P/lib/jasper-runtime.jar:$I2P/lib/javax.servlet.jar:$I2P/lib/org.mortbay.jetty.jar" org.klomp.snark.web.RunStandalone "$@" +-- diff --git a/debian/patches/0007-rename-jcpuid.patch b/debian/patches/0007-rename-jcpuid.patch new file mode 100644 index 0000000000000000000000000000000000000000..d856b76ff096a06ae66d997d6b0f5638e162fa02 --- /dev/null +++ b/debian/patches/0007-rename-jcpuid.patch @@ -0,0 +1,24 @@ +From: Kill Your TV <killyourtv@i2pmail.org> +Date: Wed, 25 May 2011 00:26:10 +0300 +Subject: rename jcpuid + +--- + core/c/jcpuid/build.sh | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/core/c/jcpuid/build.sh b/core/c/jcpuid/build.sh +index 244eb07..827e14b 100755 +--- a/core/c/jcpuid/build.sh ++++ b/core/c/jcpuid/build.sh +@@ -37,8 +37,8 @@ FreeBSD*) + Linux*) + COMPILEFLAGS="-fPIC -Wall" + INCLUDES="-I. -Iinclude -I$JAVA_HOME/include -I$JAVA_HOME/include/linux" +- LINKFLAGS="-shared -Wl,-soname,libjcpuid-x86-linux.so" +- LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-linux.so";; ++ LINKFLAGS="-shared -Wl,-soname,libjcpuid.so" ++ LIBFILE="lib/freenet/support/CPUInformation/libjcpuid.so";; + esac + + echo "Compiling C code..." +-- diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000000000000000000000000000000000000..68d807ccaa3c132d5b18508012bb8894cef46840 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,5 @@ +0001-Update-paths.patch +0002-disable-browser-launch.patch +0004-Update-path-of-jbigi-and-add-soname.patch +0005-update-launch-i2psnark-paths.patch +0007-rename-jcpuid.patch diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in new file mode 100644 index 0000000000000000000000000000000000000000..7c40bc5f72db0d335e9238edaf1ad8eda79ecd95 --- /dev/null +++ b/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] i2p.templates diff --git a/debian/po/templates.pot b/debian/po/templates.pot new file mode 100644 index 0000000000000000000000000000000000000000..4b181288ed3622ee3d7fbf9a77948f074d438eb8 --- /dev/null +++ b/debian/po/templates.pot @@ -0,0 +1,70 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: i2p@packages.debian.org\n" +"POT-Creation-Date: 2011-05-15 19:17+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../i2p.templates:1001 +msgid "Automatically stop I2P when there are upgrades?" +msgstr "" + +#. Type: boolean +#. Description +#: ../i2p.templates:1001 +msgid "" +"To update this package the I2P router will need to be restarted. Any " +"activity on the I2P network will be briefly interrupted during the upgrade." +msgstr "" + +#. Type: boolean +#. Description +#: ../i2p.templates:2001 +msgid "Should the I2P router be started at boot?" +msgstr "" + +#. Type: boolean +#. Description +#: ../i2p.templates:2001 +msgid "" +"The I2P router can be run as a daemon that starts automatically when your " +"computer boots up. This is the recommended configuration." +msgstr "" + +#. Type: string +#. Description +#: ../i2p.templates:3001 +msgid "I2P daemon user:" +msgstr "" + +#. Type: string +#. Description +#: ../i2p.templates:3001 +msgid "" +"By default I2P is configured to run under the account i2psvc when running as " +"a daemon. To use an existing I2P profile you may enter a different account " +"name here. For example, if your previous I2P installation is at /home/user/" +"i2p, you may enter 'user' here." +msgstr "" + +#. Type: string +#. Description +#: ../i2p.templates:3001 +msgid "" +"A script to ease the transition from the manual installation to this deb " +"package is in development." +msgstr "" diff --git a/debian/rules b/debian/rules index ea785e0d635eece0cd46641c7b97ccf1e258a651..c7f2a2466d5ab7bd34428805bac76da6e7ad4b22 100755 --- a/debian/rules +++ b/debian/rules @@ -1,127 +1,97 @@ #!/usr/bin/make -f -VERSION=`grep String\ VERSION core/java/src/net/i2p/CoreVersion.java | cut -d\" -f2` -SOURCEURL=http://mirror.i2p2.de/i2psource_${VERSION}.tar.bz2 +# Quoting Policy version 3.9.2.0, 2011-04-07 section 4.9: -DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) -ifeq ($(DEB_HOST_ARCH),i386) -wrapperpath = installer/lib/wrapper/linux -else ifeq ($(DEB_HOST_ARCH),amd64) -wrapperpath = installer/lib/wrapper/linux64 -# other architectures could be supported by using runplain.sh -endif +# /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 Target Architecture is $(DEB_HOST_ARCH) -ifndef wrapperpath - @echo "Architecture not supported: $(DEB_HOST_ARCH)" - exit 1 -endif - ant preppkg-linux-only - - mkdir -p debian/tmp/etc/init.d - mkdir -p debian/tmp/etc/i2p - mkdir -p debian/tmp/usr/share/i2p/lib - mkdir -p debian/tmp/usr/share/doc/i2p - mkdir -p debian/tmp/usr/share/man/man1 - mkdir -p debian/tmp/usr/lib/i2p - mkdir -p debian/tmp/usr/bin - - cp -a debian/scripts/init debian/tmp/etc/init.d/i2p - - @# copy config templates to /etc/i2p - cp -a pkg-temp/blocklist.txt debian/tmp/etc/i2p/ - cp -a pkg-temp/clients.config debian/tmp/etc/i2p/ - cp -a pkg-temp/hosts.txt debian/tmp/etc/i2p/ - cp -a pkg-temp/i2psnark.config debian/tmp/etc/i2p/ - cp -a pkg-temp/i2ptunnel.config debian/tmp/etc/i2p/ - cp -a pkg-temp/jetty-i2psnark.xml debian/tmp/etc/i2p/ - cp -a pkg-temp/systray.config debian/tmp/etc/i2p/ - - @# copy architecture independent files to /usr/share/i2p and create symlinks to /etc/i2p/ - ln -s /etc/i2p/blocklist.txt debian/tmp/usr/share/i2p/blocklist.txt - ln -s /etc/i2p/clients.config debian/tmp/usr/share/i2p/clients.config - ln -s /etc/i2p/hosts.txt debian/tmp/usr/share/i2p/hosts.txt - ln -s /etc/i2p/i2psnark.config debian/tmp/usr/share/i2p/i2psnark.config - ln -s /etc/i2p/i2ptunnel.config debian/tmp/usr/share/i2p/i2ptunnel.config - ln -s /etc/i2p/jetty-i2psnark.xml debian/tmp/usr/share/i2p/jetty-i2psnark.xml - ln -s /etc/i2p/systray.config debian/tmp/usr/share/i2p/systray.config - ln -s /etc/i2p/wrapper.config debian/tmp/usr/share/i2p/wrapper.config - cp -a pkg-temp/docs debian/tmp/usr/share/i2p/ - cp -a pkg-temp/eepsite debian/tmp/usr/share/i2p/ - cp -a pkg-temp/geoip debian/tmp/usr/share/i2p/ - cp -a pkg-temp/lib/*.jar debian/tmp/usr/share/i2p/lib/ - cp -a pkg-temp/scripts debian/tmp/usr/share/i2p/ - cp -a pkg-temp/webapps debian/tmp/usr/share/i2p/ - cp -a pkg-temp/licenses debian/tmp/usr/share/doc/i2p/ - @# Create the Debian copyright file - cat debian/copyright.part1 LICENSE.txt > debian/tmp/usr/share/doc/i2p/copyright - @# delete all license files that are already in /usr/share/common-licenses/ - rm debian/tmp/usr/share/doc/i2p/licenses/LICENSE-Apache2.0.txt - rm debian/tmp/usr/share/doc/i2p/licenses/LICENSE-GPLv2.txt - rm debian/tmp/usr/share/doc/i2p/licenses/LICENSE-LGPLv2.1.txt - - @# man pages - gzip -9c installer/resources/man/eepget.1 > debian/tmp/usr/share/man/man1/eepget.1.gz - gzip -9c installer/resources/man/i2prouter.1 > debian/tmp/usr/share/man/man1/i2prouter.1.gz - - @# copy wrapper files to /usr/lib/i2p (including wrapper.jar because it is architecture dependent) - cp ${wrapperpath}/libwrapper.so debian/tmp/usr/lib/i2p/ - cp ${wrapperpath}/wrapper.jar debian/tmp/usr/lib/i2p/ - cp ${wrapperpath}/i2psvc debian/tmp/usr/lib/i2p/ - chmod +x debian/tmp/usr/lib/i2p/i2psvc - strip debian/tmp/usr/lib/i2p/libwrapper.so - strip debian/tmp/usr/lib/i2p/i2psvc - - @# copy remaining executables to /usr/bin, replace INSTALL_PATH and SYSTEM_java_io_tmpdir - sed 's|%INSTALL_PATH|/usr/share/i2p|g' pkg-temp/eepget > debian/tmp/usr/bin/eepget - chmod +x debian/tmp/usr/bin/eepget - cat pkg-temp/i2prouter | \ - sed 's|$$I2P/i2psvc|/usr/lib/i2p/i2psvc|g' | \ - sed 's|$$I2P/wrapper.config|/etc/i2p/wrapper.config|g' | \ - sed 's|%INSTALL_PATH|/usr/share/i2p|g' | \ - sed 's|%SYSTEM_java_io_tmpdir|/tmp|g' > debian/tmp/usr/bin/i2prouter - chmod +x debian/tmp/usr/bin/i2prouter - @# The first 4 sed commands each replace the first \$INSTALL_PATH that hasn't been replaced - @# wrapper.java.classpath.1 --> /usr/share/i2p/lib/*.jar:/usr/lib/i2p/wrapper.jar - @# wrapper.java.library.path.1 --> /usr/lib/i2p - @# wrapper.java.library.path.2 --> /usr/lib/i2p - @# i2p.dir.base --> /usr/share/i2p - cat pkg-temp/wrapper.config | \ - sed '0,/$$INSTALL_PATH\/lib\/\*\.jar/s//\/usr\/share\/i2p\/lib\/*.jar\nwrapper.java.classpath.2=\/usr\/lib\/i2p\/wrapper.jar/' | \ - sed '0,/$$INSTALL_PATH/s//\/usr\/lib\/i2p/' | \ - sed '0,/$$INSTALL_PATH/s//\/usr\/lib\/i2p/' | \ - sed '0,/$$INSTALL_PATH/s//\/usr\/share\/i2p/' | \ - sed 's|$$SYSTEM_java_io_tmpdir|/tmp|g' > debian/tmp/etc/i2p/wrapper.config - @# now do runplain.sh - cat pkg-temp/runplain.sh | \ - sed 's|-Djava.library.path=$$I2P:$$I2P/lib|-Djava.library.path=/usr/lib/i2p|g' | \ - sed 's|%INSTALL_PATH|/usr/share/i2p|g' | \ - sed 's|%SYSTEM_java_io_tmpdir|/tmp|g' > debian/tmp/usr/share/i2p/runplain.sh - chmod +x debian/tmp/usr/share/i2p/runplain.sh - - dpkg-shlibdeps debian/tmp/usr/lib/i2p/libwrapper.so - dpkg-shlibdeps debian/tmp/usr/lib/i2p/i2psvc - - touch debian/build + @echo 'The build target is disabled. Use the appropriate binary target.' + +JAVA_HOME=/usr/lib/jvm/default-java +I2P=$(CURDIR)/pkg-temp +export JAVA_HOME I2P +#export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) + +%: + dh $@ --with quilt + +clean: createcopyright + +override_dh_auto_clean: + dh_auto_clean + ant distclean + # The next line is used by KYTV + # when building from source packages + #rm -f apps/jetty/jetty-5.1.15.tgz + rm -f core/c/jbigi/*.[s]o + rm -rf core/c/jcpuid/lib/ + debconf-updatepo + +override_dh_auto_build: + +binary-indep: build-indep +build-indep: + dh_prep + # The next line is used by KYTV when building from source packages + #[ -r jetty/jetty-5.1.15.tgz ] && ln -sf $(CURDIR)/jetty/jetty-5.1.15.tgz $(CURDIR)/apps/jetty/jetty-5.1.15.tgz + ant preppkg-linux javadoc + mv build/javadoc build/api + -cp -fv /usr/share/tor/geoip $(CURDIR)/pkg-temp/geoip/geoip.txt - @# changelog - gzip -9c history.txt > debian/tmp/usr/share/doc/i2p/changelog.gz - gzip -9c debian/changelog > debian/tmp/usr/share/doc/i2p/changelog.Debian.gz -binary: build - mkdir -p debian/tmp/DEBIAN - dpkg-gencontrol - cp -a debian/scripts/postinst debian/scripts/postrm debian/scripts/prerm debian/conffiles debian/tmp/DEBIAN - dpkg-deb -b debian/tmp .. +binary-arch: build-arch +build-arch: + # build jbigi + cd $(CURDIR)/core/c/jbigi && ./mbuild_jbigi.sh dynamic + # build jcpuid + cd $(CURDIR)/core/c/jcpuid && ./build.sh; fi + +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 http://www.i2p2.de" >> $(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 http://www.i2p2.de/newdevelopers#getting-the-i2p-code\n\n\n" >> $(CURDIR)/debian/copyright + @/bin/cat $(CURDIR)/LICENSE.txt >> $(CURDIR)/debian/copyright + + +override_dh_compress: + dh_compress -X.xsl -X.xml + +override_dh_installchangelogs: + dh_installchangelogs history.txt -binary-arch: +override_dh_installdocs: + dh_installdocs -plibjbigi-jni --link-doc=i2p + dh_installdocs --remaining-packages -binary-indep: +override_dh_dhlibdeps: + dh_shlibdeps -llibjbigi-jni debian/libjbigi-jni/usr/lib/jni/*.so -clean: - ant clean - @exit 0 +#override_dh_installinit: +# dh_installinit -r get-orig-source: - wget ${SOURCEURL} + uscan --verbose --rename --destdir $(CURDIR)/.. --watchfile debian/watch --force-download diff --git a/debian/scripts/init b/debian/scripts/init deleted file mode 100755 index e877bfd8a852f8cefa1ef8a2e17510e482fa40eb..0000000000000000000000000000000000000000 --- a/debian/scripts/init +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: i2p -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: -# Default-Stop: 0 1 2 3 4 5 6 -# Short-Description: I2P anonymizing mixnet -### END INIT INFO - -set -e - -. /lib/lsb/init-functions - -I2P () { - su i2psvc -c "/usr/bin/i2prouter $1" -} - -if [ `id -un` != "root" ]; then - echo "This script ($0) must be run as root" - exit 1 -fi - -case "$1" in - start) - log_daemon_msg "Starting I2P" "i2p" - if I2P start; then - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - stop) - log_daemon_msg "Stopping I2P" "i2p" - if I2P stop; then - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - restart|force-reload) - log_daemon_msg "Restarting I2P" "i2p" - if I2P restart; then - log_end_msg 0 - else - log_end_msg 1 - fi - ;; - status) - I2P status - ;; - - *) - log_action_msg "Usage: /etc/init.d/i2p {start|stop|restart|status}" - exit 1 -esac - -exit 0 diff --git a/debian/scripts/postinst b/debian/scripts/postinst deleted file mode 100755 index f6d7c034b5959f574ecd73ada70298c6948c6be5..0000000000000000000000000000000000000000 --- a/debian/scripts/postinst +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -set -e - -SVCHOME=/var/lib/i2p -I2P=/usr/share/i2p -I2PUSER=i2psvc - -useradd -d $SVCHOME -r $I2PUSER -chown $I2PUSER:$I2PUSER $I2P -R -mkdir -p $SVCHOME -chown $I2PUSER:$I2PUSER $SVCHOME - -update-rc.d i2p defaults - -invoke-rc.d i2p start diff --git a/debian/scripts/postrm b/debian/scripts/postrm deleted file mode 100755 index 83f06ce7812d8126e111fc574b54a3e9e3fc272b..0000000000000000000000000000000000000000 --- a/debian/scripts/postrm +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -e - -# /etc/rc*.d/*i2p files -update-rc.d -f i2p remove - -I2PUSER=i2psvc -# delete $I2PUSER if it exists (it will not if this is a purge after a remove) -# the "| cat" sets the exit code to zero so the script doesn't abort -entry=`getent passwd | cut -d: -f1 | grep i2psvc | cat` -if [ -n "$entry" ]; then - exec userdel $I2PUSER -fi - -# if somebody did updates in-network, there may be new files that dpkg -# doesn't know about, so just to be sure -I2P=/usr/share/i2p -rm -rf $I2P - diff --git a/debian/scripts/prerm b/debian/scripts/prerm deleted file mode 100755 index 1777a4ecbaff77aa6aed273674d374c595aff723..0000000000000000000000000000000000000000 --- a/debian/scripts/prerm +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -e - -invoke-rc.d i2p stop - -# stuff in /tmp -TMPDIR=/tmp -rm -f ${TMPDIR}/wrapper.log ${TMPDIR}/wrapper.log.1 ${TMPDIR}/wrapper.log.2 ${TMPDIR}/i2p.pid ${TMPDIR}/routerjvm.pid ${TMPDIR}/router.ping - -# dpkg doesn't know about these files, they were copied out of jbigi.jar by the router -LIB=/usr/lib/i2p -rm -f $LIB/libjbigi.so $LIB/libjcpuid.so - -# the home directory for the i2p daemon -SVCHOME=/var/lib/i2p -rm -rf $SVCHOME - -# if any user other than i2psvc has run i2p, the files in ~user/.i2p are not removed -exit 0 diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 0000000000000000000000000000000000000000..47452d6c73b70f001f7f6ff7baceda3e26eefed9 --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1 @@ +apps/jetty/jetty-5.1.15.tgz diff --git a/debian/source/local-options b/debian/source/local-options new file mode 100644 index 0000000000000000000000000000000000000000..ea3c2fb791ae3df841dbc8a62316015d0d72d597 --- /dev/null +++ b/debian/source/local-options @@ -0,0 +1,3 @@ +unapply-patches +abort-on-upstream-changes + diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000000000000000000000000000000000000..3fc59482d05aebb2e3bf7188933cd7bdb2309054 --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +compression="bzip2" +compression-level=9 diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000000000000000000000000000000000000..b33dbd242a137267a548a69260f8774a9c0611ad --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=3 + +http://mirror.i2p2.de/i2psource_(.*)\.tar\.bz2 debian uupdate