CTKArch · Forums
You are not logged in. Please Register or Login.  |  Search
Posted: May 16, 2011 9:32:46 am
Cereal-Killer
icon



Hi evebody,
I wanted to learn shell scripts, and I wrote a little assistant to help my wife (who isn't a geek  (E)  ) to manage sofwares on her laptop...
as I think it would help other users, I share it; I tested it a lot and the only thing which don't works is the utility to deactive the ARM repo (if somebody find a fix...).
I made it educational: the commands the script use are mentionned (I use yaourt, as it is interactive, and for rights reasons: the script works as user, not root, and ask for root password when needed); english and french supported.
I post 2 pastebin at the end of post, copy them in text files:
-the first, called "ctkpkg.sh", must be copyied in ~/.scripts directory (don't forget to make it executable).
-the second, called "ctkpkg.desktop", must be copyied in ~/local/share/applications; this add a menu entry.
tell me if you find bugs; enjoy...

NB: it works on CTKArch natively; if you want use it on Arch, install yaourt first...
--------------------------------------
Bonjour tout le monde,
Je voulais m'initier aux scripts shell, et j'ai écrit un petit assistant pour aider ma femme (qui n'est pas une geekette  (E)  ) à gérer les logiciels sur son portable...
Comme je pense que ça peut aider d'autres utilisateurs, je le partage; je l'ai beaucoup testé, la seule chose qui refuse de fonctionner est l'utilitaire pour désactiver le dépot ARM (si quelqu'un trouve une solution...).
Je l'ai rendu éducatif: les commandes que le script utilise sont indiquées (j'ai utilisé Yaourt, pour son interactivité, et pour les droits: le script fonctionne en simple utilisateur et demande le mot de passe root si nécessaire); le français et l'anglais sont supportés.
Je poste 2 pastebin à la fin du post, à copier dans des fichiers textes:
-le premier, appelé "ckpkg4arch.sh", doit être copié dans le répertoire ~/.scripts (ne pas oublier de le rendre éxécutable).
-le second, appelé "ckpkg.desktop", doit être copié dans le répertoire ~/local/share/applications; cela ajoute une entrée dans le menu.
dites-moi si vous trouvez des bugs ou des améliorations; enjoy...

NB: il est censé marcher sur CTKArch; pour l'utiliser sur Arch, installer yaourt d'abord...

ckpkg4arch.sh
ckpkg.desktop

PS: j'ai beaucoup lu les scripts de Calimero pour apprendre, mon script est donc ordonné suivant la même logique, que je trouvais assez propre (surtout la partie langage). Merci à lui pour les leçons qu'il donne sans le vouloir...  ;) 
Posted: May 17, 2011 11:18:12 pm
Calimero
icon



Il y a de l'orthographe à corriger.

Et puis pense à ta pile d'appel de fonctions, qui se remplit lorsque tu appelles une fonction depuis une autre…
Il vaut mieux une boucle infinie dans le menu (elle y est, d'ailleurs), avec un break/exit sur l'entrée Quitter, que d'appeler MAINMENU à la fin de chaque sous-procédure !
On n'est pas en basic ou en assembleur…

Mieux que "no license" (avec un S en anglais d'ailleurs) : la WTFPL, qui est reconnue comme licence libre (et semble proche de ton "pas de licence").

Sinon, c'est vraiment plutôt une aide à l'utilisation de pacman et yaourt, donc ArchLinux et Frugalware et toute autre distrib dont je n'aurais pas entendu parler ayant pacman (et certainement pas seulement ctkarch).
Je n'accepte la pub que quand elle concerne vraiment ce que j'ai fait ! :)  Ici, on parle de Arch.

Pour le sed qui ne "fonctionne pas" : fais su -c "ton sed"…
À ta place d'ailleurs, j'ajouterais un read après chaque commande. Sinon, si ça foire, le menu revient direct et on n'a pas pu voir les erreurs !!

Avec tout ça, ça sera bien. ;)
Posted: May 18, 2011 8:30:39 am
Cereal-Killer
icon



Merci pour ces conseils, je vais m'atteler aux corrections et améliorations (j'ai déjà modifié des trucs depuis le post)...

c'est réellement ce que ça a l'air d'être: une aide à l'utilisation de Yaourt. je voulais pas faire plus, il y a déjà plein de gestionnaires de paquets graphiques dans les dépôts ou dans AUR...
le but est de faire un truc tout simple pour aiguiller des gens qui n'ont pas encore le réflexe d'ouvrir un terminal et de lire un man ou de la doc sur le wiki.
j'ai remarqué que CTKArch attire pas mal les gens qui ont peur de ne pas arriver à installer une Arch standard.

pour le sed, j'ai essayer d'inclure la commande complète (avec su -c) dans la fonction "ROLLING", puis de créer une fonction "modifymirrors" que j'appelle avec su -c dans "ROLLING"; dans tous les cas, il demande le mot de passe mais ne modifie pas mirrorlist (alors que la commande seule fonctionne dans Urxvt)...

"Je n'accepte la pub que quand elle concerne vraiment ce que j'ai fait !  Ici, on parle de Arch."
ça pourrait faire un débat :)  , il semble que tu sois le seul à penser que CTKArch n'est pas une distribution: tu minimises ton travail (par modestie ?), c'est dommage...
d'après une définition de la distribution qu'on pourrait qualifier d'officielle (celle de Wikipedia), une distribution est "un ensemble cohérent de logiciels (la plupart étant des logiciels libres) assemblés autour du noyau Linux". CTKArch correspond bien à cette définition...
ou alors, si on considère que si on se base sur une autre distribution pour en faire une nouvelle on n'a pas droit à l'appellation "distribution", alors Mint n'est pas une distribution (basée sur Ubuntu et ses dépots), Sabayon non plus (Gentoo), etc... (les exemples sont nombreux).
j'espère que tu ne te vexeras pas que j'essaie de te démontrer que CTKArch EST une distribution ;)

