Subversion auf Fritzbox

Die Einrichtung eines Repos mit svnadmin create funktionierte auf Anhieb! Danke erstmal für die Binaries.

Der Zugriff über svn://fritz.box/repo klappt auch.

Nun möchte ich svn+ssh://fritz.box/var/media/ftp/uStor01/repo zum Laufen bekommen. Leider vergebens. Der SVN-Client erzählt mir "svn: Network connection closed unexpectedly".

Wenn ich nun auf der Box selbst einfach mal ein "ssh localhost svnserve" absetze, bekomme ich "sh: svnserve: not found". Wenn ich es hier mit dem vollständigen Pfad probiere, findet er svnserve - klar.

Aber warum nicht so? Ich hab nun schon mehrere Dinge probiert:
  • Pfad zu svnserve in PATH aufnehmen durch Eintragung von "export PATH=/var/.../svn:$PATH" in /var/mod/root/.profile
  • Pfad zu svnserve in PATH aufnehmen durch Eintragung von "export PATH=/var/.../svn:$PATH" in /var/tmp/flash/rc.custom
  • Link zu svnserve erzeugen in Verzeichnissen, die im Pfad sind (/mod/usr/bin oder /mod/bin)
Leider alles vergebens. Woran könnte das denn noch liegen? Ich glaube ich seh hier den Wald vor lauter Bäumen nicht mehr...

Achso: Ich hab übrigens diese Binaries genommen.
 
Danach ist im RepostitoryBrowser der Fehler
Code:
Error * Connection closed unexpectedly
Die gleiche Fehlermeldung bekomme ich auch mit SVNkit. Wird wohl die gleiche Ursache sein, dass svnserve nicht im Pfad gefunden wird, wenn man über ssh kommt. Konntest Du das Problem lösen?

Noch eine Anmerkung: Wenn ich mich über ssh auf der Box einlogge und dann svnserve aufrufe wird es natürlich im Pfad gefunden und lässt sich starten.
 
Zuletzt bearbeitet:
Hallo Stefan,

ich habe da gerade mal etwas rum probiert. Wie es mir scheint, ist der FB der Pfad nicht bekannt, wenn man per SSH direkt ein Kommando ausführt. Wenn man sich hingegen eine Shell auf macht, wird der PATH korrekt initialisiert.

Ich habe bei mir die Links auf die Binaries direkt mit in die Firmware einkompiliert. Also einfach im checkout der Freetz-Quellen unter root/usr/bin symlinks angelegen (z.B. svnserve -> /mod/usr/bin/svnserve). Zum bauen brauchen die "wirklichen" bins ja noch nicht da sein. Wenn die FW dann auf der Box ist, kopierst du die bins nur noch in das entsprechende Verzeichnis (also /mod/usr/bin) und es sollte funktionieren.

Eine Lösung ohne das Einkompilieren hab ich leider gerade nicht parat.
 
:nemma: Danke! So funktioniert's jetzt!
 
Hi,

kannst Du mir das bitte nochmal genau erklären, wie das funktioniert, den Symlink anzulegen? Ich soll also
- bei den trunk-files von freetz unter root/usr/bin einen Symlink mit ln -s svnserve mein/pfad/zu/svnserve

anlegen? Und dann mache ich wie gehabt mit "make" mein image file? Und was meinst du damit "Wenn die FW dann auf der Box ist, kopierst du die bins nur noch in das entsprechende Verzeichnis (also /mod/usr/bin) und es sollte funktionieren."

Man soll also die bin files von root/usr/bin dann in mein/pfad/zu/svnserve kopieren?

[Edit frank_m24: Sinnfreies Vollzitat gelöscht. Lies noch mal die Forumregeln.]

EDIT: Sorry mein fehler, bei ln -s muss ja erst das Ziel des Links angegeben werden und dann der "linkname" :)
 
Zuletzt bearbeitet:
Fast richtig, bis auf den letzten Schritt. Unter root/usr/bin liegen ja nicht die Binaries. Dort hast Du lediglich symbolische Links angelegt (ls -l zeigt das an), die nach mein/pfad/zu/svnserve zeigen. Die Binaries müssen unter mein/pfad/zu/svnserve liegen bzw. beim/nach dem Starten der Box (z.B. in debug.cfg) dort hin kopiert werden.
 
