[PKGBUILD] mdown, utilitaire de formatage de texte (résolu)

Mise à jour / Création /debug de paquetages
Répondre
Guillawme
Hankyu
Messages : 31
Inscription : lun. 23 juin 2008, 17:21

[PKGBUILD] mdown, utilitaire de formatage de texte (résolu)

Message par Guillawme »

Bonjour

Je voulais m'essayer à l'écriture d'un PKGBUILD.
J'ai choisi pour ça un logiciel pas encore empaqueté (c'est bien l'intérêt premier), avec un minimum de dépendances (pour ma première tentative je commence par quelque chose de simple), que je souhaitais essayer (mais je n'ai pas encore le temps de m'y pencher :roll: ) et qui intéressera peut-être quelques personnes ici.

Son nom est mdown, vous trouverez plus d'informations ici :
http://rzpages.ovh.org/projets/mdown/index.php5
(À noter que son auteur n'a plus trop le temps de le maintenir et de le développer...)

Voici donc le script, j'espère avoir fait ça dans les règles mais comme c'est un premier jet (enfin, j'y ai passé un petit moment quand même) je suis ouvert à toute remarque.

Code : Tout sélectionner


pkgname=mdown
pkgver=1.146
pkgrel=1

pkgdesc="Converts the input text formatted in the mdown lightweight markup language into one of the supported output formats."
arch=(i686 x86_64)

url="http://rzpages.ovh.org/projets/mdown/index.php5"
license=('ISC')

makedepends=('gcc' 'make')
depends=('glibc')
optdepends=('texlive-latex3: for further use of LaTeX outputs.')

source=(http://rzpages.ovh.org/projets/mdown/files/$pkgname-$pkgver.tgz)

#md5sums=('e19ece2eb219c45ffc8a7a83575c2e15') archive originale
md5sums=('8ce4ac87983306bce0fe13e6390bda98') #archive avec la licence
 
build() {
  cd $startdir/src/$pkgname-$pkgver
  make || return 1
  make PREFIX=$startdir/pkg/usr install || return 1
  mkdir -p $startdir/pkg/usr/share/licenses/$pkgname/
  cp LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
}
Pour ce qui concerne la licence j'ai un peu bricolé, je vous explique ce que j'ai fait.

À mon premier appel de makepkg, j'avais omis la ligne concernant la licence. La compilation s'est faite sans erreur, mais il a bien pensé à me rappeler que je ferais mieux d'indiquer une licence. :mrgreen:

Le logiciel est sous licence ISC, comme on peut l'apprendre ici (dans le code source que vous trouverez dans l'archive qu'il distribue sur son site, c'est encore la licence MIT qui est indiquée, mais je lui ai posé la question et il m'a confirmé qu'il avait bien changé pour l'ISC).

J'ai donc fait ce qui est recommandé ici, à savoir j'ai copié la ligne de copyright ainsi que le texte de la licence dans un fichier LICENSE.
J'ai ensuite recréé une archive pour l'inclure (d'où les deux sommes md5 dans le script).
Et enfin j'ai fait en sorte que la fonction build() mette ce fichier dans le paquetage.

La compilation se fait sans erreur, mais je n'ai pas encore essayé d'installer le paquet.

Merci par avance à ceux qui jetterons un coup d'oeil.

Bien à vous. ;)
Dernière modification par Guillawme le ven. 18 nov. 2016, 22:59, modifié 3 fois.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par marc[i1] »

Salut,

bravo pour ton galop d’essai :)

Juste quelques remarques « cosmétiques » :
? pkgdesc ne doit pas dépasser les 100 caractères sinon ça devient illisible
? license, dans ton cas tu met ('custom') ou ('custom:ISC')
? makedepends et depends sont inutiles dans ton cas, tout le monde sait que make, gcc et la glibc sont utiles et si tu le sais pas … tu compiles pas ^^. Utilise namcap pour vérifier ton PKGBUILD et ton binaire.
? à la place de 'mkdir' et 'cp', j’ai une préférence pour 'install' qui est plus propre car il gère les droits
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
gyo
Maître du Kyudo
Messages : 1049
Inscription : jeu. 19 avr. 2007, 10:40
Localisation : Nantes (44)

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par gyo »

marc[i1] a écrit :Salut,

bravo pour ton galop d’essai :)

Juste quelques remarques « cosmétiques » :
? pkgdesc ne doit pas dépasser les 100 caractères sinon ça devient illisible
? license, dans ton cas tu met ('custom') ou ('custom:ISC')
? makedepends et depends sont inutiles dans ton cas, tout le monde sait que make, gcc et la glibc sont utiles et si tu le sais pas … tu compiles pas ^^. Utilise namcap pour vérifier ton PKGBUILD et ton binaire.
? à la place de 'mkdir' et 'cp', j’ai une préférence pour 'install' qui est plus propre car il gère les droits
Ouais, idem, car glibc est dans base et make et gcc et make sont dans base-devel, donc, du coup, tu peux jarter makedepends et depends… (surtout que dans le site, le gars précise que le logiciel ne dépend d’aucunes bibliothèques, c’est du « pur » C-ANSI).

Autres recommandations : $startdir/src et $startdir/pkg sont à remplacer par $srcdir et $pkgdir respectivement (cf le wiki, ce n’est pas une faute, mais ça permet d’avoir un PKGBUILD plus concis et donc plus lisible).
Sinon, regarde si la licence ISC n’est pas déjà dans le paquet licenses (apparemment non… puisque tu le copies :roll:).

Sinon ça me semble pas mal pour un premier PKGBUILD :bravo: :)

