J'ai créer un package pour Freenet ( http://freenetproject.org/ ), un réseau décentralisé, dont, je cite "L'objectif premier de Freenet est de mettre à disposition de tous ceux qui le désirent un espace de totale liberté d'expression. Pour ce faire, il faut que tout le monde puisse s'exprimer sans craindre de représailles, et donc, que tout le monde puisse être anonyme.". (plus d'infos : http://www.freenet-doc.info )
Bref, Freenet est donc un daemon ("fred"), j'ai donc créer un utilisateur "freenet" avec lequel il est lancé.
Il faut ensuite se connecter sur http://127.0.0.1:8888/wizard (par defaut) pour configurer le node. Je vous conseil de changer le répertoire du "datastore" après la configuration, car par défaut, tout se met dans /opt : Il faut changer le paramètre node.nodeDir=. dans le fichier /opt/freenet/freenet.ini , par exemple node.nodeDir=/home/skunnyk/Freenet/
Voilà a peu près tout ...
le PKGBUILD :
Code : Tout sélectionner
# Maintainer: Skunnyk <skunnyk[!SPAM]archlinux.fr>
# PKGBUILD EN TEST
pkgname=freenet-daemon
pkgver=0.7
_pkgver=0.7-rc1
pkgrel=1
pkgdesc="An encrypted network without censorship"
url="http://www.freenetproject.org/"
license=('GPL2')
arch=(i686 )
depends=('jre')
install=freenet.install
source=(http://downloads.freenetproject.org/alpha/installer/freenet07.tar.gz freenet.sh)
build() {
cd $startdir/src/freenet/
# On enleve les wrappers qui foutent le dawa avec le passage de "strip" (c'est sale)...
rm $startdir/src/freenet/bin/wrapper-{linux-x86-64,macosx-universal-32,linux-ppc-32,linux-ppc-64}
rm $startdir/src/freenet/lib/libwrapper-{linux-x86-64,linux-ppc-32,linux-ppc-64}.so
install -d -m644 $pkgdir/opt/freenet/
cp -r ${startdir}/src/freenet/ $pkgdir/opt/
install -D -m744 ${startdir}/freenet.sh $pkgdir/etc/rc.d/freenet
}
md5sums=('83e9f646e0e4642974c01d45c2deeb5e'
'9879b644635d9826ac786256dee8bcb9')
Code : Tout sélectionner
# arg 1: the freenet version
post_install() {
echo "==> An user "freenet" is created which own the /opt/freenet directory)"
useradd -u 55 -d /opt/freenet/ -s /bin/bash freenet &>/dev/null
chown -R freenet:freenet /opt/freenet/
chmod u+x /opt/freenet
echo "To start your node : /etc/rc.d/freenet start (wait a minute ;-))"
echo "Go to http://127.0.0.1:8888/wizard to configure your node"
}
# arg 1: the new package version
# arg 2: the old package version
post_upgrade() {
post_install $1
}
# arg 1: the old package version
pre_remove() {
userdel freenet &>/dev/null
}
op=$1
shift
$op $*
Code : Tout sélectionner
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Starting Freenet Daemon"
cd /opt/freenet && su -c "./run.sh start" freenet &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon freenet
stat_done
fi
;;
stop)
stat_busy "Stopping Freenet Daemon"
cd /opt/freenet && su -c "./run.sh stop" freenet &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon freenet
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0
Tout retour est évidement bienvenue, ainsi que toutes remarque (même désagréables :p)
Je me rend compte que faire un paquet pour Freenet n'est pas très facile, c'est surement la raison pour laquelle jusqu'a maintenant, seule gentoo avait un ebuild !