[Nut] 1er PKGBUILD, demande de conseils [annulé]

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
Eniotan
Daikyu
Messages : 55
Inscription : sam. 29 mars 2008, 21:23
Localisation : environs de Rennes

[Nut] 1er PKGBUILD, demande de conseils [annulé]

Message par Eniotan »

Bonjour,
Je souhaite essayer un logiciel qui n'est pas pour l'instant dispo sur AUR. (http://nut.sourceforge.net/)
Pour cela, j'ai créé un PKGBUILD, et quand je tape "makepkg", quelques erreurs se produisent :

Code : Tout sélectionner

mkdir: impossible de créer le répertoire « /usr/local/lib/nut »: Permission non accordée
mkdir: impossible de créer le répertoire « /usr/local/man/man1 »: Permission non accordée
...
Ces erreurs sont-elles normales ? (je pense que oui, étant donné que je ne lance pas makepkg en root)
Que dois-je faire pour installer le paquet sur mon système ? (une option de yaourt ?)

Ci-dessous le PKGBUILD en question :

Code : Tout sélectionner

# Maintainer: Eniotan <toineplume at gmail dot com>
pkgname="nut"
pkgver=19.0
pkgrel=1
pkgdesc="nutrition software to record and analyze what you eat "
arch=("x86_64")
url="http://${pkgname}.sourceforge.net"
license=('GPLv2')
groups=()
depends=('fltk')
makedepends=('')
install=
source=("${pkgname}-${pkgver}.tar.gz::http://sourceforge.net/projects/${pkgname}/files/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz/download")
noextract=()

build() {
  tar xvzf nut-19.0.tar.gz
  cd "$srcdir/$pkgname-$pkgver"
  make install
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  make DESTDIR="$pkgdir" install
}

md5sums=('57313f5fa714b1ebcb62c1ee6113452f')
En vous remerciant d'avance de votre aide, et de vos remarques sur la (non-)qualité du PKGBUILD.
Dernière modification par Eniotan le sam. 26 oct. 2013, 19:40, modifié 1 fois.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par Ypnose »

Normalement, tu ne dois pas utiliser /usr/local. Ce dossier est uniquement utilisé si tu compiles depuis les sources, sans utiliser makepkg
https://wiki.archlinux.org/index.php/Cr ... 9_function
J'ai vite fait regardé le Makefile, tu devrais écrire make prefix=/usr (sans les majuscules) pour régler le soucis. Le make install est fait dans package(), pas le peine de le faire dans build().
EDIT: Le pkg semble exister sur AUR: https://aur.archlinux.org/packages/nut/
Avatar de l’utilisateur
Eniotan
Daikyu
Messages : 55
Inscription : sam. 29 mars 2008, 21:23
Localisation : environs de Rennes

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par Eniotan »

Merci beaucoup.
Parmi tes recommandations, l'une me pose pb :
Makefile, tu devrais écrire make prefix=/usr
Tu veux dire qu'il faut que j'intervienne sur le makefile ?
C'est pas moi qui ait codé l'appli (mais au vu des questions que je pose, tu dois t'en douter...), ça se fait de modifier le makefile ?

Pour les autres recommandations, ok.
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par Ypnose »

Eniotan a écrit :Tu veux dire qu'il faut que j'intervienne sur le makefile ?
Tu m'as mal compris. Nul besoin d'éditer le Makefile. Parfois lorsque tu compiles des logiciels, tu peux passer des "options" à make, du genre PREFIX ou DESTDIR par exemple. Ainsi, tu peux "modifier" certaines options de compilation.
Je t'avais suggéré de remplacer:

Code : Tout sélectionner

build() {
  tar xvzf nut-19.0.tar.gz
  cd "$srcdir/$pkgname-$pkgver"
  make install
}
par

Code : Tout sélectionner

build() {
  tar xvzf nut-19.0.tar.gz
  cd "$srcdir/$pkgname-$pkgver"
  make prefix=/usr
}
Cette option se rapporte aux lignes suivantes du Makefile:

Code : Tout sélectionner

prefix = /usr/local
libdir = $(prefix)/lib/nut
bindir = $(prefix)/bin
mandir = $(prefix)/man/man1
Ainsi make prefix=/usr, va permette d'installer les exécutables dans /usr/bin, au lieu de /usr/local/bin. Les libs seront installées dans /usr/lib/nut, au lieu de /usr/local/lib/nut
J'espère que tu m'as compris.
Avatar de l’utilisateur
Eniotan
Daikyu
Messages : 55
Inscription : sam. 29 mars 2008, 21:23
Localisation : environs de Rennes

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par Eniotan »

OK, merci pour le mal que tu te donnes. :chinois:
Là,il faudrait que je le fasse exprès pour ne pas comprendre tes indications.

Donc le PKGBUILD final est :

Code : Tout sélectionner

# Maintainer: Eniotan <toineplume at gmail dot com>
pkgname="nut"
pkgver=19.0
pkgrel=1
pkgdesc="nutrition software to record and analyze what you eat "
arch=("x86_64")
url="http://${pkgname}.sourceforge.net"
license=('GPLv2')
groups=()
depends=('fltk')
makedepends=('')
install=
source=("${pkgname}-${pkgver}.tar.gz::http://sourceforge.net/projects/${pkgname}/files/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz/download")
noextract=()

build() {
  tar xvzf nut-19.0.tar.gz
  cd "$srcdir/$pkgname-$pkgver"
  make prefix=/usr
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  make DESTDIR="$pkgdir" install
}

md5sums=('57313f5fa714b1ebcb62c1ee6113452f')
                                              
Mais ça ne me dit pas comment je fais pour l'utiliser... :oops:
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par Ypnose »

Tu n'as pu vu mon EDIT pour le 2nd post? Il semble que le pkg existe déjà: https://aur.archlinux.org/packages/nut/
Il faudrait peut-être le rafraichir, mais le plus gros est déjà fait.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17238
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par benjarobin »

Le paquet existe déjà sur AUR...
Sinon il n'a jamais dit de modifier le Makefile
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
Eniotan
Daikyu
Messages : 55
Inscription : sam. 29 mars 2008, 21:23
Localisation : environs de Rennes

Re: [Nut] 1er PKGBUILD, demande de conseils

Message par Eniotan »

Non, j'avais pas vu...

Donc sujet clos. Mais tes explications me seront utiles dans un avenir proche...

EDIT : quand je vois la différence avec le PKGBUILD d'AUR, je constate que la route est encore longue avant que je devienne mainteneur de paquets.... (y'a qd meme pas mal de petits trucs à savoir)
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Nut] 1er PKGBUILD, demande de conseils [annulé]

Message par FoolEcho »

Eniotan a écrit :EDIT : quand je vois la différence avec le PKGBUILD d'AUR, je constate que la route est encore longue avant que je devienne mainteneur de paquets.... (y'a qd meme pas mal de petits trucs à savoir)
Au passage, tu n'aurais pas eu besoin de décompresser l'archive par toi-même dans package(), makepkg s'en charge (et ça poserait des problèmes si tu avais une fonction prepare() pour patcher les sources).
Sinon le reste t'a été dit: un paquet ne trifouille jamais le système de fichier, pas d'installation dans /usr/local, etc..

PKGBUILD
Makepkg
Standard_paquetage
«The following statement is not true. The previous statement is true.» :nage:
Répondre