[PKGBUILD] Problème avec un fichier (Résolu)

Mise à jour / Création /debug de paquetages
Répondre
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

[PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

Hello world !
Je me suis décidé à apprendre à faire un PKGBUILD pour AUR avec un petit programme que j'avais fait en bash. Admin, une commande que j'ai faite pour administrer son Archlinux avec une commande et quelques arguments. :)

Bon après avoir suivi les indications du wiki francophone et anglophone, et d'après ce tutoriel sur Open Classroom -> https://openclassrooms.com/courses/crea ... -archlinux (Qui n'est plus à jour puisque si j'ai bien compris, la fonction package est maintenant obligatoire)

Voici l'architecture de mon archive:

admin-1.0.tar.gz
├── conf
│   └── admin.rc
├── doc
│   └── admin.1.gz
└── src
├── admin
└── admin-functions.sh

(admin et admin-functions.sh sont dans src)

J'ai compris que $srcdir représent le dossier qui contient les sources du programme et que $pkgdir représente la racine pour le paquet. Admin étant constitué de fichiers shells, je n'ai pas inclus de Makefile et je ne sais pas en quoi la fonction build() peut m'être utile. Du coup j'ai surtout utilisé package() pour faire ceci:

Code : Tout sélectionner

pkgname=admin
pkgver=1.0
pkgrel=1
pkgdesc="A cli tool to manage easly an archlinux system"
arch=('any')
url="https://gitlab.com/MaximilienLIX/admin"
license=('GNU-GPLv3')
groups=usr
provides=
depends=('bash' 'mkinitcpio' 'sudo' 'coreutils')
optdepends=('firefox: To manage profile and sqlite data base.' 'grub' 'syslinux')
makedepends= 
conflitcs=
replaces=
backup=
install=
source=("$pkgname-$pkgver.tar.gz")
md5sums=('90bbce552e1223de5fc4ee2663f2f8fe')

package()
{
      mkdir -p $pkgdir/usr/bin/ 
      mkdir -p $pkgdir/etc/
      mkdir -p $pkgdir/usr/local/man/man1

      cp $srcdir/admin $pkgdir/usr/bin
      cp $srcdir/admin-functions.sh $pkgdir/usr/bin
      chmod +x -R $pkgdir/usr/bin      
      cp conf/admin.rc $pkgdir/etc
      cp doc/admin.1.gz $pkgdir/usr/local/man/man1
}
Je veux que admin (qui est un script bash) et admin-functions.sh soient dans le répertoire /usr/bin et que admin.rc (qui contient des variables globales) soit dans /etc.

Problème ? Et bien après installation admin.rc se trouve dans /usr/bin et du coup le programme ne peut pas marcher. :/
Bon j'ai conscience que c'est perfectible et que ce PKGBUILD doit vous piquer les yeux, mais avez-vous une idée pour résoudre mon soucis ?

Bref, merci d'avoir lu ce post et à pluche ! :mrgreen:
Dernière modification par Maximilien LIX le ven. 21 août 2015, 00:25, modifié 1 fois.
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
Avatar de l’utilisateur
papajoke
Elfe
Messages : 813
Inscription : sam. 30 août 2014, 19:54

Re: [PKGBUILD] Problème avec un fichier

Message par papajoke »

Bonjour,

1) Normalement dans l'archive (à télécharger) on a déjà la bonne arborescence (/usr/bin/script, /usr/share/...)
2) dans package() on utilise plutôt la commande install à la place de mkdir/cp
3) manque $srcdir : cp $srcdir/conf/admin.rc $pkgdir/etc
4) groups=usr ?????
5) source=("$pkgname-$pkgver.tar.gz") ???? pas sur un serveur web donc uniquement pour toi !!! utilise ton dépôt gitlab

Tu as des milliers d'exemples en furetant dans aur web , sans rien installer, le lien "Voir le PKGBUILD "
Dernière modification par papajoke le dim. 16 août 2015, 22:50, modifié 1 fois.
Arch stable - Kde 6 / fish - btrfs/mbr - Intel Core i3 - 6Go RAM - GeForce 405 video-nouveau
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] Problème avec un fichier

