[PKGBUILD] création du paquet pandore (en cours)

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
kamui57
archer de cavalerie
Messages : 157
Inscription : dim. 30 mai 2010, 13:44
Localisation : Moselle

[PKGBUILD] création du paquet pandore (en cours)

Message par kamui57 »

Bonjour,

j'aimerais utiliser la bibliothèque de traitement d'image pandore, mais comme elle n'est pas dispo, j'essaie d'en faire un paquet AUR.

Voici mon PKGBUILD :

Code : Tout sélectionner

### This is an example PKGBUILD file. Use this as a start to creating your own,
### and remove these comments. For more information, see 'man PKGBUILD'.
### NOTE: Please fill out the license field for your package! If it is unknown,
### then please put 'unknown'.

### Maintainer: kamui57 <kamui_57 at yahoo dot fr>
pkgname=pandore
pkgver=6.5.2
pkgrel=1
epoch=
pkgdesc="A library of image processing operators"
arch=('i686' 'x86_64')
url="http://www.greyc.ensicaen.fr/~regis/Pandore/"
license=('custom')
### 'http://www.greyc.ensicaen.fr/~regis/Pandore/#documentation')
### cf fichier pandore.install et fichier LICENSE
groups=()
depends=()
makedepends=()
checkdepends=()
###    Optdepends : http://www.greyc.ensicaen.fr/~regis/Pandore/installation-en.html 
###                       ↓ ↓ ↓
###   - Qt version >= 4.0.0 for visualization operation (www.trolltech.com).
###   - or X11 and Motif for visualization operators.
###     However, Qt is preferred to X11.
###     Without these two API, operators 'pvisu' and 'pdraw' are not available.
###     However, the rest of the operators work without Qt (or X11). 
optdepends=('qt>=4.0.0: visualization operations pvisu and pdraw (recommended)'
'openmotif: visualization operations pvisu and pdraw')
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=${pkgname}.install
changelog=
source=(http://www.greyc.ensicaen.fr/~regis/Pandore/tarballs/${pkgname}${pkgver}-unix-src.tgz)
md5sums=('17f0bcf20e5f9a7f69caaf6871a7784f')
noextract=()
#generate with 'makepkg -g'

build() { 
### INSTALLATION
###  Use:
###     ./configure
###    make (or make -j6)
###    make install
###    make clean
  tar zxf ${pkgname}${pkgver}-unix-src.tgz && cd "$srcdir/$pkgname"
  ./configure --prefix=/usr
  make || return 1
}

check() {
  cd "$srcdir/$pkgname"
###make -k check
### http://www.greyc.ensicaen.fr/~regis/Pandore/installation-en.html
###  The complete installation should create the followings:
###  - the library 'libpandore.so' (or libpandore.dylib under MacOS X) in the folder './lib',
###  - executable operators in the folder './bin',
###  - the launch script './pandore'.
###
###  To check the installation, execute the following commands:
###    pandore
###    pversion
###  or a more complete commands sequence:
###    pbmp2pan examples/tangram.bmp /tmp/tangram.pan
###    pstatus
###    pvisu /tmp/tangram.pan
###  The command 'pstatus' must display "SUCCESS".
if [ ! -f ./lib/libpandore.so ] ; then echo "File $srcdir/$pkgname/lib/libpandore.so missing" ; return 1 ; fi 
if [ ! -f ./pandore ] ; then echo "File $srcdir/$pkgname/pandore missing" ; return 1 ; fi 
if [ ! -d ./bin ] ; then echo "Folder $srcdir/$pkgname/bin missing or empty" ; return 1 ; fi 
### $srcdir/$pkgname/bin/pbmp2pan $srcdir/$pkgname/examples/tangram.bmp /tmp/tangram.pan
### if [ `$srcdir/$pkgname/bin/pstatus` != 'SUCCESS' ]; then echo "pstatus doesn't return success for pbmp2pan examples/tangram.bmp /tmp/tangram.pan" ; return 1 ; fi 
###                   ↓ ↓ ↓
### ==> Lancement de check()...
### /home/stepharch/aur/pandore/src/pandore/bin/pbmp2pan: error while loading shared libraries: libpandore.so: cannot open shared object file: No such file or directory
### ==> ERREUR: Une erreur s'est produite dans check().
###    Abandon...

}

package() {
  cd "$srcdir/$pkgname"
  make DESTDIR="$pkgdir/" install
  echo -n "Copying LICENSE to $pkgdir/usr/share/licenses/$pkgname..."
  cp LICENSE $pkgdir/usr/share/licenses/$pkgname
  echo " done."
}

# vim:set ts=2 sw=2 et:
Mon fichier pandore.install :

Code : Tout sélectionner

# This is a default template for a post-install scriptlet.
# Uncomment only required functions and remove any functions
# you don't need (and this header).

## arg 1:  the new package version
#pre_install() {
  # do something here
#}

## arg 1:  the new package version
post_install() {
  cat << EOF

To check the installation, execute the following commands:

    pandore
    pversion

or a more complete commands sequence:

    pbmp2pan examples/tangram.bmp /tmp/tangram.pan
    pstatus
    pvisu /tmp/tangram.pan

The command 'pstatus' must display "SUCCESS".
EOF
}

## arg 1:  the new package version
## arg 2:  the old package version
#pre_upgrade() {
  # do something here
#}

## arg 1:  the new package version
## arg 2:  the old package version
#post_upgrade() {
  # do something here
#}

## arg 1:  the old package version
#pre_remove() {
  # do something here
#}

## arg 1:  the old package version
#post_remove() {
  # do something here
#}

# vim:set ts=2 sw=2 et:
Log de la création (j'avais déja tenté la création avant, c'est pour ça que la compilation ne se fait plus)

Code : Tout sélectionner

12:55:46 stepharch@mittelerde:~/aur/pandore 44$ makepkg -f
==> Création du paquet pandore 6.5.2-1 (lun. mars 28 12:55:51 CEST 2011)
==> Vérification des dépendances pour l'exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> pandore6.5.2-unix-src.tgz trouvé
==> Validation des fichiers sources avec md5sums...
    pandore6.5.2-unix-src.tgz ... Réussite
==> Extraction des sources...
  -> Extraction de pandore6.5.2-unix-src.tgz avec bsdtar
==> Suppression du répertoire pkg/ existant...
==> Lancement de build()...
checking target system type... Linux-2.6.37-ARCH-i686
checking dynamic loading options for LINUX_ELF... yes
checking C++ compiler... g++
checking linker... g++
checking make... make
checking perl binary... yes
checking Qt version >= 4.0.0... yes (4.7.2)
setting qmake est /usr/bin/qmake
generating dependencies for objects files... bundled.cpp, collection.cpp, errc.cpp, graph.cpp, main.cpp, pobject.cpp, region.cpp, ... done.
generating dependencies for operators files... pabs.cpp [...] psuperimposition.cpp, ... done.
generating Makefile for src/viewers/Qt... done.
generating Makefile... done.
generating 'pandore' script file... done.
 
 
SUMMARY

   Your system is: LINUX_ELF
   Perl interpreter is: perl
   make command is: make
   C++ compiler is: g++
   Linker is: g++

   Dynamic library libpandore is: libpandore.so
   Compilation options for object files: -s -DNDEBUG -O2 -Iinclude -pedantic -fpic
   Linker options for object files: -shared

   Compilation options for operators: -s -DNDEBUG -O2 -Iinclude -pedantic -DMAIN -Isrc/operatorsP0
   Linker options for operators: -Llib -lpandore

   The Graphical User Interface is: Qt
   Qt version: 4.7.2

   Installed boxes: none.
 
If this is correct, you can just type 'make' now at your shell prompt.
Once everything is built, you must run 'make install'.
The Pandore script will be installed into '/usr/bin'
Otherwise, rerun configure with proper options
(see the INSTALL file for a description of Pandore configure options.)

cd src/viewers/Qt && make
make[1]: entrant dans le répertoire « /home/stepharch/aur/pandore/src/pandore/src/viewers/Qt »
make[1]: Rien à faire pour « first ».
make[1]: quittant le répertoire « /home/stepharch/aur/pandore/src/pandore/src/viewers/Qt »
==> Lancement de check()...
==> Entre dans l'environnement fakeroot...
==> Lancement de package()...
Installation folder: /usr/bin
cp -f "./pandore" "/usr/bin/pandore"
cp: impossible de créer le fichier standard « /usr/bin/pandore »: Permission non accordée
make: [install] Erreur 1 (ignorée)
chmod gou+x "/usr/bin/pandore"
chmod: impossible d'accéder à « /usr/bin/pandore »: Aucun fichier ou dossier de ce type
make: [install] Erreur 1 (ignorée)
==> Nettoyage de l'installation...
  -> Suppression d'autres fichiers...
  -> Compression des man/info pages...
  -> Strip des symboles de débogage inutiles dans les binaires et les bibliothèques...
==> Création du paquet... 
  -> Génération du fichier .PKGINFO...
  -> Ajout du fichier install...
  -> Compression du paquet... 
==> Quitte l'environnement fakeroot.
==> Création finie: pandore 6.5.2-1 (lun. mars 28 12:56:23 CEST 2011)
12:56:23 stepharch@mittelerde:~/aur/pandore 45$ ls
Fichier LICENSE

Code : Tout sélectionner

Copyright

Permission to use, copy, modify, and distribute Pandore and its documentation for any purpose, without fee, and without a written agreement is hereby granted.

In no event shall the GREYC laboratory be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this software and its documentation.

Pandore provided hereunder is on an "as-is" basis, and the GREYC laboratory has no obligations to provide maintenance, support, updates, enhancements, or modifications.
J'enlèverai les commentaires et les lignes inutiles quand tout sera ok.

Avez-vous des remarques concernant les fichiers ?
Faut-il lancer makepkg en root pour résoudre les erreurs de permissions à l'installation ?
Merci :)

