Hacker News new | ask | show | jobs
by JetSpiegel 4291 days ago
That ggi file is a self-extracting bash script.

    #!/bin/bash
    echo ""
    echo " FInstaller 1.0"
    echo "-----------------------"
 
    export TMPDIR=`mktemp -d /tmp/selfextract.XXXXXX`
 
    ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`
 
    echo ""
    echo "Extracting Installation Files..."
    echo ""
 
    tail -n+$ARCHIVE $0 | tar xzv -C $TMPDIR
 
    echo ""
    echo "Launching Installer..."
    echo ""
 
    CDIR=`pwd`
    echo CDIR
    echo $CDIR
    echo TMPDIR
    echo $TMPDIR
    cd $TMPDIR
    ./installer
 
    cd $CDIR
    rm -rf $TMPDIR
 
    exit 0
 
    __ARCHIVE_BELOW
And then the data.
1 comments

The installer is an even messier piece of code.

    #!/bin/bash
 
    TOP_INSTALL_DIR=/
 
    echo "Stopping FFRelay"
 
    monit stop ffrelay
    sleep 3
    killall -9 -q ffrelay
    echo "Extracting Software Files..."
    tar --directory $TOP_INSTALL_DIR  -xvf ./*relay*.tar
 
    echo ""
    echo "Running Post-Installation Steps..."
 
    SECONDS=1
    MAX_SECONDS=10
 
    while [ "$SECONDS" -lt "$MAX_SECONDS" ]
      do
           if [ -e "/var/run/ffrelay.pid" ]; then
               sleep 1
           else
               SECONDS=$MAX_SECONDS
           fi
      done
 
 
    echo "Starting FFRelay"
 
    monit start ffrelay
 
    echo ""
    echo "FFRelay Installer done."
    echo ""
They should have just used a .deb