Forum
Sun Feb 11 11:00:53 2024 UTC
Nouvelles:
Sortie de la dernière version de NuTyX
Thierry
NuTyX 24.02.0 disponible avec cards 2.7.4
Sat Jan 20 21:12:08 2024 UTC
Aide:
Générale
HammerheartBloodeagle
Re : Flatpak Steam -- bwrap executable not setuid root
Sat Jan 20 16:29:57 2024 UTC
Aide:
Matériel
Thierry
Re : WiFi Intel/iwlwifi
Sat Jan 20 06:24:23 2024 UTC
Aide:
Matériel
HammerheartBloodeagle
Re : WiFi Intel/iwlwifi
Sat Jan 13 18:02:18 2024 UTC
Aide:
Matériel
Thierry
Re : WiFi Intel/iwlwifi
Sun Jan 7 19:14:00 2024 UTC
Aide:
Matériel
HammerheartBloodeagle
WiFi Intel/iwlwifi [résolu]
Mon Dec 25 08:58:18 2023 UTC
Aide:
Générale
jacquot74
Re : Mise à jour nutyx sans tout réinstaller
Sun Dec 24 18:06:32 2023 UTC
Aide:
Générale
Thierry
Re : Mise à jour nutyx sans tout réinstaller
Sat Dec 23 14:39:14 2023 UTC
Aide:
Générale
jacquot74
Mise à jour nutyx sans tout réinstaller
Wed Dec 6 21:13:45 2023 UTC
Aide:
Générale
HammerheartBloodeagle
Re : Installation sous Mac
|
Sat Mar 9 18:21:38 2024 UTC
Le fichier Pkgfile
Les variables d'aides pour l'empaquetage
PKG
Spécifie le dossier racine lors de l'empaquetage.
SRC
Spécifie le chemin complet du dossier racine des sources et de la compilation.
PKGMK_SOURCE_DIR
Spécifie le chemin complet du dossier dans lequel les sources sont téléchargées.
PKGMK_WORK_DIR
Spécifie le chemin complet du dossier de travail.
PKGMK_NO_STRIP
Commutateur pour déactiver la suppresion des symboles dans les binaires générés.
Activé:
PKGMK_NO_STRIP="yes"
Défaut: "no"
PKGMK_IGNORE_UNPACK
Commutateur pour ignorer l'extraction des fichiers depuis une archive source.
Activé:
PKGMK_IGNORE_UNPACK="yes"
Défaut: "no"
PKGMK_COMPRESS_PACKAGE
Commutateur pour activer la compression des archives des paquets binaires.
Défaut: "yes"
PKGMK_COMPRESS_MODE
Commutateur pour choisir le mode de compression.
Défaut: "xz"
Valeurs possibles: gz, bz2 et xz
PKGMK_KEEP_SOURCES
Commutateur pour garder les sources:
Défaut: "yes"
PKGMK_KEEP_LA_LIBS
Commutateur pour garder les librairies .la.
Défaut: "no"
PKGMK_CLEAN
Commutateur pour nettoyer les archives des paquets produits.
Défaut: "no"
PKGMK_GROUPS
Tableau des groupes possibles.
Valeurs possibles: lib, devel, man, doc, service
Défaut: (devel man doc service)
PKGMK_LOCALES
Tableau des locales générées (si existantes) à l'empaquetage.
PKGMK_COLLECTIONS
Tableau permettant à 'pkgmk' de trouver les dépendances automatiquement dans les dossiers.
Valeurs possibles: (base cli cli-extra gui gui-extra )
PKGMK_IGNORE_REPO
PKGMK_IGNORE_COLLECTION
PKGMK_IGNORE_RUNTIMEDEPS
Les variables pour le paquet
description
La description décrit les fonctionnalitées du paquet en 112 caractères maximums.
Elle DOIT être rédigé en anglais.
url
L'URL spécifie l'adresse où l'on peut trouver de plus amples informations sur le paquet.
license
La license est spécifiée sous forme par exemple:
"GPL2, LGPL3"
packager
Le nom de l'empaqueteur est spécifié sous forme:
<tnut tnut@nutyx.org>
contributors
La liste des empaqueteurs ayant contribué à la construction de ce paquet:
"Tnut,Pierre,Spiky"
name
Le nom du dossier dans lequel le(s) fichier(s) est le nom du paquet.
Chaîne de caractères.
Le nom d'un paquet doit obligatoirement contenir des lettres minuscules uniquement.
Les caractères @ # / \ < > | ne sont pas autorisés dans le nom
La longueur maximum d'un nom est déterminé par la longueur maximum du nom de fichier.
Il est préférable de garder une taille la plus petite possible.
Deux caractères au minimum.
version
Chaîne de caractères.
Peut contenir toute valeur représentant la version des sources utilisées.
-
20201201
-
21.02
-
git-201
-
development
release
Valeur entière entre 1 et 999.
Utile pour informer mybld de recompiler le paquet.
Les dépendances de compilation: makedepends
Fourni la liste des dépendances de compilation du paquet.
makedepends=(glib gtk3 libvorbis python)
Les dépendances de fonctionnement: run
Fourni la liste des dépendances de fonctionnement du paquet.
run=(desktop-file-utils gtk-update-icon-cache)
categories
Normalement détectées automatiquement, si ce n'est pas le cas, on peut les spécifier ici:
categories=(Office Graphics Education)
set
Ajoute le paquet au(x) jeu(x) de paquets spécifié(s)
set=(gnome cinnamon)
alias
Spécifie un nom synonyme.
Le synonyme doit etre unique, autrement dit, il ne peut pas s'appeler par le nom d'un autre paquet dans la même collection.
Contrairement au nom, un alias peut contenir des majuscules.
alias=(nom1 Nom2 nom3)
source
L'adresse des sources, le nom des fichiers necessaires pour la construction du paquet.
Les fichiers dont les noms sont spécifiés dans le tableau des sources source() doivent se trouver dans le dossier du fichier Pkgfile.
Les fichiers .README, .pre et .post-install ne sont pas listés dans ce tableau.
source=(config
http://downloads.siteinternetdupaquet.org/$name.$version.tar.xz)
build
La variable permet de prédéfinir la façon de construire le paquet
Actuellement il existe plusieurs modes:
Liste des préselections
meson
|
mkdir build
cd build
meson --prefix=/usr \
../$name-$version
ninja
DESTDIR=$PKG ninja install
|
autogen
|
cd $name-$version
./autogen.sh
./configure --prefix=/usr \
--disable-static
make
make DESTDIR=$PKG install
|
autoreconf
|
cd $name-$version
autoreconf -fiv
./configure --prefix=/usr \
-disable-static
make
make DESTDIR=$PKG install
|
autotools
|
cd $name-$version
./configure --prefix=/usr \
-disable-static
make
make DESTDIR=$PKG install
|
python2
|
cd $name-$version
python2 setup.py build
python2 setup.py install --prefix=/usr --root=$PKG
|
python3
|
cd $name-$version
python3 setup.py build
python3 setup.py install --prefix=/usr --root=$PKG
|
xorg
|
cd $name-$version
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
-disable-static
make
make DESTDIR=$PKG install
|
kde5, cmake
|
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_TESTING=OFF \
-Wno-dev \
../$name-$version
make
make DESTDIR=$PKG install
|
kde6
|
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=OFF \
-Wno-dev \
../$name-$version
make
make DESTDIR=$PKG install
|
Les fonctions
Toutes les fonctions mentionnées ci-dessous sont optionnelles.
Il est tout à fait possible de construire un paquet sans aucune d'entre elle.
prepare
Souvent utilisée pour renommer le dossier source ou pour appliquer un patch necessaire pour la compilation.
La fonction 'prepare' est executée avant la fonction 'build' ci-dessous.
build
Fonction principale pour la compilation du paquet.
Si présente, elle sera toujours exécutée avant les fonctions ci-dessous.
package
Fonction optionnelle exécutée en dernier lieu. Peut être utilisée pour l'empaquetage du paquet.
devel
Fonction personnalisée si des actions spécifiques doivent être éffectuées sur le sous-paquet devel.
doc
Fonction personnalisée si des actions spécifiques doivent être éffectuées sur le sous-paquet doc.
lib
Fonction personnalisée si des actions spécifiques doivent être éffectuées sur le sous-paquet lib.
man
Fonction personnalisée si des actions spécifiques doivent être éffectuées sur le sous-paquet man.
service
Fonction personnalisée si des actions spécifiques doivent être éffectuées sur le sous-paquet service.
Le nom du dossier parent
Le dossier d'un paquet doit s'appeler par le nom du paquet,
la longueur du nom du dossier (et donc le nom du paquet) ne doit pas dépasser 50 caractères.
-
Il ne peut pas contenir de majuscules, ne peut pas commencer par un chiffre.
-
Il doit commencer par une lettre minuscule
-
Il peut contenir les 26 lettres a à z, les 10 chiffres 0 à 9, et les trois symboles -, _ et +
Exemple: /home/thierry/testing/gui/xorg-server
Ici le nom du paquet DOIT être xorg-server
Le contenu du dossier
En plus de l'indispensable fichier Pkgfile,
on peut également trouver un script de pré-installation et un script de post-installation.
Ils devront prendre le nom du paquet en préfix,
donc toujours avec xorg-server comme nom de paquet dans notre exemple:
-
xorg-server.pre-install
-
xorg-server.post-install
On peut également trouver un fichier README.
Il prendra également le nom du paquet en préfix:
Soyez le premier à venir commenter le sujet.
|