Skip to content

Instantly share code, notes, and snippets.

@RockerFlower
Forked from dimkir/eltool.sh
Last active May 24, 2018 06:24
Show Gist options
  • Select an option

  • Save RockerFlower/86fe18f757e7c714ec70f9e481fa144c to your computer and use it in GitHub Desktop.

Select an option

Save RockerFlower/86fe18f757e7c714ec70f9e481fa144c to your computer and use it in GitHub Desktop.

Revisions

  1. RockerFlower revised this gist May 24, 2018. 1 changed file with 7 additions and 7 deletions.
    14 changes: 7 additions & 7 deletions eltool.sh
    Original file line number Diff line number Diff line change
    @@ -91,13 +91,13 @@ if [ "1" -eq "$DIST_DEPS" ]; then
    echo ">>> Installing dependencies available in Amazon Linux ..."

    # sleep 2
    sudo yum -y install pango pango-devel libXrandr libXrandr-devel libXcursor libXcursor-devel libXcomposite libXcomposite-devel cups
    sudo apt-get -y install pango pango-devel libXrandr libXrandr-devel libXcursor libXcursor-devel libXcomposite libXcomposite-devel cups

    # These packages are needed by ORBit
    sudo yum -y install libIDL libIDL-devel gtk-doc dbus dbus-devel dbus-glib dbus-glib-devel intltool indent
    sudo apt-get -y install libIDL libIDL-devel gtk-doc dbus dbus-devel dbus-glib dbus-glib-devel intltool indent

    # These would be needed to compile GConf
    sudo yum -y install libxml2 libxml2-devel
    sudo apt-get -y install libxml2 libxml2-devel

    echo ">>> Done."
    fi
    @@ -123,7 +123,7 @@ fi
    if [ "1" -eq "$DEV_TOOLS" ]; then
    NOTHING_RUN=0
    echo ">>> Installing dev tools (gcc)"
    sudo yum -y install gcc
    sudo apt-get -y install gcc
    echo "Done."
    fi

    @@ -218,11 +218,11 @@ if [ "1" -eq "$XVFB_INSTALL" ]; then

    echo ">>> Installing X-server and Xvfb..."
    # Install X
    sudo yum -y install xorg-x11-server-Xorg xterm
    sudo apt-get -y install xorg-x11-server-Xorg xterm
    # Install X drivers
    sudo yum -y install xorg-x11-drv-vesa xorg-x11-drv-evdev xorg-x11-drv-evdev-devel
    sudo apt-get -y install xorg-x11-drv-vesa xorg-x11-drv-evdev xorg-x11-drv-evdev-devel
    # Install xvfb
    sudo yum -y install Xvfb
    sudo apt-get -y install Xvfb
    echo ">>> Done."
    fi

  2. @dimkir dimkir created this gist Mar 7, 2017.
    273 changes: 273 additions & 0 deletions eltool.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,273 @@
    #!/bin/bash

    DIST_DEPS=0
    CENTOS_DEPS=0

    GCONF_COMPILE=0
    GCONF_INSTALL=0

    PIXBUF_INSTALL=0
    PIXBUF_COMPILE=0

    GTK_COMPILE=0
    GTK_INSTALL=0

    # Dev tools like gcc compiler
    DEV_TOOLS=0

    LINK_SO_TO_ELECTRON=0

    XVFB_INSTALL=0

    NOTHING_RUN=1

    for arg in "$@"
    do
    case $arg in
    "dev-tools" )
    DEV_TOOLS=1;;

    # Dependencies
    "all-deps" )
    DIST_DEPS=1
    CENTOS_DEPS=1;;

    "dist-deps" )
    DIST_DEPS=1;;

    "centos-deps" )
    CENTOS_DEPS=1;;



    # Gconf
    "gconf-all" )
    GCONF_COMPILE=1
    GCONF_INSTALL=1;;

    "gconf-compile" )
    GCONF_COMPILE=1;;

    "gconf-install" )
    GCONF_INSTALL=1;;


    # Pixbuf
    "pixbuf-all")
    PIXBUF_COMPILE=1
    PIXBUF_INSTALL=1;;

    "pixbuf-compile")
    PIXBUF_COMPILE=1;;

    "pixbuf-install")
    PIXBUF_INSTALL=1;;


    # Gtk +
    "gtk-all" )
    GTK_COMPILE=1
    GTK_INSTALL=1;;

    "gtk-compile" )
    GTK_COMPILE=1;;

    "gtk-install" )
    GTK_INSTALL=1;;

    "xvfb-install" )
    XVFB_INSTALL=1;;

    # Other
    "link-so-to-electron"|"link" )
    LINK_SO_TO_ELECTRON=1;;
    esac
    done



    if [ "1" -eq "$DIST_DEPS" ]; then
    NOTHING_RUN=0
    echo ">>> Installing dependencies available in Amazon Linux ..."

    # sleep 2
    sudo yum -y install pango pango-devel libXrandr libXrandr-devel libXcursor libXcursor-devel libXcomposite libXcomposite-devel cups

    # These packages are needed by ORBit
    sudo yum -y install libIDL libIDL-devel gtk-doc dbus dbus-devel dbus-glib dbus-glib-devel intltool indent

    # These would be needed to compile GConf
    sudo yum -y install libxml2 libxml2-devel

    echo ">>> Done."
    fi



    if [ "1" -eq "$CENTOS_DEPS" ]; then
    NOTHING_RUN=0
    echo ">>> Installing deps available in CentOS 6..."

    # sleep 2
    sudo rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/atk-1.30.0-1.el6.x86_64.rpm
    sudo rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/atk-devel-1.30.0-1.el6.x86_64.rpm
    sudo rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/libXScrnSaver-1.2.2-2.el6.x86_64.rpm

    # ORBit is requried to compile GConf
    sudo rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/ORBit2-2.14.17-5.el6.x86_64.rpm
    sudo rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/ORBit2-devel-2.14.17-5.el6.x86_64.rpm
    echo ">>> Done."
    fi


    if [ "1" -eq "$DEV_TOOLS" ]; then
    NOTHING_RUN=0
    echo ">>> Installing dev tools (gcc)"
    sudo yum -y install gcc
    echo "Done."
    fi

    if [ "1" -eq "$GCONF_COMPILE" ]; then

    NOTHING_RUN=0
    echo ">>> Compiling GConf..."
    # sleep 3

    cd /tmp
    wget ftp://ftp.gnome.org/pub/GNOME/sources/GConf/2.32/GConf-2.32.4.tar.bz2
    tar -jxvf GConf-2.32.4.tar.bz2
    cd GConf-2.32.4
    ./configure && make


    echo ">>> Done."

    fi


    if [ "1" -eq "$GCONF_INSTALL" ]; then

    NOTHING_RUN=0
    echo ">>> Installing GConf..."
    # sleep 3
    cd /tmp
    cd GConf-2.32.4
    sudo make install

    echo ">>> Done."
    fi

    if [ "1" -eq "$PIXBUF_COMPILE" ]; then
    NOTHING_RUN=0
    # Compile gdk-pixbuf
    echo ">>> Compiling Pixbuf libray..."
    echo ">>> --------"
    echo ">>> WARNING: Pixbuf will be compiled with --without-libtiff --without-libjpeg flags"
    echo ">>> --------"
    sleep 2
    cd /tmp
    wget http://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.24/gdk-pixbuf-2.24.0.tar.bz2
    tar -jxvf gdk-pixbuf-2.24.0.tar.bz2
    cd gdk-pixbuf-2.24.0
    # TODO: Keep in mind that we don't use those. Obviously some libjpeg calls may fail. Question is - are they critical?
    ./configure --without-libtiff --without-libjpeg
    make
    echo ">>> --------"
    echo ">>> WARNING: Pixbuf was compiled with --without-libtiff --without-libjpeg flags"
    echo ">>> --------"
    echo ">>> Done."
    fi



    if [ "1" -eq "$PIXBUF_INSTALL" ]; then
    NOTHING_RUN=0
    echo ">>> Installing Pixbuf library..."
    cd /tmp
    cd gdk-pixbuf-2.24.0
    sudo make install
    echo ">>> Done."
    fi


    if [ "1" -eq "$GTK_COMPILE" ]; then
    NOTHING_RUN=0
    echo ">>> Making Gtk+ library ..."
    cd /tmp
    wget http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.0.tar.bz2
    tar -jxvf gtk+-2.24.0.tar.bz2
    cd gtk+-2.24.0
    PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
    make
    echo ">>> Done."
    fi


    if [ "1" -eq "$GTK_INSTALL" ]; then
    NOTHING_RUN=0
    echo ">>> Installing Gtk+ library..."
    cd /tmp
    cd gtk+-2.24.0
    sudo make install
    echo ">>> Done."
    fi


    if [ "1" -eq "$XVFB_INSTALL" ]; then
    NOTHING_RUN=0

    echo ">>> Installing X-server and Xvfb..."
    # Install X
    sudo yum -y install xorg-x11-server-Xorg xterm
    # Install X drivers
    sudo yum -y install xorg-x11-drv-vesa xorg-x11-drv-evdev xorg-x11-drv-evdev-devel
    # Install xvfb
    sudo yum -y install Xvfb
    echo ">>> Done."
    fi


    if [ "1" -eq "$LINK_SO_TO_ELECTRON" ]; then
    NOTHING_RUN=0
    echo ">>> Linking SO Static libraries to electron (creating symlinks in electron directory)..."

    # check that electron is in the current directory
    if [ ! -f electron ]; then
    echo "************ ERROR ****************"
    echo "To run link-so-to-electron you must be in directory where electron executable is located!"
    echo "***********************************"
    exit 1
    fi
    ln -PL --verbose /usr/local/lib/libgconf-2.so.4
    ln -PL --verbose /usr/local/lib/libgtk-x11-2.0.so.0
    ln -PL --verbose /usr/local/lib/libgdk-x11-2.0.so.0
    ln -PL --verbose /usr/local/lib/libgdk_pixbuf-2.0.so.0
    fi


    # =============================
    # Help (when no args supplied)
    # =============================
    if [ "1" -eq $NOTHING_RUN ]; then
    echo ">>> Run command with task as parameter: "
    CMD=$(basename $0)
    echo " $CMD dist-deps centos-deps gconf-compile gconf-install"
    echo
    echo " $CMD all-deps"
    echo
    echo ">>> Reccomended usage: "
    echo " $CMD dev-tools all-deps gconf-all pixbuf-all gtk-all"
    echo ">>> Now change to the electron directory"
    echo " $CMD link"
    echo
    echo ">>> Now you can verify that all dependencies are ok"
    echo "ldd electron | grep 'not found'"
    echo "./electron --enable-logging"
    echo
    echo ">>> Now let's install X-server and Xvfb"
    echo " $CMD xvfb-install"
    echo "Now you can run xvfb."
    fi