[Makepkg] make install : aucune règle pour fabriquer la cible (Résolu)

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

[Makepkg] make install : aucune règle pour fabriquer la cible (Résolu)

Message par PowaBanga »

Salut à tous,
j'essaye de faire mon premier package, avec ce logiciel
Et donc bon, le makefile est pas tout bien fait, du coup je l'ai réécrit comme tel pour l'instant :

Code : Tout sélectionner

.DEFAULT_GOAL := root

.PHONY: build clean q2proroot ddayroot q2admintsmodroot

q2pro:
	$(MAKE) -C q2proSRC
	cp -a q2proSRC/q2pro DDayNormandy
	cp -a q2proSRC/q2proded DDayNormandyded
	
dday/config.cfg:
	cp -a dday/config.cfg.sample dday/config.cfg

dday: dday/config.cfg
	echo "ARCH=$(shell arch)" > variable.mk
	$(MAKE) -C DDaySRC
	cp -a DDaySRC/game?*.real.* dday/

q2admintsmod:
	$(MAKE) -C q2admintsmod
	cp -a q2admintsmod/game?*.* dday/
CompAll:
	echo "ARCH=$(uname -m)" > variable.mk
	mv q2proSRC/.config q2proSRC/.configlocal
	mv q2proSRC/.configroot q2proSRC/.config
	$(MAKE) -C q2proSRC
	$(MAKE) -C DDaySRC
	$(MAKE) -C q2admintsmod
	mv q2proSRC/.config q2proSRC/.configroot
	mv q2proSRC/.configlocal q2proSRC/.config
install:
	cp -a q2proSRC/q2pro /usr/local/lib/games/ddaynormandy/ddaynormandy
	cp -a q2proSRC/q2proded /usr/local/lib/games/ddaynormandy/ddaynormandyded
	cp -a DDaySRC/game?*.real.* /usr/local/share/games/ddaynormandy/dday/
	cp -a dday/config.cfg.sample /usr/local/share/games/ddaynormandy/dday/config.cfg
	cp -a q2admintsmod/game?*.* /usr/local/share/games/ddaynormandy/dday/

build: q2pro dday q2admintsmod
root: CompAll

clean:
	$(MAKE) -C q2proSRC clean
	rm -f DDayNormandy
	rm -f DDayNormandyded
	$(MAKE) -C DDaySRC clean
	rm -f dday/game?*.real.*
	rm -f variable.mk
	$(MAKE) -C DDaySRC/ai clean
	$(MAKE) -C DDaySRC/gbr clean
	$(MAKE) -C DDaySRC/grm clean
	$(MAKE) -C DDaySRC/ita clean
	$(MAKE) -C DDaySRC/jpn clean
	$(MAKE) -C DDaySRC/pol clean
	$(MAKE) -C DDaySRC/rus clean
	$(MAKE) -C DDaySRC/usa clean
	$(MAKE) -C DDaySRC/usm clean
	$(MAKE) -C q2admintsmod clean
	rm -f dday/game?*.*
Et voici mon pkgbuild :

Code : Tout sélectionner

pkgbase=ddaynormandy
pkgname=ddaynormandy
pkgver=5.4.1
pkgrel=5
arch=(x86_64)
url=https://github.com/PowaBanga/DDaynormandyFPS
packager=PowaBanga
build() {
  cd ..
  make
}
package() {
	mkdir "$pkgname-$pkgver"
	cd "$pkgname-$pkgver"
	make DESTDIR="$pkgdir/" install
}
Quand je lance makepkg, ca compil tout, mais à mon avis, j'ai pas compris un truc quelque part car je recois cette erreur :

Code : Tout sélectionner

==> Lancement de package()...
make: *** Aucune règle pour fabriquer la cible « install ». Arrêt.
==> ERREUR : Une erreur s’est produite dans package().
    Abandon...
Donc bon, quelqu'un saurait m'aider à résoudre cela ? :)
Dernière modification par PowaBanga le lun. 30 avr. 2018, 14:16, modifié 2 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par benjarobin »