Edit : copie de la LICENSE non plus dans la fonction post_install de pandore.install mais dans la fonction package du PKGBUILD suite à la remarque de FoolEcho.
Dernière modification par kamui57 le lun. 28 mars 2011, 13:27, modifié 1 fois.
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. (proverbe indien)
Toshiba Satellite 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
Toshiba Satellite 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
http://wiki.archlinux.fr/Pastebin pour poster du texte sur internet en console
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par FoolEcho »

kamui57 a écrit :Faut-il lancer makepkg en root pour résoudre les erreurs de permissions à l'installation ?
Oh que non, car si ton build est foireux d'une façon ou d'une autre, tu risques de mettre la pagaille dans ton système.

Je jetterai un oeil plus tard. :wink: (remarque en passant: autant copier la licence dans la fonction package() ).


EDIT: d'ailleurs si la licence n'est pas inclue dans les sources, il te faut rajouter le fichier et sa somme de contrôle dans le PKGBUILD.
«The following statement is not true. The previous statement is true.» :nage:
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par Tatsuya »

Tu nous prépare quoi comme zouli programme ?
Avatar de l’utilisateur
kamui57
archer de cavalerie
Messages : 157
Inscription : dim. 30 mai 2010, 13:44
Localisation : Moselle

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par kamui57 »

