Page 1 sur 1

[PKGBUILD] Creation d'un paquet pour pdfrw

Publié : dim. 29 juil. 2012, 19:01
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.

Re: [Creation] d'un paquet pour pdfrw

Publié : dim. 29 juil. 2012, 20:04
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:

Re: [Creation] d'un paquet pour pdfrw

Publié : mar. 31 juil. 2012, 18:24
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.

Re: [Creation] d'un paquet pour pdfrw

Publié : mar. 31 juil. 2012, 19:37
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 ;)

Re: [Creation] d'un paquet pour pdfrw

Publié : mar. 31 juil. 2012, 20:28
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: )

Re: [Creation] d'un paquet pour pdfrw

Publié : mar. 31 juil. 2012, 22:34
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 ;)

Re: [Creation] d'un paquet pour pdfrw

Publié : mar. 31 juil. 2012, 22:58
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

Re: [Creation] d'un paquet pour pdfrw

Publié : mer. 01 août 2012, 10:03
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).

Re: [Creation] d'un paquet pour pdfrw

Publié : mer. 01 août 2012, 10:11
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.

Re: [Creation] d'un paquet pour pdfrw

Publié : mer. 01 août 2012, 10:28
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

Re: [Creation] d'un paquet pour pdfrw

Publié : mer. 01 août 2012, 11:12
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 ?

Re: [Creation] d'un paquet pour pdfrw

Publié : mer. 01 août 2012, 19:12
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?

Re: [Creation] d'un paquet pour pdfrw

Publié : mer. 01 août 2012, 19:44
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.

Re: [Creation] d'un paquet pour pdfrw

Publié : lun. 03 sept. 2012, 18:07
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 ?

Re: [Creation] d'un paquet pour pdfrw

Publié : mar. 04 sept. 2012, 09:39
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.