Page 1 sur 1

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

Publié : jeu. 19 sept. 2013, 15:29
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²

Re: [PKGBUILD] pollution dans /usr

Publié : jeu. 19 sept. 2013, 15:38
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

Re: [PKGBUILD] pollution dans /usr

Publié : jeu. 19 sept. 2013, 15:41
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.

Re: [PKGBUILD] pollution dans /usr

Publié : jeu. 19 sept. 2013, 15:46
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 ...

Re: [PKGBUILD] pollution dans /usr

Publié : jeu. 19 sept. 2013, 21:06
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).

Re: [PKGBUILD] pollution dans /usr

Publié : ven. 20 sept. 2013, 19:20
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 :)

Re: [PKGBUILD] pollution dans /usr

Publié : ven. 20 sept. 2013, 19:48
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

Re: [PKGBUILD] pollution dans /usr

Publié : ven. 20 sept. 2013, 20:26
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