[ocaml-findlib] Vérification d'un PKGBUILD (terminé)

Mise à jour / Création /debug de paquetages
Répondre
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

[ocaml-findlib] Vérification d'un PKGBUILD (terminé)

Message 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*
}

Dernière modification par dest le jeu. 22 oct. 2009, 19:28, modifié 2 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17568
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: Vérification d'un PKGBUILD

Message 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
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
cdemoulins
Chu Ko Nu
Messages : 310
Inscription : mar. 11 mars 2008, 04:15
Localisation : Paris

Re: Vérification d'un PKGBUILD

Message 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.
Avatar de l’utilisateur
chipster
Maître du Kyudo
Messages : 2063
Inscription : ven. 11 août 2006, 22:25
Localisation : Saint-Étienne (42)
Contact :

Re: Vérification d'un PKGBUILD

Message 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 :chinois:
Avatar de l’utilisateur
catwell
archer de cavalerie
Messages : 175
Inscription : lun. 13 juil. 2009, 19:00

Re: Vérification d'un PKGBUILD

Message 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 .

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 :

Code : Tout sélectionner

cd "$srcdir/findlib-$pkgver"
@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 :)
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

Re: [ocaml-findlib] Vérification d'un PKGBUILD

Message 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 ?
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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/...
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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

Code : Tout sélectionner

make DESTDIR=$pkgdir install
et non prefix.
(à part si le Makefile est mal foutu, je connais pas le soft)
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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:
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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.
Avatar de l’utilisateur
catwell
archer de cavalerie
Messages : 175
Inscription : lun. 13 juil. 2009, 19:00

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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.
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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é.
dest
Hankyu
Messages : 16
Inscription : ven. 16 oct. 2009, 22:05

Re: [ocaml-findlib] Vérification d'un PKGBUILD (en cours)

Message 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.
Répondre