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

manjaro-branch-check un "fork" de manjaro-check-repos

#1Messageil y a 4 semaines

bonjour :bjr:

manjaro-check-repos est un projet officiel manjaro depuis quelques années et ... n'a pas évolué depuis 6 ans, pourquoi ne pas en réécrire un autre :roll:
121116

manjaro-branch-check
- n'est qu'une version console
- pas de dépendance avec pacman ou alpm , donc peut tourner sur tout linux (voir même recompilé sous windows... pas testé).

Image

Installation :
https://github.com/papajoker/manjaro-br ... k/releases (prendre/decompresser le *.tar.gz)
Ce n'est qu'un binaire (go), il n'y a donc pas d'installation particulière, juste copier l'exécutable dans notre $home.
Pour le premier usage, faire un mbc update, ce qui va télécharger les bases de données pacman dans notre cache local : ~/.cache/manjaro-branch-check.

Différences avec l'ancien :
  • bd dans le cache utilisateur, donc pas de sudo à faire :gsourire:
  • Configuration plus simple, un seul fichier YAML : ~/.config/manjaro-branch-check.yaml, a la première utilisation, ce fichier est généré.
  • pas de dépendance pacman MAIS ! si pacman est présent, alors est disponible une commande "pacman". Elle permet de faire des requêtes -Si, -Sl et -Ss sur la branche que nous désirons.
  • Il est possible de regrouper les "flags" , par exemple -a -t peut-être -at (archlinux et testing)
  • Il est possible d'avoir une touche d' IA dans la commande "Info"

/tmp/mbc -h
Manjaro Multi Branch packages Navigator
use four branches with same config (archlinux, unstable, testing, stable)

Which packages are new to a branch? (diff)
Which packages disappear? (diff)
What are the version differences between branches? (info, version)

Usage:
  mbc [command]

Available Commands:
  diff        branch packages differences
  help        Help about any command
  info        A brief description of your package
  list        list packagers
  pacman      run pacman in branch
  rm          remove database in ~/.cache/
  tree        list local repos
  update      Update repos
  version     Compare versions over branches

Flags:
  -h, --help   help for mbc

Use "mbc [command] --help" for more information about a command.
Après un mbc update, mbc tree nous retourne :

# database: /home/patrick/.cache/manjaro-branch-check
# config:   /home/patrick/.config/manjaro-branch-check.yaml

stable
  - core          294    (2025-03-31 20:12)
  - extra       14906    (2025-03-31 20:12)

testing
  - core          294    (2025-03-31 20:12)
  - extra       14911    (2025-03-31 20:12)

unstable
  - core          294    (2025-04-01 11:02)
  - extra       14910    (2025-04-01 11:02)

archlinux
  - core          265    (2025-04-01 07:02)
  - extra       14203    (2025-04-01 07:02)

# servers:  [http://mirrors.n-ix.net/archlinux/ https://mirrors2.manjaro.org/]
# mbc Version: V0.9.1 07bd6c4 main 2025-03-31
ps: la date est celle de notre mise à jour et pas celle du fichier sur miroir.


Une touche d'IA :o
Si nous avons dans nos variables d'environnement une clé gemini GEMINI_API_KEY, alors la commande info va demander à l'ia le descriptif du paquet.

Puisque gemini est "gratuit" tout le monde peut demander une clé si il a un compte google. Si c'est gratuit, c'est nous le produit .... :mrgreen: (ici, on remonte à google quel paquet nous intéresse et la langue de notre système pour une réponse facilement compréhensible malgré que la question a été posée en anglais )

un exemple avec le flag --ia (que disponible si nous avons la clé !)

/tmp/mbc info xmonad --ia
stable
 Name:     xmonad
 Version:  0.18.0-34
 Date:     25-03-16 22:20
 Repo:     extra
testing
 Name:     xmonad
 Version:  0.18.0-35
 Date:     25-03-29 18:29
 Repo:     extra
unstable
 Name:     xmonad
 Version:  0.18.0-36
 Date:     25-03-31 11:47
 Repo:     extra
archlinux
 Name:     xmonad
 Version:  0.18.0-36
 Date:     25-03-31 11:47
 Repo:     extra


Nom du paquet : xmonad

Dépôt : extra

Description : xmonad est un gestionnaire de fenêtres en mosaïque dynamique, programmable et configurable en Haskell. Au lieu d'essayer de mimer le comportement des gestionnaires de fenêtres traditionnels, xmonad offre une approche plus axée sur le clavier et une configuration poussée.

Fonctionnalités :

*   Gestion en mosaïque automatique des fenêtres.
*   Configuration et extension via Haskell.
*   Léger et rapide.
*   Basé sur le clavier pour une efficacité accrue.
*   Prise en charge de plusieurs écrans.
*   Personnalisation poussée de l'apparence et du comportement.
*   Nombreuses extensions disponibles pour ajouter des fonctionnalités.
*   Utilisation efficace de l'espace de l'écran.
*   Interface claire et épurée.
*   Idéal pour les utilisateurs avancés et les développeurs.

manjaro-branch-check un "fork" de manjaro-check-repos

#2Messageil y a 4 semaines

:bjr:
Intéressant ! Y a-t-il un flag --help ou man ? Et quelle est la taille en général des BDs dans /.cache/manjaro-branch-check ?

manjaro-branch-check un "fork" de manjaro-check-repos

#3Messageil y a 4 semaines

lemust83 a écrit : il y a 4 semainesY a-t-il un flag --help ou man ?
C'est une app console standard :
  • application -h
  • application --help
  • application commande -h
  • application commande --help
  • application help commande
Et lancer le script sans paramètre affiche ce résumé :
papajoke a écrit : il y a 4 semaines

/tmp/mbc -h
...

Usage:
  mbc [command]

