busybox-1.8.x

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Ich habe hier noch ein diff für diesen Zeilenumbruch bei df.

Code: Alles auswählen

diff -Naur busybox-1.8.2/coreutils/df.c busybox-1.8.2-tuxbox/coreutils/df.c_patch
--- busybox-1.8.2/coreutils/df.c	2007-11-10 02:40:51.000000000 +0100
+++ busybox-1.8.2/coreutils/df.c_patch	2007-12-19 15:10:26.000000000 +0100
@@ -124,7 +124,7 @@
 				}
 			}
 
-			if (printf("\n%-20s" + 1, device) > 20)
+			if (printf("\n%-20s" + 1, device) > 50)
 				    printf("\n%-20s", "");
 #if ENABLE_FEATURE_HUMAN_READABLE
 			printf(" %9s ",
Scheinbar glauben die BB Jungs nicht, dass es auch mal Devicenamen gibt die mehr als 20 Zeichen haben.
50 sollte für die Box reichen...

Es sollte reichen wenn man das Diff an das busybox.diff anhängt.

Gruß
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

klasse :)
ich hätt mir nen wolf gesucht warum de zeilenumbruch da war :)
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

Auch wenn es nervt ! Man sollte ja beide seiten beachten Neutrino & Enigma ! Denn bei Enigma läßt sich in verbindung der neueren Busyboxen nichts mehr mounten per Menü ( cifs etc )! Per Console kein Thema aber nicht per Enigma Mount Menü ! Wie auch schon in den anderen Bus Treads angesprochen ! Hat eventuell jemand mal getestet bzw. hat nen Lösungvorschlag ? Im Neutrino soll es ja gehen aber leider nicht Unter E1 !
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich kenn enigma nicht, aber der slash muss nur umgestellt werden
ich hab mir mal enigma angeguggt
enigma_mount.cpp ab zeile 168 dürfte das sein.

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
						{
							cmd = "mount -t cifs //";
							cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o user=";
							cmd += (mp.userName) ? mp.userName : "anonymous";
							cmd += (mp.password) ? (",pass=" + mp.password) : "";
							cmd += ",unc=//" + ip + "/" + mp.mountDir;
							cmd += (mp.options) ? ("," + mp.options) : "";
						}
bei neutrino hab ich das so

Code: Alles auswählen

else if(fstype == CIFS)
	{
		cmd = "mount -t cifs \\";
		cmd += ip;
		cmd += '/';
		cmd += dir;
		cmd += ' ';
		cmd += local_dir;
		cmd += " -o username=";
		cmd += username;
		cmd += ",password=";
		cmd += password;
		cmd += ",unc=//";
		cmd += ip;
		cmd += '/';
		cmd += dir;
		cmd += ',';
		cmd += options1;
	}
enigma entdröselt :) sollte es so gehen. mal testen bitte, dann kann das wer einchecken.

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
						{
							cmd = "mount -t cifs \\";
							cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o user=";
							cmd += (mp.userName) ? mp.userName : "anonymous";
							cmd += (mp.password) ? (",pass=" + mp.password) : "";
							cmd += ",unc=//" + ip + "/" + mp.mountDir;
							cmd += (mp.options) ? ("," + mp.options) : "";
						}
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

Ich danke dir ! Werde es heue abend mal antesten und bescheid geben !
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

mb405 hat geschrieben:ich kenn enigma nicht, aber der slash muss nur umgestellt werden
ich hab mir mal enigma angeguggt
enigma_mount.cpp ab zeile 168 dürfte das sein.

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
						{
							cmd = "mount -t cifs //";
							cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o user=";
							cmd += (mp.userName) ? mp.userName : "anonymous";
							cmd += (mp.password) ? (",pass=" + mp.password) : "";
							cmd += ",unc=//" + ip + "/" + mp.mountDir;
							cmd += (mp.options) ? ("," + mp.options) : "";
						}
bei neutrino hab ich das so

Code: Alles auswählen

else if(fstype == CIFS)
	{
		cmd = "mount -t cifs \";
		cmd += ip;
		cmd += '/';
		cmd += dir;
		cmd += ' ';
		cmd += local_dir;
		cmd += " -o username=";
		cmd += username;
		cmd += ",password=";
		cmd += password;
		cmd += ",unc=//";
		cmd += ip;
		cmd += '/';
		cmd += dir;
		cmd += ',';
		cmd += options1;
	}