Bonjour,
Tu te places dans le mauvais dossier pour faire make install. Tu dois te placer dans le dossier de source via la variable "$srcdir"
Sinon pour le build, tu ne devrais pas te déplacer en relatif (cd ..), tu devrais toujours utiliser un chemin commençant par "$srcdir".
De plus ton pkgbuild n'a pas l'air de contenir d'URL pour récupérer les sources
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par PowaBanga »

effectivement, je n'étais pas dans le répertoire ou se trouvait ma source, et ma source n'était pas dans le dossier "src"...
bref j'ai fais en sorte d'être dans le bon répertoire, et j'ai eu la même erreur... :waa:

Je n'avais pas mis l'url de ma source étant donné que le makefile n'était pas à jour...

J'ai donc mis mon git à jour, voici donc PKGBUILD à présent :

Code : Tout sélectionner

pkgbase=ddaynormandy
pkgname=ddaynormandy
pkgver=5.4.1
pkgrel=5
arch=(x86_64)
url=https://github.com/PowaBanga/DDaynormandyFPS
packager=PowaBanga
source=('git+https://github.com/PowaBanga/DDaynormandyFPS.git')
build() {
  cd $srcdir
  echo $PWD
  make
}
package() {
	cd $srcdir
	echo $PWD
	mkdir "$pkgname-$pkgver"
	cd "$pkgname-$pkgver"
	make DESTDIR="$pkgdir/" install
}
quand je lance makepkg à présent, j'ai ceci :

Code : Tout sélectionner

makepkg
==> Création du paquet ddaynormandy 5.4.1-5 (jeu avr 26 12:16:45 CEST 2018)
==> Vérification des dépendances pour l’exécution...
==> Vérification des dépendances pour la compilation...
==> Récupération des sources...
  -> Clonage du dépôt DDaynormandyFPS git...
Clonage dans le dépôt nu '/home/powabanga/Téléchargements/DDaynormandyFPSpkb/DDaynormandyFPS'
remote: Counting objects: 7042, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 7042 (delta 21), reused 40 (delta 20), pack-reused 6996
Réception d'objets: 100% (7042/7042), 243.11 MiB | 6.20 MiB/s, fait.
Résolution des deltas: 100% (805/805), fait.
==> ERREUR : Les tests d'intégrité sont manquants pour : source
:roll: :?:
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par papajoke »

bonjour
  • tu nommes ton paquet sans "-git" donc a ce moment la on ne prend pas la version git mais la release (archive) sur github
  • si release, un contrôle est obligatoire -> voir wiki sur PKGBUILD
  • si branche master -> pas de contrôle (car change à chaque commit) mais la version est calculée par une fonction donc ta recette est fausse -> voir wiki sur PKGBUILD (et modèles git)
en gros tout est dans le wiki :wink: et il existe plus de 40 000 exemples dans aur
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par PowaBanga »

merci pour ton message pointilleux papajoke... mais j'avoue me demander si tu ne me dis pas cela plus dans l'idée de m'aider à faire une ralease correcte pour envisager de la partager sur AUR que pour réellement répondre à la question qui pose un souci dans le cas présent.

À savoir : C'est quoi cette histoire de test d'intégrité ?

Aussi, "tout est dans le wiki", c'est sans doute vrai, mais tu a affaire ici à un débutant qui n'a manifestement pas compris un truc après l'avoir lu... rien ne sert d'avoir de tels propos... Et pour les 40 000 exemple sur Aur, je trouve cela intéressant, si tu en a un parmis ces 40 000 qui ressemble à mon cas et qui pourrait m'aider dans ma démarche, je t'en serais infiniment reconnaissant. Je te rappelle que tu a affaire ici à un débutant, qui n'a pas le réflexe de lire les pkgbuild à chaque installations.

Pour finir, juste pour la culture de chacun, dans le cas d'une release, tu dis qu'un contrôle est obligatoire... en lisant le point suivant je vois que tu fais référence à "la version"... Veux tu entendre par le mot "contrôle" un script qui va identifier la version du logiciel ?

Voici donc mon pkgbuild corrigé, si j'ai bien compris ce que tu viens de me dire... :

Code : Tout sélectionner

