cdkVcInfo

Games, Plugins, Utils, Tools, 3rdParty, etc...
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

cdkVcInfo

Beitrag von Barf »

Von http://www.tuxbox.org/forum/viewt ... 1&start=56, neues Thema weil da OT.
GetAway hat geschrieben:Etwas OT, aber ich möchte hier darauf hinweisen das möglicherweise das Tool "cdkVcInfo",
gegen das erweiterte Tool sbimgeinfo von SnowHead ausgetauscht werden sollte, sofern
dieses Tool auch zu den freigegeben Sourcen zählt, die an rhabarber1848 übergeben wurden.
Zu den normalen Imageinfo's zeigt dieses, während des Bootvorgang's, die Netzwerkeinstellungen
mit an. Ich finde es persönlich sehr nützlich.
Ein funktionierendes Programm wird in CVS nicht einfach "ausgetauscht", sondern das alternative Programm wird eingecheckt, und der User (bzw. Imagebauer) kann wählen welche er nimmt.

Es wäre leicht, cdkVcInfo mit zusätzlige Funktionen auzubohren. Nahe liegend wäre ein usergeschriebenes shellskript (falls vorhanden) auszuführen (popen), und stdout auszugeben.

Wahrscheinlich wäre dies sogar schneller und einfacher als GetAways Vorschlag. :wink:
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: cdkVcInfo

Beitrag von GetAway »

Hi, Aufgrund der Tatsache das es wohl keine Quellen zu sbimageinfo gibt, habe
ich mal mit einem Hexeditor reingeschaut. Es handelt sich tatsächlich um eine
Erweiterung von cdkVcInfo. Es wurde nur umbenannt und du hast natürlich Recht,
das es einfacher ist diese erwähnten zusätzlichen Ausgaben mit einzubauen. :wink:
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

Hallo,

es kann bestimmt keiner brauchen ...

Gruss
Zuletzt geändert von Mourice am Sonntag 10. Januar 2010, 22:30, insgesamt 2-mal geändert.
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: cdkVcInfo

Beitrag von Barf »

Danke Mourice, das klärt wohl einiges... :wink:
Mourice hat geschrieben:vielleicht kann es ja jemand brauchen ...
naja...
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: cdkVcInfo

Beitrag von dbt »

Code: Alles auswählen

: release_type == 4 ? "The Greatest"
: release_type == 5 ? "Super Shot"
: release_type == 6 ? "Batman Edition"
:lol:
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

Barf hat geschrieben:Danke Mourice, das klärt wohl einiges... :wink:
Ja bitte ? Muss ich mir etwas vorwerfen ?
Barf hat geschrieben:
Mourice hat geschrieben:vielleicht kann es ja jemand brauchen ...
naja...
Der Text sagt es doch schon ... vieleicht ...

Was spricht dagegen, dass die Experten einen Anfänger-Vorschlag zu einem "Experten-Patch" machen ?

Gruss
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

dbt hat geschrieben:

Code: Alles auswählen

: release_type == 4 ? "The Greatest"
: release_type == 5 ? "Super Shot"
: release_type == 6 ? "Batman Edition"
:lol:
siehste, ich habe das schon logisch aufgebaut.

: release_type == 7 ? "DBT Edition"

wäre dann "Die Beste Thilo"-Edition :D

Gruss
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: cdkVcInfo

Beitrag von dbt »

Nö, ich hab schon meine Editionen, aber ich finds nur lustig wie man auf
Batman
kommt. :wink:
Edit: Mir fällt aber noch eine ein.....
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

dbt hat geschrieben:Nö, ich hab schon meine Editionen, aber ich finds nur lustig wie man auf
Batman
kommt. :wink:
Edit: Mir fällt aber noch eine ein.....
Liegt wohl daran, wie mein Image heisst und welches Start-Bild beim Booten kommt ...

