[PKGBUILD] un peu d'aide ...

Mise à jour / Création /debug de paquetages
Répondre
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

[PKGBUILD] un peu d'aide ...

Message par viperpaulo »

Bonjour,

Je souhaiterai avoir un peu d'aide pour ce PKGBUILD, c'est le premier que je fait de toute part alors j'imagine que j'ai fait quelques boulettes (j'en ai déjà modifié 2-3 pour mes besoins perso) :

Code : Tout sélectionner

pkgname=freefem++-cs
_pkgname=FreeFem++-cs
_pkgnsrc=ffcs-src
pkgver=13.14
pkgrel=1
pkgdesc="A PDE oriented language using the finite element method"
arch=('i686' 'x86_64')
url="http://www.ann.jussieu.fr/~lehyaric/ffcs/"
license=('LGPL')
depends=('arpack' 'fftw' 'freeglut' 'suitesparse' 'openmpi' 'vtk')
makedepends=('gcc-fortran' 'wget' 'rsync')
options=(!makeflags)
source=("http://www.ljll.math.upmc.fr/~lehyaric/ffcs/${_pkgnsrc}.tgz")
md5sums=('7f5360712262ddeec04e7f7b4e02e2a6')

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

	./configure --with-freefem-options="--enable-download --disable-pdf --with-umfpack='-lumfpack -lsuitesparseconfig -lcholmod -lcolamd' --disable-pastix"

	mkdir -p ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
	ln -sf /usr/include/mpif* ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/

	make
}

package() {
	mkdir -p ${pkgdir}/usr/{bin,local/${_pkgname}_${pkgver}/}

	install -Dm755 ${srcdir}/${_pkgnsrc}/pack/work/FreeFem++-* \
		${pkgdir}/usr/local/${_pkgname}_${pkgver}/
	cp -R ${srcdir}/${_pkgnsrc}/pack/work/Contents/ \
               ${pkgdir}/usr/local/${_pkgname}_${pkgver}/
	ln -sf ${pkgdir}/usr/local/${_pkgname}_${pkgver}/FreeFem++-* \
		${pkgdir}/usr/bin/
}
Notamment pour la fonction package() qui ne me semble pas très propre...
Merci
Dernière modification par viperpaulo le ven. 13 sept. 2013, 09:56, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] un peu d'aide ...

Message par benjarobin »

Il n'y a pas un souci avec le cp -R ?
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [PKGBUILD] un peu d'aide ...

Message par viperpaulo »

Oui et non, c'est une chtite erreur de copie quand je l'ai mis sur le forum, ça n'est pas dans mon PKGBUILD. J'édite.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] un peu d'aide ...

Message par benjarobin »

Je n'avais pas fait attention, mais tu devrait éviter de mettre dans /usr/local. De plus ton ln -sf ne marchera pas, le lien pointera vers ${pkgdir}/usr/local/${_pkgname}_${pkgver}/FreeFem++-* et non vers /usr/local/${_pkgname}_${pkgver}/FreeFem++-*
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [PKGBUILD] un peu d'aide ...

Message par viperpaulo »

Merci pour ces remarques,

pour le /usr/local, c'est la direction d'installation du script d'installation que j'ai reprise, que me conseilles-tu si ce n'est pas dans local qu'il faut le mettre ?
pour le lien, je dois les créer dans un .install alors ?
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [PKGBUILD] un peu d'aide ...

Message par Xorg »

Je n'ai pas testé ton paquet, mais si dans la fonction build tu peux exécuter ceci avant le script configure :

Code : Tout sélectionner

   mkdir -p ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
   ln -sf /usr/include/mpif* ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
Alors il est possible d'utiliser, avant la fonction build, une fonction prepare, telle que ceci :

Code : Tout sélectionner

[...]
md5sums=('7f5360712262ddeec04e7f7b4e02e2a6')

perepare() {
   mkdir -p ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
   ln -sf /usr/include/mpif* ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
}

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

   ./configure --with-freefem-options="--enable-download --disable-pdf --with-umfpack='-lumfpack -lsuitesparseconfig -lcholmod -lcolamd' --disable-pastix"
   make
}
[...]
Tu devrais regarder les PKGBUILDs existants (officiels), car au moins, tu aurais peut-être remarqué que tous les ./configure sont généralement succédé pas un --prefix=/usr, très important !
Mais sinon, ta fonction build me parait correcte.

