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
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/python
2.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
)
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 :
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:
Re: [Creation] d'un paquet pour pdfrw
Publié : mer. 01 août 2012, 10:03
par FoolEcho
@Mr_Men: bien vu.
@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 :
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
), 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:
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
). 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
).
Distag a écrit :Mais je vais sûrement avoir besoin d'aide.
En ce qui me concerne, je ne connais pas python.