Aber für die DBT-Edition würde ich mir natürlich auch ein entsprechendes Boot-Logo einfallen lassen.
Dass Windows-Teil ist ja nun wirklich nicht der Renner.
Ganz davon abgesehen, dass mit dem Standard-Start-Logo ja nun wirklich alle nur erdenklichen Copyrights verletzt werden.

Gruss
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: cdkVcInfo

Beitrag von dbt »

Ich glaube du verwechselst da irgendwas, mein Bootlogo ist Eigenbau und das hat nix mit Windows zu tun!
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

Ich meine das Standard-Boot-Logo. Ich kenne Dein Image doch garnicht.

Auch die LCD-Boot-Logos von NG zu nehmen ....

Also nicht auf den Schlips getreten fühlen.

Gruss
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: cdkVcInfo

Beitrag von dbt »

Da musst du mal DietmarW fragen wie das mit den Bootlogos ist, im CVS gibts jedenfalls keine, falls du dass meinst.
Und das NG LCD-was du meinst hat nix mit dem zu tun was du denkst, die Logos sind schon so seit über 6 Jahren im CVS und wurden von den Projekt Gründern, wills mal so sagen, "entwickelt". Sollten die woanders vesehentlich namentliche "Verwirrungen" hervorrufen, wäre das etwas unpassend und nicht beabsichtigt.
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

Dann soll es auch gut sein.

War mal wieder einer meiner schwachsinnigen Vorschläge.

Aber das kennt Ihr ja. Nicht böse sein.

Gruss
bazi98
Interessierter
Interessierter
Beiträge: 68
Registriert: Dienstag 24. Juni 2008, 07:21

Re: cdkVcInfo

Beitrag von bazi98 »

Mourice hat geschrieben:Hallo,

es kann bestimmt keiner brauchen ...

Gruss
Doch ich :wink:

Wollte mich heute dran begeben und ..... gelöscht :(

Evtl. bist Du so nett und postet den Inhalt deiner cdkVcInfo.cpp nochmal, finde die Darstellung mit den Netzwerkdaten gut.

Gruss
bazi98
bazi98
Interessierter
Interessierter
Beiträge: 68
Registriert: Dienstag 24. Juni 2008, 07:21

Re: cdkVcInfo

Beitrag von bazi98 »

GetAway hat geschrieben:Hi, Aufgrund der Tatsache das es wohl keine Quellen zu sbimageinfo gibt...
In den tiefen des Internet gefunden.

Code: Alles auswählen

#include "sbimgnfo.h"
#include <string>

#define PACKAGE 	"sbimgnfo"
#define VERSION 	"1.0"

#define char_delay_usec 500

int main(int argc, char *argv[]) 
{  

	switch (fork()) {
		case -1:
			return -1;
	
		case 0:
			break;
	
		default:
			return 0;
	}

	if (setsid() < 0) {
		perror("[sbimgnfo] error setsid");
		return 1;
	}
		
	printf("%s - shows image information on virtual console, v%s\n", argv[0], VERSION);
	printf("\t\tby Wahnfried, fernsehass, ctx, limette, scp\n\n");

	char buf[200] = "";
	char rel[10] = "";
	char imageversion[4] = "";
	char imagesubver[4] = "";
	char jahr[5] = "2005";
	char monat[3] = "01";
	char tag[3] = "31";
	char stunde[3] = "16";
	char minute[3] = "00";
	char ersteller[20] = "keine Angabe";
	char adresse[20] = "127.0.0.1";
	char broadcast[20] = "127.0.0.1";
	char gateway[20] = "127.0.0.1";
	char netmask[20] = "127.0.0.1";
	char nameserver[20] = "127.0.0.1";
	char gui[20] = "Neutrino";
	int ch;
	int m = 0;
	FILE *out;
	FILE *fb;
	FILE *conf;
	
			FILE* fv = fopen(".version", "r");
			if(fv) 
				{
				while(fgets(buf, 120, fv)!=NULL) 
					{
					sscanf(buf, "version=%1s%1s%2s%4s%2s%2s%2s%2s", (char *) &rel,&imageversion,&imagesubver,&jahr,&monat,&tag,&stunde,&minute);
					sscanf(buf, "comment=Erstellt von %s"	, (char *) &ersteller);
					}
				fclose(fv);
				}
			
			FILE* fn = fopen("/var/etc/network/interfaces", "r");
			if(fn) 
				{
				while(fgets(buf, 120, fn)!=NULL) 
					{
					sscanf(buf, "address %s"				, (char *) &adresse);
					sscanf(buf, "broadcast %s"				, (char *) &broadcast);
					sscanf(buf, "gateway %s"				, (char *) &gateway);
					sscanf(buf, "netmask %s"				, (char *) &netmask);
					}
				fclose(fn);
				}
				
			FILE* fr = fopen("/var/etc/resolv.conf", "r");
			if(fr) 
				{
				while(fgets(buf, 120, fr)!=NULL) 
					{
					sscanf(buf, "nameserver %s"				, (char *) &nameserver);
					}
				fclose(fr);
				}
				
			if (strcmp(rel, "0") == 0)
					{
					sprintf(rel,"Release");
					}
					
			if (strcmp(rel, "1") == 0)
					{
					sprintf(rel,"Intern");
					}
			
			if (strcmp(rel, "2") == 0)
					{
					sprintf(rel,"Test");
					}
			

			out = fopen("/var/tmp/test.info", "w");
			fprintf(out, "\n\n\n\n\n\n\n\t\t\t-------- Image Infos --------\n\n");
			fprintf(out, "\t\t\t      Image Version : %s.%s\n", imageversion,imagesubver);
			fprintf(out, "\t\t\t      Image Typ     : %s\n", rel);
			fprintf(out, "\t\t\t  Erstelldatum      : %s.%s.%s\n", tag,monat,jahr);
			fprintf(out, "\t\t\t  Erstelluhrzeit    : %s:%s\n", stunde,minute);
			fprintf(out, "\t\t\t  Erstellt von      : %s\n", ersteller);
			fprintf(out, "\n\t\t\t  Die Netzwerkeinstellungen sind:\n");
			fprintf(out, "\t\t\t  IP Adresse        : %s\n", adresse);
			fprintf(out, "\t\t\t  Netzmaske         : %s\n", netmask);
			fprintf(out, "\t\t\t  Broadcast         : %s\n", broadcast);
			fprintf(out, "\t\t\t  Gateway           : %s\n", gateway);
			fprintf(out, "\t\t\t  Nameserver        : %s\n", nameserver);
			fprintf(out, "\n\n\t\t\t\tLade %s......", gui);
			fclose (out);

	if((fb = fopen( "/dev/vc/1", "w" )) != NULL ) 
		{
		if((conf = fopen( "/var/tmp/test.info", "r" )) == NULL )
			{									// dann
			fprintf(fb, "\n\n\n\n\n\n\n\t\t\tKeine Image Info gefunden!\n");	//gebe aus
			}
		else 										//ansonsten
			{
			ch = fgetc(conf);							//hole zeichen aus der config
			while(!feof(conf))  							//frage ob dateiende da ist ??
				{
				while (m<8)
				{
		 	   	fputc(ch, fb);							//schreibe zeichen in /dev/vc/1
		    		ch = fgetc(conf);						//hole zeichen aus der config
		    		fflush(fb);							//speichere in datei /dev/vc/1
		    		m = m + 1;
				}
				m = 0;
				usleep(char_delay_usec * 8);							//pause 4000 millionstel sek.
				}
			fclose(conf);			
			}
		fclose(fb);									//schliesse /dev/vc/1
		system("rm /var/tmp/test.info");
		}
	return 0;
}

Code: Alles auswählen

#include <errno.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
Jedoch unterscheidet sich der Aufbau dieser Ur-Version doch erheblich vom Aufbau der im cvs vorhanden cdkvcinfo.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: cdkVcInfo

Beitrag von GetAway »

Ich habe per Mail bei rich angefragt, ob er die Quellen zum modifizierten cdkvcinfo,
das im KW läuft, zur weiteren Benutzung freigibt. Ich habe die Quellen bekommen
und werde sie noch ein wenig überarbeiten. Besteht Interesse an einer Ausgabe
wahlweise in englisch oder deutsch, dann würde ich mich daran mal versuchen?
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: cdkVcInfo

Beitrag von rhabarber1848 »

Kleiner feature request:
Schnellere Bildschirmausgabe ohne sichtbare Verzögerung - gerne optional - cdkVcInfo ist mir zu langsam.
bazi98
Interessierter
Interessierter
Beiträge: 68
Registriert: Dienstag 24. Juni 2008, 07:21

Re: cdkVcInfo

Beitrag von bazi98 »

GetAway hat geschrieben:Ich habe per Mail bei rich angefragt, ob er die Quellen zum modifizierten cdkvcinfo,
das im KW läuft, zur weiteren Benutzung freigibt. Ich habe die Quellen bekommen
und werde sie noch ein wenig überarbeiten. Besteht Interesse an einer Ausgabe
wahlweise in englisch oder deutsch, dann würde ich mich daran mal versuchen?
Da ich gerne diese zusätzlichen Anzeigen haben würde, besteht von meiner Seite natürlich Interesse, für mich ist es primär nicht wichtig das Ich die Anzeige auch in Englisch haben kann.

Will nur selber bauen können und weg vom "Klauen"

Danke und Gruss
bazi98
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: cdkVcInfo

Beitrag von Barf »

Hier gibt es möglicherweise ein Klärungsbedarf. Ein Gerücht war entstanden, dass es irgendwelche "super-cdkvcinfo" geben sollte. Indem Mourice die Quellen gepostet hat, hat sich diese Frage geklärt: Es handelt sich um eine ganz trivale (am mindestens für ein Programmierer) Erweiterung des cdkVcInfo.cpp. Dafür habe ich ihm gedankt. Dass dies ein schlechtes Gewissen bei ihm ausgelöst hat, muss ich nicht kommentieren.

Dann zu bazi98s Archeologiefund: Das Programm hat eine Zeit in binary-only Form mit geheime Quellen ("nonpublic") zirkuliert. Dann hat PT-1 die quelle gefunden. Ich habe die (IMHO recht schlechte) Code umgeschrieben und eingecheckt. Und sehe da: Der Fund seht wirklich so aus, als wurde er von den nicht umgeschrieben Code abstammen!! :lol: Eine Datei zu erzeugen (/var/tmp/test.info), wieder einzulesen, und danach (mit system("rm ...")!!) wieder zu löschen -- das ist dilettantisch! :cry:

Inhaltlich: Beim Booten ist nicht die richtige Zeitpunkt, diverse Information über den Image dem User mitzuteilen. IMHO gibt es zwei umsetzbare Vorschläge hier:
rhabarber1848 hat geschrieben:Schnellere Bildschirmausgabe ohne sichtbare Verzögerung - gerne optional - cdkVcInfo ist mir zu langsam.
z.B.die Verzögerung als Kommandozeilenparameter,
Barf hat geschrieben:Nahe liegend wäre ein usergeschriebenes shellskript (falls vorhanden) auszuführen (popen), und stdout auszugeben.
Dadurch kann der Benutzer (auch in fertigen Image) selbst das Verhältniss vervollständigen, und seine eigene Information (oder Grüße, oder...) ausgeben nach eigenes Geschmack.
Mourice

Re: cdkVcInfo

Beitrag von Mourice »

Barf hat geschrieben:Hier gibt es möglicherweise ein Klärungsbedarf. Ein Gerücht war entstanden, dass es irgendwelche "super-cdkvcinfo" geben sollte. Indem Mourice die Quellen gepostet hat, hat sich diese Frage geklärt: Es handelt sich um eine ganz trivale (am mindestens für ein Programmierer) Erweiterung des cdkVcInfo.cpp. Dafür habe ich ihm gedankt. Dass dies ein schlechtes Gewissen bei ihm ausgelöst hat, muss ich nicht kommentieren.

Dann zu bazi98s Archeologiefund: Das Programm hat eine Zeit in binary-only Form mit geheime Quellen ("nonpublic") zirkuliert. Dann hat PT-1 die quelle gefunden. Ich habe die (IMHO recht schlechte) Code umgeschrieben und eingecheckt. Und sehe da: Der Fund seht wirklich so aus, als wurde er von den nicht umgeschrieben Code abstammen!! :lol: Eine Datei zu erzeugen (/var/tmp/test.info), wieder einzulesen, und danach (mit system("rm ...")!!) wieder zu löschen -- das ist dilettantisch! :cry:

Inhaltlich: Beim Booten ist nicht die richtige Zeitpunkt, diverse Information über den Image dem User mitzuteilen. IMHO gibt es zwei umsetzbare Vorschläge hier:
rhabarber1848 hat geschrieben:Schnellere Bildschirmausgabe ohne sichtbare Verzögerung - gerne optional - cdkVcInfo ist mir zu langsam.
z.B.die Verzögerung als Kommandozeilenparameter,
Barf hat geschrieben:Nahe liegend wäre ein usergeschriebenes shellskript (falls vorhanden) auszuführen (popen), und stdout auszugeben.
Dadurch kann der Benutzer (auch in fertigen Image) selbst das Verhältniss vervollständigen, und seine eigene Information (oder Grüße, oder...) ausgeben nach eigenes Geschmack.
Hi,

für diesen überheblichen Schwachsinn mache ich mir nicht die Mühe, richtig zu zitieren.

Nicht mein "schlechtes" Gewissen hat mich dazu gebracht, mein "eigenes" geistiges Eigentum wieder zu löschen.

Sondern die Einstellung gewisser selbsternannter "Über-Götter".

MfG

PS.: @Barf: Sollte das "ursprüngliche" cdkVcInfo.cpp tatsächlich von Dir stammen .... dann hast Du noch viel zu lernen
trulli

Re: cdkVcInfo

Beitrag von trulli »

@Mourice

Mach Dir nichts daraus.

...edit:
Text gelöscht, wegen Wiederholung solcher Aktionen, Verwarnung erteilt.
mfg. Admin
Zuletzt geändert von dbt am Mittwoch 13. Januar 2010, 09:52, insgesamt 2-mal geändert.
Grund: Text wegen beleidigender Äußerungen entfernt
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: cdkVcInfo

Beitrag von seife »

Barf hat geschrieben:Eine Datei zu erzeugen (/var/tmp/test.info), wieder einzulesen, und danach (mit system("rm ...")!!) wieder zu löschen
Ja, das hat mich doch auch ungläubig den Kopf schütteln lassen... ;)