pkgbase=ddaynormandy
pkgname=ddaynormandy-git
pkgver=5.4.1
pkgrel=5
arch=(x86_64)
url=https://github.com/PowaBanga/DDaynormandyFPS
packager=PowaBanga
source=('git+https://github.com/PowaBanga/DDaynormandyFPS.git')
build() {
  cd $srcdir
  echo $PWD
  make
}
package() {
	cd $srcdir
	echo $PWD
	mkdir "$pkgname-$pkgver"
	cd "$pkgname-$pkgver"
	make DESTDIR="$pkgdir/" install
}
et j'ai toujours exactement la même erreur que précédemment...
Avatar de l’utilisateur
papajoke
Elfe
Messages : 773
Inscription : sam. 30 août 2014, 19:54

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par papajoke »

  • Pour git ou release
    généralement on fait un paquet basé sur une release - on met simplement en source le tar.gz qui va être déconpressé automatiquement dans $srcdir
    Parfois, en plus de la release, on fait un paquet-git qui lui pointe sur la branche master - mais cela implique que nous avons une nouvelle version à chaque commit donc on n'indique pas la dernière version comme tu l'a fais ici mais on utilise une fonction (en fonction de ton travail git) qui va calculer la version (souvent le dernier commit) - cela évite de devoir refaire un nouveau PKGBUILD après chaque commit !
  • le controle
    PowaBanga1 a écrit : jeu. 26 avr. 2018, 21:24À savoir : C'est quoi cette histoire de test d'intégrité ?
    - sur un git il est impossible de le faire puisqu'il change à chaque commit, au saute le controle (SKIP)
    - pour une release, il faut mettre le controle d'intégrité, ce type de controle est classique, on le retrouve aussi après le téléchargement d'une iso linux, ici c'est ton erreur affichée; il est dans tous les paquets aur (non -git -svn)
------------------
mon problème ici pour bien te répondre, c'est que tu as (pour l'instant) une version bâtarde, je ne sais pas si tu désires une version "release" ou git; si tu as choisis la source git un peu au hazard ou si c'est ton souhait car ta structure est release.
2 exemples : antimicro antimicro-git
Arch stable - Kde 5 / zsh - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par PowaBanga »

ha ok, merci beaucoup de m'avoir donné une réponse aussi bien faite :)

alors, ici clairement pour l'instant, je fais mon paquetage sur base du git, que je modifie au fur et a mesure que j'essaye de réaliser mon paquet. Une fois cela terminé, alors je pourrais envisager de faire une release qui puisse être empaqueté via makepkg, mais pas avant :) .

Voici donc mon pkgbuil amelioré suivant tes bon conseils :

Code : Tout sélectionner

pkgbase=ddaynormandy
pkgname=ddaynormandy-git
pkgver=5.4
pkgrel=1
arch=(x86_64)
url=https://github.com/PowaBanga/DDaynormandyFPS
packager=PowaBanga
source=('git+https://github.com/PowaBanga/DDaynormandyFPS.git')
md5sums=('SKIP')
build() {
  cd $srcdir/DDaynormandyFPS
  echo $PWD
  make
}
package() {
	cd $srcdir/DDaynormandyFPS
	echo $PWD
	mkdir "$pkgname-$pkgver"
	cd "$pkgname-$pkgver"
	make DESTDIR="$pkgdir/" install
}
Voici mon makefile actuel :

Code : Tout sélectionner

.DEFAULT_GOAL := root

.PHONY: build clean q2proroot ddayroot q2admintsmodroot

q2pro:
	$(MAKE) -C q2proSRC
	cp -a q2proSRC/q2pro DDayNormandy
	cp -a q2proSRC/q2proded DDayNormandyded
	
dday/config.cfg:
	cp -a dday/config.cfg.sample dday/config.cfg

dday: dday/config.cfg
	echo "ARCH=$(shell arch)" > variable.mk
	$(MAKE) -C DDaySRC
	cp -a DDaySRC/game?*.real.* dday/

q2admintsmod:
	$(MAKE) -C q2admintsmod
	cp -a q2admintsmod/game?*.* dday/
CompAll:
	echo "ARCH=$(uname -m)" > variable.mk
	sed -i 's/#CONFIG_PATH/CONFIG_PATH/g' q2proSRC/.config
	$(MAKE) -C q2proSRC
	sed -i 's/CONFIG_PATH/#CONFIG_PATH/g' q2proSRC/.config
	$(MAKE) -C DDaySRC
	$(MAKE) -C q2admintsmod
