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.

manjaro-check-repos

#1Messageil y a 5 ans

:salut: bonjour

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 :wink: )
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

    mbn search 'manjaro' --field url --format '%n: %u' -u
    recherche par date , date en italique

    mbn search '2019-04-1' --field builddate --format '$i%b$n: %n' -u
    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 🤕

manjaro-check-repos

#2Messageil y a 5 ans

:bjr:
Désolé, je suis en pleine FCO cette semaine. Je testerai ce soir .

manjaro-check-repos

#3Messageil y a 5 ans

Hello,

Petites idées :

- 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. 🤕

manjaro-check-repos

#4Messageil y a 5 ans

bug corrigé (je n'avais pas fait un rm depuis longtemps :rendre: )
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" :lol:
De plus cela n'a rien de trop sorcier, on télécharge depuis un miroir puis on installe

manjaro-check-repos

#5Messageil y a 5 ans

J'ai fait la commande et je l'ai bien mis a jour.
Cependant j'ai toujours

:: 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. 🤕

manjaro-check-repos

#6Messageil y a 5 ans

:confus:
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/

mbn -v
mbn - manjaro Multi-Branch Navigator : 0.9.5-r80.8811c11.20190412

pacman -Q | grep manjaro-check-repos
manjaro-check-repos r80.8811c11.20190412-1

manjaro-check-repos

#7Messageil y a 5 ans

J'ai ce retour

mbn - manjaro Multi-Branch Navigator : 0.9.5-r80.8811c11.20190412

manjaro-check-repos r80.8811c11.20190412-1
Edit : J'ai refait un git clone et l'installe mais j'ai toujours l'erreur
Edit 2 : https://zupimages.net/up/19/15/lmys.jpg

manjaro-check-repos

#8Messageil y a 5 ans

OK :gsourire:
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

manjaro-check-repos

#9Messageil y a 5 ans

Good Job papajoke :bien
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" :lol:
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 )

manjaro-check-repos

#10Messageil y a 5 ans

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 :wink:
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

manjaro-check-repos

#11Messageil y a 5 ans

Merci pour la réponse.

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 )

manjaro-check-repos

#12Messageil y a 5 ans

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

mbn diff -t -s 

manjaro-check-repos

#13Messageil y a 5 ans

En effet tu a penser à tout :clap

manjaro-check-repos

#14Messageil y a 5 ans

merci mais pas vraiment :lol: , c'est bien pour cela que je demande de l'aide (en plus du debug)

Par exemple ce fil vient de me donner une idée :
comparer les versions entre 2 branches pour un paquet donné avec toutes ces dépendances

mbn versions pacman -a -s --pkg
va trouver les différences pour les 95 paquets (que nécessite pacman et ces dépendances) entre arch et notre stable

manjaro-check-repos

#15Messageil y a 5 ans

:bjr:
Peut-être voir a intégrer un no-pager=1 ou un less/more car ça devient très verbeux et on perd le début de liste .... :roll:

manjaro-check-repos

#16Messageil y a 5 ans

:salut: 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

manjaro-check-repos

#17Messageil y a 5 ans

mbn versions -a -s --pkg | more
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...

manjaro-check-repos

#18Messageil y a 5 ans

lemust83 a écrit : il y a 5 ans je ne peux remonter, sauf si je redirige vers less ou more
:o:roll: 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 :saispas:

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 :wink:

manjaro-check-repos

#19Messageil y a 5 ans

alias -g more="less"

Et le tour est jouer :lol:

manjaro-check-repos

#20Messageil y a 5 ans

:salut:
Ce soir c'est l'ajout en test d'une petite interface graphique en gtk3

Image

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
Répondre