...und meinen Vorurteile gegenüber "closed Source" wieder mal bestätigt...

=> Code, der taugt, den kann man auch zeigen. Es gibt nur einen Grund, Code nicht zu veröffentlichen, und das ist dann, wenn er zu schlecht / peinlich ist.
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: cdkVcInfo

Beitrag von PT-1 »

Barf hat geschrieben:Dann hat PT-1 die quelle gefunden.
Habe die Links mal angepasst ;-)
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: cdkVcInfo

Beitrag von GetAway »

GetAway hat geschrieben:Ich habe per Mail bei rich angefragt, ob er die Quellen zum modifizierten cdkvcinfo,
das im KW läuft, zur weiteren Benutzung freigibt. Ich habe die Quellen bekommen
und werde sie noch ein wenig überarbeiten. Besteht Interesse an einer Ausgabe
wahlweise in englisch oder deutsch, dann würde ich mich daran mal versuchen?
Wie gesagt habe ich die Sourcen noch eine wenig überarbeitet.
Dabei ist dann folgendes raus gekommen:

Code: Alles auswählen

/var # cdkVcInfo -h
cdkVcInfo - bootinfo on screen, v1.6
Usage: cdkVcInfo [-d n] [-g] [-n name] [-h]

Possible options:
        -h              print this usage information
        -g              print bootinfo in german
        -d n            delay in microseconds >500 (e.g. -d 2000)
        -n name         special output (e.g. -d Neutrino)