Message par FoolEcho »

Salut,

D'autres remarques au passage: pas formidable d'avoir à installer (imposer ?) sudo en tant que dépendance. Le script le nécessite ? :|
Selon les standards d'Arch, rien ne doit finir dans /usr/local. La documentation doit aller dans /usr/share/man s'il existe ou /usr/share/doc/$pkgname s'il s'agit d'autre chose.
coreutils et bash sont des éléments du groupe base, tu n'as pas besoin de les spécifier (pareil pour base-devel).
mkinitcpio non plus en tant que dépendance du kernel, quel qu'il soit (linux faisant aussi parti de base).
Ton fichier de conf devrait aller dans /etc/$pkgname (/etc est réservé aux seules configurations indispensables du système).

Standard_paquetage
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier

Message par Maximilien LIX »

D'accord merci, je prends note. ^^

Bon pendant mes 6 heures de TGV j'en ai profité pour modifier mon PKGBUILD comme ceci:

Code : Tout sélectionner

# Maintainer: Maximilien Di Dio      <mrgamerlix@gmail.com>

pkgname=admin
pkgver=1.0
pkgrel=1
pkgdesc="A cli tool to manage easly an archlinux system"
arch=('any')
url="https://gitlab.com/MaximilienLIX/admin"
license=('GNU-GPLv3')
provides=
depends=('sudo')
optdepends=('firefox: To manage profile and sqlite data base.' 'grub' 'syslinux')
makedepends=('git')
conflitcs=
replaces=
backup=
install=
source=("$pkgname-$pkgver.tar.gz")
md5sums=('98426e545e112871830ab9fdd7d0b806')



package()
{
      mkdir -p "$pkgdir/usr/bin/"
      mkdir -p "$pkgdir/etc/$pkgname/"
      mkdir -p "$pkgdir/usr/share/doc/$pkgname/"

      cp "$srcdir/src/admin" "$pkgdir/usr/bin"
      cp "$srcdir/src/admin-functions.sh" "$pkgdir/usr/bin"
      chmod +x -R "$pkgdir/usr/bin"
      cp "$srcdir/conf/admin.rc" "$pkgdir/etc/$pkgname/"
      cp "$srcdir/doc/admin.1.gz" "$pkgdir/usr/share/doc/$pkgname/"
}
Après installation ma commande fonctionne bel et bien mais j'ai encore quelques questions. cp et mkdir ne sont pas recommandé mais comment dois-je utiliser install ?

Au lieu de ça:

Code : Tout sélectionner

      mkdir -p "$pkgdir/usr/bin/"
      cp "$srcdir/src/admin" "$pkgdir/usr/bin"
je devrais faire cela ?:

Code : Tout sélectionner

    install "$srcdir/src/admin" "$pkgdir/usr/bin"
De plus, chez moi j'avais essayé avec mon dépôt GIT mais je ne vois pas comment je peux l'utiliser en tant que source.

Devrais-je faire comme ceci ?:

Code : Tout sélectionner

source=("git://gitlab.com/MaximilienLIX/admin.git")
Merci. :)
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
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] Problème avec un fichier

Message par Xorg »

Attention à la variable license, il ne faut pas écrire n'importe quoi dedans ! Comme tu aurais dû le voir ici, il faut un nom de fichier tel qu'il apparaît dans /usr/share/licenses/common, donc ce n'est pas GNU-GPLv3 mais GPL3 qui est valide.

Ensuite, sache que tu n'es pas obligé de mettre des variables vides, s'il n'y a rien après le symbole égal, tu peux supprimer la variable.

Pour la commande install, c'est simple ; tu as l’option -d qui permet uniquement de créer un répertoire, ou l'option -D qui crée le répertoire et installe le fichier, ou tout simplement tu n'utilises pas d'options. On peut faire de différentes façons la même chose :

Code : Tout sélectionner

install -d "$pkgdir/usr/bin/"
install -m755 "$srcdir/src/"{admin,admin-functions.sh} "$pkgdir/usr/bin"
Ou bien :

Code : Tout sélectionner