Hallo Stefan,
alles klar, jetzt hab ich's verstanden. Nur hab ich beim Erzeugen des Symlinks noch Probleme, wenn ich
ln -s svnserve mein/pfad/zu/svnserve eingebe, kommt immer die Meldung, dass das Verzeichnis nicht vorhanden ist. Muss das denn überhaupt zu diesem Zeitpunkt vorhanden sein? eigentlich ja nicht, es soll ja nur ein link dazu angelegt werden. Testweise habe ich unter /root/mein/pfad/zu/svn/svnserve mal svnserve angelegt, aber bei dem ln Befehl findet er wohl das file nicht.

Kann man diesen Symlink eigentlich nicht bei der laufenden Fritzbox via telnet eintragen?

Gruß
Heiko


[Edit frank_m24: Sinnfreies Vollzitat gelöscht. Lies noch mal die Forumregeln.]
 
Hallo Heiko,

du hast die Argumente von ln vertauscht. Die Syntax ist "ln -s TARGET LINK_NAME".

Grüße
Stefan
 
jetzt habe ich das neue image hochgespielt. Symlink ist auch soweit vorhanden. Nur wie starte ich jetzt den svnserve, bisher habe ich es mit ./svnserve -d -r ./ gestartet, funktioniert soweit auch ohne ssh, also svn://fritz.box/MeinRepository. wenn ich jedoh svn+ssh//... eintrage, kommt "no repository found"

UPDATE: So jetzt habe ich es geschafft... man muss den kompletten Pfad im Tortoise eintragen, wenn man über ssh geht, also so: svn+ssh://fritz.box/var/media/ftp/....
 
Zuletzt bearbeitet:
Also ich habe jetzt das gleiche Problem mit SSH und SVN.
svn://fritz.box/repo funktioniert, jedoch schaffe ich es nicht eine svn over ssh aufzubauen.
Ich habe es 1x via svn+ssh://fritz.box/repo versucht, und 1x via svn+ssh://fritz.box/var/media/...

Ist es wirklich nötig, die bins zu linken? Aktuell habe ich die SVN Bins in den PATH mit aufgenommen (PATH=/sbin:/usr/sbin:/bin:/usr/bin:/var/media/...svn...bin
 
Die Erfahrungen der anderen zeigen, dass es ohne die Links nicht funzt. Man kann die bins natürlich auch direkt mit in die Firmware einkompilieren. Ich habe jedoch die Links bevorzugt, dann kann man die bins auch ohne neu zu kompilieren aktualisieren...

Wo aktualisierst du denn den PATH? Ich denke, es gibt probleme, wenn per svn+ssh die Verbindung aufgebaut wird, dann wird scheinbar kein login-Script aufgerufen und somit der PATH nicht gesetzt.

PS: Du brauchst auf jeden Fall den absoluten Pfad zum Repo (also dein 2. Versuch).
 
Genau an den PATH hänge ich. Ich habe zwar alle Seiten des SVN's gelesen, jedoch dies wahrscheinlich übersehen... :( Naja, dann werde ich schnell mal 'ne paar Symlinks basteln. :groesste:
 
zum Thema selbst kompilieren:

versuche gerade unter openSUSE 11.1 64bit subversion 1.6.3 zu kompilieren, erhalte jedoch folgende Meldung beim make von apr:

Code:
michael@astrapi-pc200:~/projekte/freetz/subversion-1.6.3/apr> make
make[1]: Entering directory `/home/michael/projekte/freetz/subversion-1.6.3/apr'
/bin/sh /home/michael/projekte/freetz/subversion-1.6.3/apr/libtool --silent --mode=compile /home/michael/Desktop/projekte/freetz/7270/toolchain/target/bin/mipsel-linux-uclibc-gcc   -Os -pipe -march=4kc -Wa,--trap -pthread -DHAVE_CONFIG_H -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE   -I./include -I/home/michael/projekte/freetz/subversion-1.6.3/apr/include/arch/unix -I./include/arch/unix -I/home/michael/projekte/freetz/subversion-1.6.3/apr/include/arch/unix -I/home/michael/projekte/freetz/subversion-1.6.3/apr/include  -o passwd/apr_getpass.lo -c passwd/apr_getpass.c && touch passwd/apr_getpass.lo
In file included from ./include/apr_strings.h:53,
                 from passwd/apr_getpass.c:24:
./include/apr_want.h:93: error: redefinition of 'struct iovec'
make[1]: *** [passwd/apr_getpass.lo] Fehler 1
make[1]: Leaving directory `/home/michael/projekte/freetz/subversion-1.6.3/apr'
make: *** [all-recursive] Fehler 1
michael@astrapi-pc200:~/projekte/freetz/subversion-1.6.3/apr>

jemand eine idee?
 
Subversion 1.6.3 binaries

Hi, ich hab es mal eben schnell kompiliert. Ich hatte vor einiger Zeit schonmal rum getüftelt, da war svn 1.6 noch ein RC. Da es ja nun stabil sein sollte und meine configure scripts noch funktionieren, ging das Kompilieren sehr schnell ;-) (bei meinem Schmalband-DSL :mad: sogar schneller wie das Hochladen).

