OVH Cloud OVH Cloud

[gentoo-user-fr] ebuild pour xcave

6 réponses
Avatar
Arnaud Launay
--OgqxwSJOaUobr8KG
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

Hopla,

J'ai repris le ebuild pour xcave (http://xcave.free.fr), via le
bug
http://bugs.gentoo.org/show_bug.cgi?id=53890

Mais il me reste un petit soucis sur le ebuild (ci-joint), avec
le install et le dodoc... Le install par défaut de xcave installe
la doc et des cochonneries dans /usr/share/doc/xcave, et l'ajout
du dodoc fait que les bonnes docs sont installées deux fois, une
fois à l'emplacement correct chez gentoo, une autre par le soft
lui-même au mauvais endroit.

J'ai beau fouiner, à part en installant chaque truc à la main (ou
en éclatant le make install en sous-parties), j'ai du mal à voir
comment faire les choses proprement. Une idée ?

Arnaud.
--
Perso: http://launay.org/blog/
Consulting: http://www.cusae.com/
Hébergement: http://www.nocworld.com/

--OgqxwSJOaUobr8KG
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="xcave-2.2.1.ebuild"

# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

DESCRIPTION="Program to view and manage the contents of a wine cellar"
HOMEPAGE="http://xcave.free.fr/"
SRC_URI="http://xcave.free.fr/download/${P}.tar.gz"

KEYWORDS="x86"
LICENSE="GPL-2"
SLOT="0"

IUSE="nls"

DEPEND="
>=x11-libs/gtk+-2
gnome-base/gnome-libs
nls? ( sys-devel/gettext )"

src_compile() {
econf $(use_enable nls) || die "Error: econf failed!"
emake || die "Error: emake failed!"
}

src_install() {
einstall || die "Error: einstall failed!"
dodoc ABOUT-NLS COPYING ChangeLog INSTALL README TODO
}

--OgqxwSJOaUobr8KG--
--
gentoo-user-fr@gentoo.org mailing list

6 réponses

Avatar
Thomas de Grenier de Latour
--Multipart_Thu__7_Jul_2005_14_23_58_+0200_RtN3zgW3FrbpOj/u
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Thu, 7 Jul 2005 11:06:00 +0200
Arnaud Launay wrote:

Mais il me reste un petit soucis sur le ebuild (ci-joint), avec
le install et le dodoc... Le install par défaut de xcave
installe la doc et des cochonneries dans /usr/share/doc/xcave



Pour éviter ça, tu peux patcher le Makefile.in. Je te mets en
pièce jointe un ebuild modifié pour faire ça, avec 2 expressions
sed. La 1ère supprime le répertoire "doc" de la liste des
sous-répertoires ("SUBDIRS"), et la deuxième supprime la cible
"install-xcavedocDATA" des dépendance de la cible
"install-data-am".

Tant que j'y étais, j'ai modifié 2 ou 3 autres petites choses:

- y'a pas de dépendance sur gnome-libs, c'est juste du gtk2.
Toujours à propos de dépendances, il toujours faut définir à la
fois DEPEND et RDEPEND, même si ils sont identiques (c'est fait
automatiquement si il en manque un, mais dans qlqs temps ça ne
sera plus le cas).

- même avec USE=nls, y'a pas besoin de gettext je pense (les .gmo
sont déjà compilés).

