class FlushWriter:
def __init__(self):
- print os.getcwd()
- self.file = open('data/wicd.log','w')
+ if not PIDFile: print os.getcwd()
+ self.file = open('/var/log/wicd.log','w')
self.file.write(self.__getPrettyTime() + ' :: ')
Changement de la location de wicd.log. Pourquoi était-ce un répertoire relatif avant ? Je suppose que c'est parce que l'auteur ne sait pas faire l'equivalent de gcc -DDATADIR=... à l'installation pour python. C'est très compréhensible, je n'ai pas trouvé de doc potable là dessus.
@@ -122,8 +122,8 @@
DoAutoConnect = True
- if len(sys.argv) > 1:
- if sys.argv[1] == "--do-not-scan":
+ for opt in sys.argv[1:]:
+ if opt == "--do-not-scan":
print "--do-not-scan detected, not autoconnecting..."
DoAutoConnect = False
Ne pas obliger --do-not-scan à ne pas être la première option: quel comportement ubuntu-centriste inacceptable !
@@ -766,6 +766,11 @@
## fork from the parent terminal
if True: #for easy disabling
+ for opt in sys.argv[1:]:
+ if opt.startswith('-P'):
+ PIDFile = opt[2:]
+ break
+ else: PIDFile = None
try:
pid = os.fork()
if pid > 0:
Ajout d'une option pour choisir le fichier PID. N'a de sens qu'avec la suite du patch
Puisque tu as déjà fait plein de paquets pour Fedora, je ne t'apprendrais rien si je te dis que c'est la stratégie de la majorité des projets libres: l'auteur fournit le script d'init pour SA distribution. Pour les autres, soit il y a des contributions et l'auteur se fait un plaisir de les intégrer, soit il n'y en a pas et c'est le boulot du packageur.
Je viens également de regarder les sources, et je viens de voir dapper.py et edgy.py. Quoi, me serais-je fourvoyé ? Regardons de plus prêt:
$ head -n 3 dapper.py
########
## DO NOT RUN THIS FILE DIRECTLY
## USE TRAY.PY INSTEAD
$ head -n 3 edgy.py
########
## DO NOT RUN THIS FILE DIRECTLY
## USE TRAY.PY INSTEAD
$ cat tray.py
[coupage d'une partie inintéressante]
import gtk
if gtk.gtk_version[0] >= 2 and gtk.gtk_version[1] >= 10:
import edgy
else:
import dapper
Donc il se trouve que pour l'icone de notification, il gère GTK < 2.10 dans dapper.py et GTK >= 2.10 dans edgy.py. OK, il a fait le crime de lèse majesté de mal nommer deux fichiers. Quelle horreur !
[^] # Re: firefow 3.0 beta 5
Posté par Moonz . En réponse à la dépêche Fedora 9 : une version sulfureuse. Évalué à 6.
> Regarde la page concernant l'installation sur Fedora7
Pour le fun, regardons wicd.redhat.patch:
--- ./opt/wicd/daemon.py.sdg 2007年07月08日 23:56:54.000000000 -0400
+++ ./opt/wicd/daemon.py 2007年09月16日 18:30:30.000000000 -0400
@@ -51,8 +51,8 @@
class FlushWriter:
def __init__(self):
- print os.getcwd()
- self.file = open('data/wicd.log','w')
+ if not PIDFile: print os.getcwd()
+ self.file = open('/var/log/wicd.log','w')
self.file.write(self.__getPrettyTime() + ' :: ')
Changement de la location de wicd.log. Pourquoi était-ce un répertoire relatif avant ? Je suppose que c'est parce que l'auteur ne sait pas faire l'equivalent de gcc -DDATADIR=... à l'installation pour python. C'est très compréhensible, je n'ai pas trouvé de doc potable là dessus.
@@ -122,8 +122,8 @@
DoAutoConnect = True
- if len(sys.argv) > 1:
- if sys.argv[1] == "--do-not-scan":
+ for opt in sys.argv[1:]:
+ if opt == "--do-not-scan":
print "--do-not-scan detected, not autoconnecting..."
DoAutoConnect = False
Ne pas obliger --do-not-scan à ne pas être la première option: quel comportement ubuntu-centriste inacceptable !
@@ -766,6 +766,11 @@
## fork from the parent terminal
if True: #for easy disabling
+ for opt in sys.argv[1:]:
+ if opt.startswith('-P'):
+ PIDFile = opt[2:]
+ break
+ else: PIDFile = None
try:
pid = os.fork()
if pid > 0:
Ajout d'une option pour choisir le fichier PID. N'a de sens qu'avec la suite du patch
@@ -783,7 +788,10 @@
try:
pid = os.fork()
if pid > 0:
- print "wicd daemon: pid " + str(pid)
+ if PIDFile:
+ print >>open(PIDFile,'wt'),str(pid)
+ else:
+ print "wicd daemon: pid " + str(pid)
sys.exit(0)
except OSError, e:
print >>sys.stderr, "fork #2 failed: %d (%s)" % (e.errno, e.strerror)
Ajout de la gestion d'un lock par fichier de PID. Ne pas en avoir est tellement ubuntu-centriste que c'en est gerbant...
--- ./etc/init.d/wicd.sdg 2007年03月30日 09:14:30.000000000 -0400
+++ ./etc/init.d/wicd 2007年09月16日 18:30:53.000000000 -0400
Puisque tu as déjà fait plein de paquets pour Fedora, je ne t'apprendrais rien si je te dis que c'est la stratégie de la majorité des projets libres: l'auteur fournit le script d'init pour SA distribution. Pour les autres, soit il y a des contributions et l'auteur se fait un plaisir de les intégrer, soit il n'y en a pas et c'est le boulot du packageur.
Je viens également de regarder les sources, et je viens de voir dapper.py et edgy.py. Quoi, me serais-je fourvoyé ? Regardons de plus prêt:
$ head -n 3 dapper.py
########
## DO NOT RUN THIS FILE DIRECTLY
## USE TRAY.PY INSTEAD
$ head -n 3 edgy.py
########
## DO NOT RUN THIS FILE DIRECTLY
## USE TRAY.PY INSTEAD
$ cat tray.py
[coupage d'une partie inintéressante]
import gtk
if gtk.gtk_version[0] >= 2 and gtk.gtk_version[1] >= 10:
import edgy
else:
import dapper
Donc il se trouve que pour l'icone de notification, il gère GTK < 2.10 dans dapper.py et GTK >= 2.10 dans edgy.py. OK, il a fait le crime de lèse majesté de mal nommer deux fichiers. Quelle horreur !