Une place pour une véritable innovation. Partagez vos propres utilitaires créés avec la communauté Manjaro.
Questions et discussions sur la programmation et le codage.
Répondre

Gérer les dépendances dans un PKGBUILD

#1Messageil y a 1 an

Bonjour à tous,
Je suis en train d'essayer d'installer un logiciel en .deb
Pour ce faire, je suis passé par debtap qui m'a généré un pkgbuild :

pkgname=ace-of-aircraft-v1.12
pkgver=1.12
pkgrel=1
pkgdesc="Analysis of aircraft aerodynamics based on computational fluid dynamics tools Software produced by Aero Concept engineering.."
arch=('i686' 'x86_64')
url="https://www.aero-ce.com/"
license=('')
groups=('')
depends=('freecad' 'gnuplot' 'openfoam-org' 'python-pip')
options=('!strip' '!emptydirs')
source_i686=("PUT_FULL_URL_FOR_DOWNLOADING_i386_DEB_PACKAGE_HERE")
source_x86_64=("https://aceofaircraft.aero-ce.com/downloads/1.12/ace-of-aircraft-v1.12.deb")
sha512sums_i686=('PUT_SHA512SUM_OF_i386_DEB_PACKAGE_HERE')
sha512sums_x86_64=('d990a44111cd205124daf89ee5952d5008df40cc7f03b6d44bcb174c2a3de632cc6c195445cdaf9229ac6c45f590956970f5a12059a50865bb8204955c1f0e7a')

package(){

	# Extract package data
	tar -xJ -f data.tar.xz -C "${pkgdir}"

	install -D -m644 "usr/lib/ace-of-aircraft/ace-of-aircraft-v1.12/user_manual/license-table.png" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
	install -D -m644 "usr/lib/ace-of-aircraft/ace-of-aircraft-v1.12/third-parties/ParaView-5.8.1-headless/lib/python3.7/site-packages/twisted/copyright.py" "${pkgdir}/usr/share/licenses/${pkgname}/COPYRIGHT"

}
Seulement, dans les dépendances, il y avait openfoam2112-default qui n'est pas dispo et que j'ai remplacé par openfoam-org qui est dispo dans AUR.
Je ne sais pas si cela fonctionnera, mais ma question n'est pas là... (c'est long comme intro mais j'essai de donner les infos que je pense utiles).
Lorsque je lance mon makepkg -si il me renvoi une erreur me disant que openfoam-org n'est pas présent.
Donc ma question est :
Si un paquet a une dépendance qui vient des dépots AUR, comment faire dans le pkgbuild pour que lorsqu'on lance le build, celui-ci installe cette dépendance depuis AUR?

Ce n'est pas forcement le plus propre mais cela me permet d'entrevoir un monde que je ne connais pas bien.

Gérer les dépendances dans un PKGBUILD

#2Messageil y a 1 an

bonjour

il n'y a pas de problème , c'est que makepkg lui ne connait pas AUR

si tu installes avec yay (et d'autres), lui, il connait AUR et va faire le job

un paquet exemple qui nécessite un autre paquet aur (libpamac-aur)

Note : il est bon de s'inspirer des autres recettes si on ne connait pas trop.
qui n'est pas dispo
Oui, c'est souvent le cas avec deb qui utilise une autre façon de créer/découper les paquets. Donc même si il est dans nos dépôts, il peut avoir un nom différent (encore plus si il est dans aur)

Gérer les dépendances dans un PKGBUILD

#3Messageil y a 1 an

Bonjour, je passe en résolu,
Merci pour la réponse et l'exemple, il me reste à continuer à tâtonner pour apprendre :lol:

Edit, le paquet a été créé, l'installation faite par pacman -U (j'avais installé les dépendances avant), paquet installé mais non fonctionnel (mais ça c'est une autre histoire).
Merci encore pour l'aide, j'ai appris pleins de trucs :bien

Gérer les dépendances dans un PKGBUILD

#4Messageil y a 1 an

Petites erreurs dans la recette
pkgname=ace-of-aircraft-v1.12
Non, on ne met surtout pas la version dans le nom
Tu as déjà vu un paquet qui change de nom à chaque version ? :rigole: c'est alors un autre paquet
pkgver=1.12
source_x86_64=(".../downloads/1.12/ace-of-aircraft-v1.12.deb")
on doit réutiliser justement la variable version dans l'url de la source
pkgver=1.12
source_x86_64=("https://aceofaircraft.aero-ce.com/downloads/${pkgver}/ace-of-aircraft-v${pkgver}.deb")

Gérer les dépendances dans un PKGBUILD

#5Messageil y a 1 an

Bonjour,
Merci pour ces conseils, je les appliquerai quand je m'y remettrai.
Pour l'instant, j'ai réussi à finir une installation mais rien ne se lance et je n'ai pas réussi à aller plus loin.
Rien ne presse donc je m'y remettrai lorsque j'aurai quelques heures à passer.
Répondre