Available Commands:
  diff        branch packages differences
  help        Help about any command
  info        A brief description of your package
  list        list packagers
  pacman      run pacman in branch
  rm          remove database in ~/.cache/
  tree        list local repos
  update      Update repos
  version     Compare versions over branches

Flags:
  -h, --help   help for mbc

Use "mbc [command] --help" for more information about a command.
-----------------------
lemust83 a écrit : il y a 4 semaines Et quelle est la taille en général des BDs dans /.cache/manjaro-branch-check ?
extra, c'est environ 8 Mo et core et multilib c'est négligeable. Donc (x4) nous n'avons rien de trop volumineux : moins de 36Mo

tree ~/.cache/manjaro-branch-check -h
[4.0K]  /home/patrick/.cache/manjaro-branch-check
├── [4.0K]  archlinux
│   ├── [  93]  pacman.conf
│   └── [4.0K]  sync
│       ├── [118K]  core.db
│       └── [7.7M]  extra.db
├── [4.0K]  stable
│   ├── [  90]  pacman.conf
│   └── [4.0K]  sync
│       ├── [141K]  core.db
│       └── [8.3M]  extra.db
├── [4.0K]  testing
│   ├── [  91]  pacman.conf
│   └── [4.0K]  sync
│       ├── [141K]  core.db
│       └── [8.3M]  extra.db
└── [4.0K]  unstable
    ├── [  92]  pacman.conf
    └── [4.0K]  sync
        ├── [141K]  core.db
        └── [8.3M]  extra.db
mbc rm va supprimer directement le répertoire ~/.cache/manjaro-branch-check (le script devient complètement inutilisable, seule la commande "update" est sans erreur)

manjaro-branch-check un "fork" de manjaro-check-repos

#4Messageil y a 4 semaines

:bien
J'ai répondu ce matin un peu vite au saut du lit :oops:
On voit très facilement que la version de yt-dlp que je prends en exemple, diffère selon les dépôts, et qu'une version encore plus récente est dans Archlinux et ne saurait donc tarder.
Par contre, il serait pratique de voir dans la fonction info, un retour sur la version installée en parallèle des versions dans les dépôts; j'ai dû appeler en plus pacman -Q .

$ ./mbc info yt-dlp
stable
 Name:     yt-dlp
 Version:  2025.03.26-1
 Date:     25-03-26 08:21
 Repo:     extra
testing
 Name:     yt-dlp
 Version:  2025.03.27-1
 Date:     25-03-28 07:46
 Repo:     extra
unstable
 Name:     yt-dlp
 Version:  2025.03.27-1
 Date:     25-03-28 07:46
 Repo:     extra
archlinux
 Name:     yt-dlp
 Version:  2025.03.31-1
 Date:     25-04-01 09:11
 Repo:     extra
$ pacman -Q yt-dlp
yt-dlp 2025.03.27-1
Je reste conscient que le but de cet outil est de comparer les versions de paquets selon les dépôts, mais ce serait un plus.

manjaro-branch-check un "fork" de manjaro-check-repos

#5Messageil y a 4 semaines

lemust83 a écrit : il y a 4 semaines On voit très facilement que la version de yt-dlp que je prends en exemple, diffère selon les dépôts, et qu'une version encore plus récente est dans Archlinux
:gsourire: c'est le but. :fete:
ps: dans ce but, j'ai supprimé le dépôt (une ligne qui n'a pas d'intérêt et complique la vue globale)
lemust83 a écrit : il y a 4 semainesvoir dans la fonction info, un retour sur la version installée en parallèle des versions dans les dépôts ; j'ai dû appeler en plus pacman -Q
Nous sommes censés être à jour et connaitre notre branche :o
EDIT: ok si on n'est pas en STABLE :rendre:

Ce script n'utilise pas pacman (ou alpm), donc il ne lit pas notre config pacman :sourire:
Mais ok, uniquement si pacman est installé, alors existe une option -i à la commande "info" (pour les têtes en l'air :rigole: )

go run main.go info update-grub -i
stable
 Name:     update-grub
 Version:  2:2.12-3
 Date:     24-10-04 11:22
testing
 Name:     update-grub
 Version:  2:2.12.r260.gaae2ea619-2
 Date:     25-03-28 07:31
unstable
 Name:     update-grub
 Version:  2:2.12.r260.gaae2ea619-3
 Date:     25-03-31 17:55
archlinux
 ?

Installed: 2:2.12-3    #### je m'en doutais puisque je suis en STABLE
Je ferai ce soir une version 0.9.2 EDIT: fait.
- meilleure gestion des erreurs (cache cassé et fichier de config yaml)
- diff , version et list. Largeur de colonnes le plus petit possible
- info -i



----------------


Et si le paquet est non installé, pas de problème avec -i

go run main.go info yt-dlp -i --ia
stable
 Name:     yt-dlp
 Version:  2025.03.26-1
 Date:     25-03-26 08:21
testing
 Name:     yt-dlp
 Version:  2025.03.27-1
 Date:     25-03-28 07:46
unstable
 Name:     yt-dlp
 Version:  2025.03.27-1
 Date:     25-03-28 07:46
archlinux
 Name:     yt-dlp
 Version:  2025.03.31-1
 Date:     25-04-01 09:11


Nom du paquet : yt-dlp

Dépôt : extra

Utilité : yt-dlp est un téléchargeur de vidéos en ligne polyvalent. Il permet de télécharger des vidéos et des audios depuis une multitude de plateformes comme YouTube, Dailymotion, Vimeo, et bien d'autres. Il offre des options de personnalisation avancées pour choisir le format, la qualité, et la plage de téléchargement. C'est un outil puissant pour archiver des contenus, les visionner hors ligne, ou les utiliser dans des projets personnels.
Répondre