[PKGBUILD] Creation d'un paquet pour pdfrw

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

[PKGBUILD] Creation d'un paquet pour pdfrw

Message par Distag »

Bonjour,

J'aimerais utiliser cet outil http://code.google.com/p/pdfrw/, mais apparemment personne n'a encore fait un paquet pour celui-ci.

Si quelqu'un pouvait le faire ce serait sympa, sinon je vais essayer de le faire. Mais il va falloir m'expliquer comment on fait un paquet d'ajout de fonctionnalités à python. Car je n'y connais absolument rien sur la manière dont celui-ci est implémenter sur nos machines. Et cela a l'aire un peu complexe.

En fait, tout ceci c'est pour faire fonctionner correctement le logiciel mat.

Merci d'avance.
Dernière modification par tuxce le mar. 04 sept. 2012, 10:41, modifié 1 fois.
Raison : mettre des crochets juste pour mettre des crochets .... bof !
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Creation] d'un paquet pour pdfrw

Message par FoolEcho »

Salut,

Le paquet abs propose des prototypes de PKGBUILD, dont python et svn pour récupérer le code, si tu veux t'y frotter, au moins un peu (normalement avec cette base tout atterira dans la bonne arborescence). Pour python, il suffit de savoir si c'est du 2 (python2 sous Arch) ou 3 (python) et rajouter les dépendances appropriées (plus ou moins simple si le code source a un README, INSTALL ou autre truc dans le genre qui détaille l'installation). Sinon, moi, ou une âme charitable désireuse de faire le build bien sûr, y jetera un oeil (on t'aidera à corriger évidemment si tu te lances). ;-)

PKGBUILD
Makepkg
Standard_paquetage

:chinois:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Creation] d'un paquet pour pdfrw

Message par Distag »

C'est des libraires pour python2.5 donc du 2.
En fait il n'y a que les sources que l'on peut obtenir a partir d'un dépôt svn.
Je sens que cela va être très facile du coup :(

Je suis désolé, mais cela dépasse mes simples compétences.
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Creation] d'un paquet pour pdfrw

Message par MrMen »

Salut, bon je ne sais pas trop ce que ça donne sachant qu'il n'y a pas de setup.py, mais je pense que c'est bon.
Quand je fais import pdfrw ça fonctionne.

Je te donne le pkgbuild que je viens de faire :

Edit : modifications après les remarques de FoolEcho plus bas.

Code : Tout sélectionner

pkgname=python2-pdfrw-svn
pkgver=latest
pkgrel=1
pkgdesc="Python library to read and write PDF files"
arch=('any')
url="http://pdfrw.googlecode.com/"
license=('MIT')
makedepends=('subversion')

_svntrunk="http://pdfrw.googlecode.com/svn/trunk/"
_svnmod=pdfrw

build() {
  cd "$srcdir"
  msg "Connecting to SVN server...."

  if [[ -d "$_svnmod/.svn" ]]; then
    (cd "$_svnmod" && svn up -r "$pkgver")
  else
    svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
  fi

  msg "SVN checkout done or server timeout"
  msg "Starting build..."

}

package() {
  cd "$srcdir/"

  _ver=$(python2 -V 2>&1 | sed 's/.* //; s/\..$//')

  mkdir -p "$pkgdir"/usr/lib/python"${_ver}"/site-packages/
  mkdir p "$pkgdir"/usr/share/licenses/"$pkgname"/

  cp -a pdfrw/pdfrw "$pkgdir"/usr/lib/python"${_ver}"/site-packages
  cp -a pdfrw/{examples,tests} "$pkgdir"/usr/lib/python"${_ver}"/site-packages/pdfrw
  cp -a pdfrw/LICENSE.txt "$pkgdir"/usr/share/licenses/"$pkgname"/ 
}

Ce n'est peut être pas parfait (cf. les cp -a), donc si quelqu'un (FoolEcho ?) passe par là et veux bien jeter un oeil ;)
Dernière modification par MrMen le mar. 31 juil. 2012, 22:44, modifié 2 fois.
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Creation] d'un paquet pour pdfrw

Message par FoolEcho »

Mr_Men a écrit :Salut, bon je ne sais pas trop ce que ça donne sachant qu'il n'y a pas de setup.py, mais je pense que c'est bon.
Quand je fais import pdfrw ça fonctionne.
En effet, c'est "juste" une bibliothèque (bon après, python et moi...).

