HTTP Tunnel Server (hts) für Freetz

Ok, vielen Dank für die tollen Infos!

Also, ich fange mal ganz langsam an und zitiere hier aus dem von Euch o.g. Verzeichnis "empty", welches ich in "hts" umbenannt habe, also "~/freetz-trunk/make/hts" (auch für meine eigene Doku - ich hoffe, das ist ok):

Code:
slightly@StinkyLinux:~/freetz-trunk/make/hts$ ls -al
insgesamt 20K
drwxr-xr-x   2 slightly slightly 4,0K 2008-06-08 20:14 .
drwxr-xr-x 101 slightly slightly 4,0K 2008-06-07 20:04 ..
-rw-r--r--   1 slightly slightly  156 2008-06-07 20:07 Config.in
-rw-r--r--   1 slightly slightly  685 2008-06-07 20:10 hts.mk
-rw-r--r--   1 slightly slightly   60 2008-06-07 20:10 Makefile.in
Code:
slightly@StinkyLinux:~/freetz-trunk/make/hts$ cat Config.in
config FREETZ_PACKAGE_HTS
        bool "hts 3.0.5"
        select FREETZ_LIB_libutil
        default n
        help
                hts is an utility that provides an HTTS tunnel server on your box.
Code:
slightly@StinkyLinux:~/freetz-trunk/make/hts$ cat hts.mk
$(call PKG_INIT_BIN, 0.6.15b)
$(PKG)_SOURCE:=hts-$($(PKG)_VERSION).tgz
$(PKG)_SITE:=http://www.nocrew.org/software/httptunnel.html
$(PKG)_BINARY:=$($(PKG)_DIR)/hts
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/hts


$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
        PATH="$(TARGET_PATH)" \
                $(MAKE) -C $(HTS_DIR) \
                CC="$(TARGET_CC)" \
                CFLAGS="$(TARGET_CFLAGS)"

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
        $(INSTALL_BINARY_STRIP)

$(pkg):

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
        -$(MAKE) -C $(HTS_DIR) clean
        $(RM) $(HTS_DIR)/.configured

$(pkg)-uninstall:
        $(RM) $(HTS_TARGET_BINARY)

$(PKG_FINISH)
Code:
slightly@StinkyLinux:~/freetz-trunk/make/hts$ cat Makefile.in
ifeq ($(strip $(FREETZ_PACKAGE_HTS)),y)
PACKAGES+=hts
endif
EDIT:
Das Verzeichnis .snv habe ich gelöscht. Danke für den Hinweis!
 
Zuletzt bearbeitet:
Und was willst du mit "empty" machen? Vor allem aber kann diese Files jeder selber begutachten in seinen Verzeichnissen.
 
Was mache ich mit den Dateien in .svn?

Z.B. all-wcprops:
Code:
K 25
svn:wc:ra_dav:version-url
V 31
/!svn/ver/2113/trunk/make/empty
END
Makefile.in
K 25
svn:wc:ra_dav:version-url
V 43
/!svn/ver/1994/trunk/make/empty/Makefile.in
END
empty.mk
K 25
svn:wc:ra_dav:version-url
V 40
/!svn/ver/2113/trunk/make/empty/empty.mk
END
Config.in
K 25
svn:wc:ra_dav:version-url
V 41
/!svn/ver/1994/trunk/make/empty/Config.in
END

Ich kann alle "empty" in "hts" umbenennen, aber was ist mit den Zahlen (V31, K25, V43 etc.)?
Und was mache ich mit den Versionsnummern (1994, 2113)?
 
Das .svn Verzeichnis darfst du nicht mit kopieren.

MfG Oliver
 
Hast du eigentlich gelesen, dass "empty" durchaus ein PAckage ist und du diueses erst kopieren solltest?

Die .svn-Dateien lässt du schön weg, löscht sie, wenn welche beim Kopieren mitgekommen sind.

edit: Oliver war schneller
 
Nun, .svn liegt in "empty", und wenn ich "empty" kopiere, kopiere ich "empty/.svn" ja mit.
Oder hattest Du geschrieben, dass ich ".svn" nicht mitkopieren sollte? Nein.
Aber gut, nun habe ich es gelöscht. Danke für den Hinweis!
 
Im Verzeichnis .svn liegen Dateien, die zum SVN (zum Versionsverwaltungssystem) gehören.

Diese sollte man im Normalfall nicht von Hand ändern, und auch nicht umbenennen oder kopieren. Oder eben, wenn man sie der Einfachheit halber mit kopiert hat, nachher die Kopie löschen.
 