En revanche, oui, l'atrocité que tu as commis dans ta fonction package, est tout simplement d'utiliser le /usr/local ! Car tu n'a pas utilisé le fameux ./configure --prefix=/usr, comme je l'ai dit plus haut. Et sous Arch, non, on n'utilise pas le /usr/local, car c'est la hiérarchie tierce, qui est plus destinée aux programmes compilés directement à la main, sans paquet (et vu qu'on conseille de toujours passer par un paquet, quitte à devoir en créer plusieurs :mrgreen: ).
Je cite le Wiki anglophone :
/usr/local: Local hierarchy

Optional tertiary hierarchy for local data. The original idea behind '/usr/local' was to have a separate ('local') '/usr/' directory on every machine besides '/usr/', which might be mounted read-only from somewhere else. It copies the structure of '/usr/'. These days, '/usr/local/' is widely regarded as a good place in which to keep self-compiled or third-party programs. This directory is empty by default in Arch Linux. It may be used for manually compiled software installations if desired. pacman installs to /usr/, therefore, manually compiled/installed software installed to /usr/local/ may peacefully co-exist with pacman-tracked system software.
Tu es sûr qu'il ne faut pas plutôt utiliser un make install dans ta fonction package ? Car là tu créés des répertoires (ce que make install fait automatiquement), tu copies manuellement des fichiers (ce que make install fait automatiquement, et proprement...), et donc si tu fais ça proprement, il ne devrait peut-être plus y avoir ce lien symbolique à la fin.

EDIT : Grillé. T'étais pas encore bien réveillé Benjarobin. :mrgreen:
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [PKGBUILD] un peu d'aide ...

Message par viperpaulo »

Ok, je vais faire quelques modifs, mais juste pour comprendre, qu'elle est la différence entre mettre dans une fonction prépare ou dans le build ?
Pour l'option --prefix=/usr je l'ai perdue en chemin ! Merci !
Sinon pour le make install, il n'y en a pas, il faut utiliser un script d'installation qui est un peu foireux ... voilà ce que fait Suse pour le compiler :

Code : Tout sélectionner

%install
# make install DESTDIR=%{buildroot}
# does not work because 
# some Makefiles are not respecting DESTDIR, need to override the hardcoded paths
# otherwise the install step fails with "permission denied"

# use the install_as_root "packaging" feature of ffcs
cd pack/work && ./install_as_root %{buildroot}%{_libdir} %{buildroot}%{_bindir}

# but the links are wrong (they contain the buildroot)
# remove the wrong links
rm -f %{buildroot}%{_bindir}/FreeFem++-*
# find the directory the FreeFem++-cs data have been stored
# but the macro works fine with rpmbuild, but not with osc build
# to investigate later
# %define ffcs_datadir  %(echo $(ls  %{buildroot}%{_datadir} | grep FreeFem))
# for now, hardcode it
%define ffcs_datadir FreeFem++-cs_%{version}
## recreate links
# the executables must stay where install_as_root put them
# do not try to move or copy to _bindir, only link work (as of 13.1)
for file in FreeFem++-*; do 
	ln -s %{_libdir}/%{ffcs_datadir}/$file %{buildroot}%{_bindir}/$file-%{version}
	cd  %{buildroot}%{_bindir}
	ln -s $file-%{version} $file
	cd -
done

# all the FreeFem++-* and prettyedp scripts are identical; 
# that triggers a files-duplicated-waste rpmlint error
# the fdupes before clean does not solve it. Try to specify the directory
#%fdupes -s %{buildroot}%{_libdir}/%{ffcs_datadir}
# does not work. first move one instance to ffloader (since they all come from ffloader.cpp)
cp --remove-destination ./FreeFem++-cs %{buildroot}%{_libdir}/%{ffcs_datadir}/ffloader
cd %{buildroot}%{_libdir}/%{ffcs_datadir}
# then hard link to ffloader (soft link does not work)
for file in FreeFem++-cli FreeFem++-cs FreeFem++-lang FreeFem++-mpilang FreeFem++-server FreeFem++-vtk prettyedp; do
  ln -f ffloader $file  
done

# fdupes does not work (jan 2013)
# handle profiling.so directly
ln -sf %{_libdir}/%{ffcs_datadir}/Contents/Linux/profiling.so %{buildroot}%{_libdir}/%{ffcs_datadir}/Contents/Resources/examples/ffcs/profiling.so

# install .desktop file
# first try; consider using desktop-file-utils ?
%suse_update_desktop_file -c "%{name}-%{version}" "FreeFem++-cs %{version}" "Freefem++ Integrated environment" %{_bindir}/FreeFem++-cs-%{version} %{_libdir}/%{ffcs_datadir}/Contents/Resources/cs-logo-128-4.png Education Science Math 

# cleanup
find %{buildroot} -name '*.la' -exec rm -f {} ';'
# this one contains buildroot => remove it
rm -f %{buildroot}%{_libdir}/%{ffcs_datadir}/uninstall
# remove makefiles (avoid "makefile-junk" rpmlint errors)
find %{buildroot}%{_libdir}/%{ffcs_datadir}/Contents/Resources/examples -name "Makefile*" -exec rm -f {} \;
# fix E: spurious-executable-perm
chmod a-x %{buildroot}%{_libdir}/%{ffcs_datadir}/Contents/Resources/examples/ffcs/profiling.cpp
## remove libraries already provided by other packages
# normally they are in libs
rm -rf %{buildroot}%{_libdir}/%{ffcs_datadir}/Contents/libs
# but remove remaining ones (maybe not useful anymore ?)
# (assuming they are in /lib, /lib64, /usr/lib or /usr/lib64)
cd %{buildroot}%{_libdir}/%{ffcs_datadir}/Contents/Linux
for file in *.so*; do 
[ "$(find /lib* /usr/lib* -name $file)" ] && rm -f %{buildroot}%{_libdir}/%{ffcs_datadir}/Contents/Linux/$file
done
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17576
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] un peu d'aide ...

