Page 1 sur 1

[Freenet] Un premier PKGBUILD à tester/corriger

Publié : lun. 31 mars 2008, 22:10
par Skunnyk
Hello,

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')
le fichier freenet.install :

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 $*
Et le fichier freenet.sh (pour lel rc.d, je ne le trouve pas très propre, mais le fichier run.sh utilise des chemins relatifs :/ ) :

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
Voilà :)
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 !

Publié : sam. 05 avr. 2008, 10:14
par farvardin
pourquoi ne le mets-tu pas sur http://aur.archlinux.org ?
(je n'ai pas accès à mon poste sous arch en ce moment donc je ne teste pas encore ton paquet...)

Publié : ven. 08 août 2008, 17:56
par Skippythekangoo
Hello skunky,

Trés bonne initiative,

Mais au jour d'aujourd'hui, le MD5 n'est pas valide, et sur leur site, il existe un sha1.

J'ai tester en commentant le MD5 dans le PKGBUILD, et le serveur ne se lance pas.

Voilà pour le rapport et merci encore...

Publié : ven. 08 août 2008, 18:02
par Skunnyk
Ok, je regarde ca demain je pense :-)
Si tu trouves les pourquoi du comment, ne te gene pas :-)

Publié : ven. 08 août 2008, 19:55
par marc[i1]
Plop :)

Juste un truc qui me chiffone avec le .install
- tu créés un utilisateur lors de la première installation et lors des mises à jour aussi !

Pour le PKGBUILD c'est plus esthétique :
- le Mainteneur c'est pas toi mais un dev Arch, toi t'es un contributeur :)
- arch=(686) me semble plus propre
- cp -r : je lui préfère cp -R car il copie les liens symbolique si besoin contrairement à -r, le mieux est encore install si possible ou alors de vérifier que les droits sont correct (pas de +x inutile).

Sinon beau boulot :)

Publié : sam. 09 août 2008, 11:27
par Skunnyk
Merci des remarques, je corrigerais (je n'était pas revenu sur le PKGBUILD depuis se création).
Pour le postupgrade, c'est surement une boulette de ma part, mais je crois que si l'utilisateur existe déjà, il n'est pas recréé.
Bref, je regarde tout ca un de ces jours :-)

Publié : ven. 15 août 2008, 13:33
par Skunnyk
Bon, je m'y suis remis un peu, j'ai légèrement modifié le PKGBUILD, et cela fonctionne sur mon fixe et mon portable.

Code : Tout sélectionner

# Contributor: Skunnyk <skunnyk[@]archlinux.fr>
pkgname=freenet-daemon
pkgver=0.7
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=('05c06cc8ee4b77a656aa15035adc2301'
         '9879b644635d9826ac786256dee8bcb9')
Les 2 autres fichiers restent tels quels.

Publié : ven. 15 août 2008, 14:24
par chipster
Est-ce que ça ne serait pas mieux de modifier le premier post plutôt que d'en modifier des petites partie à chaque fois ?

Je dis ça car ça risque de devenir le boxon ensuite. Perso je mettrai les modification que j'ai apporté et je modifierai juste le premier question qu'au bout d'un moment ça ne soit pas le grand floue artistique

Autrement super pour freenet :)

Re: [Freenet] Un premier PKGBUILD à tester/corriger

Publié : mar. 09 févr. 2010, 18:11
par farvardin
j'ai installé freenet, par contre je ne souhaitais pas le démarrer à chaque fois (d'autant plus que d'avoir un processus java lancé en permanence c'est un peu lourd). J'ai retiré le script freenet du /etc/rc.d, et pourtant à chaque démarrage ce processus est réactivé et je ne vois vraiment pas ce qui peut le lancer :
- je ne trouve rien avec un grep à freenet ou fred dans /etc, à part des trucs sans rapport genre gshadow
- plus rien dans /etc/rc.d ou /etc/rc.conf bien entendu

Cela n'est pas non plus dans la session de mon wm, j'utilise windowmaker.

Re: [Freenet] Un premier PKGBUILD à tester/corriger

Publié : mar. 09 févr. 2010, 18:44
par Nic0
Salut,

En regardant un peu les sources, 1st_run.sh et remove_cronjob.sh, il est donc question de cron.
Peut être devrais-tu vérifier de ce coté là ?
1st_run.sh ligne 130:

Code : Tout sélectionner

	echo "Installing cron job to start Freenet on reboot..."

Re: [Freenet] Un premier PKGBUILD à tester/corriger

Publié : mar. 09 févr. 2010, 20:02
par farvardin
en fait j'utilise le pkgbuild sur AUR :
http://aur.archlinux.org/packages/freen ... t/PKGBUILD

la seule référence à un démarrage auto c'est ici :
# Program rc.d script
install -Dm755 $srcdir/rc.$pkgname $pkgdir/etc/rc.d/${pkgname} || return 1

et j'ai déjà retiré le script de cet endroit, alors je ne comprends vraiment pas.

Alors c'est sûr que je pourrais simplement effacer le paquet freenet de mon système, mais je suis curieux de savoir ce qui pourrait démarrer cela sans que je m'en rende compte ni que je trouve pourquoi.

Re: [Freenet] Un premier PKGBUILD à tester/corriger

Publié : mar. 09 févr. 2010, 21:39
par Skunnyk
Hello,

<mylife>Oulà, il y a bien longtemps que je n'ai pas retouché ce PKGBUILD (je n'utilise plus freenet, peut être que je retenterais à la 0.8 ) D'ailleurs le paquet sur AUR vient de celui là :-)</mylife>

Tu as regardé dans /var/spool/cron/ ?

EDIT: pour des news sur freenet : http://emu.freenetproject.org/pipermail ... 00009.html / http://emu.freenetproject.org/pipermail ... 00008.html

Re: [Freenet] Un premier PKGBUILD à tester/corriger

Publié : mar. 09 févr. 2010, 22:09
par Nic0
farvardin a écrit :en fait j'utilise le pkgbuild sur AUR :
http://aur.archlinux.org/packages/freen ... t/PKGBUILD
Et c'est bien en prenant les sources de ce paquetage.
PKGBUILD a écrit :source=(http://downloads.freenetproject.org/alp ... }07.tar.gz rc.freenet)
Qu'il est question apparemment de créer un cron.

Re: [Freenet] Un premier PKGBUILD à tester/corriger

Publié : ven. 12 févr. 2010, 23:20
par farvardin
merci, effectivement c'était bien dans /var/spool/cron/

je n'avais pas trouvé dans /etc/cron.### ni dans crontab, je ne savais pas qu'on pouvait encore avoir une autre méthode pour cela.