Références :
— http://wiki.archlinux.fr/arch/pkgbuild# ... ontient-il
— http://wiki.archlinux.fr/arch/pkgbuild/standard
commentaire rédigé à l’aide d’un clavier ergonomique bépo
KISS MY ARCH
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par marc[i1] »

gyo a écrit : Autres recommandations : $startdir/src et $startdir/pkg sont à remplacer par $srcdir et $pkgdir respectivement (cf le wiki, ce n’est pas une faute, mais ça permet d’avoir un PKGBUILD plus concis et donc plus lisible).
Ces variables ne sont pas certaines d’être conservés, moi j’évite de les utiliser, j’ai pas envie de corriger mes PKGBUILD dans 6 mois :mrgreen: ( $ man PKGBUILD )
Ne vous emmerdez plus, emmerdez les autres.
grosbedos
Hankyu
Messages : 26
Inscription : jeu. 13 nov. 2008, 18:20

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par grosbedos »

Le seul truc c'est que mdown est deja dans AUR :oops:
Guillawme
Hankyu
Messages : 31
Inscription : lun. 23 juin 2008, 17:21

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par Guillawme »

Merci pour vos conseils marc[i1] et gyo, voici donc quelques modifications :

Code : Tout sélectionner

# Contributor: Guillaume

pkgname=mdown
pkgver=1.146
pkgrel=1

pkgdesc="Converts the input text formatted in the mdown markup language into one of the supported output formats."
arch=(i686 x86_64)

url="http://rzpages.ovh.org/projets/mdown/index.php5"
license=('custom:ISC')

optdepends=('texlive-latex3: for further use of LaTeX outputs.')