Message par benjarobin »

Pour le lien symbolique, Il faut faire quelque chose comme :

Code : Tout sélectionner

ln -sf /usr/${_pkgname}/FreeFem++-foo ${pkgdir}/usr/bin/
ln -sf /usr/${_pkgname}/FreeFem++-autre ${pkgdir}/usr/bin/
Sinon il est plus que déconseillé de mettre la version dans le chemin d'installation ! En effet je en suis pas bien réveillé...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [PKGBUILD] un peu d'aide ...

Message par viperpaulo »

Ok, voici une nouvelle version du PKGBUILD, par contre j'ai un warning : ==> ATTENTION : Le paquet contient une référence à $srcdir et je ne vois pas de quoi il parle ..

Code : Tout sélectionner

pkgname=freefem++-cs
_pkgname=FreeFem++-cs
_pkgnsrc=ffcs-src
pkgver=13.14
pkgrel=1
pkgdesc="A PDE oriented language using the finite element method"
arch=('i686' 'x86_64')
url="http://www.ann.jussieu.fr/~lehyaric/ffcs/"
license=('LGPL')
depends=('arpack' 'fftw' 'freeglut' 'suitesparse' 'openmpi' 'vtk')
makedepends=('gcc-fortran' 'wget' 'rsync')
options=(!makeflags)
source=("http://www.ljll.math.upmc.fr/~lehyaric/ffcs/${_pkgnsrc}.tgz"
	"ffcs-src.desktop")
md5sums=('7f5360712262ddeec04e7f7b4e02e2a6'
         'a5bba1abe870bd2a386b4b045cece67a')

prepare() {
	mkdir -p ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
	ln -sf /usr/include/mpif* ${srcdir}/${_pkgnsrc}/ff/public/download/include/scotch/
}

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

	./configure --with-freefem-options="--enable-download --disable-pdf --with-umfpack='-lumfpack -lsuitesparseconfig -lcholmod -lcolamd' --disable-pastix" \
			--prefix=/usr

	make
}