- ça manquait d'un fichier .desktop, donc j'ai rajouté un appel
à make_desktop_entry (qui vient de eutils.eclass). J'ai pas trouvé
de catégorie adéquate par contre, donc l'entrée de menu ira dans
la catégorie "Autres" ou assimilé (mais si tu veux en rajouter
une, tu peux regarder la liste ici:
http://standards.freedesktop.org/menu-spec/latest/apa.html
et tu rajoutes un argument à l'appel à make_desktop_entry.

Voilà voilà, c'est des petites choses, mais toujours bonnes à
savoir quand on commence à bricoler des ebuilds...

--
TGL.

--Multipart_Thu__7_Jul_2005_14_23_58_+0200_RtN3zgW3FrbpOj/u
Content-Type: application/octet-stream; name=xcave-2.2.1.ebuild
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=xcave-2.2.1.ebuild

IyBDb3B5cmlnaHQgMTk5OS0yMDA1IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6ICQKCmluaGVyaXQgZXV0aWxzCgpERVNDUklQVElPTj0iUHJvZ3JhbSB0byB2aWV3IGFuZCBt
YW5hZ2UgdGhlIGNvbnRlbnRzIG9mIGEgd2luZSBjZWxsYXIiCkhPTUVQQUdFPSJodHRwOi8veGNh
dmUuZnJlZS5mci8iClNSQ19VUkk9Imh0dHA6Ly94Y2F2ZS5mcmVlLmZyL2Rvd25sb2FkLyR7UH0u
dGFyLmd6IgoKS0VZV09SRFM9In54ODYiCkxJQ0VOU0U9IkdQTC0yIgpTTE9UPSIwIgpJVVNFPSJu
bHMiCgpSREVQRU5EPSI+PXgxMS1saWJzL2d0aystMiIKREVQRU5EPSIke1JERVBFTkR9IgoKc3Jj
X3VucGFjaygpIHsKCXVucGFjayAke0F9CglzZWQgLWkgXAoJCS1lICcvXlNVQkRJUlMvczpcPGRv
Y1w+OjonIFwKCQktZSAnL15pbnN0YWxsLWRhdGEtYW06L3M6XDxpbnN0YWxsLXhjYXZlZG9jREFU
QVw+OjonIFwKCQkiJHtTfS9NYWtlZmlsZS5pbiIgfHwgZGllICJzZWQgZmFpbGVkISIKfQoKc3Jj
X2NvbXBpbGUoKSB7CgllY29uZiAkKHVzZV9lbmFibGUgbmxzKSB8fCBkaWUgIkVycm9yOiBlY29u
ZiBmYWlsZWQhIgoJZW1ha2UgfHwgZGllICJFcnJvcjogZW1ha2UgZmFpbGVkISIKfQoKc3JjX2lu
c3RhbGwoKSB7CgllaW5zdGFsbCB8fCBkaWUgIkVycm9yOiBlaW5zdGFsbCBmYWlsZWQhIgoJZG9k
b2MgQ2hhbmdlTG9nIFJFQURNRSBUT0RPCgltYWtlX2Rlc2t0b3BfZW50cnkgeGNhdmUgWENhdmUg
L3Vzci9zaGFyZS9waXhtYXBzL3hjYXZlL3hjYXZlLWljb24ucG5nCn0K

--Multipart_Thu__7_Jul_2005_14_23_58_+0200_RtN3zgW3FrbpOj/u--
--
mailing list
Avatar
Arnaud Launay
Le Thu, Jul 07, 2005 at 02:23:58PM +0200, Thomas de Grenier de Latour a écrit:
> le install et le dodoc... Le install par défaut de xcave
> installe la doc et des cochonneries dans /usr/share/doc/xcave
Pour éviter ça, tu peux patcher le Makefile.in. Je te mets en



Je voulais éviter ça, mais effectivement, je vois mal comment m'y
prendre autrement. Mfbon.

Tant que j'y étais, j'ai modifié 2 ou 3 autres petites choses:
- y'a pas de dépendance sur gnome-libs, c'est juste du gtk2.



Ah oui. L'habitude... :)

Toujours à propos de dépendances, il toujours faut définir à la
fois DEPEND et RDEPEND, même si ils sont identiques (c'est fait
automatiquement si il en manque un, mais dans qlqs temps ça ne
sera plus le cas).



C'est contraire à la doc:
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=2&chap=1#doc_chap5

"You only need to explicitly specify RDEPEND if the ebuild's
runtime dependencies are different than what you specified in
DEPEND; if not specified, RDEPEND will default to your DEPEND
settings."

(en même temps, ils devraient quasiment tous dépendre de
virtual/libc, à part ceux compilés en statique...)

- même avec USE=nls, y'a pas besoin de gettext je pense (les
.gmo sont déjà compilés).



Hmm... Bonne question. Pas l'impression qu'il y ait de politique
officielle là-dessus... La plupart des logiciels ont gettext en
dep quand ils ont nls. Un deuxième avis ?