install -Dm755 "$srcdir/src/admin" "$pkgdir/usr/bin/admin"
install -Dm755 "$srcdir/src/admin-functions.sh" "$pkgdir/usr/bin/admin-functions.sh"
C'est un peu en fonction de ce que tu as besoin de faire, la première solution étant un peu plus simple et plus naturelle (ça ressemble plus à ce que tu avais écrit).
Tu peux utiliser -v pour voir ce qu'il se passe si tu veux tester.

Concernant la partie Git, ne mélange pas tout. Sois tu fais un paquet versionné (toi par exemple, c'est la version 1.0), ou soit tu fais un paquet -git qui te permettra d'avoir les sources datant du dernier commit publié. Dans ton cas, tu n'as pas tagué de version sur ton dépôt Git, donc tu vas devoir faire un paquet nommé admin-git.
Ça donne ça en clair :

Code : Tout sélectionner

source=(git+https://gitlab.com/MaximilienLIX/admin.git)
md5sums=('SKIP')
J'ai mis git+https car le clone avec git:// ne fonctionne pas avec ton dépôt chez moi. Si git+https:// ne fonctionne pas, mets simplement https://. :)
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
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier

Message par Maximilien LIX »

Bon et bien je pense que c'est la bonne ! :D

Voici mon PKGBUILD:

Code : Tout sélectionner

# Maintainer: Maximilien Di Dio      <mrgamerlix@gmail.com>

pkgname=admin
pkgver=1.0
pkgrel=1
pkgdesc="A cli tool to manage easly an archlinux system"
arch=('any')
url="https://gitlab.com/MaximilienLIX/admin"
license=('GPL3')
provides=
depends=('sudo')
optdepends=('firefox: To manage profile and sqlite data base.' 'grub' 'syslinux')
makedepends=('git')
source=("git+https://gitlab.com/MaximilienLIX/admin.git")
md5sums=('SKIP')



package()
{
      install -d "$pkgdir/usr/bin/"
      install -d "$pkgdir/etc/$pkgname/"
      install -d "$pkgdir/usr/share/doc/$pkgname/"

      install -m755 "$srcdir/$pkgname/src/"{admin,admin-functions.sh} "$pkgdir/usr/bin"
      install "$srcdir/$pkgname/conf/admin.rc" "$pkgdir/etc/$pkgname/"
      install "$srcdir/$pkgname/doc/admin.1.gz" "$pkgdir/usr/share/doc/$pkgname/"
}

Bizarrement je n'ai pas pu utiliser l'option -D :/ J'avais un message d'erreur type "/usr/bin n'est pas un répertoire". Bref merci beaucoup pour votre aide :) je vais finaliser tout ça avec AUR4 ^^ (du moins bientôt, j'ai encore quelques modifications à faire.)
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
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] Problème avec un fichier (Résolu)

Message par Xorg »

Le -D c'est spécial, tu ne peux mettre qu'un seul nom de fichier en source, et tu es obligé de mettre un nom de fichier en destination, même si c'est le même. La destination avec -D, ça crée tout les répertoires, sauf ce qui est le plus à droite qui est toujours traité comme un fichier.

Code : Tout sélectionner

cd /tmp
touch fichier
install -D fichier rep
Va te créer un fichier nommé rep dans /tmp.

Code : Tout sélectionner

cd /tmp
touch fichier
install -D fichier rep/fichier
Va te créer un fichier nommé fichier dans /tmp/rep.

Mais comme tu as fait ça va très bien, c'était juste pour que tu saches que le -D existe. :)

Par contre attention, le mode par défaut est 755 quand tu n'utilises pas -m, alors ça fait que tu as installé ton fichier de configuration et ta page de manuel en mode exécutable. Il faut que tu utiles -m644 pour les fichiers non-exécutables.

Dans le /usr/share/doc/, on ne met pas de pages de manuel. Les pages de manuel s'installent dans /usr/share/man/manX pour celle en anglais, et /usr/share/man/fr/manX pour celles en français par exemple.
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
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

Ah bah je rectifie alors ^^

Mais pour la doc je dois donc faire ceci ?

Code : Tout sélectionner

install -m644 "$srcdir/$pkgname/doc/admin.1.gz" "$pkgdir/usr/share/man/manX/"
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
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] Problème avec un fichier (Résolu)

