Page 1 sur 1
[ocaml-findlib] Vérification d'un PKGBUILD (terminé)
Publié : ven. 16 oct. 2009, 22:13
par dest
Bonjour,
je souhaiterais ajouter un paquet au dépôt mais pour cela, je souhaiterais avoir votre avis concernant mon PKGBUILD et s'il est satisfaisant, de l'envoyer.
Je précise qu'il fonctionne.
Si je suis maladroit ou si je dois m'y prendre autrement, n'hésitez pas à me le dire, c'est mon premier package toute distro confondue.
Merci.
Code : Tout sélectionner
# Contributor: Gregory BELLIER <gregory.bellier@gmail.com>
pkgname=ocaml-findlib
pkgver=1.2.5
pkgrel=1
pkgdesc="Management tool for OCaml programming language libraries "
arch=('x86_64')
url="http://projects.camlcity.org/projects/findlib.html/"
license=('MIT' 'X11')
groups=()
depends=('ocaml')
makedepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=('!strip')
install=
source=(http://download.camlcity.org/download/findlib-$pkgver.tar.gz)
noextract=()
md5sums=('db12a92903c2869bb89e1a6446db269e') #generate with 'makepkg -g'
build() {
mv "$srcdir/findlib-$pkgver" "$srcdir/$pkgname-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
./configure -config /etc/findlib.conf
make all opt || return 1
make prefix=$startdir/pkg install
chmod 644 $startdir/pkg/usr/lib/ocaml/site-lib/findlib/M*
}
Re: Vérification d'un PKGBUILD
Publié : ven. 16 oct. 2009, 23:11
par benjarobin
C'est quoi c'est licences ?
'MIT' 'X11'
Tu ne fait pas de paquet pour i686 ?
Ne pas utiliser mv et chmod -> regarde install...
Utiliser un maximum
|| return 1
Il y a que cela en dépendances ?
makedepends Tu peux mettre make enfin ce qui est nécessaire pour compiler mais ce n'est pas le plus grave
Re: Vérification d'un PKGBUILD
Publié : sam. 17 oct. 2009, 00:01
par cdemoulins
Tu peux également changer tes $startdir/pkg par juste $pkgdir de la même manière que tu as utilisé $srcdir au lieu de $startdir/src.
Je ne connais pas trop ton package mais je pense que tu peux rajouter '/etc/findlib.conf' dans le champ backup pour éviter qu'une prochaine mise à jour écrase le fichier de conf de l'utilisateur.
Re: Vérification d'un PKGBUILD
Publié : sam. 17 oct. 2009, 08:29
par chipster
Coucou
Il faudrait que tu modifies ton topic comme il te l'a été demandé lors de l'édition de ton poste. Un oubli -> tu cliques sur ma signature

Re: Vérification d'un PKGBUILD
Publié : dim. 18 oct. 2009, 00:21
par catwell
En plus de ce qui a déjà été dit par cdemoulins :
1) Vire tous les champs vides inutiles, ie.
Code : Tout sélectionner
groups=()
makedepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
install=
noextract=()
2) La licence MIT/X11 (c'est la même) ne peut pas être utilisée comme ça parce qu'elle doit contenir le num du détenteur du copyright. Tu ne peux te contenter d'indiquer le type de licence dans le champ license que pour les licences que tu trouves dans le dossier
/usr/share/licenses/common/. Pour les autres, en particulier MIT, sois la licence se trouve dans le paquet et tu la copies dans /usr/share/licenses/$pkgname/ comme
ici, soit tu la récupères quelque part et tu l'inclus dans le tableau de sources comme
là.
3) Pourquoi renommer le dossier avant de compiler ? Tu peux remplacer :
Code : Tout sélectionner
mv "$srcdir/findlib-$pkgver" "$srcdir/$pkgname-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
par :
@benjarobin : install ne sert à rien ici vu qu'il utilise une makefile. Ça ne remplacera pas un chmod. De plus, il est déconseillé de mettre les paquets de base et base-devel (donc make) en dépendances.
Sinon, je rappelle au cas où l'existence de
namcap qui te signale dans ton cas que tu utilises le tag Contributor au lieu de Maintainer...
Tout ceci étant dit, ça fait plaisir de voir des gens poster sur AUR, bienvenue

