#!/bin/sh # Build script for wireshark and tshark # Built on TinyCore v3.6 # Required extensions: # compiletc # binutils # base-dev # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # cloog # ppl # gmp # mpfr # gperf # grep # m4 # make # patch # pkg-config # sed # squashfs-tools-4.x # tar # libpcap-dev # libnl1-dev # libnl1 # libpcap # libcap # libattr # pcre-dev # pcre # readline # ncurses # ncurses-common # gtk2-dev # Xorg-7.5-dev # perl5 # atk-dev # atk # glib2 # glib2-dev # cairo-dev # pixman # pixman-dev # fontconfig # expat2 # graphics-libs-1-dev # graphics-libs-1 # expat2-dev # libxml2-dev # libxml2 # libxml2-bin # gtk2 # cairo # pango # Xorg-7.5-lib # pango-dev # gtk2-locale # perl_xml_parser # openssl-0.9.8-dev # openssl-0.9.8 # gnutls-dev # gnutls # libgcrypt # libgpg-error # libtasn1 # libgcrypt-dev # libgpg-error-dev # lua-dev # lua # libportaudio # libasound # krb5 # libcares-dev # libcares # geoip-dev # geoip getTime.sh installExtension() { if [ ! -e /usr/local/tce.installed/$1 ]; then echo "Installing "$1" ..." if [ -e $TCEDIR/optional/$1.tcz ]; then tce-load -i $1 else tce-load -wi $1 fi [ ! -e /usr/local/tce.installed/$1 ] && echo "Error: Extension "$1" not installed! Aborting" && exit fi } createExtension() { mksquashfs $1 $1.tcz -noappend [ ! -e $1.tcz ] && echo "Error: "$1".tcz not created! Aborting" && exit } unpackSrc() { #unpack source if [ -e $1.tar.bz2 ]; then tar -jxf $1.tar.bz2 elif [ -e $1.tb2 ]; then tar -jxf $1.tb2 elif [ -e $1.tbz ]; then tar -jxf $1.tbz elif [ -e $1.tar.gz ]; then tar -zxf $1.tar.gz elif [ -e $1.tgz ]; then tar -zxf $1.tgz elif [ -e $1.tar.xz ]; then tar -Jxf $1.tar.xz elif [ -e $1.txz ]; then tar -Jxf $1.txz elif [ -e $1.tar.lzma ]; then tar -xf $1.tar.lzma --lzma elif [ -e $1.tlz ]; then tar -xf $1.tlz --lzma else echo "Source "$1" not found! Aborting" && exit fi } # Install these extensions automagically export EXTS="compiletc squashfs-tools-4.x tar libpcap-dev libcap pcre-dev pcre gtk2-dev gtk2-locale perl_xml_parser openssl-0.9.8-dev openssl-0.9.8 gnutls-dev lua-dev lua libportaudio krb5 libcares-dev libcares geoip-dev" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS=$CFLAGS" -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="wireshark" export EXTNAME2="tshark" export VER="-1.4.6" export DESTDIR=`pwd`/$EXTNAME export PKGNAME=$EXTNAME$VER for f in $EXTS; do installExtension $f done unpackSrc $PKGNAME mkdir -p $DESTDIR/usr/local/share/applications $DESTDIR/usr/local/share/pixmaps $EXTNAME2/usr/local/lib $EXTNAME2/usr/local/bin cd $PKGNAME ./configure --enable-setuid-install --with-ssl --enable-threads --enable-airpcap --with-pcre --with-libcap --with-geoip --with-krb5 --with-c-ares --with-portaudio --with-lua --with-zlib --with-pcap --with-pcap-remote --with-gnutls --with-gcrypt --with-plugins --enable-ipv6 && make && make install-strip || exit cp $EXTNAME.desktop $DESTDIR/usr/local/share/applications cp image/wsicon64.png $DESTDIR/usr/local/share/pixmaps/$EXTNAME.png cd $DESTDIR mv usr/local/lib/l* ../$EXTNAME2/usr/local/lib mv usr/local/bin/* ../$EXTNAME2/usr/local/bin mv ../$EXTNAME2/usr/local/bin/$EXTNAME usr/local/bin rm -rf usr/local/share/man sed -i "s!.png!!" usr/local/share/applications/$EXTNAME.desktop echo "X-FullPathIcon=/usr/local/share/pixmaps/wireshark.png" >> usr/local/share/applications/$EXTNAME.desktop cd ../$EXTNAME2 sudo chown root:root usr/local/bin/dumpcap sudo chmod 4755 usr/local/bin/dumpcap cd .. createExtension $EXTNAME createExtension $EXTNAME2 rm -rf $PKGNAME $EXTNAME $EXTNAME2 # Create extension support files and test installExtension "submitqc" submitqc