Und nicht zu vergessen, dass das .svn-Verzeichnis in jedem Unterverzeichnis davon erneu vorhanden ist. Diese bitte auch löschen.
 
Ok, siehe Beitrag #21, wo ich nun alle "empty" gegen "hts" ausgetauscht und das Unterverzeichnis ".svn" gelöscht habe.
Und wie teste ich das nun weiter? Wo packe ich den Sourcecode hin? Direkt nach "/make/hts/"?
Ich habe mir mal "wget" angeschaut, aber daraus werde ich nicht schlau, wo denn die sourcen hinkommen müssen.
 
Zuletzt bearbeitet:
Das einfachste ist, dir ein Sourcecodepaket zu stricken, dass so heisst, die die Macros es erwarten. (Das sieht man wieder beim "empty"-Paekt ganz gut) und dieses nach ./dl/ zu packen vorerst.
 
Ok, manuell hatte ich ja das binary "hts" aus den sourcen bauen können.
Aber wie baue ich mir ein Sourcecodepaket? "make sources" o.ä.?
Sorry, ich bin wirklich Anfänger...
icon11.gif
lerne aber mit diesem Projekt wirklich gerne dazu.
Daher mein aufrichtiger Dank für Deine/Eure Hilfe!
icon14.gif


PS:
Ich schaue jetzt das EM-Spiel an und melde mich morgen Abend wieder!
Viel Spass, falls Ihr auch schaut!
 
Wo hast du denn die sourcen her, die du gerade kompilierst? die kommen doch normalerweise schon gepackt
 
Im Prinzip gibst Du dir URL des Source-Pakets (was ja normalerweise ein .tar.gz o.ä ist) vom Original-Server ins Makefile ein. Bei empty war da ja auch sowas. Dann wird das automatisch runtergeladen und entpackt.
 
Sourcen? Siehe meine Beiträge #1 und #29 bzw. hier.
Ich wusste nicht, dass ich das Source-Paket vom Server dort direkt ins "make" Verzeichnis kopieren kann. War's das denn schon?

Im Beitrag #21 hatte ich ja bereits die Datei "hts.mk" dargestellt, wo auch ein Link (habe ich dem "empty" Beispielpaket entnommen) zum Server mit den sourcen enthalten ist. Aber lädt die Routine denn die Sourcen so überhaupt korrekt vom Server? Dafür gibt es doch sicherlich eine bestimmte Syntax, die ich leider nicht kenne.

So wird es sicherlich nicht funktionieren...
Aber was muss ich anpassen? Nur den Link? Oder auch die Extension?

Code:
slightly@StinkyLinux:~/freetz-trunk/make/hts$ cat [COLOR=Red][B]hts.mk[/B][/COLOR]
$(call PKG_INIT_BIN, 0.6.15b)
$(PKG)_SOURCE:=hts-$($(PKG)_VERSION).tgz[COLOR=Red][B]
$(PKG)_SITE:=http://www.nocrew.org/software/httptunnel.html[/B][/COLOR]
$(PKG)_BINARY:=$($(PKG)_DIR)/hts
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/bin/hts


$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_NOP)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
        PATH="$(TARGET_PATH)" \
                $(MAKE) -C $(HTS_DIR) \
                CC="$(TARGET_CC)" \
                CFLAGS="$(TARGET_CFLAGS)"

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
        $(INSTALL_BINARY_STRIP)

$(pkg):

$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)

$(pkg)-clean:
        -$(MAKE) -C $(HTS_DIR) clean
        $(RM) $(HTS_DIR)/.configured

$(pkg)-uninstall:
        $(RM) $(HTS_TARGET_BINARY)

$(PKG_FINISH)
 
Zuletzt bearbeitet:
Du sollst die Quellen nicht ins make-Verzeichnis kopieren, sonder wenn überhaupt ins Verzeichnis dl.

Der Link, den Du bei SITE eingetragen hast, zeigt auf eine HTML-Seite. Das bringt den Computer nicht weiter.

Wenn die Sourcen unter
http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz liegen, gehört http://www.nocrew.org/software/httptunnel nach SITE und httptunnel-3.0.5.tar.gz nach SOURCE.
Konkret ist $($(PKG)_SITE)/$($(PKG)_SOURCE) die Download-URL. Von dieser Adresse wird die Datei automatisch geladen, wenn sie noch nicht vorhanden ist.
Außerdem die Versionsnummer VERSION=3.0.5.