Also hier die:
  • configure scripts (zum basteln, im subversion-x-y-z Ordner entpacken!)
  • svn 1.6.3 static binaries
  • svn 1.6.3 static binaries "stripped" (sind etwas kleiner)

Wichtig die Erste: Ich hab die binaries nicht getestet. Aber ich gehe schwer davon aus, dass die funktionieren :p

Wichtig die Zweite: Unbedingt ein vorhandenes Repo vorher sichern. Wenn ich mich recht erinnere, wird beim ersten Start das Repo aktualisiert und ist danach nicht mehr mit svn 1.5 kompatibel!

PS: Wer die configure scripts verwenden will: Pfade vorher anpassen!

Bitte mal posten, ob es bei euch läuft...
Gutes Gelingen
Markus
 

Anhänge

  • SVNConfigScripts.tar.bz2
    1.3 KB · Aufrufe: 28
  • svn-1.6.3.tar.bz2
    4.3 MB · Aufrufe: 19
  • svn-1.6.3-stripped.tar.bz2
    3.8 MB · Aufrufe: 7
genial, danke, auf den ersten blick läuft es
 
Subversion 1.5.7 und 1.6.4 binaries

Wegen eines Sicherheitsupdates gibt es neue Versionen:
 

Anhänge

  • svn-1.6.4.tar.bz2
    4.3 MB · Aufrufe: 71
  • svn-1.6.4-stripped.tar.bz2
    3.8 MB · Aufrufe: 36
  • svn-1.5.7.tar.bz2
    3 MB · Aufrufe: 13
  • svn-1.5.7-stripped.tar.bz2
    2.6 MB · Aufrufe: 13
super, danke sehr.

könntest daraus mal ein freetz packet (ohne webif) bauen?
 
Jaaa, da sprichst du etwas an... Das hab ich schon versucht, aber das gestaltet sich extrem schwierig. Ich war zwar schon recht weit, aber ich hatte es einfach nicht hin bekommen. Es treten ganz seltsame Fehler auf, die im Zusammenhang mit dem Libtool stehen. Die hab ich teilweise gelöst, aber ich bin nicht sicher, ob ich dabei nicht in eine total falsche Richtung renne ;-)

Leider fehlt mir zudem einiges Hintergrundwissen im Bezug auf Freetz Pakete und die verwendbaren Makros aber auch Abläufe. Und mittlerweile ist es auch schon wieder einige Zeit her. Ich muß mal die derzeitigen Ergebnisse raus suchen und kann sie mal posten...
 
das wäre gut, würd ich mir gern mal anschauen
 
hallo, svn-fans

weiß jemand, wie man folgende module ins neue svnserve hineinintegrieren kann:
- authz_svn: erweiterte authentification (z.B. für gruppen)
- mod_auth_sspi: Anmeldung an einer Windows Domäne

das sind glaub ich apache-module, ich verstehe aber irgedwie nicht ganz, wie svnserve mit apache zusammenhängt.

gruß
 

Statistik des Forums

Themen
246,284
Beiträge
2,249,440
Mitglieder
373,877
Neuestes Mitglied
Bbj
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.