Côté pinaillage:
-pkgdesc à remplir
-arch: 'any' car c'est du python (indépendant de l'architecture)
-la licence est 'MIT' dans le source et il y a un LICENSE.txt à rajouter dans $pkgdir/usr/share/licenses/$pkgname/
-rajouter python2 comme dépendance ? (à supposer qu'il n'y ait rien d'autre, ça manque de doc)

Pour ce qui est du cp, aucune importance (il y a les adeptes du install), normalement le paquet a les bons droits.

Vu qu'il n'y a effectivement pas de setup, déterminer la version du répertoire /usr/lib/python2.7/site-packages plutôt avec un truc plus portable du genre:

Code : Tout sélectionner

_ver=`python2 -V 2>&1|cut -d' ' -f 2|cut -d'.' -f1,2`
#d'où: /usr/lib/python${_ver}/site-packages
(y a peut-être plus simple, mais ça évite d'avoir à maintenir cet aspect du PKGBUILD :sifflote2: )
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Creation] d'un paquet pour pdfrw

Message par MrMen »

Roh mais le boulet !! j'ai pas pensé à faire ça pour python. Je faisais :

Code : Tout sélectionner

python2 --version | sed 's/.* //; s/\..$//'
Merci pour l'idée (la chaleur ça me réussi pas).

Pour les petits plus à remplir, j'attendais d'avoir ton avis sur le reste. J'avais encore oublié que pour python c'était any l'architecture…

En tout cas merci pour le coup d'oeil, je vais allez éditer le post du haut.

J'ai quand même une petite question :
je crois savoir que tu préfères install à cp, mais je n'ai pas trop réussi (je pige pas tout dans le man). Je voulais copier tous le contenu d'un répertoire (y compris répertoire) dans un autre, tu ferais comment ?

edit : après recherche, une version de pdfrw est comprise dans python2-rst2pdf, un peu gros mais il est dedans ;)
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Creation] d'un paquet pour pdfrw

Message par Distag »

Tu es sûr qu'il est bien dedans? Car mat ne le voie pas lui. bizarre :?

Code d'erreur de mat:

Code : Tout sélectionner

Unable to import python-pdfrw: no PDf suppor
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Creation] d'un paquet pour pdfrw

Message par FoolEcho »

@Mr_Men: bien vu. :D
@Distag: tu as essayé avec python2-rst2pdf ?

Sinon pour info:
Mr_Men a écrit :Roh mais le boulet !! j'ai pas pensé à faire ça pour python. Je faisais :

Code : Tout sélectionner

python2 --version | sed 's/.* //; s/\..$//'
Y a une redirection à faire sinon on peut rien hâcher (pas compris pourquoi, constaté et vu sur le net).
Mr_Men a écrit :je crois savoir que tu préfères install à cp, mais je n'ai pas trop réussi (je pige pas tout dans le man). Je voulais copier tous le contenu d'un répertoire (y compris répertoire) dans un autre, tu ferais comment ?
Je ne préfère pas (d'autant que les formes source/destination varient selon les options, donc le man n'est pas du luxe :mrgreen:), c'est juste une question d'habitude pour les PKGBUILDs (l'intérêt d'install est de combiner mkdir/cp/chmod/chown -- ceci étant on a pas forcément besoin):
Mr_Men a écrit :

Code : Tout sélectionner

  mkdir -p "$pkgdir"/usr/lib/python"${_ver}"/site-packages/
  mkdir p "$pkgdir"/usr/share/licenses/"$pkgname"/

  cp -a pdfrw/pdfrw "$pkgdir"/usr/lib/python"${_ver}"/site-packages
  cp -a pdfrw/{examples,tests} "$pkgdir"/usr/lib/python"${_ver}"/site-packages/pdfrw
  cp -a pdfrw/LICENSE.txt "$pkgdir"/usr/share/licenses/"$pkgname"/ 
donnerait:

Code : Tout sélectionner

  install -dm755 ${pkgdir}/usr/{lib/python${_ver}/site-packages/,share/licenses/${pkgname}/}
  install -D -m644 pdfrw/LICENSE.txt ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
  install -dm755 ${pkgdir}/usr/lib/python${_ver}/site-packages/pdfrw
  install -D -m644 pdfrw/pdfrw/* ${pkgdir}/usr/lib/python${_ver}/site-packages/pdfrw/
  #Et je zappe volontairement exemples et tests :-P
Mais cp est plus adapté ici, puisqu'il y a copie récursive sans se prendre plus la tête (avec install, on ne peut pas directement copier récursivement des répertoires et leur contenu, sauf erreur de ma part).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
MrMen
Chu Ko Nu
Messages : 479
Inscription : sam. 11 juil. 2009, 14:33
Localisation : (33)

Re: [Creation] d'un paquet pour pdfrw

Message par MrMen »

C'est ce que je me disais : la copier récursive c'est pas top avec install. Pour python, j'en avais déjà eu besoin un jour et j'avais eu l'idée mais là, le néant hier ;) En tout cas merci pour les infos FoolEcho.
Arch 64 | Awesome | Zsh | Bépo
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Creation] d'un paquet pour pdfrw

Message par Distag »

FoolEcho a écrit : @Distag: tu as essayé avec python2-rst2pdf ?
Oui, et justement il est là le problème, dans le dernier mis à jour de mat cela marchait parfaitement avec python2-rst2pdf. Mais depuis il y a eu une mise à jour, et le temps que je voie que le programme renvoyai cette erreur (car celui-ci tourne automatiquement à chaque démarrage) ce logiciel de suppression de metadata ne prenait plus en compte les fichiers au forma PDF. Et m'affichait cette jolie erreur:

Code : Tout sélectionner

Unable to import python-pdfrw: no PDf support
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Creation] d'un paquet pour pdfrw

Message par FoolEcho »

Un bug de mat alors, non ? (ou une option d'installation ajoutée/enlevée ?) :|
Quand tu recompiles la version d'avant, ça fonctionne, je présume ?
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Creation] d'un paquet pour pdfrw

Message par Distag »

Elle fonctionnait tout du moins. Je ne l'ai pas recompilé depuis la nouvelle version.
De plus, je ne suis pas un adepte de la compilation direct par les sources, j'ai trop peur d'installer des trucs à des endroits dont je ne comprends pas le fonctionnement sur mon OS. D'où ma vénération pour les mainteneurs des PKGBUILD. :)

Où trouve-t-on déjà les anciennes versions des paquets?
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Creation] d'un paquet pour pdfrw

Message par FoolEcho »

C'était sous-entendu que tu passes par le PKGBUILD (le jour où tu m'entendras conseiller une compilation sous passer par makepkg :roll: ). Il n'y a pas d'archives pour les paquets d'AUR, à moins que tu n'aies placé le paquet dans /var/cache/pacman/pkg (ce qui soit-dit en passant peut-être une bonne idée en plaçant dans /etc/yaourtc, EXPORT=2).
Essaie en modifiant simplement pkgver en 0.3.1 et en adaptant md5sums. Mais c'est juste pour retrouver un mat fonctionnel, à priori. Pour le reste, je penche pour un bug.
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Distag
yeomen
Messages : 272
Inscription : dim. 03 avr. 2011, 15:58

Re: [Creation] d'un paquet pour pdfrw

Message par Distag »

Apparemment, le mainteneur a abandonné le paquet mat faute de ne pas savoir comment le debugger. Je vais y jeter un coup d’œil pour voir comment résoudre le problème. Mais je vais sûrement avoir besoin d'aide.

[EDIT] Apparemment, le problème ne vient pas de la version de mat, car je viens d'essayer la précédente version et j'ai le même problème de pdfrw que je n'avais pas avant.
C'est tout comme si mat se plantait et allait chercher les lib python à la place de python2. Y a-t-il eu un changement dans l'organisation de python depuis 6 dernier mois sous arch ?
x86_64 | KDE | Clavier Bépo
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Creation] d'un paquet pour pdfrw

Message par FoolEcho »

Distag a écrit :C'est tout comme si mat se plantait et allait chercher les lib python à la place de python2. Y a-t-il eu un changement dans l'organisation de python depuis 6 dernier mois sous arch ?
Pas à ma connaissance. C'est bien plus vieux (quand python est devenu python2 et python3, python :fou: ).
Distag a écrit :Mais je vais sûrement avoir besoin d'aide.
En ce qui me concerne, je ne connais pas python.
«The following statement is not true. The previous statement is true.» :nage:
Répondre