Page 1 sur 1

[i3lock-color-git] erreur dans la compilation (résolu)

Publié : ven. 04 mars 2016, 10:11
par Piczel
Bonjour tout le monde !
j'utilise un pkg sur Aur (i3lock-color-git), un fork de i3lock avec des couleurs (waow, cette description), et y'a eu une MaJ hier, qui a été impossible car il n'a pas voulu compiler

J'utilise yaourt, donc en user, et il sudo pour l'installation, mais le problème est que pendant la compilation, il me sort ça :

Code : Tout sélectionner

install -m 644 i3lock-color.1.gz /usr/share/man/man1/i3lock-color.1.gz
install: impossible de créer le fichier standard '/usr/share/man/man1/i3lock-color.1.gz': Permission non accordée
Makefile:40 : la recette pour la cible « install » a échouée
bon, logique qu'il ne veuille pas, il est en user, voilà les deux fameuses lignes du pkgbuild :

Code : Tout sélectionner

install -Dm644 i3lock.1 ${pkgdir}/usr/share/man/man1/i3lock.1
install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${_gitname}/LICENSE
bon, j'ai trouvé ça bizarre qu'il y ait des choses à faire en root dans un pkgbuild..

Je me suis dit que j'allais # yaourt, mais ça me semble pas une bonne idée.. qu'en pensez-vous ? au pire, on s'en fiche de la doc et de la license ? mais ça peut pas causer quelques problèmes ça ?

bref, merci à vous et bonne journée !

EDIT : voici un lien vers le PKGBUILD

Re: [i3lock-color-git] erreur dans la compilation

Publié : ven. 04 mars 2016, 11:34
par benjarobin
Voici une version corrigé rapidement : http://sprunge.us/FKJG

Re: [i3lock-color-git] erreur dans la compilation

Publié : ven. 04 mars 2016, 14:26
par Piczel
Salut @benjarobin, merci de la réponse si rapide !
j'ai effectivement modifié, toujours le même problème..

Code : Tout sélectionner

install -d /tmp/yaourt-tmp-victor/aur-i3lock-color-git/pkg/i3lock-color-git/usr/bin
install -d /tmp/yaourt-tmp-victor/aur-i3lock-color-git/pkg/i3lock-color-git/etc/pam.d
install -m 755 i3lock-color /tmp/yaourt-tmp-victor/aur-i3lock-color-git/pkg/i3lock-color-git/usr/bin/i3lock-color
install -m 644 i3lock-color.pam /tmp/yaourt-tmp-victor/aur-i3lock-color-git/pkg/i3lock-color-git/etc/pam.d/i3lock-color
gzip -kf i3lock-color.1
install -m 644 i3lock-color.1.gz /usr/share/man/man1/i3lock-color.1.gz
install: impossible de créer le fichier standard '/usr/share/man/man1/i3lock-color.1.gz': Permission non accordée
Makefile:40 : la recette pour la cible « install » a échouée
make: *** [install] Erreur 1
==> ERREUR : Une erreur s’est produite dans package().
Je crois qu'il a un réel problème avec la doc, en même temps c'est un dossier où j'ai pas les privilèges en user (donc yaourt non plus), normal qu'il ne puisse pas y accéder et le modifier..

Sinon, radical, on vire cette ligne avec les man-pages, plus de man, mais pas de problèmes

Re: [i3lock-color-git] erreur dans la compilation

Publié : ven. 04 mars 2016, 15:14
par Moviuro
Il faut modifier le MakeFile. Le MANDIR est faux.

Code : Tout sélectionner

make MANDIR=${pkgdir}/usr/share/man/man1/ DESTDIR=${pkgfile} ...

Re: [i3lock-color-git] erreur dans la compilation

Publié : ven. 04 mars 2016, 15:17
par Piczel
Effectivement.. chapeau l'artiste, ça a marché !

Juste changé le MANDIR et hop tout roule, merci beaucoup, bonne journée mes amis !

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : ven. 04 mars 2016, 16:27
par benjarobin
@Piczel Je ne pense pas que tu es modifié correctement la chose... Car dans le PKGBUILD donné je modifie le MANDIR... Tu aurais pas oublié le prepare ?

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : ven. 04 mars 2016, 17:32
par Moviuro
benjarobin a écrit :@Piczel Je ne pense pas que tu es modifié correctement la chose... Car dans le PKGBUILD donné je modifie le MANDIR... Tu aurais pas oublié le prepare ?
Je trouve ton "fix" pas élégant du tout... Autant patcher upstream.

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : ven. 04 mars 2016, 18:20
par benjarobin
Moviuro a écrit :Je trouve ton "fix" pas élégant du tout... Autant patcher upstream.
Qui as dit le contraire ? Sauf que les rapport de bug sont désactivé et que je n'ai pas 5min pour fork et faire une pull request...

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : sam. 05 mars 2016, 15:45
par Piczel
Salut tout le monde !
@benjarobin si si, j'avais bien mis le prepare, mais logique qu'il ne veuille pas, tu accèdes à /usr où tu n'as pas les droits, logique !

