[MyfreeTV] Impossible a empaqueter

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
Greenlynx
Hankyu
Messages : 41
Inscription : jeu. 30 nov. 2006, 09:54
Localisation : /dev/null ou derrière un clavier !

[MyfreeTV] Impossible a empaqueter

Message par Greenlynx »

Voila ca fait un moment que j'essaie de faire un paquet de ce petit logiciel
qui est vraiment super pratique.
Mais si mon paquet se crée bien il est pas fonctionnel :x

Si quelqu'un veut bien essayer

http://prdownloads.sourceforge.net/myfr ... p?download

Merchi d'avance :wink:

PS: J'envoie une Leffe par la poste a celui qui reussi :lol: :lol:
Avatar de l’utilisateur
vincentxavier
Elfe
Messages : 778
Inscription : ven. 11 août 2006, 18:17
Localisation : Epinay sur Seine (93)

Message par vincentxavier »

:up:

Le paquet n'existe-t-il pas dans AUR ?

Code : Tout sélectionner

2 extra/mythtv 0.20.0.20070131-2
    A Homebrew PVR project
:resolu:
Warranty

THIS ADVICE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

En clair, je ne pourrais être tenu responsable des dégats causés par l'utilisation de mes conseils

Image
Avatar de l’utilisateur
Greenlynx
Hankyu
Messages : 41
Inscription : jeu. 30 nov. 2006, 09:54
Localisation : /dev/null ou derrière un clavier !

Message par Greenlynx »

:paslu:


Desolé mon ami mais on ne parle pas du même paquet :lol:

Je te parle de myfreetv pas de mythtv

Toujours de solution au passage

:contourne:
Avatar de l’utilisateur
warnaud
Maître du Kyudo
Messages : 1640
Inscription : ven. 11 août 2006, 17:05
Localisation : Rolle (CH)

Message par warnaud »

ouch ça sent java à plein nez ...
Déjà pourquoi les sources ? pour le recompiler ?
Je regarde avec http://switch.dl.sourceforge.net/source ... V_2.21.zip

Mais à mon avis c'est une "bête" copie dans /opt/myfreetv

Et après faut faire un microscript pour le lancer

Code : Tout sélectionner

java -jar MyFreeTV.jar
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

bonjour,

je ne sais pas si ça se fait de déterrer des sujets comme ça, mais comme c'est pas "résolu"...
il me semble qu'il y a 2 semaines, quand j'avais voulu l'installer, je n'avais pas trouvé de package.

je me propose pourquoi pas, de créer un package pour myfreetv, que j'adore aussi. ça serait mon premier package, alors je ne sais pas combien de temps je vais mettre à le réussir.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

bgse a écrit :bonjour,

je ne sais pas si ça se fait de déterrer des sujets comme ça, mais comme c'est pas "résolu"...
il me semble qu'il y a 2 semaines, quand j'avais voulu l'installer, je n'avais pas trouvé de package.

je me propose pourquoi pas, de créer un package pour myfreetv, que j'adore aussi. ça serait mon premier package, alors je ne sais pas combien de temps je vais mettre à le réussir.
bon, grâce à l'aide des chatteurs sur l'IRC, j'ai pu faire un PKGBUILD pour myfreetv.

- sauf que bon : il est loin d'être parfait (des trucs oubliés notamment au niveau des dépendances à java, des trucs pas optimaux...)
- il manque l'ajout lors de l'installation d'une entrée dans le menu gnome dans la section "Internet" (j'ai cherché dans les wiki, mais soit j'ai mal cherché, soit c'est absent, soit les indications ne sont pas valables).

sinon, ça marche, à part un bug dans myfreetv, mais je ne pense pas qu'il soit lié à mon PKGBUILD.
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 :)

1- Copie ton PKGBUILD ici, on apportera les éventuelles corrections ici :)

2- http://wiki.archlinux.fr/howto:comprendre:desktopfile
Ne vous emmerdez plus, emmerdez les autres.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

ok merci, c'est bien ça que je cherchais.
je me suis douté que de toute façon, même si j'arrivais à faire une entrée pour gnome, ça ne le ferait pas pour les autres DM... j'ai pensé à freedesktop en me disant qu'il devait y avoir un truc standart, mais il était trop tard, et je suis allé faire dodo.

pour le PKGBUILD, en fait je n'avais pas compris que le dossier $startdir/pkg est le dossier qui va être répliqué directement à la racine de arch lors de l'installation. après plusieurs tatonements, j'ai réussi.