Message par Xorg »

Maximilien LIX a écrit :

Code : Tout sélectionner

install -m644 "$srcdir/$pkgname/doc/admin.1.gz" "$pkgdir/usr/share/man/manX/"
X c'est une variable que tu dois adapter. :mrgreen:

Code : Tout sélectionner

install -m644 "$srcdir/$pkgname/doc/admin.1.gz" "$pkgdir/usr/share/man/man1/"
Au moins man admin fonctionnera. :)
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
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

D'accord, je me disais bien :)

Bon et bien voici le PKGBUILD final alors :

Code : Tout sélectionner

# Maintainer: Maximilien Di Dio      <mrgamerlix@gmail.com>

pkgname=admin
pkgver=1.0
pkgrel=1
pkgdesc="A cli tool to manage easly an archlinux system"
arch=('any')
url="https://gitlab.com/MaximilienLIX/admin"
license=('GPL3')
depends=('sudo')
optdepends=('firefox: To manage profile and sqlite data base.' 'grub' 'syslinux')
makedepends=('git')
source=("git+https://gitlab.com/MaximilienLIX/admin.git")
md5sums=('SKIP')

package()
{
      install -d "$pkgdir/usr/bin/"
      install -d "$pkgdir/etc/$pkgname/"
      install -d "$pkgdir/usr/share/man/man1/"

      install -m755 "$srcdir/$pkgname/src/"{admin,admin-functions.sh} "$pkgdir/usr/bin"
      install -m644 "$srcdir/$pkgname/conf/admin.rc" "$pkgdir/etc/$pkgname/"
      install -m644 "$srcdir/$pkgname/doc/admin.1.gz" "$pkgdir/usr/share/man/man1/"
}
En espérant que ce soit la bonne :D
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par FoolEcho »

Maximilien LIX a écrit :En espérant que ce soit la bonne :D
Eh bien non. :non:
Ton paquet étant issu d'un système de gestion de version (git), il doit répondre à certains standards sous Arch: https://wiki.archlinux.org/index.php/VC ... elines#Git (nom du paquet suffixé par -git et gestion de la numérotation...).
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

ah là là mais c'est qu'ils sont exigeants les archers ! :mrgreen:

Bon et bien après modification, cela donne ça:

Code : Tout sélectionner

# Maintainer: Maximilien Di Dio      <mrgamerlix@gmail.com>

pkgname=admin-git
_pkgname_simple=admin
pkgver=1.0
pkgrel=1
pkgdesc="A cli tool to manage easly an archlinux system"
arch=('any')
url="https://gitlab.com/MaximilienLIX/admin"
license=('GPL3')
depends=('sudo')
optdepends=('firefox: To manage profile and sqlite data base.' 'grub' 'syslinux')
makedepends=('git')
source=("git+https://gitlab.com/MaximilienLIX/admin.git")
md5sums=('SKIP')

pkgver() {
  cd "$pkgname"
  git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}

package()
{
      install -d "$pkgdir/usr/bin/"
      install -d "$pkgdir/etc/$pkgname/"
      install -d "$pkgdir/usr/share/man/man1/"

      install -m755 "$srcdir/$_pkgname_simple/src/"{admin,admin-functions.sh} "$pkgdir/usr/bin"
      install -m644 "$srcdir/$_pkgname_simple/conf/admin.rc" "$pkgdir/etc/$pkgname/"
      install -m644 "$srcdir/$_pkgname_simple/doc/admin.1.gz" "$pkgdir/usr/share/man/man1/"
}

J'ai ajouté une variable avec un underscore pour ne pas la confondre avec les variables utilisées par défaut. :)
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17567
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par benjarobin »

La configuration ne devrait pas être dans /etc/admin-git mais bien dans /etc/admin. Il n'y a que le nom du paquet qui doit contenir le -git...
Bon après le nom du paquet peut éventuellement laisser à désirer (enfin je trouve)...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
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] Problème avec un fichier (Résolu)

