[PKGBUILD] Glda

Mise à jour / Création /debug de paquetages
dukefeng
newbie
Messages : 5
Inscription : mar. 15 juil. 2008, 22:32

[PKGBUILD] Glda

Message par dukefeng »

Bonjour,

Ayant réussi à contourner le Great Firewall of China, me voici de retour parmi vous.

Présentation : est un utilitaire de création de liste d'achat

Fainéant que je suis, après avoir fait appel à l'aide de nos amis du site off' concernant Chandler, je me suis motivé à faire un PKGBUILD pour une application qui m'intéresse, à savoir Glda.

Malheureusement mes compétences me font bloquer au niveau du build.

Etant heureux de vous retrouver et s'agissant d'une appli francophone, j'ai pensé à vous. 8)

------------------------------------------------------------------

PKGBUILD #1

Code : Tout sélectionner

pkgname=glda
pkgver=0.5.3
pkgrel=1
pkgdesc="Utilitaire de Création de Liste d'Achat"
arch=('i686' 'x86_64')
url="http://glda.tuxfamily.org/"
license=('GPL3')
depends=('libxml2' 'gtk2')
source=(ftp://download.tuxfamily.org/glda/glda-$pkgver/glda-$pkgver.tar.gz)
md5sums=('9a1988957fc4f2f6eb3217e41a7bb8dc')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make prefix=$startdir/pkg/usr install
}
Dans ce cas, il me plante au niveau de la compilation.

------------------------------------------------------------------

PKGBUILD #2

Code : Tout sélectionner