Je voudrais voir si j'arrive à l'aider.
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. (proverbe indien)
Toshiba Satellite 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
Toshiba Satellite 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
http://wiki.archlinux.fr/Pastebin pour poster du texte sur internet en console
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17237
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par benjarobin »

Pourquoi tu décompresse à nouveau/manuellement ? C'est automatique et les fichiers sont placés dans $srcdir

Code : Tout sélectionner

tar zxf ${pkgname}${pkgver}-unix-src.tgz
Apparemment DESTDIR n'est pas pris en compte, voir le Makefile...

Code : Tout sélectionner

make DESTDIR="$pkgdir/" install
Edit: En faite, le .configure a été créé à la main et "génère" le Makefile
Il suffit de faire ceci dans le build:

Code : Tout sélectionner

cd "$srcdir/$pkgname"
  ./configure --prefix="$pkgdir/usr"
  make || return 1
Et dans le package: tu peux supprimer DESTDIR="$pkgdir/"
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
kamui57
archer de cavalerie
Messages : 157
Inscription : dim. 30 mai 2010, 13:44
Localisation : Moselle

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par kamui57 »

Voici le dernier Makefile que j'ai eu: http://pastebin.com/5TDRqMm8. Je n'y vois effectivement pas de référence à un DESTDIR.

Merci benjarobin, j'ai fait les modifs (pas encore màj le 1er post), je relance tout du début et je reviens.
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. (proverbe indien)
Toshiba Satellite 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
Toshiba Satellite 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
http://wiki.archlinux.fr/Pastebin pour poster du texte sur internet en console
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par FoolEcho »

Oui, la construction fournie est assez limitée côté configuration.

Bref. Testez-moi ce qui suit. :chinois:

PKGBUILD:

Code : Tout sélectionner