pour en revenir à mon petit assistant, sa première fonction le dédie à CTKArch; en plus il faut que Yaourt soit installé, ce qui n'est pas le cas d'une Arch standard (et je voulais que ça fonctionne sans rien installer d'autre).
Posted: May 19, 2011 8:39:45 pm
Calimero
icon



Ma définition de distribution, c'est quand elle a ses propres dépôts, et ce n'est pas le cas ici : ce sont les dépôts archlinux.

Et d'ailleurs je n'ai ajouté que des fichiers de config, quelques scripts, et j'ai mis quelques images et son dans le home.
D'un point de vue technique, ce n'est pas une distribution à part entière, pas plus que mon installation personnelle (d'où est tirée cette live) ne l'est.

Si tu configures archlinux à ta sauce sur ton PC, tu vas dire que c'est archlinux si on te demande la distribution ! (non ?)
C'est pareil ici.

Pour en revenir à ton sujet, je trouvais plus logique de l'appeler “Gestion des paquets Arch”, sans dire linux d'ailleurs, puisque que ton script fonctionne aussi bien sur Arch Hurd par exemple. ;)
Posted: May 20, 2011 10:18:00 am
Cereal-Killer
icon



Selon ta définition, on pourrait enlever 80% des distros sur Distrowatch :D

"Et d'ailleurs je n'ai ajouté que des fichiers de config, quelques scripts, et j'ai mis quelques images et son dans le home"
justement, tu as fourni un travail personnel, qui porte ta griffe, là où (beaucoup) d'autres se contentent de faire un assemblage de paquets: moi je trouve que c'est ça qui rend ton travail intéressant...

mais bon on ne va pas s'étendre là-dessus: je respecte ton opinion, à défaut de la partager... ;)

"je trouvais plus logique de l'appeler “Gestion des paquets Arch” "
pourquoi pas après tout, c'est juste que quand on a réussi à installer Arch, on a acquis suffisament de connaissances sur le système pour ne plus avoir besoin d'un tel utilitaire...
CTKArch en revanche attire plus de gens pas forcément très ouverts à la ligne de commande...

au fait, en dehors du coté technique, tu ne m'as pas dis ce que tu pensais de la pertinence d'un tel outil (ton avis m'intéresse): est-ce utile? ou bien est-ce que ça n'a rien à faire dans un système KISS ?
Posted: May 20, 2011 2:34:53 pm
Calimero
icon



Pour moi, les utilisateurs sont libres : si quelqu'un a l'usage de ce script, c'est bien qu'il existe.
Posted: May 21, 2011 8:23:40 pm
Cereal-Killer
icon



Voilà les corrections:
-recherche et corrections des fautes (peut-être qu'il en reste pour l'anglais, mais pas à ma connaissance)
-retrait de tous les "else MAINMENU" (qui servaient à rien d'ailleurs, ça marche pareil sans)
-ajout d'un "appuyer sur ENTER pour afficher le menu" à la sortie de chaque commande
-remplacement de la fonction qui désactivait le dépôt ARM, par une plus générale qui édite mirrorlist; celà permet de sélectionner les mirroirs proches de chez soi (et toujours de commenter ARM).
-renommé en "CKpkg4arch", pour que ce soit généraliste et pas seulement pour CTKArch
-ajout d'une fonction "statistiques" pour voir le nombre de paquets installés, les orphelins, les locaux, les paquets de AUR, etc...
-nettoyage du code (indentation propre, retrait de ce qui servait à rien...)

reprendre les liens du premier post, je les ai édité
Posted: May 21, 2011 10:59:02 pm
Calimero
icon



J'ai corrigé l'orthographe et la traduction : pastebin.archlinux.fr/432539
Je n'ai pas touché aux phrases elles-mêmes, même quand j'ai trouvé la formulation un peu bizarre.
Note : en français, on met un espace avant les deux points et le point virgule ; en anglais, non.
Posted: May 21, 2011 11:24:47 pm
Cereal-Killer
icon



Merci beaucoup ;)
pour la typo, c'est des trucs que je savais pas, les espaces.

"j'ai trouvé la formulation un peu bizarre."
c'est à cause de mon accent du sud :D

j'ai trouvé un script qui fait le même genre de chose dans AUR, "yaourt-gui", mais c'est pas fait avec Dialog, et c'est écrit de façon super différente (ce qui prouve qu'il y a plein de chemins pour aller à Rome); c'est lui qui m'a donné l'idée pour la fonction "stats"...

je corrige, et je regarde pour les formulations, et je reviens...

EDIT: ma fille ainée, Bescherelle et Larousse à la main, me fait remarquer que dans "que vous soyez" il n'y a pas de "i" (contrairement à "que vous croyiez"), et que "exécuter" ne prend pas d'accent sur le premier "e"; du coup, je lui ai donné le script pour qu'elle cherche d'autres coquilles...
pour l'anglais, je laisse ce que tu as modifié: tu es plus calé que moi pour ça...

EDIT2 : corrections faites, lien modifié dans le premier post
Powered by myUPB v2.2.7  ·   Creative Commons License PHP Outburst