Message par Xorg »

Je pense que ça serait bien que tu mettes la description pour les dépendances optionnelles (grub et syslinux), car sur la page admin-git c'est marqué (unknown), et du coup on ne comprend pas en quoi elles sont optionnelles. Il faudrait mettre une ligne (comme tu l'as fait avec firefox) qui explique ce que ça apporte de plus, ça serait sans doute plus parlant. :)

Code : Tout sélectionner

optdepends=('firefox: To manage profile and sqlite data base.'
	'grub: To do choucroute.'
	'syslinux: To do tartiflette.')
Tu as encore des soucis dans ton PKGBUILD :
- tu utilises $pkgname au lieu de $_pkgname_simple à certains endroits, ce qui fait que ça ne fonctionne pas
- ton $pkgver est un nombre magique

Je te donne une version modifiée :

Code : Tout sélectionner

# Maintainer: Maximilien Di Dio      <mrgamerlix@gmail.com>

pkgname=admin-git
_pkgname_simple=admin
pkgver=r48.5f5c372
pkgrel=1
pkgdesc="A cli tool to manage easily an archlinux system"
arch=('any')
url="https://gitlab.com/MaximilienLIX/admin"
license=('GPL3')
depends=('sudo')
optdepends=('firefox: To manage profile and sqlite data base.'
	'grub: QUELQUE CHOSE'
	'syslinux: QUELQUE CHOSE')
makedepends=('git')
source=("git+https://gitlab.com/MaximilienLIX/admin.git")
md5sums=('SKIP')

pkgver() {
	cd "$_pkgname_simple"
	printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

package()
{
      install -d "$pkgdir/usr/bin/"
      install -d "$pkgdir/etc/$_pkgname_simple/"
      install -d "$pkgdir/usr/share/man/man1/"

      install -m755 "$srcdir/$_pkgname_simple/src/"{admin,admin-functions.sh} "$pkgdir/usr/bin/"
      install -m644 "$srcdir/$_pkgname_simple/conf/admin.rc" "$pkgdir/etc/$_pkgname_simple/"
      install -m644 "$srcdir/$_pkgname_simple/doc/admin.1.gz" "$pkgdir/usr/share/man/man1/"
}
Pour les explications, il faut que tu comprennes la subtilité de la différence entre $pkgname et $_pkgname_simple, ici on a utilisé que $_pkgname_simple, qui convient à nos besoins. $pkgname, c'est juste une formalité pour nommer correctement ton paquet au final. :)
Pour l'histoire du $pkgver, tu n'as pas de tag sur ton dépôt git, donc la version 1.0 n'a pas de sens car elle n'existe pas (il faut que tu la crées sinon). En l'absence de tag, on utilise le numéro de révision. Ça peut te sembler barbare tout ça, mais ça vient de cette page; tu peux essayer toutes les commandes qui sont sur la page (à exécuter depuis ton dépôt local), et tu verras qu'uniquement celle avec le printf fonctionne.

Si vraiment tu veux utiliser un tag, tu devras faire sur ton dépôt :

Code : Tout sélectionner

git tag <numéro_de_version>
git push --tag
Et là tu pourras mettre pkgver=<version>, et remettre git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' dans la fonction pkgver(). :)
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
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

D'accord d'accord ^^ cependant, comment puis générer le nombre magique ? En fait si je comprends bien, c'est la fonction pkgver() qui le créer ? https://wiki.archlinux.org/index.php/VC ... elines#Git

UP

C'est bon ! J'ai compris ! :mrgreen:

@benjarobin Oui oui je pense déjà à changer le nom. Il est vrai que 'admin' ça fait pas terrible. :lol:
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
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] Problème avec un fichier (Résolu)

Message par Xorg »