### Maintainer: kamui57 <kamui_57 at yahoo dot fr>
pkgname=pandore
pkgver=6.5.2
pkgrel=1
epoch=
pkgdesc="A library of image processing operators"
arch=('i686' 'x86_64')
url="http://www.greyc.ensicaen.fr/~regis/Pandore/"
license=('custom')
### 'http://www.greyc.ensicaen.fr/~regis/Pandore/#documentation')
groups=()
depends=('qt>=4.0.0') 
makedepends=()
checkdepends=()
#optdepends=('qt>=4.0.0: visualization operations pvisu and pdraw (recommended)' 'openmotif: visualization operations pvisu and pdraw')
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=${pkgname}.install
changelog=
source=(http://www.greyc.ensicaen.fr/~regis/Pandore/tarballs/${pkgname}${pkgver}-unix-src.tgz
	LICENSE)
md5sums=('17f0bcf20e5f9a7f69caaf6871a7784f'
	'e709c67283981fd2c57b848681c37969')
noextract=()

build() {
  cd "$srcdir/$pkgname"
  ./configure --prefix="$pkgdir/usr"
  make ||return 1
}

package() {
  cd "$srcdir/$pkgname"

#render pandore
  install -d -m755 ${pkgdir}/usr/bin

  make install||return 1
  make clean||return 1

#patch pandore path
  sed "s#$srcdir#/opt#" -i ${pkgdir}/usr/bin/pandore

#'cause the poor options in the makefile :-(
  install -d -m755 ${pkgdir}/opt
  cp -r "$srcdir/$pkgname" "$pkgdir/opt/"

  echo -n "Copying LICENSE to $pkgdir/usr/share/licenses/$pkgname..."
  install -D -m644 "$srcdir"/LICENSE $pkgdir/usr/share/licenses/$pkgname
  echo " done."
}
# vim:set ts=2 sw=2 et:
Hormis la licence et l'exécutable, je case tout dans /opt "malheureusement", car je ne sais pas trop ce qu'il convient de garder du fait de la compilation. :?

J'ai modifié aussi le message du pandore.install, pour tenir compte du chemin global, la ligne:

Code : Tout sélectionner

