Skip to content

Instantly share code, notes, and snippets.

@DJHartley
Forked from ichitaso/install_theos.sh
Last active August 29, 2015 14:18
Show Gist options
  • Save DJHartley/761e1556d91f8c64dca7 to your computer and use it in GitHub Desktop.
Save DJHartley/761e1556d91f8c64dca7 to your computer and use it in GitHub Desktop.

Revisions

  1. ichitaso revised this gist Aug 9, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -47,7 +47,7 @@ curl -O http://dl.dropbox.com/u/3157793/ldid
    chmod a+x ldid

    # get libsubstrate.dylib
    msdeb="mobilesubstrate_0.9.5001_iphoneos-arm.deb"
    msdeb="mobilesubstrate_0.9.5012_iphoneos-arm.deb"
    cd $THEOS
    curl -OL http://apt.saurik.com/debs/$msdeb
    dpkg-deb -x $msdeb mobilesubstrate
  2. ichitaso revised this gist Jun 2, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -55,7 +55,7 @@ cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $
    rm $msdeb

    #get libactivator.dylib
    echo "Downloading Activator header and library..."
    echo "Downloading Activator library..."
    ACTIVATOR_REPO="http://apt.thebigboss.org/repofiles/cydia"
    curl -s -L "${ACTIVATOR_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
  3. ichitaso revised this gist Jun 2, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -62,7 +62,7 @@ pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${ACTIVATOR_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include/libactivator/libactivator.h ./usr/lib/libactivator.dylib
    mv ./usr/include/libactivator $THEOS/include
    #mv ./usr/include/libactivator $THEOS/include
    mv ./usr/lib/libactivator.dylib $THEOS/lib
    rm -rf usr Packages.bz2 $pkg

  4. ichitaso revised this gist Apr 1, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,7 @@
    #!/bin/bash
    export THEOS=/opt/theos

    if ! [ $THEOS ]; then
    if ! [ -d $THEOS ]; then
    mkdir -p $THEOS
    fi

  5. ichitaso revised this gist Apr 1, 2014. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,10 @@
    #!/bin/bash
    export THEOS=/opt/theos

    if ! [ $THEOS ]; then
    mkdir -p $THEOS
    fi

    # clone theos.git
    cd /opt
    git clone git://github.com/DHowett/theos.git
  6. ichitaso revised this gist Mar 27, 2014. 1 changed file with 64 additions and 127 deletions.
    191 changes: 64 additions & 127 deletions install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -1,128 +1,65 @@
    #!/bin/bash

    THEOS_INSTALL_DIR="/opt"
    THEOS=${THEOS_INSTALL_DIR}/theos
    BIGBOSS_REPO="http://apt.thebigboss.org/repofiles/cydia"
    SUBSTRATE_REPO="http://apt.saurik.com"

    # initial theos install directory check
    if [ ! -d "$THEOS_INSTALL_DIR" ]; then
    echo "making $THEOS_INSTALL_DIR"
    sudo mkdir -p $THEOS_INSTALL_DIR
    sudo chown $USER $THEOS_INSTALL_DIR
    fi

    install_theos() {
    # clone theos.git
    cd $THEOS_INSTALL_DIR
    git clone git://github.com/DHowett/theos.git

    # clone iphoneheaders.git
    cd $THEOS
    mv include include.bak
    git clone git://github.com/rpetrich/iphoneheaders.git include
    for FILE in include.bak/*.h; do mv $FILE include/; done
    rmdir include.bak/

    # get IOSurfaceAPI.h
    find /System -name "IOSurfaceAPI.h" 2>/dev/null | xargs cp $THEOS/include/IOSurface/

    # clone CaptainHook.git
    cd $THEOS/include/
    git clone git://github.com/rpetrich/CaptainHook.git

    # clone theos-nic-templates.git
    cd $THEOS/templates/
    git clone git://github.com/orikad/theos-nic-templates.git

    # get ldid for Mac OS X
    cd $THEOS/bin
    curl -O http://dl.dropbox.com/u/3157793/ldid
    chmod a+x ldid

    # get dpkg for Mac OS X
    # `brew install dpkg`
    if [ -z $(type -P dpkg) ]; then
    echo "Should install dpkg"
    exit 1
    fi
    }

    install_substrate() {
    cd /tmp
    echo "Downloading substrate header and library..."
    curl -s -L "${SUBSTRATE_REPO}/dists/tangelo-3.7/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs/mobilesubstrate" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${SUBSTRATE_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./Library/Frameworks/CydiaSubstrate.framework
    mv ./Library/Frameworks/CydiaSubstrate.framework/Headers/CydiaSubstrate.h $THEOS/include/substrate.h
    mv ./Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
    rm -rf Packages.bz2 $pkg /tmp/Library
    }

    install_activator() {
    cd /tmp
    echo "Downloading Activator header and library..."
    BIGBOSS_REPO="http://apt.thebigboss.org/repofiles/cydia"
    curl -s -L "${BIGBOSS_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${BIGBOSS_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include/libactivator/libactivator.h ./usr/lib/libactivator.dylib
    if [ -d $THEOS/include/libactivator ]; then
    mv -f ./usr/include/libactivator/libactivator.h $THEOS/include/libactivator/
    else
    mv -f ./usr/include/libactivator $THEOS/include
    fi
    mv ./usr/lib/libactivator.dylib $THEOS/lib
    rm -rf usr Packages.bz2 $pkg
    }

    install_actionmenu() {
    cd /tmp
    echo "Downloading ActionMenu.h..."
    curl -s -L "${BIGBOSS_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/actionmenu_" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${BIGBOSS_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include
    mv ./usr/include/ActionMenu $THEOS/include/
    rm -rf usr Packages.bz2 $pkg
    }

    install_layersnapshotter() {
    cd /tmp
    echo "Downloading LayerSnapShotter..."
    curl -s -L "${BIGBOSS_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/layersnapshotter" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${BIGBOSS_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr
    mv ./usr/include/layersnapshotter.h $THEOS/include/
    mv ./usr/lib/liblayersnapshotter.dylib $THEOS/lib/
    rm -rf usr Packages.bz2 $pkg
    }

    substitude_theos_in_dropbox() {
    for i in $(find ~/Dropbox -name "theos" -type d); do
    TWEAK_DIR=$(dirname $i)
    rm -fr $i
    ln -s $THEOS $i
    done
    }

    if [ $# -eq 0 ]; then
    install_theos
    install_substrate
    install_activator
    install_actionmenu
    install_layersnapshotter
    else
    for i in $@; do
    $i
    done
    fi

    echo "Done."
    # vim: set ts=4 sw=4 sts=4 expandtab:
    export THEOS=/opt/theos

    # clone theos.git
    cd /opt
    git clone git://github.com/DHowett/theos.git

    # clone iphoneheaders.git
    cd $THEOS
    mv include include.bak
    git clone git://github.com/rpetrich/iphoneheaders.git include
    for FILE in include.bak/*.h; do mv $FILE include/; done
    rmdir include.bak

    # get IOSurfaceAPI.h
    cd $THEOS/include/IOSurface/
    curl -O https://raw.github.com/javacom/toolchain4/master/Projects/IOSurfaceAPI.h

    # clone CaptainHook.git
    cd $THEOS/include/
    git clone git://github.com/rpetrich/CaptainHook.git

    # clone theos-nic-templates.git
    cd $THEOS/templates/
    git clone git://github.com/orikad/theos-nic-templates.git

    # get dpkg-deb for Mac OS X
    cd $THEOS
    curl -O http://test.saurik.com/francis/dpkg-deb-fat
    chmod a+x dpkg-deb-fat
    sudo mkdir -p /usr/local/bin
    sudo mv dpkg-deb-fat /usr/local/bin/dpkg-deb

    # get ldid (Packages list is not latest for ldid)
    # #install_from_telesphoreo ldid
    # cd $THEOS
    # curl -s -L http://apt.saurik.com/debs/ldid_1:1.1.2_iphoneos-arm.deb > ldid.deb
    # ar -p ldid.deb data.tar.gz | tar -zxvf- --strip-components 2 ./usr/bin/ldid
    # rm ldid.deb

    cd $THEOS/bin
    curl -O http://dl.dropbox.com/u/3157793/ldid
    chmod a+x ldid

    # get libsubstrate.dylib
    msdeb="mobilesubstrate_0.9.5001_iphoneos-arm.deb"
    cd $THEOS
    curl -OL http://apt.saurik.com/debs/$msdeb
    dpkg-deb -x $msdeb mobilesubstrate
    cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
    rm $msdeb

    #get libactivator.dylib
    echo "Downloading Activator header and library..."
    ACTIVATOR_REPO="http://apt.thebigboss.org/repofiles/cydia"
    curl -s -L "${ACTIVATOR_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${ACTIVATOR_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include/libactivator/libactivator.h ./usr/lib/libactivator.dylib
    mv ./usr/include/libactivator $THEOS/include
    mv ./usr/lib/libactivator.dylib $THEOS/lib
    rm -rf usr Packages.bz2 $pkg

    echo "Done."
  7. @r-plus r-plus revised this gist Oct 27, 2012. 1 changed file with 127 additions and 58 deletions.
    185 changes: 127 additions & 58 deletions install_theos.sh
    100644 → 100755
    Original file line number Diff line number Diff line change
    @@ -1,59 +1,128 @@
    #!/bin/bash
    export THEOS=/opt/theos

    # clone theos.git
    cd /opt
    git clone git://github.com/DHowett/theos.git

    # clone iphoneheaders.git
    cd $THEOS
    mv include include.bak
    git clone git://github.com/rpetrich/iphoneheaders.git include
    for FILE in include.bak/*.h; do mv $FILE include/; done
    rmdir include.bak/

    # get IOSurfaceAPI.h
    cd $THEOS/include/IOSurface/
    curl -O https://raw.github.com/javacom/toolchain4/master/Projects/IOSurfaceAPI.h

    # clone CaptainHook.git
    cd $THEOS/include/
    git clone git://github.com/rpetrich/CaptainHook.git

    # clone theos-nic-templates.git
    cd $THEOS/templates/
    git clone git://github.com/orikad/theos-nic-templates.git

    # get dpkg-deb for Mac OS X
    cd $THEOS
    curl -O http://test.saurik.com/francis/dpkg-deb-fat
    chmod a+x dpkg-deb-fat
    sudo mkdir -p /usr/local/bin
    sudo mv dpkg-deb-fat /usr/local/bin/dpkg-deb

    # get ldid for Mac OS X
    cd $THEOS/bin
    curl -O http://dl.dropbox.com/u/3157793/ldid
    chmod a+x ldid

    # get libsubstrate.dylib
    msdeb="mobilesubstrate_0.9.3366-1_iphoneos-arm.deb"
    cd $THEOS
    curl -OL http://apt.saurik.com/debs/$msdeb
    dpkg-deb -x $msdeb mobilesubstrate
    cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
    rm $msdeb

    #get libactivator.dylib
    echo "Downloading Activator header and library..."
    ACTIVATOR_REPO="http://apt.thebigboss.org/repofiles/cydia"
    curl -s -L "${ACTIVATOR_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${ACTIVATOR_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include/libactivator/libactivator.h ./usr/lib/libactivator.dylib
    mv ./usr/include/libactivator $THEOS/include
    mv ./usr/lib/libactivator.dylib $THEOS/lib
    rm -rf usr Packages.bz2 $pkg

    echo "Done."

    THEOS_INSTALL_DIR="/opt"
    THEOS=${THEOS_INSTALL_DIR}/theos
    BIGBOSS_REPO="http://apt.thebigboss.org/repofiles/cydia"
    SUBSTRATE_REPO="http://apt.saurik.com"

    # initial theos install directory check
    if [ ! -d "$THEOS_INSTALL_DIR" ]; then
    echo "making $THEOS_INSTALL_DIR"
    sudo mkdir -p $THEOS_INSTALL_DIR
    sudo chown $USER $THEOS_INSTALL_DIR
    fi

    install_theos() {
    # clone theos.git
    cd $THEOS_INSTALL_DIR
    git clone git://github.com/DHowett/theos.git

    # clone iphoneheaders.git
    cd $THEOS
    mv include include.bak
    git clone git://github.com/rpetrich/iphoneheaders.git include
    for FILE in include.bak/*.h; do mv $FILE include/; done
    rmdir include.bak/

    # get IOSurfaceAPI.h
    find /System -name "IOSurfaceAPI.h" 2>/dev/null | xargs cp $THEOS/include/IOSurface/

    # clone CaptainHook.git
    cd $THEOS/include/
    git clone git://github.com/rpetrich/CaptainHook.git

    # clone theos-nic-templates.git
    cd $THEOS/templates/
    git clone git://github.com/orikad/theos-nic-templates.git

    # get ldid for Mac OS X
    cd $THEOS/bin
    curl -O http://dl.dropbox.com/u/3157793/ldid
    chmod a+x ldid

    # get dpkg for Mac OS X
    # `brew install dpkg`
    if [ -z $(type -P dpkg) ]; then
    echo "Should install dpkg"
    exit 1
    fi
    }

    install_substrate() {
    cd /tmp
    echo "Downloading substrate header and library..."
    curl -s -L "${SUBSTRATE_REPO}/dists/tangelo-3.7/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs/mobilesubstrate" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${SUBSTRATE_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./Library/Frameworks/CydiaSubstrate.framework
    mv ./Library/Frameworks/CydiaSubstrate.framework/Headers/CydiaSubstrate.h $THEOS/include/substrate.h
    mv ./Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
    rm -rf Packages.bz2 $pkg /tmp/Library
    }

    install_activator() {
    cd /tmp
    echo "Downloading Activator header and library..."
    BIGBOSS_REPO="http://apt.thebigboss.org/repofiles/cydia"
    curl -s -L "${BIGBOSS_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${BIGBOSS_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include/libactivator/libactivator.h ./usr/lib/libactivator.dylib
    if [ -d $THEOS/include/libactivator ]; then
    mv -f ./usr/include/libactivator/libactivator.h $THEOS/include/libactivator/
    else
    mv -f ./usr/include/libactivator $THEOS/include
    fi
    mv ./usr/lib/libactivator.dylib $THEOS/lib
    rm -rf usr Packages.bz2 $pkg
    }

    install_actionmenu() {
    cd /tmp
    echo "Downloading ActionMenu.h..."
    curl -s -L "${BIGBOSS_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/actionmenu_" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${BIGBOSS_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include
    mv ./usr/include/ActionMenu $THEOS/include/
    rm -rf usr Packages.bz2 $pkg
    }

    install_layersnapshotter() {
    cd /tmp
    echo "Downloading LayerSnapShotter..."
    curl -s -L "${BIGBOSS_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/layersnapshotter" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${BIGBOSS_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr
    mv ./usr/include/layersnapshotter.h $THEOS/include/
    mv ./usr/lib/liblayersnapshotter.dylib $THEOS/lib/
    rm -rf usr Packages.bz2 $pkg
    }

    substitude_theos_in_dropbox() {
    for i in $(find ~/Dropbox -name "theos" -type d); do
    TWEAK_DIR=$(dirname $i)
    rm -fr $i
    ln -s $THEOS $i
    done
    }

    if [ $# -eq 0 ]; then
    install_theos
    install_substrate
    install_activator
    install_actionmenu
    install_layersnapshotter
    else
    for i in $@; do
    $i
    done
    fi

    echo "Done."
    # vim: set ts=4 sw=4 sts=4 expandtab:
  8. @tom-go tom-go revised this gist Aug 13, 2012. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -16,6 +16,10 @@ rmdir include.bak/
    cd $THEOS/include/IOSurface/
    curl -O https://raw.github.com/javacom/toolchain4/master/Projects/IOSurfaceAPI.h

    # clone CaptainHook.git
    cd $THEOS/include/
    git clone git://github.com/rpetrich/CaptainHook.git

    # clone theos-nic-templates.git
    cd $THEOS/templates/
    git clone git://github.com/orikad/theos-nic-templates.git
  9. @tom-go tom-go revised this gist Aug 13, 2012. No changes.
  10. @tom-go tom-go created this gist Aug 13, 2012.
    55 changes: 55 additions & 0 deletions install_theos.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,55 @@
    #!/bin/bash
    export THEOS=/opt/theos

    # clone theos.git
    cd /opt
    git clone git://github.com/DHowett/theos.git

    # clone iphoneheaders.git
    cd $THEOS
    mv include include.bak
    git clone git://github.com/rpetrich/iphoneheaders.git include
    for FILE in include.bak/*.h; do mv $FILE include/; done
    rmdir include.bak/

    # get IOSurfaceAPI.h
    cd $THEOS/include/IOSurface/
    curl -O https://raw.github.com/javacom/toolchain4/master/Projects/IOSurfaceAPI.h

    # clone theos-nic-templates.git
    cd $THEOS/templates/
    git clone git://github.com/orikad/theos-nic-templates.git

    # get dpkg-deb for Mac OS X
    cd $THEOS
    curl -O http://test.saurik.com/francis/dpkg-deb-fat
    chmod a+x dpkg-deb-fat
    sudo mkdir -p /usr/local/bin
    sudo mv dpkg-deb-fat /usr/local/bin/dpkg-deb

    # get ldid for Mac OS X
    cd $THEOS/bin
    curl -O http://dl.dropbox.com/u/3157793/ldid
    chmod a+x ldid

    # get libsubstrate.dylib
    msdeb="mobilesubstrate_0.9.3366-1_iphoneos-arm.deb"
    cd $THEOS
    curl -OL http://apt.saurik.com/debs/$msdeb
    dpkg-deb -x $msdeb mobilesubstrate
    cp mobilesubstrate/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate $THEOS/lib/libsubstrate.dylib
    rm $msdeb

    #get libactivator.dylib
    echo "Downloading Activator header and library..."
    ACTIVATOR_REPO="http://apt.thebigboss.org/repofiles/cydia"
    curl -s -L "${ACTIVATOR_REPO}/dists/stable/main/binary-iphoneos-arm/Packages.bz2" > Packages.bz2
    pkg_path=$(bzcat Packages.bz2 | grep "debs2.0/libactivator" | awk '{print $2}')
    pkg=$(basename $pkg_path)
    curl -s -L "${ACTIVATOR_REPO}/${pkg_path}" > $pkg
    ar -p $pkg data.tar.gz | tar -zxf - ./usr/include/libactivator/libactivator.h ./usr/lib/libactivator.dylib
    mv ./usr/include/libactivator $THEOS/include
    mv ./usr/lib/libactivator.dylib $THEOS/lib
    rm -rf usr Packages.bz2 $pkg

    echo "Done."