J'attends un peu avant de faire une page dans le wiki.
1. manjaro.tools.conf
manjaro-tools.conf est le fichier de configuration central pour manjaro-tools. Par défaut, la configuration est installée dans
/etc/manjaro-tools/manjaro-tools.conf
Pour l'utilisateur manjaro-tools.conf peut être placé dans
$HOME/.config/manjaro-tools.conf
Si un fichier de config utilisateur est présent, manjaro-tools va charger les valeurs de celui-ci. Cependant, si des variables ont été placées au niveau système dans
/etc/manjaro-tools/manjaro-tools.conf
ces valeurs prévalent sur la config utilisateur. La meilleure pratique est de laisser le fichier système intact. Par défaut, il est commenté et montre seulement les valeurs d'initialisation faites dans le code.
La configuration des outils se fait dans manjaro-tools.conf ou par des arguments.
Les arguments des commandes prévalent sur les valeurs de manjaro-tools.conf.
##########################################
################ common ##################
##########################################
# unset defaults to given value
# branch=stable
# unset defaults to given value
# arch=$(uname -m)
# cache dir where buildpkg or buildiso cache packages
# cache_dir=/var/cache/manjaro-tools
##########################################
################ buildtree ###############
##########################################
# manjaro package tree
# repo_tree=('core' 'extra' 'community' 'multilib' 'openrc')
# host_tree=https://github.com/manjaro
# host_tree_abs=https://projects.archlinux.org/git/svntogit/packages
##########################################
################ buildpkg ################
##########################################
# default chroot path
# chroots_pkg=/opt/buildpkg
# custom path to pkg sets
# sets_dir_pkg=/etc/manjaro-tools/sets/pkg
# default pkg buildset; name without .set extension
# buildset_pkg=default
# custom build mirror server
# build_mirror=http://mirror.netzspielplatz.de/manjaro/packages
############# eudev specific #############
# This is only useful if you compile packages against eudev
# default packages to trigger blacklist
# blacklist_trigger=('eudev' 'upower-pm-utils' 'eudev-systemdcompat')
# default blacklisted packages to remove from chroot
# blacklist=('libsystemd')
##########################################
################ buildiso ################
##########################################
# default work dir where the image chroots are located
# chroots_iso=/opt/buildiso
# custom path to iso sets
# sets_dir_iso=/etc/manjaro-tools/sets/iso
# default iso buildset; name without .set extension
# buildset_iso=default
############## iso settings ##############
# unset defaults to given value
# iso_label="MJRO090"
# unset defaults to given value
# iso_version=0.9.0
# unset defaults to given value, specify a date here of have it automatically set
# manjaro_version="$(date +%Y.%m)"
# unset defaults to given value
# manjaroiso="manjaroiso"
# unset defaults to value sourced from /etc/lsb-release
# code_name="Bellatrix"
# unset defaults to given value
# img_name=manjaro
# unset defaults to given value
# install_dir=manjaro
# unset defaults to given value
# compression=xz
# valid: md5, sha1, sha256, sha384, sha512
# checksum_mode=md5
################ install ################
# These settings are inherited in live session
# Settings will be installed
# unset defaults to given value
# manjaro_kernel="linux317"
# unset defaults to given value
# plymouth_theme=manjaro-elegant
# unset defaults to given values
# names must match systemd service names
# start_systemd=('cronie' 'org.cups.cupsd' 'tlp' 'tlp-sleep')
# unset defaults to given values,
# names must match openrc service names
# start_openrc=('cronie' 'cupsd' 'metalog' 'dbus' 'consolekit' 'acpid')
################# livecd #################
# These settings are specific to live session
# Settings will not be installed
# unset defaults to given value
# hostname="manjaro"
# unset defaults to given value
# username="manjaro"
# unset defaults to given value
# password="manjaro"
# unset defaults to given values
# addgroups="video,audio,power,disk,storage,optical,network,lp,scanner"
# unset defaults to given values
# names must match systemd service names
# services in start_systemd array don't need to be listed here
# start_systemd_live=('bluetooth' 'NetworkManager' 'ModemManager')
# unset defaults to given values,
# names must match openrc service names
# services in start_openrc array don't need to be listed here
# start_openrc_live=('bluetooth' 'networkmanager')
Les fichiers de configuration des profils iso
Chaque profil iso doit avoir ces fichiers ou des liens symboliques partagés :
* initsys - Contient le type d'initialisation, systemd ou OpenRC, ou par exemple une future implémentation de runit
* displaymanager - Contient le choix de DM, si aucun DM n'est utilisé, réglez-le sur 'none'
* Packages - Contient les paquets de l'image racine, sauf xorg en principe
* Packages-Custom/desktop - Contient les paquets de l'image personnalisée, on y met les paquets de l'environnement de bureau
* Packages-Xorg - Contient les paquets pour Xorg
* Package-Lng - Contient les paquets de langues
* Packages-Livecd - Contient les paquets que vous voulez seulement sur le livecd, mais pas installés sur le système cible, avec l'installateur ; les fichiers par défaut sont dans le dossier partagé et peuvent être des liens symboliques ou des fichiers réels
* en option un pacman.conf personnalisé dans le profil
* pour i686 - pacman-default.conf
* pour x86_64 - pacman-multilib.conf
Si vous avez besoin d'une surcouche live-cd personnalisée, il faut créer le dossier overlay-livecd dans le profil, et le lien symbolique de shared/overlay-livecd/your_selection au dossier overlay-livecd.
2. buildpkg
buildpkg est le script de compilation chroot manjaro-tools.
Il fonctionne dans un répertoire abs/pkgbuilds qui contient les répertoires avec PKGBUILD.
manjaro-tools.conf prend en charge les variables de makepkg.conf
Arguments
$ buildpkg -h
Utilisation: buildpkg [options] [--] [makepkg args]
-p <pkg> Set ou pkg [défault: default]
-a <arch> Architecture [défaut: x86_64]
-b <branche> Branche [défaut: unstable]
-r <dir> Répertoire chroots [défaut: /build/buildpkg]
-c Recréer chroot
-w Nettoyer
-n Installation et exécution de la vérification namcap
-s signer les paquetages
-q paramètres de requête et prétendre construire
-h Aide
construire des paquets sysvinit pour les deux architectures et la branche unstable :
i686 (le système de construction est x86_64)
buildpkg -p sysvinit -a i686 -b testing -cwsn
pour x86_64
buildpkg -p sysvinit -b testing -cswn
Vous pouvez omettre les arguments de branche si vous les définissez dans manjaro-tools.conf ; l'architecture peut également être définie dans manjaro-tools.conf, mais dans des conditions normales, il est préférable de spécifier l'architecture non native par le paramètre -a.
* -c - supprime le répertoire chroot. Si le paramètre -c n'est pas utilisé, buildpkg mettra à jour le chroot existant ou en créera un nouveau si aucun n'est présent.
* -w - nettoie le pkgcache et les fichiers journaux
* -s - signe le paquet lors de sa construction
* -n - installe le paquet construit dans le chroot et exécute une vérification de namcap
3. buildiso
buildiso est utilisé pour construire les profils manjaro-iso. Il est géré dans le dossier des profils.
Paquets pour livecd seulement :
* manjaro-livecd-cli-installer
* manjaro-livecd-Openrc
* manjaro-livecd-systemd
Arguments
$ buildiso -h
Utilisation: buildiso [options]
-p <profile> Buildset ou profil [défaut: default]
-a <arch> Architecture [défaut: x86_64]
-b <branche> Direction [défaut: unstable]
-r <dir> Répertoire chroots [défaut: /build/buildiso]
-w Désactiver nettoyage cache iso
-c Désactiver nettoyage dir de travail
-x Désactiver nettoyage cache de xorg
-l Désactiver nettoyage cache de lng
-i Construire les images seulement
-s Générer l'iso seulement
Nécessite images pre-construites (de -i)
-q paramètres de requête et prétendre construire
-h Aide
* Construction du profil iso xfce pour les deux architectures et la branche unstable sur la construction du système x86_64
i686 (le système de construction est x86_64)
buildiso -p xfce -a i686 -b testing
pour x86_64
buildiso -p xfce -b testing
La branche peut être définie aussi dans manjaro-tools.conf, mais un paramètre manuel remplacera toujours les paramètres conf.
Les paramètres spéciaux
* -i - La construction des images s'arrêtera après que tous les paquets aient été installés. Aucune compression sqfs de l'iso ne sera exécutée
* -s - Utilisez cette option pour compresser les sqfs chroots si vous utilisiez -i.
* -x - Par défaut, le cache des paquets xorg est nettoyé à chaque construction. La désactivation du nettoyage du cache de xorg évitera un nouveau téléchargement des pilotes Xorg et le cache sera utilisé.
* -l - cache de lng désactivé, le cache de lng est par défaut nettoyé à chaque construction. Régler cette option permettra d'utiliser les paquets de lng en provenance du cache plutôt que de les télécharger à nouveau.
4. mkset
buildpkg et buildiso construisent depuis des ensembles de construction
L'emplacement par défaut des ensembles est :
/etc/manjaro-tools/manjaro-tools/sets/pkg
/etc/manjaro-tools/manjaro-tools/sets/iso
mais il peut être configuré dans le fichier manjaro-tools.conf.
mkset est un petit outil d'aide pour créer facilement les ensembles de construction. Il est lancé dans le répertoire /abs/pkgbuilds ou dans les profils iso.
Arguments
$ Mkset -h
Utilisation: mkset [options]
-c <nom> Créer un ensemble
-r <nom> Supprimer un ensemble
-s <nom> Afficher un ensemble
-i mode Iso
-q ensembles de requêtes
-h Aide
créer un ensemble de paquets pour lxqt
mkset -c lxqt-0.8
créer un ensemble iso
mkset -ic manjaro-0.9.0
Le nom de l'ensemble de construction ne devrait pas être un nom de paquet ou de profil ! sinon buildpkg/buildiso ne reconnaîtra pas la liste de construction et ne construira pas le paquet/profil spécifié. L'argument -p manipule les noms d'ensemble et de paquet/profil.
Si vous créez un ensemble de construction manuellement, il doit avoir une extension .set.
Exemples :
/etc/manjaro-tools/sets/pkg/lxqt-0.8.set
/etc/manjaro-tools/sets/iso/manjaro-0.9.0.set
5. buildtree
buildtree est un petit outil pour synchroniser abs (Arch) et le dépôt Git de Manjaro.
Arguments
$ buildtree -h
Utilisation: buildtree [options]
-s Sync manjaro tree
-a Sync arch abs
-c nettoyage de l'arborescence de paquetages
-q paramètres de requête
-h Aide
synchronisation des arbres arch et manjaro
buildtree -as
Article original.