J'ai dit nombre magique, mais c'est vrai que ce n'est pas tout à fait ça un nombre magique.
Généralement pour un paquet non-versionné (-git, -svn...), il y a une petite astuce pour obtenir le numéro de version via la fonction pkgver() : je laisse la variable $pkgver vide (pkgver=, et je lance la commande updpgksums, et ça va modifier le PKGBUILD et écrire pkgver=r48.5f5c372 dedans. Oui, ça n'a pas de sens que de vouloir mettre à jour des sommes de contrôle qui n'existent pas, mais le résultat est là, ça permet de lancer la fonction pkgver(). :mrgreen:

En fait, la fonction pkgver() sert surtout à être appelée quand on fait un yaourt -Syu --devel, avec tu peux mettre à jour les paquets non-versionnés si des sources plus récentes sont disponibles (par exemple si tu publies un nouveau commit dans ton dépôt).

Je pense qu'on a fait le tour de tout, ça me paraît tout bon. Félicitation, tu as écrit ton premier PKGBUILD. :P
Prochaine étape pour ajouter du piment : le paquet .deb. :humour:
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
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

ah ah pourquoi pas :P
En plus il me semble que apt-get existe pour archlinux x)
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
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] Problème avec un fichier (Résolu)

Message par Xorg »

Non mais je blague vraiment pour le .deb, c'est juste que j'ai déjà voulu essayer de faire un .deb, et quand tu ouvres le lien que j'ai donné plus haut, c'est juste indigeste comme documentation.
Oui, tu trouves dpkg et apt sur AUR par exemple. J'avoue que je ne comprends pas trop l'intérêt (il ne faut pas installer des paquets sous Arch avec ces logiciels), mais pourquoi pas.

Après, pour blablater sur la création des paquets, j'ai trouvé cet article qui explique comment créer un .deb, ça paraît plus abordable que le premier lien.
Pour rester dans les grandes familles de paquet, j'ai trouvé ça sur comment créer un .rpm, et ça ressemble aux PKGBUILDs je trouve.
Je dis ça car pour partager des petits logiciels (dans le sens où ils n'existent pas dans les dépôts) dans la grande famille GNU/Linux, ça me paraît intéressant d'être capable d'écrire différents types de paquets. :)

À titre personnel, je trouve ça fort dommage qu'il n'existe pas un unique gestionnaire de paquets pour toutes les distributions, sachant en plus que Guix se prête bien au jeu. Mais je comprends tout-à-fait que, pour le besoin des distributions, elles utilisent leurs propres paquets et leurs propres dépôts (sinon il n'y aurait plus de distributions au final !), donc je comprends pourquoi Guix penne à percer. L'idéal serait de pouvoir faire cohabiter deux gestionnaires de paquets dans une distribution (par exemple Pacman et Guix) sans que ça casse le système (par exemple, Pacman aurait, au minimum, la liste des fichiers qui auraient été installé par le biais de Guix).

Je divague, mais j'avais envie de parler de ça. Je ferrai mieux d'aller me coucher maintenant. :blablabla:
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
Avatar de l’utilisateur
Loubrix
Daikyu
Messages : 84
Inscription : mer. 10 juin 2015, 01:41

Message par Loubrix »

il me semble que Dpkg et Apt sont dans AUR pour permettre de créer des paquets Debian en étant sous ArchLinux...
ArchLinux 64 sur Asus AIO ET2012 et Asus X50VL, avec Xfce
Avatar de l’utilisateur
Maximilien LIX
yeomen
Messages : 211
Inscription : mer. 23 avr. 2014, 14:27

Re: [PKGBUILD] Problème avec un fichier (Résolu)

Message par Maximilien LIX »

Je suis tout à fait d'accord :) l'idée d'un gestionnaire de paquet universel serait sympa mais bon, faut bien que les distributions se différencient les unes des autres sinon il n'y a pas de diversité et donc pas de choix pour l'utilisateur.

Après j'imagine que le fait que dpkg et apt soient dans AUR relève plus d'un défi technique, franchement j'ai pas spécialement envie de casser mon système à coup de paquets debian. :P
En ce qui concerne Fedora, j'ai beaucoup aimé ce système d'exploitation alors apprendre à faire un paquet rpm pour yum (oui je suis pas à jour ^^') pourrait être sympa.
Linuxien et blogueur en carton
Acer AX3810 (Archlinux & Debian)
Acer Aspire V5 (ubuntu-Mate)
Lenovo Thinkpad Edge E330 (Archlinux)
Répondre