install:
	cp -a q2proSRC/q2pro /usr/local/lib/games/ddaynormandy/ddaynormandy
	cp -a q2proSRC/q2proded /usr/local/lib/games/ddaynormandy/ddaynormandyded
	cp -a DDaySRC/game?*.real.* /usr/local/share/games/ddaynormandy/dday/
	cp -a dday/config.cfg.sample /usr/local/share/games/ddaynormandy/dday/config.cfg
	cp -a q2admintsmod/game?*.* /usr/local/share/games/ddaynormandy/dday/

build: q2pro dday q2admintsmod
root: CompAll

clean:
	$(MAKE) -C q2proSRC clean
	rm -f DDayNormandy
	rm -f DDayNormandyded
	$(MAKE) -C DDaySRC clean
	rm -f dday/game?*.real.*
	rm -f variable.mk
	$(MAKE) -C DDaySRC/ai clean
	$(MAKE) -C DDaySRC/gbr clean
	$(MAKE) -C DDaySRC/grm clean
	$(MAKE) -C DDaySRC/ita clean
	$(MAKE) -C DDaySRC/jpn clean
	$(MAKE) -C DDaySRC/pol clean
	$(MAKE) -C DDaySRC/rus clean
	$(MAKE) -C DDaySRC/usa clean
	$(MAKE) -C DDaySRC/usm clean
	$(MAKE) -C q2admintsmod clean
	rm -f dday/game?*.*
et me revoilà avec la même erreur qu'au début donc :

Code : Tout sélectionner

make[1]: « gamex86_64.so » est à jour.
make[1] : on quitte le répertoire « /home/powabanga/Téléchargements/DDaynormandyFPSpkb/src/DDaynormandyFPS/q2admintsmod »
==> Entre dans l’environnement fakeroot...
==> Lancement de package()...
/home/powabanga/Téléchargements/DDaynormandyFPSpkb/src/DDaynormandyFPS
make: *** Aucune règle pour fabriquer la cible « install ». Arrêt.
==> ERREUR : Une erreur s’est produite dans package().
    Abandon...