j'ai notamment buté sur le fait que les fichiers que je téléchargeais était un fichier zip et un fichier jar, qui s'extrayait automatiquement dans $startdir/src, alors que je ne le voulais pas.
grâce à noextract() j'ai pu empecher ça et extraire moi-même où je voulais.

aussi, pour le téléchargement du fichier zip, ça se fait sur dl.sourceforge, et des fois, les mirroirs sont très lents, et l'installeur attends des fois près d'une minute qu'un mirroir ne réponde pas, avant de tester un autre mirroir... je ne sais pas si il y a moyen de lui faire tester d'abord les ping de quelques mirroirs, en parallèle, et de lui dire de télécharger sur ce mirroir ?

bon, sinon, mon PKGBUILD, c'est un truc bidon, pas de compilation, juste du téléchargement et de la copie de fichiers, mais au moins je rentre dedans petit à petit. et je dois dire que c'est assez jouïssif !!


je pense que je posterai le PKGBUILD ce soir, je suis au boulot là (ça se voit non ?)
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

alors voilà, du grand basique, qui m'a pris quelques heures quand même !!

il manque donc au minimum :
- les dépendances (java, via openjdk6)
- l'ajout d'une entrée dans les menus (avec la création de l'icone).
- de l'optimisation

Code : Tout sélectionner

# Contributor: bgse <bgse_51@yahoo.fr>
pkgname=myfreetv
pkgver=2.22
pkgrel=1
pkgdesc="watch free french ISP tv channel on your computer"
arch=(i686)
url="http://myfreetv.sourceforge.net/index.html"
license=('GPL')
source=(http://dl.sourceforge.net/sourceforge/myfreetv/MyFreeTV_2.21.zip http://caotic.free.fr/myfreetv/MyFreeTV.jar)
md5sums=('143d43652943799fd5a2dc18c42aff74' '417411e7178b55fc82af0eadb4dc0b4c') #generate with 'makepkg -g'
noextract=(MyFreeTV_2.21.zip MyFreeTV.jar)

build()
{
# création de l'arborescence
  cd $startdir
  mkdir pkg
  cd pkg
  mkdir usr
  cd usr
  mkdir share
  cd share
  mkdir $pkgname
  cd $pkgname
# extraction de la version 2.21
	unzip $startdir/src/MyFreeTV_2.21.zip
# backup du fichier MyFreeTV.jar version 2.21
	mv MyFreeTV.jar MyFreeTV.jar.2.21
# remplacement par le fichier MyFreeTV.jar version 2.22
	cp $startdir/src/MyFreeTV.jar MyFreeTV.jar
}
# vim:set ts=2 sw=2 et:

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] »

pourquoi tu renommes le fichier en MyFreeTV.jar.2.21 ?

De plus, je te conseil d'utiliser 'install' au lieu de 'cp', il te permet de régler plus précisément les droits sur les fichiers.
Ne vous emmerdez plus, emmerdez les autres.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

marc[i1] a écrit :pourquoi tu renommes le fichier en MyFreeTV.jar.2.21 ?
oui, ça ne sert à rien.
marc[i1] a écrit :De plus, je te conseil d'utiliser 'install' au lieu de 'cp', il te permet de régler plus précisément les droits sur les fichiers.
je ne connais pas la commande "install". c'est utilisable uniquement dans un PKGBUILD ou alors dans bash aussi ?
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] »

install est une commande bash.
man install ;)
sinon regarde dans les PKGBUILD, on l'utilise pas mal.
Ne vous emmerdez plus, emmerdez les autres.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

bonjour,

je me suis décidé à terminer ce package, ça peut être utile pour les français qui veulent utiliser free.