@Moviuro merci de ton aide

j'ai regardé un peu, je pense que il faudrait juste retirer les trucs des manpages et de la licence du PKGBUILD et les rentrer dans l'installation, qui, elle, est faire en root, mais ouais y'a pas de rapport de bugs possibles.. et flemme de fork/PR

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : lun. 07 mars 2016, 10:03
par Moviuro
Visiblement, le mainteneur est un amateur ^_^"

J'espère qu'il va bien tout remettre d'aplomb :D

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : lun. 07 mars 2016, 13:34
par Piczel
J'espère aussi haha, car j'trouve ça plutôt barbare de devoir modifier le Makefile à l'arrache comme ça

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : lun. 07 mars 2016, 15:01
par benjarobin
Tu trouves ceci barbare, et moi je trouve ceci bien plus intelligent que de modifier MANDIR (oui mes chevilles vont très bien).
Car le Git sera modifié/corrigé à terme (enfin j'espère), le sed ne fera plus rien et le PKGBUILD fonctionnera toujours. Tandis qu'avec votre solution si le Git est corrigé cela installera des fichiers dans /tmp (enfin le dossier de build), ce qui est bien plus moche...

Et en quoi corriger via un sed un Makefile est moche ?

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : lun. 07 mars 2016, 15:13
par Moviuro
benjarobin a écrit :Tu trouves ceci barbare, et moi je trouve ceci bien plus intelligent que de modifier MANDIR (oui mes chevilles vont très bien).
Car le Git sera modifié/corrigé à terme (enfin j'espère), le sed ne fera plus rien et le PKGBUILD fonctionnera toujours. Tandis qu'avec votre solution si le Git est corrigé cela installera des fichiers dans /tmp (enfin le dossier de build), ce qui est bien plus moche...

Et en quoi corriger via un sed un Makefile est moche ?
Modifier un fichier upstream c'est moche à mon avis. Surtout que le MANDIR est une variable à part qu'on peut modifier à volonté, ce dont je tire profit en utilisant make MANDIR=${pkgdir}/... install.

Et non, utiliser MANDIR=${pkgdir}/... ça ne cassera pas le paquet, parce que :
  • Le Makefile n'utilise plus MANDIR -> pas de problème
  • Le Makefile change la valeur par défaut du MANDIR -> pas de problème puisque on passe outre ce nouveau chemin
Au passge, les PKGBUILD en -git sont voués à se viander un jour où l'autre, de toutes façons, donc c'est moindre mal !
Et après relecture, le Makefile est très bien. Juste le PKGBUILD initial qui était nul.

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : lun. 07 mars 2016, 17:09
par benjarobin
Non le Makefile n'est pas bon du tout ! As tu vu un seul paquet modifier le MANDIR en préfixant par pkgdir ? Car c'est très très moche comme modification
Ceci n'est pas bon :

Code : Tout sélectionner

$(INSTALL) -m 644 i3lock-color.1.gz $(MANDIR)/man1/i3lock-color.1.gz
Ceci est par contre bon (si on a bien penser à créer le dossier avant)

Code : Tout sélectionner

$(INSTALL) -m 644 i3lock-color.1.gz $(DESTDIR)$(MANDIR)/man1/i3lock-color.1.gz

Re: [i3lock-color-git] erreur dans la compilation (résolu)

Publié : lun. 07 mars 2016, 22:26
par Moviuro
benjarobin a écrit :Ceci est par contre bon (si on a bien penser à créer le dossier avant)

Code : Tout sélectionner

$(INSTALL) -m 644 i3lock-color.1.gz $(DESTDIR)$(MANDIR)/man1/i3lock-color.1.gz
Garanti, ça explose sur BSD ;) (PREFIX := /usr/local donc man dans /usr/local/share/man au lieu de /usr/share/man :pleure:)
benjarobin a écrit :As tu vu un seul paquet modifier le MANDIR en préfixant par pkgdir ? Car c'est très très moche comme modification
Non, j'ai jamais fait attention. Mais maintenant, y'a butter qui a un PKGBUILD semblable.
benjarobin a écrit :Ceci n'est pas bon :

Code : Tout sélectionner

$(INSTALL) -m 644 i3lock-color.1.gz $(MANDIR)/man1/i3lock-color.1.gz
C'est justement ce qui fait sens, parce que tu as complètement et facilement la main sur le MANDIR. Si c'est vraiment mal/moche, je veux bien voir d'où tu tires ça.