source=(http://rzpages.ovh.org/projets/mdown/files/$pkgname-$pkgver.tgz)

#md5sums=('e19ece2eb219c45ffc8a7a83575c2e15') archive originale
md5sums=('8ce4ac87983306bce0fe13e6390bda98') #archive avec la licence
 
build() {
  cd $startdir/src/$pkgname-$pkgver

  make || return 1
  make PREFIX=$startdir/pkg/usr install || return 1

  install --owner=root --mode=0755 -d $startdir/pkg/usr/share/licenses/$pkgname/
  install --owner=root --mode=0755 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/
}
Pour la description (que j'avais juste tiré de la manpage) j'ai retiré un mot : elle passe de 116 à 104 caractères... Difficile d'abréger plus, m'enfin je verrai. :mrgreen:

Les sorties de namcap :

Code : Tout sélectionner

$ namcap PKGBUILD 
PKGBUILD (mdown)     W: Missing Maintainer tag
PKGBUILD (mdown)     W: Missing CVS Id tag

$ namcap mdown-1.146-1-x86_64.pkg.tar.gz
mdown      E: Dependency detected and not included (glibc) from files ['usr/bin/mdown']
Il râle pour la glibc alors que j'ai enlevé ça selon vos remarques... on laisse comme ça ?

Ensuite pour install j'ai vite fait lu la manpage et procédé à un test, mais je ne suis pas encore très familiarisé avec les droits, les modes, les groupes, etc.
J'ai donc mis le minimum, qui sont en fait d'ailleurs les paramètres par défaut quand on appelle install sans en indiquer (selon le man)...

Vous n'avez pas l'air du même avis pour $startdir, $srcdir et $pkgdir, donc je laisse comme ça pour le moment.

Enfin cette licence je ne sais pas si elle est dans le paquet, mais je ne la vois nulle part dans /usr/share/licenses/common.
Et comme elle inclut un copyright (donc le nom de l'auteur, donc variable selon les logiciels) j'avais compris selon le wiki qu'il fallait la mettre systématiquement en custom (que j'avais oublié de préciser dans le premier jet d'ailleurs :oops: ).


grosbedos : je viens de voir ça en effet, je n'avais même pas vérifié... C'est étrange qu'il indique la GPL alors que ce n'est pas ça.
Mais c'est pas bien important, je faisais surtout ça pour m'initier à l'écriture de ces scripts. Si l'auteur de celui qui est déjà sur AUR passe par là, libre à lui de piocher des idées dans le mien (puisqu'on ne doit pas envoyer de doublons sur AUR).
Dernière modification par Guillawme le dim. 18 oct. 2009, 12:51, modifié 1 fois.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par marc[i1] »

Pour 'install', je te conseil ceci :

Code : Tout sélectionner

install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
Le mode 755 donne ça : -rwxr-xr-x . Il est inutile de rendre exécutable la licence ;)

Pour la licence, c’est mal foutu. L’archive ne contient pas de licence, si tu es en contact avec l’auteur demande qu’il ajoute clairement un fichier de licence dans ses sources.

Pour la description, je suis sur que tu peux faire mieux :D
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
gyo
Maître du Kyudo
Messages : 1049
Inscription : jeu. 19 avr. 2007, 10:40
Localisation : Nantes (44)

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par gyo »

marc[i1] a écrit :
gyo a écrit : Autres recommandations : $startdir/src et $startdir/pkg sont à remplacer par $srcdir et $pkgdir respectivement (cf le wiki, ce n’est pas une faute, mais ça permet d’avoir un PKGBUILD plus concis et donc plus lisible).
Ces variables ne sont pas certaines d’être conservés, moi j’évite de les utiliser, j’ai pas envie de corriger mes PKGBUILD dans 6 mois :mrgreen: ( $ man PKGBUILD )
Oui ok, tu as raison, j’ai relu le man… mais en même temps…
man PKGBUILD (en anglais) a écrit : startdir

This contains the absolute path to the directory where the PKGBUILD was located, which is usually the output of $(pwd) when makepkg is started. startdir was most often used in combination with /src or /pkg postfixes, but use of the srcdir and pkgdir variables is preferred.
Et la plupart des PKGBUILD que je rencontre utilisent srcdir et pkgdir. (et toc ! ;))

Bref… c’est un point de vue, cela dit l’utilisation de $startdir/quelquechose n’est pas (je le répète) une erreur, c’est juste que la convention veut qu’il vaut mieux utiliser $srcdir et $pkgdir.
commentaire rédigé à l’aide d’un clavier ergonomique bépo
KISS MY ARCH
Guillawme
Hankyu
Messages : 31
Inscription : lun. 23 juin 2008, 17:21

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par Guillawme »

Bon alors je ne prends pas parti dans votre débat sur $startdir et les autres hein.
Libre à vous d'arranger le script selon vos goûts si vous comptez vous en servir. :chinois:

Merci marc[i1] pour la correction de la commande install.
Et j'ai un peu raccourci la description (64 caractères), en reprenant celle du PKGBUILD déjà présent sur AUR (avec les fautes d'anglais en moins :roll: soit dit sans prétention aucune).

Code : Tout sélectionner

# Contributor: Guillaume

pkgname=mdown
pkgver=1.146
pkgrel=1

pkgdesc="Converts mdown-formatted plain text into various output formats."
arch=(i686 x86_64)

url="http://rzpages.ovh.org/projets/mdown/index.php5"
license=('custom:ISC')

optdepends=('texlive-latex3: for further use of LaTeX outputs.')

source=(http://rzpages.ovh.org/projets/mdown/files/$pkgname-$pkgver.tgz)

#md5sums=('e19ece2eb219c45ffc8a7a83575c2e15') archive originale
md5sums=('8ce4ac87983306bce0fe13e6390bda98') #archive avec la licence
 
build() {
  cd $startdir/src/$pkgname-$pkgver

  make || return 1
  make PREFIX=$startdir/pkg/usr install || return 1

  install -D -m644 LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
}
Et enfin je ne dirai pas vraiment que je suis "en contact" avec l'auteur : je lui avais juste envoyé un mail il y a bientôt deux mois de ça (pour vérifier si c'était bien ISC et plus MIT), et il m'avait répondu en gros qu'il n'avait plus le temps de s'en occuper et que (je cite) "Un truc pas maintenu et sans prétention comme mdown, c'est pas tellement fait pour intéresser un large public". Mais que comme c'est libre on peut en disposer.
Donc je vais pas l'embêter de nouveau avec ça, puisque ça reste pour une utilisation perso (à part le montrer aux personnes de ce forum, je ne comptais rien faire d'autre de ce script).

Bonne journée à vous. ;)
Dernière modification par Guillawme le dim. 18 oct. 2009, 12:52, modifié 1 fois.
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par farvardin »

et bon courage à toi pour tes prochains PKGBUILD !

(personnellement j'utilise surtout txt2tags comme style de formatage pratique)
Guillawme
Hankyu
Messages : 31
Inscription : lun. 23 juin 2008, 17:21

Re: [PKGBUILD] mdown, utilitaire de formatage de texte

Message par Guillawme »

Je ne sais pas s'il y en aura beaucoup de prochains (je n'ai pas encore de besoins spécifiques de personnalisation ou de logiciels absents des dépôts), mais c'est aussi une façon d'aborder ça facilement pour comprendre ceux que yaourt installe depuis AUR (et qui conseille d'au moins les lire, voire les personnaliser).

Merci en tout cas. :wink:

(J'ai ajouté "résolu" au titre puisqu'il semble qu'il n'y a rien à ajouter au script : il est utilisable en l'état.)
Répondre