[PKGBUILD] pollution dans /usr (Résolu)

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

[PKGBUILD] pollution dans /usr (Résolu)

Message par coincoin »

Hello,

J'ai soumis un pkgbuild qui fonctionne bien mais j'ai fait quelque chose de vilain, le pkgbuild pollue le /usr avec un /usr/LICENSE, un /usr/README, et des dossiers d'installation /usr/cmake/ /usr/common/ /usr/examples/ /usr/lib/cmake/... Quelle est la manière élégante de procéder ?

Code : Tout sélectionner

pkgname=deal-ii
_realname=deal.II
pkgver=8.0.0
pkgrel=2
pkgdesc="A Finite Element Differential Equations Analysis Library"
arch=("i686" "x86_64")
url="http://www.dealii.org/"
license=('LGPL')
depends=()
makedepends=('cmake' 'make')
install=deal-ii.install
source=(https://dealii.googlecode.com/files/${_realname}-$pkgver.tar.gz)
md5sums=('6d44304e9ec7697203e944321a30f343')

build() {
  cd "${srcdir}/${_realname}"

  rm -rf "${srcdir}/build"
  mkdir "${srcdir}/build"
  cd "${srcdir}/build"

  cmake -DCMAKE_INSTALL_PREFIX=/usr/ ../${_realname}

  make
}

package() {
  cd "${srcdir}/build"
  make DESTDIR="${pkgdir}" install

  # doc
  mkdir -p ${pkgdir}/usr/share/doc/${_realname}
  cp -r ${srcdir}/${_realname}/doc ${pkgdir}/usr/share/doc/${_realname}

  # examples
  cp -r ${srcdir}/${_realname}/examples ${pkgdir}/usr/share/doc/${_realname}

  install -D -m644 ${srcdir}/${_realname}/LICENSE "${pkgdir}/usr/share/licenses/${_realname}/LICENSE"
}
Je suis ouvert à toute remarque c'est mon premier pkgbuild.

Merci

coin²
Dernière modification par coincoin le sam. 09 nov. 2013, 15:08, modifié 2 fois.
\_o<
Avatar de l’utilisateur
Ypnose
Maître du Kyudo
Messages : 1363
Inscription : sam. 01 mai 2010, 13:17

Re: [PKGBUILD] pollution dans /usr

Message par Ypnose »

Je ne vois pas en quoi un fichier LICENSE est de la pollution. Un logiciel comporte obligatoirement une license et il est selon moi important de l'inclure dans le paquet final. Pour la doc, à toi de voir si c'est important ou pas.
Si tu veux ignorer les fichiers, ne les mentionne pas dans le PKGBUILD.
Sinon il serait plus propre d'utiliser install plutôt que mkdir / cp
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [PKGBUILD] pollution dans /usr

Message par tuxce »

Salut, j'ai pas très bien compris.
D'après ton PKGBUILD, c'est la fonction package() qui crée les fichier dans le /usr, c'est en rien une pollution. Les fichiers feront partie du paquet et seront supprimés lorsque ce paquet le sera.
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [PKGBUILD] pollution dans /usr

Message par coincoin »

Ypnose >> Je trouve que tu réponds un peu vite.

Le LICENSE devrait être dans le /usr/shares/licenses/deal.II et non /usr/LICENSE non ?
La doc est bien installé là où il faut pas de soucis de ce côte...
Et les fichiers générés par cmake c'est pas moi qui les produit...

tuxce >> Justement après installation du paquet je me retrouve avec /usr/LICENSE, un /usr/README, et des dossiers /usr/cmake/ /usr/common/ /usr/examples/ /usr/lib/cmake/

Je trouve ça un peu moche...


edit : il y a par exemple un doublon /usr/examples et /usr/share/doc/deal.II/examples
edit : j'ai posé la question sur #archlinux on m'a conseillé de rm carrément dans le $pkgbuild ...
\_o<
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] pollution dans /usr

Message par FoolEcho »

coincoin a écrit :tuxce >> Justement après installation du paquet je me retrouve avec /usr/LICENSE, un /usr/README, et des dossiers /usr/cmake/ /usr/common/ /usr/examples/ /usr/lib/cmake/

Je trouve ça un peu moche...
Il faudrait vérifier dans le README ou les instructions de compilation. Tu as peut-être à passer un paramètre supplémentaire à cmake (du genre -DCMAKE_BUILD_TYPE=Release comme il existe pour KDE).

Pour info, tu n'as pas à indiquer make dans les dépendances, car il faut partie de base-devel (mais cmake, oui).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [PKGBUILD] pollution dans /usr

Message par coincoin »

Pour le README je n'ai rien ajouté de spécial par rapport à eux : http://www.dealii.org/8.0.0/readme.html

Je vais enlever le make dans les dépendances alors merci :)
\_o<
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] pollution dans /usr

Message par FoolEcho »

Tu as essayé avec -DCMAKE_BUILD_TYPE=Release ?
Tu devrais aussi construire la doc proprement (en passant le chemin correct plutôt que de faire le cp ensuite): http://www.dealii.org/8.0.0/readme.html#documentation
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
coincoin
Daikyu
Messages : 82
Inscription : sam. 12 janv. 2013, 21:19

Re: [PKGBUILD] pollution dans /usr

Message par coincoin »

Je vais essayer avec ces flags. Merci ce qui est embêtant c'est que la compilation est longue et pour tester c'est vraiment pas pratique...

edit : Il fallait mettre entres autres le flag -DDEAL_II_COMPONENT_COMPAT_FILES=OFF
\_o<
Répondre