Pourtant quand je tape "make install" dans un terminal la commande se lance... :(
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par benjarobin »

benjarobin a écrit : mer. 25 avr. 2018, 17:37Tu te places dans le mauvais dossier pour faire make install. Tu dois te placer dans le dossier de source via la variable "$srcdir"
En gros supprime

Code : Tout sélectionner

mkdir "$pkgname-$pkgver"
cd "$pkgname-$pkgver"
De plus ton makefile doit utiliser la variable DESTDIR

Sinon, ton Makefile n'en ai pas vraiment un, tu ne l'utilises pas en tant que Makefile, mais plus qu'en tant que simple script bash... Une makefile ce n'est pas vraiment fait pour cela. Le but premier d'un makefile est de gérer les dépendances
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par PowaBanga »

ha oui, c'est malin... je l'avais oublié ça... -_-"

Concernant le DESTDIR et autre genre de variable du type, je ne sais pas si ça change grand chose dans l'immédiat, mais ça reste bon à savoir, merci.

donc si j'ai bien compris ce que tu m'a dis, voici voici mon makefile :

Code : Tout sélectionner

DESTDIR=/usr/local

.DEFAULT_GOAL := root

.PHONY: build clean q2proroot ddayroot q2admintsmodroot

q2pro:
	$(MAKE) -C q2proSRC
	cp -a q2proSRC/q2pro DDayNormandy
	cp -a q2proSRC/q2proded DDayNormandyded
	
dday/config.cfg:
	cp -a dday/config.cfg.sample dday/config.cfg

dday: dday/config.cfg
	echo "ARCH=$(shell arch)" > variable.mk
	$(MAKE) -C DDaySRC
	cp -a DDaySRC/game?*.real.* dday/

q2admintsmod:
	$(MAKE) -C q2admintsmod
	cp -a q2admintsmod/game?*.* dday/
CompAll:
	echo "ARCH=$(uname -m)" > variable.mk
	sed -i 's/#CONFIG_PATH/CONFIG_PATH/g' q2proSRC/.config
	$(MAKE) -C q2proSRC
	sed -i 's/CONFIG_PATH/#CONFIG_PATH/g' q2proSRC/.config
	$(MAKE) -C DDaySRC
	$(MAKE) -C q2admintsmod
install:
	mkdir $DESTDIR/lib/games/ddaynormandy
	mkdir $DESTDIR/share/games/ddaynormandy/dday
	cp -a q2proSRC/q2pro $DESTDIR/lib/games/ddaynormandy/ddaynormandy
	cp -a q2proSRC/q2proded $DESTDIR/lib/games/ddaynormandy/ddaynormandyded
	cp -a DDaySRC/game?*.real.* $DESTDIR/share/games/ddaynormandy/dday/
	cp -a dday/config.cfg.sample $DESTDIR/share/games/ddaynormandy/dday/config.cfg
	cp -a q2admintsmod/game?*.* $DESTDIR/share/games/ddaynormandy/dday/

build: q2pro dday q2admintsmod
root: CompAll

clean:
	$(MAKE) -C q2proSRC clean
	rm -f DDayNormandy
	rm -f DDayNormandyded
	$(MAKE) -C DDaySRC clean
	rm -f dday/game?*.real.*
	rm -f variable.mk
	$(MAKE) -C DDaySRC/ai clean
	$(MAKE) -C DDaySRC/gbr clean
	$(MAKE) -C DDaySRC/grm clean
	$(MAKE) -C DDaySRC/ita clean
	$(MAKE) -C DDaySRC/jpn clean
	$(MAKE) -C DDaySRC/pol clean
	$(MAKE) -C DDaySRC/rus clean
	$(MAKE) -C DDaySRC/usa clean
	$(MAKE) -C DDaySRC/usm clean
	$(MAKE) -C q2admintsmod clean
	rm -f dday/game?*.*
le pkgbuil :

Code : Tout sélectionner

pkgbase=ddaynormandy
pkgname=ddaynormandy-git
pkgver=5.4
pkgrel=1
arch=(x86_64)
url=https://github.com/PowaBanga/DDaynormandyFPS
packager=PowaBanga
source=('git+https://github.com/PowaBanga/DDaynormandyFPS.git')
md5sums=('SKIP')
build() {
  cd $srcdir/DDaynormandyFPS
  echo $PWD
  make
}
package() {
	cd $srcdir/DDaynormandyFPS
	echo $PWD
	make install
}
et voici l'erreur que j'ai à présent :

Code : Tout sélectionner

==> Lancement de package()...
/home/powabanga/Téléchargements/DDaynormandyFPSpkb/src/DDaynormandyFPS
mkdir ESTDIR/lib/games/ddaynormandy
mkdir: impossible de créer le répertoire « ESTDIR/lib/games/ddaynormandy »: Aucun fichier ou dossier de ce type
make: *** [Makefile:31: install] Error 1
==> ERREUR : Une erreur s’est produite dans package().
    Abandon...
Alors bon déjà je trouve cela étrange qu'il nome la variable sous cette forme "ESTDIR", ce n'est marqué nul part en tant que tel, et j'avais essayé sans la variable $DESTDIR jsute avant, j'avais aussi la réponse "mkdir: impossible de créer le répertoire « /usr/local/lib/games/ddaynormandy »: Aucun fichier ou dossier de ce type"
...

Décidément j'ai vraiment du mal :/
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par benjarobin »

Une variable cela ne s'exprime pas comme cela dans un Makefile...
De plus tu ne passes plus la variable DESTDIR à make... Avant c'était juste...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par PowaBanga »

comme je le disais, variable ou non, j'ai quand même la même erreur:
makefile :

Code : Tout sélectionner

DESTDIR = /usr/local/

.DEFAULT_GOAL := root

.PHONY: build clean q2proroot ddayroot q2admintsmodroot

q2pro:
	$(MAKE) -C q2proSRC
	cp -a q2proSRC/q2pro DDayNormandy
	cp -a q2proSRC/q2proded DDayNormandyded
	
dday/config.cfg:
	cp -a dday/config.cfg.sample dday/config.cfg

dday: dday/config.cfg
	echo "ARCH=$(shell arch)" > variable.mk
	$(MAKE) -C DDaySRC
	cp -a DDaySRC/game?*.real.* dday/

q2admintsmod:
	$(MAKE) -C q2admintsmod
	cp -a q2admintsmod/game?*.* dday/
CompAll:
	echo "ARCH=$(uname -m)" > variable.mk
	sed -i 's/#CONFIG_PATH/CONFIG_PATH/g' q2proSRC/.config
	$(MAKE) -C q2proSRC
	sed -i 's/CONFIG_PATH/#CONFIG_PATH/g' q2proSRC/.config
	$(MAKE) -C DDaySRC
	$(MAKE) -C q2admintsmod
install:
	mkdir $(DESTDIR)lib/games/ddaynormandy
	mkdir $(DESTDIR)share/games/ddaynormandy/dday
	cp -a q2proSRC/q2pro $(DESTDIR)lib/games/ddaynormandy/ddaynormandy
	cp -a q2proSRC/q2proded $(DESTDIR)lib/games/ddaynormandy/ddaynormandyded
	cp -a DDaySRC/game?*.real.* $(DESTDIR)share/games/ddaynormandy/dday/
	cp -a dday/config.cfg.sample $(DESTDIR)share/games/ddaynormandy/dday/config.cfg
	cp -a q2admintsmod/game?*.* $(DESTDIR)share/games/ddaynormandy/dday/

build: q2pro dday q2admintsmod
root: CompAll

clean:
	$(MAKE) -C q2proSRC clean
	rm -f DDayNormandy
	rm -f DDayNormandyded
	$(MAKE) -C DDaySRC clean
	rm -f dday/game?*.real.*
	rm -f variable.mk
	$(MAKE) -C DDaySRC/ai clean
	$(MAKE) -C DDaySRC/gbr clean
	$(MAKE) -C DDaySRC/grm clean
	$(MAKE) -C DDaySRC/ita clean
	$(MAKE) -C DDaySRC/jpn clean
	$(MAKE) -C DDaySRC/pol clean
	$(MAKE) -C DDaySRC/rus clean
	$(MAKE) -C DDaySRC/usa clean
	$(MAKE) -C DDaySRC/usm clean
	$(MAKE) -C q2admintsmod clean
	rm -f dday/game?*.*
pkgbuild :

Code : Tout sélectionner

pkgbase=ddaynormandy
pkgname=ddaynormandy-git
pkgver=5.4
pkgrel=1
arch=(x86_64)
url=https://github.com/PowaBanga/DDaynormandyFPS
packager=PowaBanga
source=('git+https://github.com/PowaBanga/DDaynormandyFPS.git')
md5sums=('SKIP')
build() {
  cd $srcdir/DDaynormandyFPS
  echo $PWD
  make
}
package() {
	cd $srcdir/DDaynormandyFPS
	echo $PWD
	make DESTDIR="$pkgdir/" install
}
l'erreur :

Code : Tout sélectionner

==> Lancement de package()...
/home/powabanga/Téléchargements/DDaynormandyFPSpkb/src/DDaynormandyFPS
mkdir /home/powabanga/Téléchargements/DDaynormandyFPSpkb/pkg/ddaynormandy-git/lib/games/ddaynormandy
mkdir: impossible de créer le répertoire « /home/powabanga/Téléchargements/DDaynormandyFPSpkb/pkg/ddaynormandy-git/lib/games/ddaynormandy »: Aucun fichier ou dossier de ce type
make: *** [Makefile:31: install] Error 1
==> ERREUR : Une erreur s’est produite dans package().
    Abandon...
... il me semble que je suis pourtant dans les bon dossiers... :/
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par benjarobin »

Tu dois mettre $(DESTDIR)/usr/lib/ au lieu de $(DESTDIR)lib/, idem pour share/
De plus tu dois créer les dossiers avant... Pour cela tu dois utiliser l'option -p de mkdir
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
PowaBanga
archer de cavalerie
Messages : 175
Inscription : mar. 12 sept. 2017, 21:15

Re: [Makepkg] make install : aucune règle pour fabriquer la cible

Message par PowaBanga »

haa ok,
un tout grand merci, j'ai enfin compris comment faire un paquage à présent :)
Répondre