Ankündigung

Einklappen
Keine Ankündigung bisher.

wiregate kleinere Patches

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] wiregate kleinere Patches

    Hi Makki, hi Stefan,
    ein paar Vorschläge für den wiregated:

    * Ignorieren aller Dateien mit Dateinamen #...# und ...~ im Plugin-Directory. Das sind Backups, die bspw. emacs anlegt, die sollen nicht ausgeführt werden. Gleicher Patch für /usr/sbin/wiregated.pl in Zeile 1985 und für /usr/share/webmin/wiregate/edit_plugins.cgi in Zeile 80:

    Code:
    my @plugins = grep !/\/\.\#|\/\#|\#$|\~$/, </etc/wiregate/plugin/generic/*>;
    * Garbage collection aller Einträge in plugin_info, die zu nicht (mehr) existierenden Plugins gehören (habe ich aktuell mit einem eigenen Plugin gelöst, das alle 20min einmal läuft - hier das Plugin

    Code:
    # Garbage Collection
    # Wiregate-Plugin
    # (c) 2012 Fry under the GNU GPL2 or later
    
    my $retval="Deleted: ";
    chdir "/etc/wiregate/plugin/generic";
    my @plugins=<*.pl>; push @plugins, "conf.d";
    my $valid=join "|", map quotemeta, @plugins;
    my @delme=grep !/^($valid)/, keys %plugin_info;
    for my $v (@delme)
    {
        delete $plugin_info{$v};
        $retval.=$v.", ";
    }
    $plugin_info{$plugname.'_cycle'}=1200;
    return $retval;
    Eleganter (und sinnvoll) wäre es, diese Funktionalität im wiregated zu integrieren.

    * In der Tabelle im Webmin, wo man die GAs für iButtons einträgt, sollten in der Kopfzeile nicht nur die Busmaster-Codes, sondern auch deren Namen auftauchen (wie oben auf der gleichen Seite eingetragen): Hier der Patch für zeile 1052 in /usr/share/webmin/wiregate/owsensorconf.cgi:

    Code:
    print "<td> <b>$text{'owsensorconf_tbl_eibga_present_bm'} $conf{$_}{'name'} $_</b></td>\n" unless (!defined $_);
    Grüße,
    Fry

    PS. Ist das Forum der richtige Ort für Patches dieser Art?

    #2
    Zitat von Fry Beitrag anzeigen
    PS. Ist das Forum der richtige Ort für Patches dieser Art?
    Erstmal danke.
    Grundsätzlich ja, Anregungen mit beiliegender Lösung sind mir allemal lieber als Fragen ohne Lösung
    diff -u wäre mir lieber aber hier kein Problem..

    * Ignorieren aller Dateien mit Dateinamen #...# und ...~ im Plugin-Directory.
    ...~wär schon dringewesen, Deine spannende Regexp gefällt mir aber fast besser, das muss ich mir aber nüchtern ohne Osterlamm im Bauch nochmal ansehen, wird denke ich einziehen..

    * Garbage collection aller Einträge in plugin_info, die zu nicht (mehr) existierenden Plugins gehören
    Schwierig, weil wir haben mittlerweile eine Historie.. Mit einem Automatismus könnten Leute auf die Nase fallen, die die (spärliche) Doku/Hinweise nicht gelesen/beherzigt haben; da bin ich gegen einen globalen Automatismus, als Plugin habe ich das so ähnlich übrigens schonmal hier gepinselt..
    (Wo ich mir Plugins auch am liebsten wünsche, da findet kein automagic-update statt, insofern ungefährlich)

    * In der Tabelle im Webmin, wo man die GAs für iButtons einträgt, sollten in der Kopfzeile nicht nur die Busmaster-Codes, sondern auch deren Namen auftauchen (wie oben auf der gleichen Seite eingetragen):
    Hmm, ich mag Nummern, es bloatet halt die ohnehin schon etwas unübersichtliche Anzeige der Sensoren etwas aber da steht eh ein grundlegender rework an; kommt mindestens mit auf die Liste (allerdings zum übernächsten Update, die Liste ist voll )

    Makki
    EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
    -> Bitte KEINE PNs!

    Kommentar


      #3
      Zitat von makki Beitrag anzeigen
      Erstmal danke.
      Grundsätzlich ja, Anregungen mit beiliegender Lösung sind mir allemal lieber als Fragen ohne Lösung
      diff -u wäre mir lieber aber hier kein Problem..
      Ok. Nächstes Mal.

      Zitat von makki Beitrag anzeigen
      ...~wär schon dringewesen,
      Vielleicht ne blöde Frage: wie komme ich in den Genuss der "latest and greatest" Version? Ich habe bisher gedacht, ein Klick auf den "Update"-Button würde reichen, jetzt sehe ich, dass meine wiregated-Version ja offenbar nicht alle existierenden (und funktionierenden) Änderungen einbezieht.

      Deine spannende Regexp gefällt mir aber fast besser, das muss ich mir aber nüchtern ohne Osterlamm im Bauch nochmal ansehen, wird denke ich einziehen..
      Ja, ich hab mir angewöhnt, vieles mit Regexp und Listenfunktionen wie grep und map zu machen - einfach aus der Hoffnung, dass sowas schneller ist als klassische Schleifen. (hab es aber nicht nachgemessen)

      Grüße, Fry

      Kommentar


        #4
        Zitat von Fry Beitrag anzeigen
        Vielleicht ne blöde Frage: wie komme ich in den Genuss der "latest and greatest" Version? Ich habe bisher gedacht, ein Klick auf den "Update"-Button würde reichen, ..
        Das sollte in der Theorie auch richtig sein, das SVN dient hier nur als Revisionierungs-System, daraus sollten möglichste oft aktuelle Versionen als Updates fallen, dieser Zyklus wird mit steigender Anzahl der Punkte auf der Liste und daraus resultierenden Tests nur teils immer länger
        Aktuell sind wir aber gefühlt wieder eher Tage als Monate vor einem Update (wo man dann wieder was weglassen muss, damits irgendwann fertig wird, deswegen oben unverbindlich..)

        Makki
        EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
        -> Bitte KEINE PNs!

        Kommentar


          #5
          Hier ein Update des Plugins "Garbage Collection":

          Code:
          ######################
          # Garbage Collection #
          ######################
          # Wiregate-Plugin
          # (c) 2012 Fry under the GNU Public License
          
          # $plugin_info{$plugname.'_cycle'}=0; return 'deaktiviert';
          
          my $retval='';
          chdir "/etc/wiregate/plugin/generic";
          
          # Cleanup plugin_subscribe
          my @plugins=<*.pl>; 
          my $valid=join "|", map quotemeta, @plugins;
          for my $ga (keys %plugin_subscribe)
          {
             my @delme=grep !/^($valid)/, keys %{$plugin_subscribe{$ga}};
             for my $v (@delme)
             {
                delete $plugin_subscribe{$ga}{$v};
                $retval.=$ga.'->'.$v.', ';
             }
          }
          
          # Cleanup plugin_info
          push @plugins, "conf.d";
          my $valid=join "|", map quotemeta, @plugins;
          my @delme=grep !/^($valid)/, keys %plugin_info;
          for my $v (@delme)
          {
              delete $plugin_info{$v};
              $retval.=$v.', ';
          }
          
          $plugin_info{$plugname.'_cycle'}=1000;
          
          return $retval ? ('Geloescht: '.$retval) : undef;
          VG, Fry

          Kommentar

          Lädt...
          X