Also:
Code:
$(call PKG_INIT_BIN, [B]3.0.5[/B])
$(PKG)_SOURCE:=[B]httptunnel[/B]-$($(PKG)_VERSION).[B]tar.gz[/B]
$(PKG)_SITE:=[B]http://www.nocrew.org/software/httptunnel[/B]

Und in der Datei make/README.Makefiles gibt es eine kurze Beschreibung.
 
Zuletzt bearbeitet:
Super, vielen Dank, Ralf! Heute Abend mache ich mich dran, teste den DL und stelle das Resultat dann für andere zum Nachvollziehen und Testen hier rein.

PS + leicht OT:
Klar, alles nach "dl" - wie auch bei allen anderen Paketen.
Wie kann man eigentlich mit Linux-Bordmitteln das Verzeichnis "dl" so aufräumen, dass von allen Paketen jeweils nur die in "dl" neuste, vorhandene Version behalten und der Rest gelöscht wird?
Oder räumt Ihr das von Zeit zu Zeit manuell auf?
 
Prinzipiell kann man das dl Verzeichnis komplett löschen, sofern es die benötigten Dateien noch zum Download gibt. Diese werden dann bei Bedarf wieder geladen.

Man kann sicher auch ein Skript erstellen, das nach ähnlichen Namen sucht.

Eine andere Möglichkeit ist, das Verzeichnis source zu löschen und danach make aufzurufen. Damit werden alle Dateien neu ausgepackt und erstellt. Dann kann man die Dateien nach dem letzten Zugriff sortieren "ls -ut dl". Am Ende stehen die Dateien, die am längsten nicht mehr gelesen wurden. Diese kann man dann löschen. Die Dateien könnten aber auch noch aktuell sein und nur in der aktuellen Konfiguration nicht verwendet.

Das einfachste ist vermutlich, es manuell zu machen.
 
Danke, Ralf, sehe ich eigentlich auch so. Denn schon das manuelle Löschen hat mir gezeigt, dass das Datum einer Datei alleine nicht reicht. Man muss auch den Namen bzw. die Versionsnummer im Namen genau anschauen und kann sich selbst dabei vertun.
Mit einer hinreichend dicken DL-Leitung sollte es auch (fast) egal sein, wenn man alle paar Wochen zum Aufräumen noch einmal alles frisch herunterlädt.

Und heute Abend komme ich wie versprochen wieder zurück zum eigentlichen Thema hier...
 
Man könnte sie genausogut einfach liegen lassen, so wie ich das tue. Die paar Megabyte fressen kein Brot bei den heuten GB-Preisen und den diversen svn checkouts, die sich bei mir im home tummeln...
 
Wenn die Sourcen unter
http://www.nocrew.org/software/httptunnel/httptunnel-3.0.5.tar.gz liegen, gehört http://www.nocrew.org/software/httptunnel nach SITE und httptunnel-3.0.5.tar.gz nach SOURCE.
Konkret ist $($(PKG)_SITE)/$($(PKG)_SOURCE) die Download-URL. Von dieser Adresse wird die Datei automatisch geladen, wenn sie noch nicht vorhanden ist.
Außerdem die Versionsnummer VERSION=3.0.5.

Also:
Code:
$(call PKG_INIT_BIN, [B]3.0.5[/B])
$(PKG)_SOURCE:=[B]httptunnel[/B]-$($(PKG)_VERSION).[B]tar.gz[/B]
$(PKG)_SITE:=[URL="http://www.nocrew.org/software/httptunnel"][B]http://www.nocrew.org/software/httptunnel[/B][/URL]
Und in der Datei make/README.Makefiles gibt es eine kurze Beschreibung.
Muss es dann nicht so lauten?
Code:
 $(PKG)_SOURCE:=[B]httptunnel[/B]-$($(PKG)_[COLOR=Red][B]3.0.5[/B][/COLOR]).[B]tar.gz[/B]
Oder warum schreibst Du oben "VERSION=3.0.5"?
Oder muss ich VERSION noch irgendwo definieren?

In der Datei "make/README.Makefiles" steht:
Code:
To use the convenience macros, you need some more defines:
# initialize package macros, ether BINary or LIBrary.
#   $(1) = version (mandatory)
Soll ich also $(1) = 3.0.5 reinschreiben? Am Anfang von hts.mk?

Und woher weiß make jetzt von meinem "hts"?
Wenn ich "make menuconfig" aufrufe, erscheint es ja nirgendwo.
Wie teile ich dem ganzen Paket mit, wo "hts" auswählbar wird? (z.B. unter "testing")

Wie kann ich alleine das "hts" Paket testen, also dessen Erstellung/Einbindung in die FW?
 
Zuletzt bearbeitet:
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.