1) il faut que je remplace les cp par la commande install, suivant le conseil qu'on m'a donné plus haut
2) j'ai créé un fichier myfreetv.desktop, mais j'ai un pb : j'ai beau chercher dans les tuto, je ne vois pas comment faire pour qu'il soit automatiquement copié dans /usr/share/applications/... donc il manque le raccourcis une fois myfreetv installé.
je pensais que makepkg savait détecter les fichiers .desktop qui sont situé à coté du PKGBUILD, et qu'il les incluait dans le tar.gz
je me trompe ? il y a évidemment un moyen pour que le fichier .desktop que j'ai créé se retrouve dans le .tar.gz
j'ai épluché les tutos là, mais je n'ai rien trouvé :(

sinon voilà où j'en suis. depuis la dernière fois j'ai rajouté la dépendance qu'il faut, et j'ai optimisé les créations de dossiers avec mkdir -p

Code : Tout sélectionner

# Contributor: bgse <bgse_51@yahoo.fr>
pkgname=myfreetv
pkgver=2.22
pkgrel=1
pkgdesc="watch free french ISP tv channel on your computer"
arch=(i686)
url="http://myfreetv.sourceforge.net/index.html"
license=('GPL')
depends=('openjdk6')
source=(http://dl.sourceforge.net/sourceforge/myfreetv/MyFreeTV_2.21.zip http://caotic.free.fr/myfreetv/MyFreeTV.jar)
md5sums=('143d43652943799fd5a2dc18c42aff74' '417411e7178b55fc82af0eadb4dc0b4c') #generate with 'makepkg -g'
noextract=(MyFreeTV_2.21.zip MyFreeTV.jar)

build()
{
# création de l'arborescence
  cd $startdir
  mkdir -p pkg/usr/share/pixmaps
  mkdir -p pkg/usr/share/$pkgname
  mkdir -p pkg/usr/share/applications
  cd pkg/usr/share/$pkgname
# extraction de la version 2.21
	unzip $startdir/src/MyFreeTV_2.21.zip
# remplacement du fichier MyFreeTV.jar version 2.21 par le version 2.22
  rm MyFreeTV.jar
	cp $startdir/src/MyFreeTV.jar MyFreeTV.jar
# extraction du fichier d'icone et copie pour disponibilité dans le menu
  cd $startdir/src
  jar xvf MyFreeTV.jar img/ico32.png
  cp $startdir/src/img/ico32.png $startdir/pkg/usr/share/pixmaps/myfreetv.png
}
# vim:set ts=2 sw=2 et:
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] »

ola l'ami :)

bon tu fais un peu de travers là :p

1- Tu ne dois pas travailler dans pkg/ donc ça c'est a bannir :

Code : Tout sélectionner

cd pkg/usr/share/$pkgname 
2- tu peux simplifier la création de tes répertoires en une ligne :

Code : Tout sélectionner

mkdir -p $startdir/pkg/usr/share/{$pkgname,pixmaps,applications}
Tu peux aussi remplacer mkdir par install ça te permet de maitriser les droits du répertoire (plus Unix-like), je te laisse chercher ;)

3- concernant le .desktop, makepkg ne gère rien du tout c'est à toi de le placer au bon endroit cad dans /usr/share/applications/

Il y a un truc que je comprends pas dans ton PKGBUILD, tu télécharges un fichier nommé MyFreeTV.jar et tu extrais un fichier MyFreeTV_2.21.zip qui arrive par magie ! J'ai pas testé mais je doute que ton PKGBUILD fonctionne ! Pour en être sur, supprime tout ton répertoire de compilation sauf le PKGBUILD et lance le avec makepkg … tu devrais avoir de belles erreurs ;)
Ne vous emmerdez plus, emmerdez les autres.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

non non, ne t'inquiète pas, mon PKGBUILD fonctionne (à part le mirroir dl.sourceforge.net qui mets parfois du temps à répondre), je débuggue quand même un peu avant de publier ça sur le forum, sinon on est parti pour 20 postes avec que des échanges sur les erreurs que je suis capable de corriger moi-même.
tu peux le tester sans problème, ça installe correctement, et ça désinstalle proprement aussi. la seule chose c'est qu'il n'y a pas de raccourcis, et donc il faut aller dans /usr/share/myfreetv/ et lancer le .jar à la main en console. et myfreetv fonctionne.
tant que j'y pense, il faut aussi que je rajoute la dépendance à vlc.

merci pour tes commentaires. le 02 Octobre à 2008, tu m'avais déjà fait des commentaires, et le PKGBUILD était presque le même (même façon de travailler en tout cas).

je reprends tes points :
marc[i1] a écrit :ola l'ami :)
salut le guedin qui ne garde pas l'ancien noyau au cas où ça foire, pendant une upgrade de noyau :)
marc[i1] a écrit :bon tu fais un peu de travers là :p

1- Tu ne dois pas travailler dans pkg/ donc ça c'est a bannir :

Code : Tout sélectionner

cd pkg/usr/share/$pkgname 
c'est sur le chan qu'on m'a dit de créer l'architecture moi même de cette façon là.
au départ, j'avais fait de façon naturelle, en mettant les path en dur directement, mais ça ne fonctionnait pas...
on m'a dit alors de travailler dans $startdir/pkg, et que $startdir/pkg représentait la racine du filesystem.
alors, si je ne travaille pas dans $startdir/pkg , il faut travailler dans quel dossier ?
marc[i1] a écrit :2- tu peux simplifier la création de tes répertoires en une ligne :