pkgname=glda
pkgver=0.5.3
pkgrel=1
pkgdesc="Utilitaire de Création de Liste d'Achat"
arch=('i686' 'x86_64')
url="http://glda.tuxfamily.org/"
license=('GPL3')
depends=('libxml2' 'gtk2')
source=(ftp://download.tuxfamily.org/glda/glda-$pkgver/glda-$pkgver.tar.gz)
md5sums=('9a1988957fc4f2f6eb3217e41a7bb8dc')

build() {
    cd $startdir/src/
    mkdir -p $pkgdir/usr/{bin,share}
    mv glda-$pkgver $pkgdir/usr/share/glda
    echo -e "#!/bin/bash\n\n/usr/share/$pkgname/glda" >$pkgdir/usr/bin/$pkgname
    chmod 755 $pkgdir/usr/bin/$pkgname
}
Dans ce cas, il compile rien en fait et ça me balance tout le contenu du paquet dans /usr/share

------------------------------------------------------------------

PKGBUILD #3

Non en fait c'est l'installation à la main, ./configure, make, make install et ça compile pas au final.

Code : Tout sélectionner

michael $  ./configure && make
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
/bin/sh: /home/michael/.local/share/Trash/files/glda-0.5.3/usr/local/etc/config.site/missing: No such file or directory
configure: WARNING: `missing' script is too old or missing
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether make sets $(MAKE)... (cached) yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating applications/Makefile
config.status: creating pixmaps/Makefile
config.status: executing depfiles commands
Making all in src
make[1]: entrant dans le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2/src »
make[1]: Rien à faire pour « all ».
make[1]: quittant le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2/src »
Making all in applications
make[1]: entrant dans le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2/applications »
make[1]: Rien à faire pour « all ».
make[1]: quittant le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2/applications »
Making all in pixmaps
make[1]: entrant dans le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2/pixmaps »
make[1]: Rien à faire pour « all ».
make[1]: quittant le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2/pixmaps »
make[1]: entrant dans le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2 »
make[1]: Rien à faire pour « all-am ».
make[1]: quittant le répertoire « /home/michael/.local/share/Trash/files/glda-0.5.3$2 »

root #  make install
Making install in src
make[1]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3/src »
make[2]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3/src »
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
  /bin/install -c 'glda' '/usr/local/bin/glda'
make[2]: Rien à faire pour « install-data-am ».
make[2]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3/src »
make[1]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3/src »
Making install in applications
make[1]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3/applications »
make[2]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3/applications »
make[2]: Rien à faire pour « install-exec-am ».
test -z "/usr/share/applications/" || /bin/mkdir -p "/usr/share/applications/"
 /bin/install -c -m 644 'glda.desktop' '/usr/share/applications//glda.desktop'
make[2]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3/applications »
make[1]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3/applications »
Making install in pixmaps
make[1]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3/pixmaps »
make[2]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3/pixmaps »
make[2]: Rien à faire pour « install-exec-am ».
test -z "/usr/share/pixmaps" || /bin/mkdir -p "/usr/share/pixmaps"
 /bin/install -c -m 644 'glda.png' '/usr/share/pixmaps/glda.png'
make[2]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3/pixmaps »
make[1]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3/pixmaps »
make[1]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3 »
make[2]: entrant dans le répertoire « /home/michael/abs/glda/src/glda-0.5.3 »
make[2]: Rien à faire pour « install-exec-am ».
make[2]: Rien à faire pour « install-data-am ».
make[2]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3 »
make[1]: quittant le répertoire « /home/michael/abs/glda/src/glda-0.5.3 »
------------------------------------------------------------------

Toutes mes dépendances sont satisfaites, google m'aide pas trop et j'ai bien lu atelier:pkgbuild sur le wiki mais ça m'a trop fait avancé.

Merci d'avance pour vos aides.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

Salut,

remplace prefix par DESTDIR :

Code : Tout sélectionner

make DESTDIR=$startdir/pkg/usr install
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Message par mimas »

marc[i1] a écrit :Salut,

remplace prefix par DESTDIR :

Code : Tout sélectionner

make DESTDIR=$startdir/pkg/usr install
Depuis quelques temps déjà on peut remplacer $startdir/pkg par $pkgdir et $startdir/src par $srcdir.

Ça fait des lignes moins longues. :p
Anarchy for the triple A.
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

Message par marc[i1] »

mimas a écrit :Depuis quelques temps déjà on peut remplacer $startdir/pkg par $pkgdir et $startdir/src par $srcdir.
Ça fait des lignes moins longues. :p
vrai mais le seul problème c’est que les devs ne sont pas sûr de conserver ces variables ^^

Code : Tout sélectionner

srcdir
           Cela pointe sur le répertoire où makepkg extrait ou copie les sources.  Autrement dit, c'est un
           alias à ‘$startdir/src‘, cette solution ne sera peut être pas reconnue par toutes les futures
           versions de makepkg.
Ne vous emmerdez plus, emmerdez les autres.
dukefeng
newbie
Messages : 5
Inscription : mar. 15 juil. 2008, 22:32

Message par dukefeng »

marc[i1] a écrit :Salut,

remplace prefix par DESTDIR :

Code : Tout sélectionner

make DESTDIR=$startdir/pkg/usr install
Merci pour ton aide, ça fonctionne.

Pourquoi on trouve glda dans /usr/local/bin et pas dans /usr/bin ?

Le PKGBUILD pour faire tester à un plus grand nombre:

Code : Tout sélectionner

pkgname=glda
pkgver=0.5.3
pkgrel=1
pkgdesc="Utilitaire de Création de Liste d'Achat"
arch=('i686' 'x86_64')
url="http://glda.tuxfamily.org/"
license=('GPL3')
depends=('libxml2' 'gtk2')
source=(ftp://download.tuxfamily.org/glda/glda-$pkgver/glda-$pkgver.tar.gz)
md5sums=('9a1988957fc4f2f6eb3217e41a7bb8dc')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg/usr install
}
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

dukefeng a écrit : Pourquoi on trouve glda dans /usr/local/bin et pas dans /usr/bin ?
en fait, il se trouvera dans /usr/usr/bin parce que tu lui indiques de prendre comme racine

Code : Tout sélectionner

$startdir/pkg/usr
il faut indiquer

Code : Tout sélectionner

$startdir/pkg
pour le /usr/local/bin, ca doit etre un reliquat d'une install manuelle ou avec un ancien PKGBUILD
dukefeng
newbie
Messages : 5
Inscription : mar. 15 juil. 2008, 22:32

Message par dukefeng »

Merveilleux ça fonctionne à merveille.

Quelques testeurs sont les bienvenus.

Code : Tout sélectionner

pkgname=glda
pkgver=0.5.3
pkgrel=1
pkgdesc="Utilitaire de Création de Liste d'Achat"
arch=('i686' 'x86_64')
url="http://glda.tuxfamily.org/"
license=('GPL3')
depends=('libxml2' 'gtk2')
source=(ftp://download.tuxfamily.org/glda/glda-$pkgver/glda-$pkgver.tar.gz)
md5sums=('9a1988957fc4f2f6eb3217e41a7bb8dc')

build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg install
}
Répondre