Re: [ocaml-findlib] Vérification d'un PKGBUILD
Publié : lun. 19 oct. 2009, 17:36
par dest
Bonjour et merci à tous pour votre accueil.
Je vous propose la version suivante :
Code : Tout sélectionner
# Maintainer: Gregory BELLIER <gregory.bellier@gmail.com>
pkgname=ocaml-findlib
pkgver=1.2.5
pkgrel=1
pkgdesc="Management tool for OCaml programming language libraries"
arch=('i686' 'x86_64')
url="http://projects.camlcity.org/projects/findlib.html/"
license=('MIT')
depends=('ocaml')
options=('!strip')
install=
source=(http://download.camlcity.org/download/findlib-$pkgver.tar.gz)
noextract=()
md5sums=('db12a92903c2869bb89e1a6446db269e') #generate with 'makepkg -g'
build() {
cd "$srcdir/findlib-$pkgver"
./configure -config /etc/findlib.conf
make all opt || return 1
make prefix=$pkgdir install
install -m644 $startdir/pkg/usr/lib/ocaml/site-lib/findlib/M*
install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE.txt
}
# vim:set ts=2 sw=2 et:
J'ai viré le mv. J'avais mal compris, je pensais que le package prenait le nom du répertoire d'où le mv. Mais c'était en oubliant complètement le $pkgname. My bad.
Concernant la licence, elle figure dans l'archive. J'ai suivi vos instructions en la mettant dans /usr/share/licenses. De plus, il est vrai que la MIT est pareil que X11 mais pour le coup, j'avais fumé.
Pour l'architecture, quand je crée le package, il ne me crée pas les packages avec les 2 architectures. Du coup, je compilais la 64bits sur un ordi 64bits et je faisais l'autre paquet dans une machine virtuelle 32bits. De ce fait, la version proposée ici était dépourvue du mot "i686" car c'était dans l'autre fichier PKGBUILD, celui dans la VM. Bon, ici, j'ai rajouté les 2 archi. Mais ça ne change pas le fait que seul le premier est compilé.
De plus, jai viré le chmod pour le remplacer par install. Par contre, vous ne semblez pas d'accord sur ce point. Alors chmod ou install ? Pourquoi install n'aurait pas lieu d'être parce qu'il y a un makefile ?
Quant à contributor, je l'ai remplacé par maintainer mais ça, je l'avais repompé d'un tuto quelque part, j'ai pas inventé. Merci pour namcap au passage.
Question pour le champ backup: le fichier findlib.conf, moi je veux bien le mettre en backup si vous pensez nécessaire de le mettre. Mais sous quelle forme dois-je le mettre ? C'est un fichier qui est créé après le ./configure. Est-ce que ça suffit de mettre backup=('/etc/findlib.conf') ?
D'autres remarques / commentaires qui m'aiderait à rendre ce paquet tout beau ?
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : lun. 19 oct. 2009, 17:41
par dest
Ah oui, j'ai oublié. Je peux aussi supprimer les sources comme j'ai pu le voir dans les exemples donnés plus haut : rm -rf $srcdir/...
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : lun. 19 oct. 2009, 17:53
par tuxce
pourquoi un "rm -rf " ?? personne ne demande d'effacer les sources, c'est pas le boulot du pkgbuild et surtout un rm avec un / qui traine, un bug dans le makepkg et c'est le home qui part ...
pour install et chmod, comme ce qu'a indiqué catwell, install copie d'abord, chmod ne fait que changer les permissions, donc ils ne sont pas interchangeables, et comme le "make install" s'occupe de copier, il faut utiliser chmod.
par exemple:
Code : Tout sélectionner
install -m644 $startdir/pkg/usr/lib/ocaml/site-lib/findlib/M*
peut faire beaucoup de dégats si tu as beacoup de M*
ensuite il y a au moins 2 || return 1 qui manquent, si le configure ne passe pas, faut arrêter, de même pour l'install
sinon, c'est
et non prefix.
(à part si le Makefile est mal foutu, je connais pas le soft)
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : lun. 19 oct. 2009, 19:56
par dest
Ok.
Alors, j'ai donc remis le chmod. Par contre, si je ne fais pas un make prefix mais un make DESTDIR, ça ne compile pas. Ca marque une erreur :
Code : Tout sélectionner
mkdir: cannot create directory /usr/local/man : permission denied
Voici la dernière version et j'ai rajouté la ligne backup :
Code : Tout sélectionner
# Maintainer: Gregory BELLIER <gregory.bellier@gmail.com>
pkgname=ocaml-findlib
pkgver=1.2.5
pkgrel=1
pkgdesc="Management tool for OCaml programming language libraries"
arch=('i686' 'x86_64')
url="http://projects.camlcity.org/projects/findlib.html/"
license=('MIT/X11')
depends=('ocaml')
options=('!strip')
backup=('/etc/findlib.conf')
install=
source=(http://download.camlcity.org/download/findlib-$pkgver.tar.gz)
noextract=()
md5sums=('db12a92903c2869bb89e1a6446db269e') #generate with 'makepkg -g'
build() {
cd "$srcdir/findlib-$pkgver"
./configure -config /etc/findlib.conf || return 1
make all opt || return 1
make prefix=$pkgdir install || return 1
chmod 644 $startdir/pkg/usr/lib/ocaml/site-lib/findlib/M*
install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE.txt
}
# vim:set ts=2 sw=2 et:
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : lun. 19 oct. 2009, 20:47
par dest
En fait, je viens de retrouver que le package que j'essaye de faire est déjà packagé (mais obsolète).
Voici le lien :
http://aur.archlinux.org/packages.php?ID=7238
On peut y voir que le PKGBUILD que vous m'aidez à construire est plus propre que celui qui y était.
Pensez-vous que ca vale la peine que je poursuive ou alors je demande à l'auteur de mettre à jour ?
Edit : Tiens, je viens de voir que namcap n'apprécie pas ma ligne backup à cause du slash.
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : mar. 20 oct. 2009, 00:58
par catwell
Si le paquet existe déjà, tu ne pourras pas le remplacer donc il faut que tu le marques comme périmé et que tu attends que son auteur s'en occupe. S'il ne le fait pas sous une semaine, il faut lui envoyer un mail, et s'il ne répond pas tu peux envoyer un mail sur la liste aur-general pour demander à adopter le paquet.
Tu peux également, en plus de marquer le paquet comme périmé dans AUR, proposer tes modifications au paquet en commentaire.
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : mar. 20 oct. 2009, 12:37
par dest
Ok, c'est fait, je commence la prise de contact.
En attendant, je vais pouvoir commencer dans mon coin un paquet qui lui n'existe pas et n'a jamais existé.
Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)
Publié : jeu. 22 oct. 2009, 19:27
par dest
Ok donc apparemment, j'ai bien fait d'envoyer un mail il y a quelques jours (mais si on ne m'a pas répondu) car ocaml-findlib a été mis à jour.
Bon par contre je m'interroge car je ne le trouve pas dans mon dépôt fraîchement mis à jour.
A bientôt pour de nouvelles aventures.