la catégorie "Autres" ou assimilé (mais si tu veux en rajouter
une, tu peux regarder la liste ici:
http://standards.freedesktop.org/menu-spec/latest/apa.html
et tu rajoutes un argument à l'appel à make_desktop_entry.



GTK Application based on GTK+ libraries

?

Voilà voilà, c'est des petites choses, mais toujours bonnes à
savoir quand on commence à bricoler des ebuilds...



Le coup du desktop, je connaissais pas. A tout hasard, ya pas un
outil permettant de vérifier un ebuild, y compris la conformité
(SLOT, etc), comme sous freebsd avec portlint ?

Arnaud.
--
Perso: http://launay.org/blog/
Consulting: http://www.cusae.com/
Hébergement: http://www.nocworld.com/
--
mailing list
Avatar
Thomas de Grenier de Latour
On Fri, 8 Jul 2005 17:40:20 +0200
Arnaud Launay wrote:

Je voulais éviter ça, mais effectivement, je vois mal comment
m'y prendre autrement. Mfbon.




Bah là franchement, pour éviter ça je vois pas trop. Ça m'a l'air
d'être la façon standard de faire. Certains mainteneurs
préféreront un patch que du sed par contre (question de goût
amha, perso je trouve plutôt que du sed ça résiste mieux aux
petites variations d'une version sur l'autre, pour peux qu'on
fasse des expressions suffisament restrictives, mais bon...)
Mais sinon, sans modifier de fichier Makefile, la seule solution
que je vois serait de nettoyer ${D} après le "make install", mais
ça serait franchement goret.

"You only need to explicitly specify RDEPEND if the ebuild's
runtime dependencies are different than what you specified in
DEPEND; if not specified, RDEPEND will default to your DEPEND
settings."



Ça a été la politique, mais elle est en train de changer. Dans
une future version, portage ne fera plus de DEPEND="${RDEPEND}"
implicite (ni sa réciproque), et donc autant commencer à faire
des ebuilds qui en tiennent compte dès maintenant. La décision
n'étant vieille que de qlqs jours, ça explique je suppose que la
doc n'ait pas encore été modifiée.

(en même temps, ils devraient quasiment tous dépendre de
virtual/libc, à part ceux compilés en statique...)



Et de gcc, et de tant d'autres choses... On voit des ebuilds qui
ont encore ce genre de dépendances, mais c'est en bonne voie
d'éradication. Aujourd'hui, la politique est « pas de dependance
sur les paquets de "system" ». À termes, il pourrait y avoir une
autre variable de dépendances où ce genre de trucs se
retrouveraient par contre, histoire de rendre plus viables des
profiles super légers pour les sytèmes cross-compilés, mais c'est
pas encore pour tout de suite.

Hmm... Bonne question. Pas l'impression qu'il y ait de politique
officielle là-dessus... La plupart des logiciels ont gettext en
dep quand ils ont nls. Un deuxième avis ?



Ouaif, tu fais bien de poser la question, parce que je suis pas
100% sûr de mon coup en fait. C'est certain que sur les
sytème à base de glibc, si elle est compilée avec USE=nls en tout
cas, y'en n'a pas besoin, sauf quand tu as des fichiers de
trad à compiler (mais c'est bien souvent le cas qu'ils soient
déjà compilés, comme ici). Maintenant, avec une autre libc (genre
sur bsd ou macos peut-être), ou si la glibc n'a pas USE=nls,
alors j'en sais rien, peut-être qu'il faut une libintl.so dans ce
cas. À vérifier avec des gens + compétents...
Mais en tout cas, je ne me baserais pas sur le fait qu'on voit
souvent cette dépendance pour dire qu'elle est utile: y'a rien
qui soit plus facilement copié/collé qu'une erreur que personne
ne comprend vraiment, et là je ne serais vraiment pas étonné si
le fin mot de l'histoire était que la dep est souvent ajoutée
juste parce que les scripts ./configure en vérifient la présence
et que donc ça doit servir à qqch :)


GTK Application based on GTK+ libraries




Ouais, pourquoi pas. Ça va sûrement pas beaucoup aider à mieux le
ranger dans le menu gnome, mais bon vu que je vois pas trop où ça
pourrait aller de toute façon...

A tout hasard, ya pas un outil permettant de vérifier un
ebuild, y compris la conformité (SLOT, etc), comme sous freebsd
avec portlint ?