Code: Alles auswählen

                   ---------- Image Information ----------

                    Image Version   : 1.0.0
                    Image Typ       : Release

                    Datum           : 07.01.2010
                    Uhrzeit         : 15:00
                    Erstellt von    : GetAway-Yadd
                    Image Name      : -- unbekannt --
                    Homepage        : http://www.yxz.com

                    -------- Netzwerkeinstellungen --------

                    Netzwerk Status : aktiviert
                    DHCP Status     : deaktiviert

                    IP Adresse      : 192.168.178.5
                    Netzmaske       : 255.255.255.0
                    Broadcast       : 192.168.178.255
                    Gateway         : 192.168.178.1
                    Nameserver      : 192.168.178.1


                                Lade System ....
Viel Spaß damit!
Danke auch nochmal an rich.

Edit: Achso, eventuell muss noch folgendes wieder rein, für Leute die mit gcc 4.3.2 kompilieren

Code: Alles auswählen

#include <string.h>
#include <stdlib.h>
Erledigt:
edit2:
Patch nochmals aktualisiert: advanced_cdkVcInfo.diff
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: cdkVcInfo

Beitrag von rhabarber1848 »

GetAway hat geschrieben:

Code: Alles auswählen

/var # cdkVcInfo -h
cdkVcInfo - bootinfo on screen, v1.6
Kleiner Verbesserungsvorschlag zur Versionsnummer, kopiert aus dvbsub:

Code: Alles auswählen

--- apps/tuxbox/tools/cdkVcInfo/cdkVcInfo.cpp       2010-01-17 22:12:04.000000000 +0100
+++ apps/tuxbox/tools/cdkVcInfo/cdkVcInfo.cpp 2010-01-17 22:14:19.000000000 +0100
@@ -24,7 +24,6 @@
 #include <string.h>
 #include <stdlib.h>

-#define VER "1.6"
 #define CONSOLE        "/dev/vc/0"
 #define VERSION_FILE "/.version"
 #define INTERFACES_FILE "/var/etc/network/interfaces"
@@ -101,6 +100,8 @@
        char nameserver[BUFFERSIZE];
        char gateway[BUFFERSIZE];
        char null[BUFFERSIZE] = "";
+       char cvs_revision[] = "$Revision: $";
+       sscanf(cvs_revision, "%*s %s", versioninfo);

        while ((opt = getopt(argc, argv, "hgd:n:")) != -1)
        {
@@ -109,7 +110,7 @@
                        case 'h':
                                        if (argc < 3)
                                        {
-                                       printf("cdkVcInfo - bootinfo on screen, v%s\n", VER);
+                                       printf("cdkVcInfo - bootinfo on screen, v%s\n", versioninfo);
                                        printf("Usage: cdkVcInfo [-d n] [-g] [-n name] [-h]\n");
                                        printf("\nPossible options:\n");
                                        printf("\t-h\t\tprint this usage information\n");
Das wird im Yadd und jffs2-only-Images nicht funktionieren:

Code: Alles auswählen

+#define INTERFACES_FILE "/var/etc/network/interfaces"
+#define NAMENSSERVER_FILE "/var/etc/resolv.conf"
Einfach "/var" weglassen, in /etc liegen links.