forked from I2P_Developers/i2p.i2p
* Debian: Fixup, update, enhance dream's scripts
* build.xml: Speed up sponge's distclean additions
This commit is contained in:
20
build.xml
20
build.xml
@@ -197,6 +197,8 @@
|
||||
<delete file="BOB-one.jar" failonerror="false" quiet="true" />
|
||||
</target>
|
||||
<target name="distclean" depends="clean">
|
||||
<delete dir="debian/tmp" />
|
||||
<delete file="debian/files" />
|
||||
<ant dir="core/java/" target="distclean" />
|
||||
<ant dir="router/java/" target="distclean" />
|
||||
<ant dir="apps/ministreaming/java/" target="distclean" />
|
||||
@@ -237,8 +239,7 @@
|
||||
<defaultexcludes remove="**/*~"/>
|
||||
|
||||
<delete>
|
||||
<fileset dir="." includes="**/*.class" />
|
||||
<fileset dir="." includes="**/*.java~" />
|
||||
<fileset dir="." includes="**/*.class **/*.java~ **/*.txt~ **/*.xml~ **/*.sh~ **/*.SlackBuild~" />
|
||||
<!--
|
||||
Less common, but they pollute my workspace here, so we
|
||||
might as well nuke these as well. Are there any others?
|
||||
@@ -247,10 +248,6 @@
|
||||
|
||||
++Sponge
|
||||
-->
|
||||
<fileset dir="." includes="**/*.txt~" />
|
||||
<fileset dir="." includes="**/*.xml~" />
|
||||
<fileset dir="." includes="**/*.sh~" />
|
||||
<fileset dir="." includes="**/*.SlackBuild~" />
|
||||
</delete>
|
||||
<!--
|
||||
Now we put the defaults back
|
||||
@@ -771,4 +768,15 @@
|
||||
<echo message="Don't forget to mtn tag w: i2p-${release.number}" />
|
||||
<echo message="... and mtn cert t:i2p-${release.number} branch i2p.i2p.release" />
|
||||
</target>
|
||||
<target name="debian">
|
||||
<echo message="Did you update the version in these files?" />
|
||||
<exec executable="ls" failonerror="true">
|
||||
<arg value="-l" />
|
||||
<arg value="debian/changelog" />
|
||||
</exec>
|
||||
<echo message="====================" />
|
||||
<exec executable="dpkg-buildpackage" failifexecutionfails="true" >
|
||||
<arg value="-b" />
|
||||
</exec>
|
||||
</target>
|
||||
</project>
|
||||
|
||||
22
debian/README.txt
vendored
Normal file
22
debian/README.txt
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
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/lib/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 1MB 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
|
||||
5
debian/changelog
vendored
5
debian/changelog
vendored
@@ -1,3 +1,8 @@
|
||||
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...
|
||||
|
||||
14
debian/control
vendored
14
debian/control
vendored
@@ -1,24 +1,18 @@
|
||||
Source: i2p
|
||||
Maintainer: jrandom
|
||||
Maintainer: i2p
|
||||
Section: net
|
||||
Priority: optional
|
||||
Homepage: http://dev.i2p2.de
|
||||
Build-Depends: java-sdk, ant
|
||||
Recommends: libgmp3c2
|
||||
Version: 0.7-0
|
||||
Tags: implemented-in::java, interface::daemon, network::client, network::server, role::program, security::cryptography
|
||||
Homepage: http://www.i2p2.de/
|
||||
Build-Depends: java-sdk, ant, gettext
|
||||
|
||||
Package: i2p
|
||||
Architecture: all
|
||||
Section: net
|
||||
Priority: optional
|
||||
Depends: java-runtime
|
||||
Recommends: libgmp3c2
|
||||
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
|
||||
Version: 0.7-0
|
||||
Tags: implemented-in::java, interface::daemon, network::client, network::server, role::program, security::cryptography
|
||||
Homepage: http://www.i2p2.de/
|
||||
|
||||
46
debian/rules
vendored
46
debian/rules
vendored
@@ -1,20 +1,44 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
build:
|
||||
ant preppkg && \
|
||||
(cd pkg-temp; chmod +x postinstall.sh) && \
|
||||
mkdir -p debian/tmp/var/lib && \
|
||||
mkdir -p debian/tmp/etc/init.d && \
|
||||
cp -a debian/scripts/init debian/tmp/etc/init.d/i2p && \
|
||||
cp -a pkg-temp debian/tmp/var/lib/i2p && \
|
||||
ant preppkg
|
||||
mkdir -p debian/tmp/usr/lib
|
||||
mkdir -p debian/tmp/etc/init.d
|
||||
cp -a debian/scripts/init debian/tmp/etc/init.d/i2p
|
||||
cp -a pkg-temp debian/tmp/usr/lib/i2p
|
||||
rm -f debian/tmp/usr/lib/i2p/*.bat
|
||||
rm -f debian/tmp/usr/lib/i2p/i2p.exe
|
||||
rm -rf debian/tmp/usr/lib/i2p/icons
|
||||
rm -f debian/tmp/usr/lib/i2p/lib/systray4j.dll
|
||||
rm -rf debian/tmp/usr/lib/i2p/lib/wrapper/freebsd
|
||||
rm -rf debian/tmp/usr/lib/i2p/lib/wrapper/macosx
|
||||
rm -rf debian/tmp/usr/lib/i2p/lib/wrapper/solaris
|
||||
rm -rf debian/tmp/usr/lib/i2p/lib/wrapper/win32
|
||||
chmod +x debian/tmp/usr/lib/i2p/postinstall.sh
|
||||
sed 's|$$INSTALL_PATH|/usr/lib/i2p|g' debian/tmp/usr/lib/i2p/wrapper.config > debian/tmp/usr/lib/i2p/a
|
||||
sed 's|$$SYSTEM_java_io_tmpdir|/tmp|g' debian/tmp/usr/lib/i2p/a > debian/tmp/usr/lib/i2p/wrapper.config
|
||||
mkdir -p debian/tmp/usr/bin
|
||||
sed 's|%INSTALL_PATH|/usr/lib/i2p|g' debian/tmp/usr/lib/i2p/eepget > debian/tmp/usr/lib/i2p/a
|
||||
mv debian/tmp/usr/lib/i2p/a debian/tmp/usr/lib/i2p/eepget
|
||||
cp debian/tmp/usr/lib/i2p/eepget debian/tmp/usr/bin/eepget
|
||||
chmod +x debian/tmp/usr/bin/eepget
|
||||
sed 's|%INSTALL_PATH|/usr/lib/i2p|g' debian/tmp/usr/lib/i2p/runplain.sh > debian/tmp/usr/lib/i2p/a
|
||||
sed 's|%SYSTEM_java_io_tmpdir|/tmp|g' debian/tmp/usr/lib/i2p/a > debian/tmp/usr/lib/i2p/runplain.sh
|
||||
sed 's|%INSTALL_PATH|/usr/lib/i2p|g' debian/tmp/usr/lib/i2p/i2prouter > debian/tmp/usr/lib/i2p/a
|
||||
sed 's|%SYSTEM_java_io_tmpdir|/tmp|g' debian/tmp/usr/lib/i2p/a > debian/tmp/usr/lib/i2p/i2prouter
|
||||
cp debian/tmp/usr/lib/i2p/i2prouter debian/tmp/usr/bin/i2prouter
|
||||
chmod +x debian/tmp/usr/bin/i2prouter
|
||||
rm debian/tmp/usr/lib/i2p/a
|
||||
touch debian/build
|
||||
|
||||
binary: build
|
||||
mkdir -p debian/tmp/DEBIAN && \
|
||||
dpkg-gencontrol && \
|
||||
cp -a debian/scripts/postinst debian/scripts/postrm debian/scripts/prerm debian/tmp/DEBIAN && \
|
||||
mkdir -p debian/tmp/DEBIAN
|
||||
dpkg-gencontrol
|
||||
cp -a debian/scripts/postinst debian/scripts/postrm debian/scripts/prerm debian/tmp/DEBIAN
|
||||
dpkg-deb -b debian/tmp ..
|
||||
|
||||
clean:
|
||||
rm -f debian/build
|
||||
ant clean
|
||||
rm -Rf pkg-temp
|
||||
rm -rf debian/tmp/
|
||||
ant distclean
|
||||
@exit 0
|
||||
|
||||
6
debian/scripts/init
vendored
6
debian/scripts/init
vendored
@@ -1,4 +1,4 @@
|
||||
#! /bin/sh
|
||||
#!/bin/sh
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: i2p
|
||||
@@ -13,8 +13,8 @@ set -e
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
function I2P {
|
||||
su i2p -c "/var/lib/i2p/i2prouter $1"
|
||||
I2P () {
|
||||
su i2psvc -c "/usr/lib/i2p/i2prouter $1"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
|
||||
17
debian/scripts/postinst
vendored
17
debian/scripts/postinst
vendored
@@ -1,9 +1,14 @@
|
||||
#!/bin/sh
|
||||
TOP=/var/lib/i2p
|
||||
useradd -b $TOP -r i2p 2>/dev/null
|
||||
chown i2p $TOP -R
|
||||
SVCHOME=/var/lib/i2p
|
||||
I2P=/usr/lib/i2p
|
||||
I2PUSER=i2psvc
|
||||
|
||||
update-rc.d
|
||||
useradd -d $SVCHOME -r $I2PUSER
|
||||
chown $I2PUSER:$I2PUSER $I2P -R
|
||||
mkdir -p $SVCHOME
|
||||
chown $I2PUSER:$I2PUSER $SVCHOME
|
||||
|
||||
cd $TOP
|
||||
exec su i2p -c ./postinstall.sh
|
||||
update-rc.d i2p defaults
|
||||
|
||||
cd $I2P
|
||||
exec su $I2PUSER ./postinstall.sh
|
||||
|
||||
9
debian/scripts/postrm
vendored
9
debian/scripts/postrm
vendored
@@ -1,2 +1,9 @@
|
||||
#!/bin/sh
|
||||
exec userdel i2p
|
||||
I2PUSER=i2psvc
|
||||
exec userdel $I2PUSER
|
||||
|
||||
# if somebody did updates in-network, there may be new files that dpkg
|
||||
# doesn't know about, so just to be sure
|
||||
I2P=/usr/lib/i2p
|
||||
rm -rf $I2P
|
||||
|
||||
|
||||
19
debian/scripts/prerm
vendored
19
debian/scripts/prerm
vendored
@@ -1,2 +1,19 @@
|
||||
#!/bin/sh
|
||||
exec /etc/init.d/i2p stop
|
||||
/etc/init.d/i2p stop
|
||||
|
||||
# stuff in /tmp
|
||||
rm -f /tmp/wrapper.log /tmp/wrapper.log.1 /tmp/wrapper.log.2 /tmp/i2p.pid /tmp/routerjvm.pid /tmp/router.ping
|
||||
|
||||
# /etc/rc*.d/*i2p files
|
||||
update-rc.d -f i2p remove
|
||||
|
||||
# dpkg doesn't know about these files, created by postinstall.sh
|
||||
I2P=/usr/lib/i2p
|
||||
rm -f $I2P/i2psvc $I2P/lib/libwrapper.so $I2P/lib/wrapper.jar
|
||||
|
||||
# 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#! /bin/sh
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Skeleton sh script suitable for starting and stopping
|
||||
|
||||
@@ -66,8 +66,6 @@ cp $wrapperpath/wrapper.jar ./lib/
|
||||
cp $wrapperpath/i2psvc .
|
||||
chmod 744 ./eepget
|
||||
chmod 744 ./i2psvc
|
||||
chmod 744 ./scripts/i2pbench.sh
|
||||
chmod 744 ./scripts/i2ptest.sh
|
||||
rm -rf ./icons
|
||||
rm -rf ./lib/wrapper
|
||||
rm -f ./lib/*.dll
|
||||
|
||||
@@ -47,6 +47,8 @@ public class WorkingDir {
|
||||
private final static String PROP_WORKING_DIR = "i2p.dir.config";
|
||||
private final static String WORKING_DIR_DEFAULT_WINDOWS = "I2P";
|
||||
private final static String WORKING_DIR_DEFAULT = ".i2p";
|
||||
private final static String WORKING_DIR_DEFAULT_DAEMON = "i2p-config";
|
||||
private final static String DAEMON_USER = "i2psvc";
|
||||
|
||||
/**
|
||||
* Only call this once on router invocation.
|
||||
@@ -70,7 +72,10 @@ public class WorkingDir {
|
||||
home = appdata;
|
||||
dirf = new File(home, WORKING_DIR_DEFAULT_WINDOWS);
|
||||
} else {
|
||||
dirf = new File(home, WORKING_DIR_DEFAULT);
|
||||
if (DAEMON_USER.equals(System.getProperty("user.name")))
|
||||
dirf = new File(home, WORKING_DIR_DEFAULT_DAEMON);
|
||||
else
|
||||
dirf = new File(home, WORKING_DIR_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user