pbmp2pan /opt/pandore/examples/tangram.bmp /tmp/tangram.pan
J'ai viré ton check (ça n'est pas interdit mais la fonction supplémentaire faisant un peu désordre... tu le rajoutes si tu y tiens, pas de problème). :mrgreen:
J'ai placé qt dans les dépendances plutôt que dans les dépendances optionnelles, mais bon, pas de problème à le placer comme tu l'as fait (je ne sais pas pour openmotif ce que c'est par contre... pas cherché)
J'ai fait et testé assez vite les commandes de post installation, ça tourne, c'est une base de travail (relativement bonne, j'espère).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
kamui57
archer de cavalerie
Messages : 157
Inscription : dim. 30 mai 2010, 13:44
Localisation : Moselle

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par kamui57 »

Merci pour ton boulot foolEcho !

Je crois que Motif on s'en fout en fait et que c'est un vieux truc, j'ai vu ça dans le configure

Code : Tout sélectionner

if [ "x$gui_type" = "xMotif" ]
then
echo "*** WARNING! The lastest of the Pandore visualization tools uses Qt." 1>&2
echo "*** Please, upgrade to the latest version of Qt and rerun configure." 1>&2
echo "   The installed release of Pandore uses obsolete visualization tools." 1>&2


J'ai rajouté perl dans les dépendances optionnelles à cause de
http://www.greyc.ensicaen.fr/~regis/Pan ... on-fr.html
c. optionnelle:

- un interpréteur Perl. Sans cet interpréteur il n'est pas possible de
profiter du préprocesseur permettant la généricité des types lors de la
programmation de nouveaux opérateurs.
j'ai traduit ainsi, si vous voyez mieux n'hésitez pas

Code : Tout sélectionner

optdepends=('perl: for preprocessor allowing generic programming for new operators')
ça marche bien, bravo et merci, juste une question sur ta fonction package :

Code : Tout sélectionner

#patch pandore path
  sed "s#$srcdir#/opt#" -i ${pkgdir}/usr/bin/pandore
Cette ligne sert à corriger l'erreur

Code : Tout sélectionner

cp -f "./pandore" "/home/stepharch/aur/old/pkg/usr/bin/pandore"
cp: impossible de créer le fichier standard « /home/stepharch/aur/old/pkg/usr/bin/pandore »: Aucun fichier ou dossier de ce type
mais comment ? (Merci, car je bloquais dessus :D )

Faut-il prévoir quelque chose pour la suppression ? Dans le makefile ya

Code : Tout sélectionner

clean:
        -$(RM) $(OBJ)
        cd src/viewers/Qt && $(MAKE) clean
 
cleandist: distclean
 
distclean: clean
        -$(RM) $(TARGETS)
        -$(RM) -r deps
        -$(RM) pandore
        -$(RM) Makefile
        -$(RM) bin/pdraw
        cd src/viewers/Qt && $(MAKE) distclean
        -$(RM) libpandore.so
        -$(RM) libpandore.a
install:
        @echo "Installation folder: /usr/bin"
        -$(INSTALL_FILE) "./pandore" "/usr/bin/pandore"
        -chmod gou+x "/usr/bin/pandore"
 
uninstall:
        -$(RM) "/usr/bin/pandore"
 
donc un make uninstall supprime pandore, mais pour tout virer faut faire distclean il me semble. Mais il ne me semble pas avoir vu quelque chose à ce sujet dans le wiki.
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. (proverbe indien)
Toshiba Satellite 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
Toshiba Satellite 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
http://wiki.archlinux.fr/Pastebin pour poster du texte sur internet en console
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17237
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par benjarobin »

Je ne comprend pas bien la fin de ton post.
Pour installer et supprimer le paquet tu utilise pacman. C'est un peu le but de passer par PKGBUILD
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par FoolEcho »

Ahaha, je me suis senti motivé, j'ai bossé un temps au GREYC (mais pas là dessus). :roll:
kamui57 a écrit :ça marche bien, bravo et merci, juste une question sur ta fonction package :

Code : Tout sélectionner

#patch pandore path
  sed "s#$srcdir#/opt#" -i ${pkgdir}/usr/bin/pandore
Cette ligne sert à corriger l'erreur

Code : Tout sélectionner

cp -f "./pandore" "/home/stepharch/aur/old/pkg/usr/bin/pandore"
cp: impossible de créer le fichier standard « /home/stepharch/aur/old/pkg/usr/bin/pandore »: Aucun fichier ou dossier de ce type
mais comment ? (Merci, car je bloquais dessus :D )
Pas exactement, c'est le produit final que je modifie (le pandore généré est un script qui se base sur le répertoire de compilation, c'est-à-dire le répertoire donné au configure comme l'a bien vu benjarobin, pour éviter d'écrire directement dans /usr/bin... tu vois là comment mettre la pagaille dans ton propre système si tu avais forcé l'installation ), ce qui ne nous arrange pas pour l'installation finale (puisqu'il chercherait à lancer l'application là où elle n'est plus). Le sed permet de corriger le tir... j'ai un peu "rusé" sur la syntaxe pour ne pas me faire suer avec les / des chemins. :mrgreen:
kamui57 a écrit :Faut-il prévoir quelque chose pour la suppression ?
Non, car tu vas désinstaller correctement ton paquet via pacman. 8) (grillé par benjarobin :copain: )
J'ai juste utilisé le clean pour ne pas garder des choses trop inutiles. Il y aurait d'ailleurs du nettoyage à faire pour ne pas inclure l'ensemble du répertoire de compilation dans le paquet final.
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
kamui57
archer de cavalerie
Messages : 157
Inscription : dim. 30 mai 2010, 13:44
Localisation : Moselle

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par kamui57 »

ok, merci. Effectivement, question bête.
Il y aurait d'ailleurs du nettoyage à faire pour ne pas inclure l'ensemble du répertoire de compilation dans le paquet final.
Faudrait garder quand même le nécessaire pour compiler de nouveaux opérateurs : http://www.greyc.ensicaen.fr/~regis/Pan ... on-fr.html

Dans pkg/pandore ya

Code : Tout sélectionner

21:06:24 stepharch@mittelerde:~/aur/pandore 105$ ls pkg/opt/pandore/
AUTHORS.txt    configure  examples	  lib	    src
bin	       deps	  include	  Makefile  VERSION.txt
boxes	       doc	  INSTALL-en.txt  NEWS.txt
config.status  etc	  INSTALL-fr.txt  pandore
et le Makefile permettant de compiler un opérateur contient ceci, faut donc garder pas mal de choses :

Code : Tout sélectionner

CCFLAGS=-Wall -I${PANDOREHOME}/include -I${PANDOREHOME}/src/operatorsP0 -DMAIN

LDFLAGS= -L${PANDOREHOME}/lib -lpandore -lm ${LDX11FLAGS}

PPP=${PERL} -I${PANDOREHOME}/etc/macros ${PANDOREHOME}/etc/macros/template.pl ${PANDOREHOME}/etc/macros/pand_macros
J 'avais pensé à mettre les bibliothèques de lib dans /usr/lib, les opérateurs de bin dans /usr/bin, les headers de include dans /usr/include, les sources dans /usr/src, ce serait une bonne idée ou pas ? J'ai de gros doutes, pour compiler de nouveaux opérateurs, il faudrait changer le Makefile alors.

Après l'installation il faut mettre ça dans le .profile ou autre pour avoir le bon PATH, je vais donc rajouter ceci dans le texte qu'affiche pandore.install (source)
Set the following environment variables in file .profile or bash_profile:

PANDOREHOME=/usr/share/pandore
PATH=$PANDOREHOME/bin:$PATH
LD_LIBRARY_PATH=$PANDOREHOME/lib:$LD_LIBRARY_PATH
export PANDOREHOME PATH LD_LIBRARY_PATH
Par contre c'est normal ça ? Où est exécuté pandore.install ?

Code : Tout sélectionner

make[1]: quittant le répertoire « /home/stepharch/aur/pandore/src/pandore/src/viewers/Qt »
Copying LICENSE to /home/stepharch/aur/pandore/pkg/usr/share/licenses/pandore... done.
==> Nettoyage de l'installation...
  -> Suppression d'autres fichiers...
  -> Compression des man/info pages...
  -> Strip des symboles de débogage inutiles dans les binaires et les bibliothèques...
==> Création du paquet... 
  -> Génération du fichier .PKGINFO...
  -> Ajout du fichier install...
  -> Compression du paquet... 
==> Quitte l'environnement fakeroot.
==> Création finie: pandore 6.5.2-1 (lun. mars 28 21:36:39 CEST 2011)

alors que dans PKGBUILD

Code : Tout sélectionner

install=${pkgname}.install

et dans pandore.install

Code : Tout sélectionner

post_install() {
  cat << EOF

To check the installation, execute the following commands:
[...]
export PANDOREHOME PATH LD_LIBRARY_PATH
EOF
}
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. (proverbe indien)
Toshiba Satellite 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
Toshiba Satellite 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
http://wiki.archlinux.fr/Pastebin pour poster du texte sur internet en console
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par FoolEcho »

kamui57 a écrit :J 'avais pensé à mettre les bibliothèques de lib dans /usr/lib, les opérateurs de bin dans /usr/bin, les headers de include dans /usr/include, les sources dans /usr/src, ce serait une bonne idée ou pas ? J'ai de gros doutes, pour compiler de nouveaux opérateurs, il faudrait changer le Makefile alors.
C'est un peu pour ça que je n'ai pas tenté le coup d'entrée (ma première idée étant qu'il y a avait peut-être des scripts qui contiendraient des chemins en relatif)... C'est sûr que /opt ça fait bien fourre-tout... Pour ces questions de compilation de nouveaux opérateurs, ça justifie peut-être de ne pas en faire plus (parce que ça complique la maintenance de tout mieux répartir). :?
Mais... heu... c'est la réponse prudente car au vu du MAKEFILE que tu proposes, tu dois pouvoir tout placer comme tu le veux dans /usr sans danger (avec PANDOREHOME = /usr puis tout ce qui ne rentre pas dans les clous dans /usr/share/pandore ).
Moui... ça devrait le faire. A tester.
Pense bien à adapter le sed et les commentaires de ton .install en conséquence (et tiens nous au courant, même si le plus dur est fait). :chinois:
kamui57 a écrit :Après l'installation il faut mettre ça dans le .profile ou autre pour avoir le bon PATH, je vais donc rajouter ceci dans le texte qu'affiche pandore.install (source)
Plus simple, tu peux aussi placer le pandore , non pas dans /usr/bin/pandore mais dans /etc/profile.d/pandore.sh . 8)


EDIT (j'avais zappé une partie de ton message... je fatigue): le .install s'exécute... quand tu installes ton paquet (-U avec le .xz généré). :mrgreen:
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
kamui57
archer de cavalerie
Messages : 157
Inscription : dim. 30 mai 2010, 13:44
Localisation : Moselle

Re: [PKGBUILD] création du paquet pandore (en cours)

Message par kamui57 »

Merci pour ta réponse rapide, j'essaierai ça (mais pas maintenant, pour ce soir, j'arrête :-))
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. (proverbe indien)
Toshiba Satellite 512 Mo RAM, Archlinux Gnome 3 restreint / Crunchbang LXDE
Toshiba Satellite 4 Go RAM, Archlinux Gnome-shell,LXDE / W7
http://wiki.archlinux.fr/Pastebin pour poster du texte sur internet en console
Répondre