• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

[DEV] .cab-Dateien für PocketPC erstellen

greiol

Geoguru
für das CAB musst du noch
a) cabarc von MS runterladen und in deinem pfad unterbringen
b) build.cab=true setzen - geht in eclipse über die run/debug settings / properties
wenn wir das wirklich rund bekommen, könnten die windows und linux user tatsächlich auf den selben build prozess aufsetzen und wir könnten ein paar der .bat .cmd und .sh skripte mittelfristig in rente schicken
 

UncleOwen

Geocacher
Wenn ich http://ant.apache.org/manual/OptionalTasks/cab.html richtig lese, brauch ich unter Linux nicht cabarc, sondern libcabinet, um mit ant eine .cab zu erstellen. Der dort angegebene download-link ist aber schon seit Jahren down. Auf irgendwelchen bsd-mirrors findet man noch den Quelltext - aber kompilieren tut der natürlich nicht. Hat sich da schon wer dran versucht?
 

greiol

Geoguru
such einfach mal nach libcabinet und deinem distributionsnamen. da sollten sich pakete finden lassen.
 

UncleOwen

Geocacher
Danke. Ubuntu-Pakete hab ich irgendwie keine gefunden, Debian-Pakete auch nicht - aber die rpms von http://rpm.pbone.net/index.php3/stat/4/idpl/659116/com/libcabinet-0.30-2.i386.rpm.html liessen sich mit alien installieren.
 

UncleOwen

Geocacher
installieren, ja...

CW-PPC2003-CAB:
[mkdir] Created dir: /home/uo/cachewolf/assemble
[cab] Building cab: /home/uo/cachewolf/published/CacheWolf-PPC2003.cab
[cab] listcab: error while loading shared libraries: libstdc++.so.2.10: cannot open shared object file: No such file or directory

Wo soll ich denn so 'ne alte libstdc++ noch für Jaunty herkriegen... also wohl doch selber kompilieren *hmpf*
 

UncleOwen

Geocacher
Habs doch hingekriegt, listcab zu kompilieren :)

Falls es wen installiert, hier das shell-skript. Wenns fehlerfrei ausgeführt wird, sollte listcab am Ende in /tmp/libcabinet-0.30 liegen:

Code:
#!/bin/sh

set -e

cd /tmp

[ ! -e libcabinet-0.30.tar.gz ] && wget http://www.bsd-geek.de/FreeBSD/distfiles/libcabinet-0.30.tar.gz
[ ! -e patches.tar.gz ] && wget -O patches.tar.gz http://www.freebsd.org/cgi/cvsweb.cgi/ports/archivers/libcabinet/files/files.tar.gz?tarball=1

rm -rf libcabinet

tar xfvz libcabinet-0.30.tar.gz

cd libcabinet-0.30

rm -rf patches
tar xvfz ../patches.tar.gz
mv files patches
for file in patches/patch-*; do patch -p0 < $file; done

sed -ie 's/#include <fstream.h>/#include <fstream>/' *.c *.h *.cpp
sed -ie 's/#include <alloc.h>/#include <new>/' *.c *.h *.cpp
sed -ie 's/#include <iostream.h>/#include <iostream>/' *.c *.h *.cpp

sed -ie '/^#/ ! s/ifstream/grrr/' *.c *.h *.cpp
sed -ie '/^#/ ! s/ofstream/blub/' *.c *.h *.cpp
sed -ie '/^#/ ! s/fstream/std::fstream/' *.c *.h *.cpp
sed -ie '/^#/ ! s/grrr/std::ifstream/' *.c *.h *.cpp
sed -ie '/^#/ ! s/blub/std::ofstream/' *.c *.h *.cpp

sed -ie '/^#/ ! s/cerr/std::cerr/' *.c *.h *.cpp
sed -ie '/^#/ ! s/endl/std::endl/' *.c *.h *.cpp
sed -ie '/^#/ ! s/cout/std::cout/' *.c *.h *.cpp

./build
 

pfeffer

Geowizard
wollte mich bedanken
1. bei Greiol für das tolle Ant makefile
2. bei UncleOwen für das Skript, das man braucht zur Installation von listcab, so dass man unter Linux .cab dateien mit ant erstellen kann. Es hat auf anhieb in Ubuntu 9.10 geklappt!

Auf dem neuen Nightly Build Server ( http://cachewolf.de.ms/ ) werden die Zips jetzt mit dem Ant-Makefile erzeugt, einschließlich .cab!

Gruß,
Pfeffer.
 

pfeffer

Geowizard
damit das ant make auch in eclipse in windows funktioniert habe ich noch - wie greiol schon lange vorgeschlagen hat - die ewe.exe eingecheckt. Außerdem wurde bei mir ant mit einem jre ausgeführt, es muss aber mit einem jdk ausgeführt werden. Dazu sich
1. ein jdk herunterladen und installieren.

2. dieses JDK als JRE in eclipse auswählbar machen:
In eclipse unter /run/external tools/external tools configurations/ cachewolf build.xml auswählen und dann unter JRE/Installed JREs/search den Pfad auswählen, wo das jdk hininstalliert wurde, bei mir C:\Programme\Java\jdk1.6.0_16 Ich habe es dann noch per "Edit" umbenannt in jdk.

3. dieses jdk als jre für ant auswählen: Separate JRE: jdk.

Danach kann mit mit Menü Run/external tools/cachewolf build.xml sich die fertigen .zips erzeugen lassen. Sie finden sich hinterher im Verzeichnis published.

Wenn man möchte, kann man auch unter /run/external tools/external tools configurations/ cachewolf build.xml und dann unter dem Reiter "targets" anstelle von allen ZIPs nur diejenigen auswählen, die man haben möchte (oder zusätzlich die .cab - dafür muss man allerdings noch ein Tool installieren, wie das geht, steht in den ersten Zeilen der build.xml).

Gruß,
Pfeffer.
 

arbor95

Geoguru
da de.ms wohl (ein Problem hat) grade Wartung (was ich seit Jahren nicht bemerkt habe) macht, gibt es auch eine Alternative, die auf die gleichen builds zeigt:
http://cachewolf.aldos.de
 
Oben