[PKGBUILD] rcman
[PKGBUILD] rcman
Mesdames et messieurs,
Par la présente je vous informe de la naissance de rcman.
Le petit est venu au monde ce soir jeudi 10 mai, à 22h23.
Il semble en bonne santé, malgré un accouchement quelque peu difficile sur AUR
Bon, cessons les simagrées.
Je me suis amusé à programmer un petit soft, que j'ai nommé rcman, pour m'entraîner à coder en haskell ; mais voilà, il semble intéresser certaines personnes.
Ce soft permet la gestion des services à lancer au démarrage du PC ; autrement dit, il manipule le tableau DAEMONS du fichier /etc/rc.conf en ajoutant et supprimant des services.
Vous pourrez trouver son PKGBUILD sur AUR :
http://aur.archlinux.org/packages.php?d ... 1&ID=10858
Comme à l'accoutumée, un petit "yaourt -S rcman" vous permettra de l'installer.
Je suis à l'écoute d'absolument toutes vos remarques (constructives ) et idées pour l'amélioration de cet outil !
Bien amicalement,
Tapi
Par la présente je vous informe de la naissance de rcman.
Le petit est venu au monde ce soir jeudi 10 mai, à 22h23.
Il semble en bonne santé, malgré un accouchement quelque peu difficile sur AUR
Bon, cessons les simagrées.
Je me suis amusé à programmer un petit soft, que j'ai nommé rcman, pour m'entraîner à coder en haskell ; mais voilà, il semble intéresser certaines personnes.
Ce soft permet la gestion des services à lancer au démarrage du PC ; autrement dit, il manipule le tableau DAEMONS du fichier /etc/rc.conf en ajoutant et supprimant des services.
Vous pourrez trouver son PKGBUILD sur AUR :
http://aur.archlinux.org/packages.php?d ... 1&ID=10858
Comme à l'accoutumée, un petit "yaourt -S rcman" vous permettra de l'installer.
Je suis à l'écoute d'absolument toutes vos remarques (constructives ) et idées pour l'amélioration de cet outil !
Bien amicalement,
Tapi
- gyo
- Maître du Kyudo
- Messages : 1049
- Inscription : jeu. 19 avr. 2007, 10:40
- Localisation : Nantes (44)
Ok, c'est bien que quelqu'un ait eu (enfin) l'idée de faire un programme de gestion des services... C'est propre et ça marche, cependant ton programme est un peu trop permissif et manque de fonctionnalités :
les trucs qui vont pas :
1) on peut ajouter un service déjà présent
2) on ne peut pas changer le préfix d'un service sans le supprimer et le rajouter avec le bon préfix
3) on peut rajouter un service qui n'existe pas (genre 'dtc' )
les fonctionnalités à rajouter :
1) lister touts les services disponibles
2) mettre des gardes fou pour éviter de mettre le service plusieurs fois
3) pouvoir arrêter/(re)démarrer et voir le statut d'un service dans ce style là :
rcman <service_xy> (start|stop|status|restart)
4) lister les status des services en cours
Pas banal de programmer en haskell . Bonne continuation !
les trucs qui vont pas :
1) on peut ajouter un service déjà présent
2) on ne peut pas changer le préfix d'un service sans le supprimer et le rajouter avec le bon préfix
3) on peut rajouter un service qui n'existe pas (genre 'dtc' )
les fonctionnalités à rajouter :
1) lister touts les services disponibles
2) mettre des gardes fou pour éviter de mettre le service plusieurs fois
3) pouvoir arrêter/(re)démarrer et voir le statut d'un service dans ce style là :
rcman <service_xy> (start|stop|status|restart)
4) lister les status des services en cours
Pas banal de programmer en haskell . Bonne continuation !
- marc[i1]
- Maître du Kyudo
- Messages : 1753
- Inscription : ven. 27 oct. 2006, 10:48
- Localisation : Nantes (44)
Et là encore une fois la team archlinux.fr avais pensé à tout ...
http://bugs.archlinux.fr/
amis archers, profitont des outils offert et remercions le seigneur Warnaud !
http://bugs.archlinux.fr/
amis archers, profitont des outils offert et remercions le seigneur Warnaud !
Ne vous emmerdez plus, emmerdez les autres.
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
C'est pas saigneur ?marc[i1] a écrit :... seigneur Warnaud !
Ouais tapi si tu veux on peut incorporer rcman dans bugs.archlinux.fr pareil pour les autres projets d'ailleurs
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Nouvelle release !
Et voici que, moins de 24h après la version 0.1, sort la version 0.2.
Les changements au programmes sont :
- ajout de la fonctionnalité status qui affiche les services démarrés :
- ajout de la fonctionnalité list qui affiche tous les services installés :
- ajout de la fonctionnalité start/stop/restart (je vais pas vous faire un dessin ) :
En ce qui concerne le caractère trop "permissif" du soft, je n'ai rien modifié.
J'espère les corriger d'ici la prochaine release.
Vraiment, ne vous privez pas pour faire des remarques, ça ne peut que m'aider !
Salutations
Tapi
Et voici que, moins de 24h après la version 0.1, sort la version 0.2.
Les changements au programmes sont :
- ajout de la fonctionnalité status qui affiche les services démarrés :
Code : Tout sélectionner
rcman -S
rcman status
Code : Tout sélectionner
rcman -l
rcman list
Code : Tout sélectionner
rcman start <service>
rcman stop <service>
rcman restart <service>
J'espère les corriger d'ici la prochaine release.
Vraiment, ne vous privez pas pour faire des remarques, ça ne peut que m'aider !
Salutations
Tapi
Dernière modification par Tapi le sam. 12 mai 2007, 02:49, modifié 1 fois.
Histoire de garder un bon rythme, environ 6h30 après la sortie de la 0.2, c'est la 0.3 qui pointe le bout de son nez !
Rassurez-vous, ça va se calmer...
Pas mal d'améliorations sont au programme :
- ajout à la commande status de la possibilité d'afficher le statut d'un service particulier :
- ajout de gardes-fou : il est désormais impossible d'ajouter ou démarrer/arrêter/redémarrer un service qui n'existe pas, d'ajouter un service qui est déjà présent dans la liste, de même que de démarrer un service déjà lancé ou arrêter/redémarrer un service qui ne l'est pas :
- ajout de la commande mod : cette commande permet de changer à la volée les paramètres d'un service (à savoir les préfixes et la position), sans avoir à le supprimer et à le recréer par la suite. Par exemple, si mpd est le 5e service et est lancé en avant-plan, pour le lancer en 8e en arrière-plan, taper :
Le dernier paramètre (la position) est optionnel ; s'il est omis, le service est recréé à la même position.
Ainsi, pour désactiver le service sshd mais le conserver dans la liste, taper :
ou
- ajout de versions courtes des commandes start, stop, restart (et mod) : -U (Up), -D (Down), -R (Restart) et -M (Mod)
- amélioration de la reconnaissance et de la détection des services, ainsi que de la lisibilité et de la modularité du code, pour ceux que ça intéresse...
A titre d'information, voici la page d'aide :
Bien le bonsoir
Tapi
PS: le package est désormais dans sa version 0.3-2 : cela corrige le problème de la dépendance manquante à gmp.
Rassurez-vous, ça va se calmer...
Pas mal d'améliorations sont au programme :
- ajout à la commande status de la possibilité d'afficher le statut d'un service particulier :
Code : Tout sélectionner
$ rcman status mpd
Service "mpd" is running
$ rcman -S samba
Service "samba" is NOT running
$
Code : Tout sélectionner
# rcman add abcdef
Error: can't find service "abcdef"
# rcman add gdm
Error: service "gdm" is already there, at position 11
# rcman start syslog-ng
Error: service "syslog-ng" is already running
# rcman stop samba
Error: service "samba" is not running
#
Code : Tout sélectionner
# rcman mod @mpd 8
Updated service "mpd" : position 8, enabled, in background
#
Ainsi, pour désactiver le service sshd mais le conserver dans la liste, taper :
Code : Tout sélectionner
# rcman mod '!sshd'
Updated service "sshd" : position 7, disabled, in foreground
#
Code : Tout sélectionner
# rcman mod \!gdm
Updated service "gdm" : position 11, disabled, in foreground
#
- amélioration de la reconnaissance et de la détection des services, ainsi que de la lisibilité et de la modularité du code, pour ceux que ça intéresse...
A titre d'information, voici la page d'aide :
Code : Tout sélectionner
rcman version 0.3. Written by Simon Malinge
Licensed under the terms of the GNU GPL : <http://www.gnu.org/licenses/gpl.html>
Usage : rcman [OPTIONS...]
Manages the DAEMONS array in /etc/rc.conf, controls and displays information about services
-U, start SERVICE Start SERVICE
-D, stop SERVICE Stop SERVICE
-R, restart SERVICE Restart SERVICE
-S, status [SERVICE] Show SERVICE status
If SERVICE is not specified, show all running services
-a, add SERVICE [POS] Add SERVICE at position POS in rc.conf
Prefix SERVICE with '@' to start in background
Prefix SERVICE with '!' to disable
If POS is not specified, add at the end of the list
-d, del SERVICE Delete SERVICE from rc.conf
-m, mod SERVICE [POS] Modify SERVICE in rc.conf
Update prefixes and position : same as "-a" for an existing service
-l, list List installed services
-s, show Show the contents of the DAEMONS array in rc.conf
-h Show this help and exit
Bien le bonsoir
Tapi
PS: le package est désormais dans sa version 0.3-2 : cela corrige le problème de la dépendance manquante à gmp.
Dernière modification par Tapi le sam. 12 mai 2007, 18:03, modifié 1 fois.
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
Ouverture du projet dans http://bugs.archlinux.fr => http://bugs.archlinux.fr/index.php?tasks=all&project=4 \o/
@fond @fond !
@fond @fond !
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Juste un petit post pour vous informer de la création du projet rcman sur flyspray (http://bugs.archlinux.fr).
Merci de passer par flyspray si vous découvrez un bug
En ce qui concerne les "feature request", libre à vous de choisir si vous voulez les poster ici ou sur flyspray.
Merci à Warnaud et marc[i1] !
Merci de passer par flyspray si vous découvrez un bug
En ce qui concerne les "feature request", libre à vous de choisir si vous voulez les poster ici ou sur flyspray.
Merci à Warnaud et marc[i1] !
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
De rien, si le post prends de l'ampleur ou que tu le souhaite pour plus de clarté on peut créer une catégorie dans le forum carrément
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Mais mais c'est très bien tous sa!
Je suis sûr que yaourt pourrait avalé rcman, on aurait une sorte de wajig pour arch
http://www.togaware.com/wajig/
Je suis sûr que yaourt pourrait avalé rcman, on aurait une sorte de wajig pour arch
http://www.togaware.com/wajig/
Version 0.3.1 :
Les modifications effectuées sont mineures.
La page d'accueil a été modifiée pour la page projet de flyspray.
Tebo : yaourt est écrit en bash et rcman en haskell, ça demanderait du boulot de les assembler, mais pourquoi pas...
Warnaud : en toute franchise, je serais pas contre l'idée de la catégorie dans le forum... Après, faut voir si rcman branche suffisamment de personnes pour que ça en vaille la peine
Les modifications effectuées sont mineures.
La page d'accueil a été modifiée pour la page projet de flyspray.
Tebo : yaourt est écrit en bash et rcman en haskell, ça demanderait du boulot de les assembler, mais pourquoi pas...
Warnaud : en toute franchise, je serais pas contre l'idée de la catégorie dans le forum... Après, faut voir si rcman branche suffisamment de personnes pour que ça en vaille la peine
- warnaud
- Maître du Kyudo
- Messages : 1640
- Inscription : ven. 11 août 2006, 17:05
- Localisation : Rolle (CH)
Al-1 il te faut ghc
C'est le compilateur haskell.
Code : Tout sélectionner
yaourt -S ghc
Plus ça rate, plus ça a de chance de réussir. En somme, un succès n'est qu'une erreur qui a finit par réussir (même par erreur). Ne déséspérez donc pas et perseverez. Utilisez La Rache™
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Patientia quod lard quod barrus planto diligo ut licentia
—¤÷(`[¤*Powered By *¤]´)÷¤—
Archlinux ~ Fvwm ~ Irssi ~ URxvt
Ah bien, merci warnaud...
J'essaye ....
Edit: Malgré l'install dudit paquet, le probleme retse le meme avec le meme message:
Edit2
Apres l'ajout dans le PKGBUILD de
arch=(athlon)
j'ai ce message :
J'essaye ....
Edit: Malgré l'install dudit paquet, le probleme retse le meme avec le meme message:
Code : Tout sélectionner
==> Building and installing package
==> ERROR: rcman is not available for the 'athlon' architecture.
Note that many packages may need a line added to their ./PKGBUILD
such as arch=('athlon').
Error: Makepkg was unable to build rcman package.
Apres l'ajout dans le PKGBUILD de
arch=(athlon)
j'ai ce message :
Code : Tout sélectionner
FINISHED --14:02:15--
Downloaded: 162,209 bytes in 2 files
Checking md5sum of rcman-i686.gz: OK
==> Compressing man pages...
==> Generating .FILELIST file...
==> Generating .PKGINFO file...
==> Compressing package...
==> Removing installed dependencies...
error: no targets specified (use -h for help)
==> Finished making: rcman (Sun May 13 14:02:16 CEST 2007)
==> Continue installing 'rcman'? [Y/n]
==> ----------------------------------------------
==>
Chargement des données du paquet...
Erreur: l'ajout de la cible './rcman-0.3.1-1-athlon.pkg.tar.gz' (paquet invalide ou corrompu) a échoué
==> WARNING: rcman-0.3.1-1-athlon.pkg.tar.gz will be kept in /tmp/
Bien sur TapiTapi a écrit :Al1: C'est bizarre tout ça...
Peux-tu me donner le résultat des commandes "uname -a", "uname -m" et "cat /proc/cpuinfo" sur ton poste, ainsi que la valeur de la variable CARCH dans /etc/makepkg.conf ?
Merci d'avance
Code : Tout sélectionner
alain ~ $ uname -a
Linux Alain_Arch 2.6.19-ALAIN #3 PREEMPT Sun Apr 8 23:47:28 CEST 2007 i686 AMD Athlon(TM) XP 1800+ AuthenticAMD GNU/Linux
Code : Tout sélectionner
$ uname -m
i686
Code : Tout sélectionner
alain ~ $ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(TM) XP 1800+
stepping : 1
cpu MHz : 1533.530
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow ts
bogomips : 3068.40
Code : Tout sélectionner
# /etc/makepkg.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The FTP/HTTP download utility that makepkg should use to acquire sources
export FTPAGENT="/usr/bin/wget --continue --passive-ftp --tries=3 --waitretry=3 --no-check-certificate"
#export FTPAGENT="/usr/bin/snarf"
#export FTPAGENT="/usr/bin/lftpget -c"
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
export CARCH="athlon"
export CHOST="athlon-pc-linux-gnu"
#-- Exclusive: will only run on i686 or higher (P6, Athlon)
export CFLAGS="-march=athlon -O2 -pipe"
export CXXFLAGS="-march=athlon -O2 -pipe"
#-- Optimized: will run on any x86, but optimized for i686
#export CFLAGS="-mcpu=i686 -O2 -pipe"
#export CXXFLAGS="-mcpu=i686 -O2 -pipe"
#-- Make Flags: change this for DistCC/SMP systems
#export MAKEFLAGS="-j2"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
#-- Fakeroot: for building packages as a non-root user
export USE_FAKEROOT="y"
#-- DistCC: a distributed C/C++/ObjC compiler (modify MAKEFLAGS too)
export DISTCC="n"
#-- A space-delimited list of hosts running in the DistCC cluster
export DISTCC_HOSTS=""
#-- Colorized output messages
export USE_COLOR="y"
#########################################################################
# GLOBAL PACKAGE OPTIONS
#########################################################################
#
#-- Don't strip symbols from binaries/libraries
#export NOSTRIP="1"
#-- Keep doc and info directories
#export KEEPDOCS="1"
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
#-- Destination: specify a fixed directory where all packages will be placed
export PKGDEST=/var/abs/local/public/
#-- Packager: name/email of the person or organization building packages
#export PACKAGER="John Doe <john@doe.com>"
# sourceforge local mirror added by archconfig
export sfmirror=heanet.dl.sourceforge.net
Code : Tout sélectionner
Al1: Ok, je pense avoir trouvé...
Le problème semble venir de ton makepkg.conf, et plus précisément de la variable CARCH.
En fait, tu n'as aucune raison de mettre cette variable à "athlon". C'est même une chose à ne pas faire (le problème qui t'arrive en est la preuve).
La variable CARCH sert à spécifier l'architecture processeur de ton ordinateur. Pour un PC, CARCH peut prendre les valeurs "i686" et "x86_64".
Dans ton cas, c'est "i686". "athlon" n'est que le modèle de ton processeur, et non son architecture.
Tu peux tout à fait optimiser tes options de compilation, mais en aucun cas tu n'es censé modifier CARCH.
Réessaie d'installer rcman avec CARCH à "i686", et dis-moi si ça marche...
Le problème semble venir de ton makepkg.conf, et plus précisément de la variable CARCH.
En fait, tu n'as aucune raison de mettre cette variable à "athlon". C'est même une chose à ne pas faire (le problème qui t'arrive en est la preuve).
La variable CARCH sert à spécifier l'architecture processeur de ton ordinateur. Pour un PC, CARCH peut prendre les valeurs "i686" et "x86_64".
Dans ton cas, c'est "i686". "athlon" n'est que le modèle de ton processeur, et non son architecture.
Tu peux tout à fait optimiser tes options de compilation, mais en aucun cas tu n'es censé modifier CARCH.
Réessaie d'installer rcman avec CARCH à "i686", et dis-moi si ça marche...