enigma entdröselt :) sollte es so gehen. mal testen bitte, dann kann das wer einchecken.

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
						{
							cmd = "mount -t cifs \";
							cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o user=";
							cmd += (mp.userName) ? mp.userName : "anonymous";
							cmd += (mp.password) ? (",pass=" + mp.password) : "";
							cmd += ",unc=//" + ip + "/" + mp.mountDir;
							cmd += (mp.options) ? ("," + mp.options) : "";
						}
Ne leider geht es damit noch nicht !
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

Versuch das mal so:

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
                  {
                     cmd = "mount -t cifs \\";
                     cmd += ip + "\" + mp.mountDir + " " + mp.localDir + " -o username=";
                     cmd += (mp.userName) ? mp.userName : "anonymous";
                     cmd += (mp.password) ? (",password=" + mp.password) : "";
                     cmd += ",unc=//" + ip + "/" + mp.mountDir;
                     cmd += (mp.options) ? ("," + mp.options) : "";
                  } 
oder so:

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
                  {
                     cmd = "mount -t cifs //";
                     cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o username=";
                     cmd += (mp.userName) ? mp.userName : "anonymous";
                     cmd += (mp.password) ? (",password=" + mp.password) : "";
                     cmd += ",unc=//" + ip + "/" + mp.mountDir;
                     cmd += (mp.options) ? ("," + mp.options) : "";
                  } 
In Neutrino heisst es nämlich username und password nicht user und pass.
Kann bei Enigma eventuell daran liegen.

Gruß
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

Ne leider auch nicht ! Mist ! Siehe unten. Der unterschied sind die beiden // !

Busy 1.2.1
------------
mount -t cifs -o ro,soft,user=geko37,password=xxx,unc=//192.168.1.1/Mp3-Stream //192.168.1.1/Mp3-Stream /mnt/hdd/


Busy 1.8.2
------------
mount -t cifs -o ro,soft,user=geko37,password=xxx,unc=//192.168.1.1/Mp3-Stream 192.168.1.1/Mp3-Stream /mnt/hdd/
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Beitrag von flasher »

Hi

Der Sourcecode macht ja nichts anderes als einzelne Values zu einem String zusammen zu backen.
Wenn jetzt in der BB 1.8.2 das // zu viel ist, dann brauchst Du das doch eigentlich nur aus dem Source zu nehmen.
Die Zeile zerhackt würde dann so aussehen:

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
                  {
                     cmd = "mount -t cifs ";
                     cmd += ip + "/" + mp.mountDir + " " + mp.localDir + " -o user=";
                     cmd += (mp.userName) ? mp.userName : "anonymous";
                     cmd += (mp.password) ? (",password=" + mp.password) : "";
                     cmd += ",unc=//" + ip + "/" + mp.mountDir;
                     cmd += (mp.options) ? ("," + mp.options) : "";
                  }
Das müsste dann so aussehe:

mount -t cifs 192.168.1.1/Mp3-Stream /mnt/hdd/ -o ro,soft,user=geko37,password=xxx,unc=//192.168.1.1/Mp3-Stream

Und hier so wie in Deinem Post...

Code: Alles auswählen

if (fileSystemIsSupported("cifs"))
                  {
                     cmd = "mount -t cifs ";
                     cmd += "-o user=";
                     cmd += (mp.userName) ? mp.userName : "anonymous";
                     cmd += (mp.password) ? (",password=" + mp.password) : "";
                     cmd += ",unc=//" + ip + "/" + mp.mountDir;
                     cmd += (mp.options) ? ("," + mp.options) : " ";
                     cmd += ip + "/" + mp.mountDir + " " + mp.localDir;
                  }
mount -t cifs -o ro,soft,user=geko37,password=xxx,unc=//192.168.1.1/Mp3-Stream 192.168.1.1/Mp3-Stream /mnt/hdd/

Ob es jetzt user= oder username= heissen musst, sollte man noch probieren.

Gruß
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

Leider nein !

/ # mount -t cifs -o ro,soft,user=geko37,password=xxx,unc=//192.168.1.1/Mp3-Stream //192.168.1.1/Mp3-Stream /mnt/hdd/
mount: mounting \\192.168.1.1\Mp3-Stream on /mnt/hdd/ failed: Invalid argument
/ #

--

per console geht nur so !
/ # mount -t cifs -o ro,soft,user=geko37,password=xxx,unc=//192.168.1.1/Mp3-Stream 192.168.1.1/Mp3-Stream /mnt/hdd/



Was macht den dieser part ??