Y'a "repoman". Il doit être installer avec portage il me semble,
donc a priori tu l'as déjà. C'est aussi l'outil que les devs
utilisent pour faire les commit dans l'arbre, mais pour nous
autres simples utilisateurs il permet quelques vérifications de
syntaxe, de satisfiabilité des dépendances, ce genre de choses.

--
TGL.

--
mailing list
Avatar
Arnaud Launay
Le Fri, Jul 08, 2005 at 07:04:47PM +0200, Thomas de Grenier de Latour a écrit:
> Je voulais éviter ça, mais effectivement, je vois mal comment
> m'y prendre autrement. Mfbon.
Bah là franchement, pour éviter ça je vois pas trop.



Je n'aime pas bidouiller les Makefile, c'est un coup à se faire
chier à chaque MàJ du soft.

Certains mainteneurs préféreront un patch que du sed par contre



Hm, je vois surtout un (gros) argument en faveur du sed: il
permet d'éviter d'ajouter un énième fichier au repository rsync,
qui est déjà bien assez monstrueux comme ça (d'ailleurs, faudrait
voir à trouver autre chose...)

Mais sinon, sans modifier de fichier Makefile, la seule
solution que je vois serait de nettoyer ${D} après le "make
install", mais ça serait franchement goret.



Ah oui non mais non, ça c'est la solution du gros porc de
l'espace :-))

> DEPEND; if not specified, RDEPEND will default to your DEPEND
> settings."
Ça a été la politique, mais elle est en train de changer. Dans



Tant que c'est pas dans les docs officielles, je suis pas censé
être au courant.

des ebuilds qui en tiennent compte dès maintenant. La décision
n'étant vieille que de qlqs jours, ça explique je suppose que la
doc n'ait pas encore été modifiée.



Moi je veux bien, mais à la St-Thomas (hum, désolé), je veux un
pointeur vers la nouvelle proposition :)

> (en même temps, ils devraient quasiment tous dépendre de
> virtual/libc, à part ceux compilés en statique...)
Et de gcc, et de tant d'autres choses...



pas en RDEPEND.

> officielle là-dessus... La plupart des logiciels ont gettext
> en dep quand ils ont nls. Un deuxième avis ?
Ouaif, tu fais bien de poser la question, parce que je suis pas
100% sûr de mon coup en fait. C'est certain que sur les
sytème à base de glibc, si elle est compilée avec USE=nls en tout
cas, y'en n'a pas besoin, sauf quand tu as des fichiers de
trad à compiler (mais c'est bien souvent le cas qu'ils soient
déjà compilés, comme ici).



A part que si, pour une raison X ou Y, le système (cette belle
boîte noire que je me suis amusé à démonter pour hlfl et
gphoto... erf) décide qu'il lui faut les recompiler, on l'a dans
l'os.

Maintenant, avec une autre libc (genre
sur bsd ou macos peut-être),



macos, je sais pas, freebsd nécessite en effet gettext, open est
en train de redévelopper son propre système de locale... Marc
Espie semblait dire que c'était une belle merde, d'ailleurs.

ou si la glibc n'a pas USE=nls, alors j'en sais rien, peut-être
qu'il faut une libintl.so dans ce cas. À vérifier avec des gens
+ compétents...



Oui. Ça se trouve où, ce genre de choses ? Déjà que j'ai pas
trouvé une seule liste dédiée à la discussion sur la
création/maintenance des ebuild...

ne comprend vraiment, et là je ne serais vraiment pas étonné si
le fin mot de l'histoire était que la dep est souvent ajoutée
juste parce que les scripts ./configure en vérifient la présence
et que donc ça doit servir à qqch :)



Ouais. Mais ça dépend de la libc, du coup: si elle n'a pas de
support intl natif, il lui faut gettext...

> GTK Application based on GTK+ libraries
Ouais, pourquoi pas. Ça va sûrement pas beaucoup aider à mieux
le ranger dans le menu gnome, mais bon vu que je vois pas trop
où ça pourrait aller de toute façon...



Au moins, c'est toujours mieux rangé que dans "autres" :)

D'ailleurs, l'icône de gnucash a disparue, personne ne saurait
pourquoi, voire comment la remettre ?
Hm, enfin, ya pas de make_desktop dans le ebuild, mais il n'y en
a jamais eu, et pourtant j'avais l'icône, il y a encore deux ou
trois mois... Grouik.