package() {
	mkdir -p ${pkgdir}/usr/{bin,${_pkgname}/}

	install -Dm755 ${srcdir}/${_pkgnsrc}/pack/work/FreeFem++-* \
		${pkgdir}/usr/${_pkgname}/
	cp -R ${srcdir}/${_pkgnsrc}/pack/work/Contents/ \
               ${pkgdir}/usr/${_pkgname}/
#	ln -sf ${pkgdir}/usr/local/${_pkgname}_${pkgver}/FreeFem++-* \
#		${pkgdir}/usr/bin/
	ln -sf /usr/${_pkgname}/FreeFem++-cs ${pkgdir}/usr/bin/
	ln -sf /usr/${_pkgname}/FreeFem++-cli ${pkgdir}/usr/bin/
	ln -sf /usr/${_pkgname}/FreeFem++-lang ${pkgdir}/usr/bin/
	ln -sf /usr/${_pkgname}/FreeFem++-mpilang ${pkgdir}/usr/bin/
	ln -sf /usr/${_pkgname}/FreeFem++-server ${pkgdir}/usr/bin/
	ln -sf /usr/${_pkgname}/FreeFem++-vtk ${pkgdir}/usr/bin/

	install -Dm644 ${_pkgnsrc}.desktop \
		${pkgdir}/usr/share/applications/${_pkgname}.desktop
}
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [PKGBUILD] un peu d'aide ...

Message par Xorg »

viperpaulo a écrit :[...] mais juste pour comprendre, qu'elle est la différence entre mettre dans une fonction prépare ou dans le build ? [...]
:rtfm2: http://wiki.archlinux.fr/PKGBUILD#Fonctions
viperpaulo a écrit :Sinon pour le make install, il n'y en a pas, il faut utiliser un script d'installation qui est un peu foireux ... voilà ce que fait Suse pour le compiler
Depuis quand Arch a besoin des autres distro pour aider à la création des PKGBUILDs ? :x
C'est quand même pas compliqué de chercher comment on installe un programme, la preuve : https://ljll.math.upmc.fr/lehyaric/ffcs/quickstart.php
./configure (add "--help" for a list of options)
make
pack/work/FreeFem++-cs to run FreeFem++-cs without installing it
make install if required
C'est quoi ce /usr/${_pkgname}/ ? Il n'y a rien qui te choque quand tu vois un /usr/FreeFem++-cs toi ?

Code : Tout sélectionner

$ tree /usr -L 1
/usr
├── bin
├── etc
├── include
├── lib
├── lib32
├── lib64 -> lib
├── local
├── sbin -> bin
├── share
├── src
└── var

11 directories, 0 files
J'ai 1088 paquets d'installés sur mon système. Est-ce que tu vois dans mon /usr le nom d'un paquet ?

Que ça soit le premier paquet que tu fasses, oui, je suis très compréhensif, je t'accueille à bras ouvert, mais que tu ne saches pas un minimum ce que tu es en train de faire, c'est autre chose.

Je me ferrais un plaisir de t'aider mieux dans l'écriture de ce PKGBUILD, mais ma connexion Internet (ainsi que ton site source qui a un problème de certificat) ne me permettent pas de récupérer les sources et les dépendances. Je n'ai pas du tout ces ln -sf /usr/.... Franchement, essaye de mettre un coup de make install dans ta fonction package, et voit ce que ça produit. :)
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
viperpaulo
Chu Ko Nu
Messages : 389
Inscription : lun. 06 déc. 2010, 13:58

Re: [PKGBUILD] un peu d'aide ...

Message par viperpaulo »

