[Freenet] Un premier PKGBUILD à tester/corriger

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

[Freenet] Un premier PKGBUILD à tester/corriger

Message 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 !
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Message 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...)
Avatar de l’utilisateur
Skippythekangoo
archer de cavalerie
Messages : 165
Inscription : mar. 15 mai 2007, 17:46
Localisation : /dev/null
Contact :

Message 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...
Quiconque a cette louange d'être homme sans boire de vin, si il en buvait serait un ange.

Chansons Plus Bifluorées

°¿° Skippy the Kangoo °¿°
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Message par Skunnyk »

Ok, je regarde ca demain je pense :-)
Si tu trouves les pourquoi du comment, ne te gene pas :-)
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message 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 :)
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Message 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 :-)
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Message 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.
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Message 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 :)
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

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

Message 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.
Avatar de l’utilisateur
Nic0
Chu Ko Nu
Messages : 454
Inscription : dim. 11 janv. 2009, 03:16
Localisation : Calvados (14)

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

Message 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..."
~ Yet Another DevOps Blog ~
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

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

Message 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.
Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1137
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

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

Message 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
Avatar de l’utilisateur
Nic0
Chu Ko Nu
Messages : 454
Inscription : dim. 11 janv. 2009, 03:16
Localisation : Calvados (14)

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

Message 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.
~ Yet Another DevOps Blog ~
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

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

Message 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.
Répondre