Code: Alles auswählen

void eMountMgr::addMountedFileSystems()
......
...... ab Teile 505
......

			if (mountType.upper() == "CIFS")
			{
				sscanf(mountDev.c_str(), "//%d.%d.%d.%d/%*s", &mp.ip[0], &mp.ip[1], &mp.ip[2], &mp.ip[3]);
				mountDev = mountDev.right(mountDev.length() - 2); //strip off leading slashes
				mp.mountDir = getRight(mountDev, '/');
				mp.localDir = mountOn;
				mp.fstype = 1;
				mp.password = "";
				mp.userName = "";
				mp.automount = 0;
				mp.options = "";
				mp.description = "";
				mp.mounted = true;
				mp.id = -1; //don't care
				addMountPoint(mp);
			}
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

Kann den sich keiner mal erbarmen und dieses mit testen ?? NIcht das der Fehler hier liegt ! Mounten klappt nicht per Webif und auch nicht per Enigma mount !
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

hehe :)
hab grad die 1.9.0 entdeckt auf busybox seite.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Beitrag von dbt »

Habe ich schon gesehen, aber wart erst mal sehen ob 1.9.x auch schon sauber geht :wink:
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

da werden wohl wieder die ganzen makes nich passen denke ich.
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Also ich hab die 1.9.0 am laufen, bis jetzt noch keine Probleme gefunden ...

cu Kroki
ingrid
Erleuchteter
Erleuchteter
Beiträge: 600
Registriert: Samstag 14. Oktober 2006, 10:53

Beitrag von ingrid »

kroki hat geschrieben:Also ich hab die 1.9.0 am laufen, bis jetzt noch keine Probleme gefunden ...
dito
geko37
Einsteiger
Einsteiger
Beiträge: 133
Registriert: Sonntag 6. April 2003, 18:26

Beitrag von geko37 »

kroki hat geschrieben:Also ich hab die 1.9.0 am laufen, bis jetzt noch keine Probleme gefunden ...

cu Kroki
Eventuell auch enigma damit getestet, ob man cifs mounten kann ?? Das ist ja derzeit das haupproblem, in Neutrino wurde es sofort gefixt aber Enigma noch immer nicht !
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

habt ihr den patch für init.c rausgenommen oder portiert?
wofür ist der überhaupt?
ingrid
Erleuchteter
Erleuchteter
Beiträge: 600
Registriert: Samstag 14. Oktober 2006, 10:53

Beitrag von ingrid »

Houdini hat geschrieben:habt ihr den patch für init.c rausgenommen oder portiert?
Ich für meinen Teil hab den portiert.
Houdini hat geschrieben:wofür ist der überhaupt?
Keine Ahnung :oops:, läuft jedenfalls ohne Probleme oder Fehlermeldungen.
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Der Patch für init.c muss portiert werden, sonst gibt es Zombie-Prozesse !

Code: Alles auswählen

diff -Naur busybox-1.9.0/init/init.c busybox-1.9.0-dbox2/init/init.c
--- busybox-1.9.0/init/init.c   2007-12-21 23:00:32.000000000 +0100
+++ busybox-1.9.0-dbox2/init/init.c     2007-12-30 13:20:48.000000000 +0100
@@ -497,10 +497,12 @@
        int status, wpid;

        while (1) {
-               wpid = waitpid(runpid, &status, 0);
-               if (wpid == -1 && errno == EINTR)
+               wpid = wait(&status);
+               if (wpid >0 && wpid != runpid) {
                        continue;
-               break;
+               }
+               if (wpid == runpid)
+                       break;
        }
        return wpid;
 }
Kroki
Zuletzt geändert von kroki am Sonntag 30. Dezember 2007, 20:45, insgesamt 3-mal geändert.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

aber warum gibts das nur bei uns (dbox)?
kroki
Einsteiger
Einsteiger
Beiträge: 166
Registriert: Dienstag 22. Juni 2004, 22:12

Beitrag von kroki »

Kann ich dir auch nicht sagen .... habs nur mal ohne laufen lassen und dann gibt es halt immer Zombies, wenn du auf der dbox Prozesse killst ...

Kroki
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Re: busybox-1.8.x

Beitrag von mb405 »

ich hab mal meinen versuch des diffs hochgeladen hier.
bitte mal gegenchecken mit euren diff. danke
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: busybox-1.8.x

Beitrag von Houdini »

ich habe den init.c patch mal in die bb mailing list eingekippt,
das wurde so erst mal committed :-)