Y'a "repoman". Il doit être installer avec portage il me semble,



Ah, yes. Bon, il ne couine plus. J'aimerais bien une réponse sur
gettext avant de le reproposer sur bugs, ceci dit.

Arnaud.
--
Perso: http://launay.org/blog/
Consulting: http://www.cusae.com/
Hébergement: http://www.nocworld.com/
--
mailing list
Avatar
Thomas de Grenier de Latour
On Fri, 8 Jul 2005 19:30:25 +0200
Arnaud Launay wrote:

Moi je veux bien, mais à la St-Thomas (hum, désolé), je veux un
pointeur vers la nouvelle proposition :)



Ah bah oui, j'ai pensé un instant à le mettre et j'ai zappé.
http://thread.gmane.org/gmane.linux.gentoo.devel/29509

> Et de gcc, et de tant d'autres choses...

pas en RDEPEND.



Nan mais bon, tant qu'à être exhaustif... :)

> ou si la glibc n'a pas USE=nls, alors j'en sais rien,
> peut-être qu'il faut une libintl.so dans ce cas. À vérifier
> avec des gens + compétents...

Oui. Ça se trouve où, ce genre de choses ? Déjà que j'ai pas
trouvé une seule liste dédiée à la discussion sur la
création/maintenance des ebuild...



Sur gentoo-dev@, les questions sur l'écriture d'ebuilds sont
correctement accueillies quand elles ne trouvent effectivement
pas de réponse dans la doc ou le simple bon sens. Là je pense que
c'est le cas.

D'ailleurs, l'icône de gnucash a disparue, personne ne saurait
pourquoi, voire comment la remettre ?



Regarde ce que raconte, un :
# equery files gnucash | grep '.desktop'
Si ça dit qqch, vérifie que:
- le fichier existe bien
- qu'il est bien dans /usr/share/applications (ça a
été /usr/share/apps par le passé je crois, y'a peut-être encore
des paquets qui se gourrent)
- et si oui, essaye de voir si syntaxiquement il ressemble bien
à ses congénères

J'aimerais bien une réponse sur gettext avant de le reproposer
sur bugs, ceci dit.



Une solution serait de proposer ton ebuild en précisant que sur
ce point tu as un doute, et puis tu verras bien ce que la
personne qui s'en occupera décidera. Mais bon, le post sur
gentoo-dev@ lui aurait l'avantage d'avoir éventuellement
plusieurs réponses.

--
TGL.

--
mailing list
Avatar
Arnaud Launay
Le Fri, Jul 08, 2005 at 08:12:06PM +0200, Thomas de Grenier de Latour a écrit:
> trouvé une seule liste dédiée à la discussion sur la
> création/maintenance des ebuild...
Sur gentoo-dev@, les questions sur l'écriture d'ebuilds sont
correctement accueillies quand elles ne trouvent effectivement
pas de réponse dans la doc ou le simple bon sens. Là je pense
que c'est le cas.



Tout à fait. D'ailleurs, pour qu'ils en aient discuté sur -core,
ça prouve bien que c'est un réel problème :)

> D'ailleurs, l'icône de gnucash a disparue, personne ne saurait
> pourquoi, voire comment la remettre ?
Regarde ce que raconte, un :
# equery files gnucash | grep '.desktop'



Oups. En fait, il est dans applications, mais il n'y a pas
d'icône apparemment... A investiguer plus avant. Ou pas.

> J'aimerais bien une réponse sur gettext avant de le reproposer
> sur bugs, ceci dit.
Une solution serait de proposer ton ebuild en précisant que sur
ce point tu as un doute, et puis tu verras bien ce que la
personne qui s'en occupera décidera. Mais bon, le post sur
gentoo-dev@ lui aurait l'avantage d'avoir éventuellement
plusieurs réponses.



Bon, donc on a eu la réponse:
http://news.gmane.org/gmane.linux.gentoo.devel/cutoff)806

Un GLEP virtuel fera le boulot proprement un jour incessamment
sous peu, et d'ici là, il faut mettre gettext partout.

Allez, je vais soumettre le build définitif, merci pour tout :)

Arnaud.
--
Perso: http://launay.org/blog/
Consulting: http://www.cusae.com/
Hébergement: http://www.nocworld.com/
--
mailing list