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.
je suis en train de finaliser un script (v0.9.5) et cherche des testeurs / idées
Que fait-il ?
Il permet d'avoir toutes les branches de manjaro et la stable d'archlinux sur notre propre machine manjaro.
Pourquoi ?
Naviguer entre les branches c'est son credo
Dangereux ?
Non ! ces branches sont isolées de notre branche utilisée par pacman. Il est donc impossible d'installer un paquet depuis une de ces branches. Il ne permet que de la consultation !
Fonctionnalités...
Pour les mainteneurs, faire des tests sur les branches mais aussi sur les profiles architect (profiles, duplicates, check)
Beaucoup plus proche de nous, quelques fonctionnalités :
- diff : différence de paquets entre 2 branches (permet de voir ce qui arrive et disparaît)
- versions : différences de versions entre 2 branches
- pactree : classique mais ici sur la branche et non ce que nous avons d'installé
- search : un pacman -Ss survitaminé (option --field , utilise un formatage très proche de expac, ...)
- info : un pacman -Si aussi survitaminé (si on ne passe pas de branche en paramètre alors il l'affiche pour les 4 : utiliser -q si pas de branche pour une meilleure lecture)
- files : un pacman -Fsx classique si nous avons téléchargé la liste des fichiers avec la commande update (pas par défaut)
- update: mettre à jour les branches (pacman -Sy) - possibilité de mettre à jour une seule branche et de changer de miroir
- rm : supprimer de notre disque les branches (très utile avant dé-installation)
Pour ce balader entre les branches ou comparer 2 branches, il faut les passer en paramètre. Il existe 2 façons :
--archlinux or -a
--unstable or -u
--testing or -t
--stable or -s
Pour ceux que cela intéresse... (script console sans menu )
Installer la version en développement:
git clone https://gitlab.manjaro.org/papajoke/manjaro-check-repos
git checkout dev
cd manjaro-check-repos/build
makepkg -p PKGBUILD.git -sfci
A la première utilisation, on utilise sudo : sudo mbn
Une seule commande: mbn : Multi-Branch Navigator
Aide disponible avec chaque commande mbn info -h ou en général mbn -h
---
quelques exemples avec search :
recherche les paquets avec manjaro dans l'url
recherche dans unstable les paquets avec une notation de version git, première colonne de 48 charactères
mbn search '^r\d' --field version --format '{%n::48} %v' -u
oops, je ne connais pas le nom du champ de recherche ... pas grave mbn va le donner:
mbn search "" --field toto -u
:: Branch: unstable
Error: AttributeError: Attribut not exists for a package !
arch backup base builddate conflicts db deltas depends desc filename files groups installdate isize licenses md5sum name optdepends packager provides reason replaces sha256sum size url version 🤕
- Peut ton installer un paquet de la branche instable pour mettre à jour un paquet sans changer tout le reste ?
- Affichage avec des couleurs pour les nom et les numéros de versions.
Sinon très bon script je vais le tester ce soir ou cette nuit voir ce que ça donne
Edit :
Premier lancement avec sudo
Error: AttributeError: module 'lib' has no attribute 'pkgname' 🤕
mbn simplement
:: Branch: archlinux
:: -Sy ...
erreur : aucun dépôt de paquets utilisable n’a été défini.
Error: CalledProcessError: Command '['sudo', 'pacman', '-Sy', '--logfile', '/var/lib/manjaro-repos/archlinux/pacman.log', '--config', '/var/lib/manjaro-repos/archlinux/etc/pacman.conf']' returned non-zero exit status 1. 🤕
bug corrigé (je n'avais pas fait un rm depuis longtemps )
il suffit de refaire un simple makepkg -p PKGBUILD.git -sfci pour mettre à jour
ce bug à cassé la bd (pas celle de notre pacman !) donc il faut débuter par un sudo mbn rm puis relancer l'update
-----
Non il ne faut pas pouvoir installer un paquet d'une branche sur autre chose ! cela doit-être "extrêmement exceptionnel"
De plus cela n'a rien de trop sorcier, on télécharge depuis un miroir puis on installe
tu ne dois pas avoir réinstallé la bonne version r80 :; si tu n'as pas refait un git clone il ne faut pas utiliser le mbn.sh ! mais bien celui dans /bin/
OK
ce n'est plus la même erreur ! (avant c'était: AttributeError: module 'lib' has no attribute 'pkgname')
Tu n'as pas fait cette manipulation qui détruit l'ancien fichier corrompu (pacman.conf est vide !) rm va le supprimer puis update va cette fois en créer un bon (pour chaque branche)
papajoke a écrit : ↑il y a 5 ans
ce bug à cassé la bd (pas celle de notre pacman !) donc il faut débuter par un sudo mbn rm puis relancer l'update
Good Job papajoke
Tout marche bien, je vais le tester un peut ce soir voir ce que ça donne
Edit :
papajoke a écrit : ↑il y a 5 ans
Non il ne faut pas pouvoir installer un paquet d'une branche sur autre chose ! cela doit-être "extrêmement exceptionnel"
De plus cela n'a rien de trop sorcier, on télécharge depuis un miroir puis on installe
Comment faire cela ? télécharger depuis un miroir et l'installer ?
Edit 2 :
mbn -Ss pour rechercher un paquet
mbn -Si pour avoir des infos d'un paquets
etc
Je trouve ce système plus simple si jamais tu veux avoir des infos ( Ont peut rajouter un argument avec -dev -testing sinon ça recherche sur toutes les branches )
Cyberdr3am a écrit : ↑il y a 5 ans
Comment faire cela ? télécharger depuis un miroir et l'installer ?
rien de plus simple tu choisis un miroir , navigue dans les branches et tu télécharges le paquet (.xz) depuis ton navigateur
ensuite, si tu as pamac un bouble clic sur le fichier ou un pacman -U mon_du_fichier
PS: très bonne chose pour planter sa distribution d'installer un paquet d'une autre branche
mbn -Ss pour rechercher un paquet
mbn -Si pour avoir des infos d'un paquets
etc
Mais toutes les actions (ou commandes) n'existent pas dans pacman, donc pour plus de cohérence autant donner un petit nom à chaque ... et donner -Fsx à files ce n'est pas intuitif. Il fauudrait alors inventer des truc bizarres pour les commandes qui ne font pas partie de pacman : bonjour le mal de tête pour les utiliser (-Dx ... -Vb ...)
si jamais tu veux avoir des infos ( Ont peut rajouter un argument avec -dev -testing sinon ça recherche sur toutes les branches )
c'est ce que fait info (-Si), pour seach (-Ss) aucun intérêt de rechercher dans toutes les branches (il me semble)
ps: nom pas -dev mais (en version courte) -a -u -t -s (la première lettre de la branche) ou en version longue --archlinux .. --stable
Si je demande pour installer un paquet c'est simplement si jamais j'ai un soft qui bug énormément et qu'il est dispo sur un autre mirroir ( comme lsd il y quelques maj )
En ce qui concerne les actions -Si -Ss il est vrai que toutes les actions que tu a rajouter ne sont pas dispo de base dans pacman mais cela permet d'avoir les commandes de bases pour arriver à s'en sortir et après pour les autres utilisateurs avec les autres commandes que tu a mis en place ( juste une suggestion tes commandes sont bien aussi )
Pour rechercher un fichier dans toutes les branches ( -Ss ) peut être bien si ont va retirer un paquet d'une branche par exemple et pour voir si il est dispo dans d'autres branches. ( Comme sur manjaro certains paquets sont supprimer de temps en temps au fils des mises à jours )
Sinon j'ai tester un peut ton applications et elle est vraiment sympas ( elle permet de faire pas mal de choses )
Cyberdr3am a écrit : ↑il y a 5 ans
Pour rechercher un fichier dans toutes les branches ( -Ss ) peut être bien si ont va retirer un paquet d'une branche par exemple et pour voir si il est dispo dans d'autres branches.
la commande existe et c'est justement info sans mettre une branche !
par exemple mbn info taskd -q ou mbn info xmahjongg -q(qui n'est pas dans toutes les branches) (-q c'est juste de l’esthétique ...)
Comme sur manjaro certains paquets sont supprimer de temps en temps au fils des mises à jours
c'est pour cela que nous avons aussi la commande diff qui permet en un coup d’œil de voir les nouveautés et ce qui va disparaître
Tu parles de quelle fonctions ? search ? le problème c'est que je n'ai aucune idée de comment détecter le nombre de lignes du terminal (a la limite faire une commande bash: tput lines)
EDIT: ok trouvé comment détecter en python
ps: perso je n'aime pas les programmes qui font des pauses écran, je préférerais ajouter une option --pager
J'ai fait versions et search entre Arch et Stable. Xfce4-terminal me donne apparemment les 24 dernières lignes, donc le début est tronqué et je ne peux remonter, sauf si je redirige vers less ou more, mais avec :: 11386 packages , je ne suis pas surpris...
Noyau récent MANJARO x86_64 bits: 64 Xfce 4.16
ASUSTeK model: PRIME B350M-A v: Rev X.0x
6-Core: AMD Ryzen 5 2600X
AMD Baffin [Radeon RX 460/560D / Pro
driver: amdgpu v: kernel
Display: x11 server: X.Org driver: amdgpu,ati unloaded: modesetting
OpenGL: renderer: Radeon RX 560 Series
Arch en Dual. Aucun lien publicitaire ne saurait être toléré dans la signature!
lemust83 a écrit : ↑il y a 5 ans je ne peux remonter, sauf si je redirige vers less ou more
tout bon terminal permet de scroller par défaut !!! ou alors tu l'as mal réglé pour avoir un historique de défilement = à 0 - par contre oui, tu peux avoir un historique limité à (que) 500 lignes
Il est impossible de détecter comment est réglé le terminal ! et faire une pause toutes les 20(..30) lignes : avec une sortie de 10 000 c'est plus que pénible donc laisser le choix à l'utilisateur d'ajouter less me parait très bien
quelle idée d'utiliser more perso, si j'ai besoin, j'utilise less , avec aucun problème pour naviguer dans les 2 sens
lemust83 a écrit : ↑il y a 5 ans
mais avec :: 11386 packages , je ne suis pas surpris...
En fait il n'affiche QUE les différences soit actuellement 1400 lignes sur les 11 000 paquets
Ce soir c'est l'ajout en test d'une petite interface graphique en gtk3
Attention:
- c'est une interface très simple pour de la consultation
- pas d'update possible
- PAS de création de lanceur (mbn-gui)
- recherche uniquement dans les noms et descriptions
Ici, c'est un petit mix de versions/diff et search
Si on entre une seule branche nous avons un simple search (pas de détails possible)
Si on entre deux branches, nous avons la commande versions (affiche que si différence de version) - aur n'est pas disponible
Si on entre deux branches, Nous avons aussi le diff. Les trous sont visibles, on ne voit donc que les paquets de la première branche sélectionnée - il faut donc ensuite inverser les branches pour voir ce qui rentre et part.
Par exemple, dans la copie écran on peut voir que alsaplayer n'est plus en testing