Xorg, merci de m'aider, en revanche, pour les engueulades, j'ai un léger souvenir de tes premiers posts sur ton paquet darling, je ne le citerai pas ici (cependant, quand je vois la remarque de benjarobin sur ce dit post et ton niveau, je garde espoir ;-) ). Donc, oui, j'ai fait un peu n'importe quoi sur l'installation, mais à ma décharge j'ai déjà dû gérer pas mal de galères avec ce programme.
Entre autres :
- des librairies qui ne se compilent à cause de Makefiles mal formés
- l'option --prefix=/usr qui fout la m**
- la commande make install qui ne fonctionne pas car il y a des lien hardcodés qui trainent dans les Makefiles (ce que reporte aussi le pkgbuild de suse, et soit dit en passant, je ne vois pas en quoi c'est pire de regarder ce qui a été fait pour CE package dans une autre distrib que de regarder un PKGBUILD d'un autre package d'arch).
Et ça en quelques heures ...

Bref, make install retourne cette erreur :

Code : Tout sélectionner

make[2] : on entre dans le répertoire « /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack »
cp ../src/FreeFem++-server work/Contents/Linux/FreeFem++-server
cp ../src/FreeFem++-lang work/Contents/Linux/FreeFem++-lang
cp ../src/mpi/FreeFem++-mpilang work/Contents/Linux/FreeFem++-mpilang
cp ../src/FreeFem++-cli work/Contents/Linux/FreeFem++-cli
cp ../src/FreeFem++-gui work/Contents/Linux/FreeFem++-gui
rsync -avq /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++*/*.so ../tests/*.so work/Contents/Linux
mkdir -p work/Contents/Resources/doc
touch work/Contents/Resources/doc/.dirok
rsync -avq --exclude freefem++.pref --delete --delete-excluded ../ff/ref/ work/Contents/Resources/ref
rsync -avq --delete ../doc/ work/Contents/Resources/doc
rsync -avq --exclude freefem++.pref --delete --delete-excluded ../tests/*.{edp,idp,cpp,so} --exclude ../tests/all-*.edp --exclude \
        ../tests/*-ffcsref.edp work/Contents/Resources/examples/ffcs
rsync -avq --exclude freefem++.pref --delete --delete-excluded --exclude '*.so' --exclude '*.o' --exclude ff-c++ \
        /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-load/      work/Contents/Resources/examples/load
chmod -R u+w work/Contents/Linux
chmod: impossible d'accéder à « work/Contents/Linux/.thresholdings.so.KGgmYD »: Aucun fichier ou dossier de ce type
make[2]: [syslibs.done] Erreur 1 (ignorée)
./libdepend so /usr/lib/vtk-5.10: work/Contents/libs work/Contents/Linux/FreeFem++-server work/Contents/Linux/FreeFem++-lang work/Contents/Linux/FreeFem++-mpilang work/Contents/Linux/FreeFem++-cli work/Contents/Linux/prettyedp work/Contents/Linux/FreeFem++-gui work/Contents/Linux/FreeFem++-vtk work/Contents/Linux/ffmedit
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-other/ work/Contents/Resources/examples/other
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-chapt3/ work/Contents/Resources/examples/chapt3
rsync -avq --exclude freefem++.pref --delete --delete-excluded --exclude '*.so' --exclude '*.o' \
        /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-mpi/ work/Contents/Resources/examples/mpi
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-eigen/ work/Contents/Resources/examples/eigen
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-3d/ work/Contents/Resources/examples/3d
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-tutorial/ work/Contents/Resources/examples/tutorial
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++/ work/Contents/Resources/examples/main
ldd: attention : vous n'avez pas la permission d'exécution pour `/usr/lib/libxvidcore.so.4'
cp: impossible de créer le fichier standard « work/Contents/libs/libcrypto.so.1.0.0 »: Permission non accordée
cp: impossible de créer le fichier standard « work/Contents/libs/libssl.so.1.0.0 »: Permission non accordée
chmod -R u+w work/Contents/Linux
touch syslibs.done
make[3] : on entre dans le répertoire « /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack »
rsync -avq /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++*/*.so ../tests/*.so work/Contents/Linux
mkdir -p work/Contents/Resources/doc
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++/ work/Contents/Resources/examples/main
touch work/Contents/Resources/doc/.dirok
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-tutorial/ work/Contents/Resources/examples/tutorial
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-3d/ work/Contents/Resources/examples/3d
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-eigen/ work/Contents/Resources/examples/eigen
rsync -avq --exclude freefem++.pref --delete --delete-excluded --exclude '*.so' --exclude '*.o' \
        /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-mpi/ work/Contents/Resources/examples/mpi
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-chapt3/ work/Contents/Resources/examples/chapt3
make[3]: Rien à faire pour « install-data-am ».
rsync -avq --exclude freefem++.pref --delete --delete-excluded ../ff/ref/ work/Contents/Resources/ref
rsync -avq --delete ../doc/ work/Contents/Resources/doc
rsync -avq --exclude freefem++.pref --delete --delete-excluded ../tests/*.{edp,idp,cpp,so} --exclude ../tests/all-*.edp --exclude \
        ../tests/*-ffcsref.edp work/Contents/Resources/examples/ffcs
rsync -avq --exclude freefem++.pref --delete --delete-excluded --exclude '*.so' --exclude '*.o' --exclude ff-c++ \
        /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-load/      work/Contents/Resources/examples/load
rsync -avq --exclude freefem++.pref --delete --delete-excluded /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/ff/public/examples++-other/ work/Contents/Resources/examples/other
cd work && ./install_as_root /usr /usr/bin
++ readlink -f ./install_as_root
+ canonlink=/home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack/work/install_as_root
++ dirname /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack/work/install_as_root
+ dirname=/home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack/work
++ cd /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack/work
++ pwd
+ location=/home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack/work
+ prefix=/usr/local
+ test /usr '!=' ''
+ prefix=/usr
+ mkdir -p /usr
+ rsync -a /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack/work/ /usr/FreeFem++-cs_13.14
rsync: mkdir "/usr/FreeFem++-cs_13.14" failed: Permission denied (13)
rsync error: error in file IO (code 11) at main.c(587) [Receiver=3.0.9]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
make[3]: *** [install-exec-local] Erreur 12
make[3] : on quitte le répertoire « /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack »
make[2]: *** [install-am] Erreur 2
make[2] : on quitte le répertoire « /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack »
make[1]: *** [install] Erreur 2
make[1] : on quitte le répertoire « /home/paul/Documents/pkgs/ffcs-src/src/ffcs-src/pack »
make: *** [install-recursive] Erreur 1
Du coup, pour l'instant, je pense mettre tout ça dans /opt/ et garder les liens vers /usr/bin

Merci à vous deux pôur votre aide !
Avatar de l’utilisateur
Xorg
Maître du Kyudo
Messages : 1933
Inscription : dim. 22 janv. 2012, 19:25
Localisation : Entre le clavier et la chaise.

Re: [PKGBUILD] un peu d'aide ...

Message par Xorg »

viperpaulo a écrit :en revanche, pour les engueulades, j'ai un léger souvenir de tes premiers posts sur ton paquet darling, je ne le citerai pas ici
Je ne suis pas une référence, surtout quand on voit la m**** que j'ai réussis à produire avec Darling (bon, il faut l'avouer, GNUstep Base est un poil bugué je pense, même s'il n'a pas été mon seul soucis au sein de ce projet). Moi, je ne fais qu'essayer de partager ce que j'ai "sais". À chacune de mes interventions, je m'attends à ce qu'on me dise "Tu vas droit dans le mur Xorg, retourne jouer dans le bac à sable" (A.K.A. forum Ubuntu-fr). [Si on devait même me bannir un jour, je le comprendrais tout à fait et je ne révoquerais pas cette décision.]
viperpaulo a écrit :Donc, oui, j'ai fait un peu n'importe quoi sur l'installation, mais à ma décharge j'ai déjà dû gérer pas mal de galères avec ce programme.
C'est vrai qu'au plus on avance dans ton problème, et on plus je remarque que finalement, si tu as fais ce genre d'erreurs, c'est en partie à cause de ton programme qui a l'air d'être un poisson d'Avril. Ils ont voulu le faire cross-plateform, mais ils n'ont pas été capables de faire quelque chose de correct, c'est vraiment un travail bâclé à mon goût, donc oui, tu n'as pas eu de chances pour ton premier paquet, je te l'accorde, il y a plus simple dans le monde de l'Open Source.
viperpaulo a écrit :je ne vois pas en quoi c'est pire de regarder ce qui a été fait pour CE package dans une autre distrib que de regarder un PKGBUILD d'un autre package d'arch

Le truc, c'est que d'une distribution à l'autre, à partir du moment où on n'utilise pas le même standard de paquetage, pour un même paquet il peut exister des différences entre une version .rpm et une version .pkg.tar.xz. C'est pour cela que j'ai été retissant à ça, j'avais surtout peur que tu récupères des spécificités de SUSE (s'il en existe), car si sous SUSE ils utilisent le /usr/local pour leurs paquets, ce n'est pas le cas d'ArchLinux.
Arch Linux x86_64 - Sway
AMD Ryzen 5 3600X - 32 Go de DDR4 - SSD NVMe 1 To + SSD SATA 250 Go - Sapphire NITRO+ Radeon RX 580
Image AUR___Image Wiki___Image GitHub
Répondre