Code : Tout sélectionner

mkdir -p $startdir/pkg/usr/share/{$pkgname,pixmaps,applications}
tout à fait.
marc[i1] a écrit :Tu peux aussi remplacer mkdir par install ça te permet de maitriser les droits du répertoire (plus Unix-like), je te laisse chercher ;)
oui, ça je dois encore chercher.
marc[i1] a écrit :3- concernant le .desktop, makepkg ne gère rien du tout c'est à toi de le placer au bon endroit cad dans /usr/share/applications/
je veux bien... mais moi j'ai créé le fichier .desktop en local, et ce fichier n'est pas sur internet, donc comment est ce que je fais pour que mon .desktop se retrouve en ligne et que les gens puissent le télécharger ??
c'est ça ma question...
marc[i1] a écrit :Il y a un truc que je comprends pas dans ton PKGBUILD, tu télécharges un fichier nommé MyFreeTV.jar et tu extrais un fichier MyFreeTV_2.21.zip qui arrive par magie !
le fichier MyFreeTV_2.21.zip fait aussi parti des sources que je DL sur sourceforge.
le fichier jar c'est un fichier qui n'est pas à extraire, et le fichier zip, c'est le reste des fichiers binaires, donc je l'extrais. et j'extrais aussi un des fichiers du .jar, le fichier d'icone, dont je me sers ensuite pour le raccourcis (que je n'arrive pas à intégrer au package...).
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Message par mélodie »

bgse a écrit :
marc[i1] a écrit :3- concernant le .desktop, makepkg ne gère rien du tout c'est à toi de le placer au bon endroit cad dans /usr/share/applications/
je veux bien... mais moi j'ai créé le fichier .desktop en local, et ce fichier n'est pas sur internet, donc comment est ce que je fais pour que mon .desktop se retrouve en ligne et que les gens puissent le télécharger ??
c'est ça ma question...
Tant que c'est sur le présent forum, ça peut se faire comme ceci. Après, pour aller sur AUR, c'est différent.

PS: je viens de regarder un pkgbuild au hasard, celui d'une version de Scribus. À la dernière ligne du build je lis:

" install -Dm644 vnd.scribus.desktop \
${startdir}/pkg/usr/share/applications/scribus.desktop"

juste avant le '}' final.

Si ça peut t'aider à chercher. :)

Y aura-t-il une icône associée à ton menu ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

bgse a écrit : alors, si je ne travaille pas dans $startdir/pkg , il faut travailler dans quel dossier ?
ce que voulais dire marc[i1], c'est qu'il vaut mieux ne pas faire de "cd ...$pkgdir...", tu travailles depuis $startdir ou $srcdir mais tu peux faire les modifs sur $pkgdir, c'est pour éviter qu'une commande laisse des fichiers dans l'arborescence qui constituera ce qui sera installé.
bgse a écrit : je veux bien... mais moi j'ai créé le fichier .desktop en local, et ce fichier n'est pas sur internet, donc comment est ce que je fais pour que mon .desktop se retrouve en ligne et que les gens puissent le télécharger ??
c'est ça ma question...
tu n'es pas obligé d'avoir tous les fichiers sur internet certains fichiers peuvent être fournis avec le PKGBUILD, par exemple, la description du paquet rxvt-unicode (au pif):

Code : Tout sélectionner

$ ls -al /var/abs/extra/rxvt-unicode/
total 88
drwxr-xr-x    2 root root  4096 oct. 13 06:13 .
drwxr-xr-x 2177 root root 69632 oct. 13 06:14 ..
-rw-r--r--    1 root root  1664 oct. 13 06:13 PKGBUILD
-rw-r--r--    1 root root   208 oct. 13 06:13 rxvt-unicode.desktop
-rw-r--r--    1 root root  1513 oct. 13 06:13 rxvt-unicode.png
par contre, dans cet exemple, il y a un fichier binaire, et sous aur, en théorie, il ne doit pas y en avoir.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

tuxce a écrit :ce que voulais dire marc[i1], c'est qu'il vaut mieux ne pas faire de "cd ...$pkgdir...", tu travailles depuis $startdir ou $srcdir mais tu peux faire les modifs sur $pkgdir, c'est pour éviter qu'une commande laisse des fichiers dans l'arborescence qui constituera ce qui sera installé.
désolé, je n'ai pas compris. pourtant au moment où j'avais travaillé sur le PKGBUILD, j'avais bien tout lu, y compris le débat sur l'utilisation des variables $startdir, $srcdir, $pkgdir, et je n'ai toujours pas compris.
tuxce a écrit : tu n'es pas obligé d'avoir tous les fichiers sur internet certains fichiers peuvent être fournis avec le PKGBUILD, par exemple, la description du paquet rxvt-unicode (au pif):

Code : Tout sélectionner

$ ls -al /var/abs/extra/rxvt-unicode/
total 88
drwxr-xr-x    2 root root  4096 oct. 13 06:13 .
drwxr-xr-x 2177 root root 69632 oct. 13 06:14 ..
-rw-r--r--    1 root root  1664 oct. 13 06:13 PKGBUILD
-rw-r--r--    1 root root   208 oct. 13 06:13 rxvt-unicode.desktop
-rw-r--r--    1 root root  1513 oct. 13 06:13 rxvt-unicode.png
as, tu veux dire que lorsque je soumettrais mon PKGBUILD, je devrai fournir également le fichier .desktop (et le fichier d'icone tant qu'à faire) ?
ha oui, comme ça ça convient, biensûr.
tuxce a écrit :par contre, dans cet exemple, il y a un fichier binaire, et sous aur, en théorie, il ne doit pas y en avoir.
tu veux dire que je suis censé faire télécharger les sources, et les faire compiler dans le PKGBUILD ?
c'est bizarre, il ne me semble pas qu' à chaque fois que j'installe un package de AUR, j'aie à compiler...

et pour la validation du package, ça se passe comment ?
et si je fais une release numéro 2, en passant cette fois par la compilation, c'est possible aussi ?

merci pour les réponses.
bgse
archer de cavalerie
Messages : 183
Inscription : ven. 12 sept. 2008, 22:09

Message par bgse »

mélodie a écrit :Y aura-t-il une icône associée à ton menu ?
oui, c'est pour ça que dans mon PKGBUILD actuel, j'extrais le fichier img/ico32.png du fichier .jar, et que je place ensuite ce fichier dans le dossier pixmaps, pour qu'une fois le .desktop placé au bon endroit, l'icone soit déjà présente.

mais soit je fais comme ça, soit j'uploaderai l'icone directement sur AUR (le jour où mon PKGBUILD sera valide), pour éviter l'extraction du fichier .jar
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

startdir correspond au répertoire de base, srcdir à $startdir/src et pkgdir à $startdir/pkg.
ceci dit, $pkgdir doit etre propre, que les fichiers qu'il faut, et pour éviter des erreurs involontaires du genre un fichier temporaire ou autre, il ne faut pas travailler dedans. On veut dire par là qu'il ne faut pas y aller avec un "cd" par exemple, mais ca n'empeche pas que tu peux y faire des modifs si tu ne peux pas les prévoir lors de la compilation ou l'execution du script d'install fourni par l'archive.


sous AUR, et pour une description de paquet en général, tu ne fournis que:
1. les adresses vers les sources qui peuvent être de toutes sortes
2. des fichiers se trouvant dans le même repertoire que PKGBUILD qui doivent être au format texte (je pense que les icones sont admises mais si tu peux utiliser celle de l'archive si elle en propose, c'est mieux)

quand on parle de compilation, ca peut etre la compilation dans le vrai sens du terme ou la construction du paquet dans le sens ou c'est du script ou un soft dont les sources ne sont pas dispos ou tout simplement, tu veux pas te prendre la tete avec la compilation (ce qui est pas bien :)).

pour la validation du paquet, en fait il n'y en a pas, c'est pour ca que AUR est non supporté, après il y a des TU (utiisateurs de confiance) qui peuvent agir si la description de ton paquet n'est vraiment pas bien.


après tout cela, cette phrase:
bgse a écrit :tu veux dire que je suis censé faire télécharger les sources, et les faire compiler dans le PKGBUILD ?
me fait te dire RTFM, parce qu'elle n'a pas de sens :P

bgse a écrit : mais soit je fais comme ça, soit j'uploaderai l'icone directement sur AUR (le jour où mon PKGBUILD sera valide), pour éviter l'extraction du fichier .jar
et ainsi tu risques de te couper de l'évolution de l'archive... non c'est pas une bonne méthode, l'icone, tu l'as dans l'archive, autant l'utiliser!
Répondre