├── LICENSE ├── download.sh ├── install.sh ├── README.md └── download.js /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Christopher Bandy 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 4 | 5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 6 | -------------------------------------------------------------------------------- /download.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # vim: set et sw=2 ts=2: 3 | 4 | [ -n "$ORACLE_COOKIE" ] || { echo "Missing ORACLE_COOKIE environment variable!"; exit 1; } 5 | [ -n "$ORACLE_FILE" ] || { echo "Missing ORACLE_FILE environment variable!"; exit 1; } 6 | 7 | ORACLE_DOWNLOAD_FILE="$(basename "$ORACLE_FILE")" 8 | 9 | if [ -n "$ORACLE_DOWNLOAD_DIR" ]; then 10 | mkdir -p "$ORACLE_DOWNLOAD_DIR" 11 | ORACLE_DOWNLOAD_FILE="$(readlink -f "$ORACLE_DOWNLOAD_DIR")/$ORACLE_DOWNLOAD_FILE" 12 | fi 13 | 14 | if [ "${*#*--unless-exists}" != "$*" ] && [ -f "$ORACLE_DOWNLOAD_FILE" ]; then 15 | exit 0 16 | fi 17 | 18 | cd "$(dirname "$(readlink -f "$0")")" 19 | 20 | echo "PhantomJS version $(phantomjs --version)" 21 | npm install bluebird node-phantom-simple 22 | 23 | export ORACLE_DOWNLOAD_FILE 24 | export COOKIES='cookies.txt' 25 | export USER_AGENT='Mozilla/5.0' 26 | 27 | echo > "$COOKIES" 28 | chmod 600 "$COOKIES" 29 | 30 | exec node download.js 31 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # vim: set et sw=2 ts=2: 3 | 4 | [ -z "$ORACLE_DOWNLOAD_DIR" ] || ORACLE_DOWNLOAD_DIR="$(readlink -f "$ORACLE_DOWNLOAD_DIR")/" 5 | [ -n "$ORACLE_FILE" ] || { echo "Missing ORACLE_FILE environment variable!"; exit 1; } 6 | [ -n "$ORACLE_HOME" ] || { echo "Missing ORACLE_HOME environment variable!"; exit 1; } 7 | 8 | ORACLE_RPM="$(basename "$ORACLE_FILE" .zip)" 9 | 10 | cd "$(dirname "$(readlink -f "$0")")" 11 | 12 | dpkg -s bc libaio1 rpm unzip > /dev/null 2>&1 || 13 | ( sudo apt-get -qq update && sudo apt-get --no-install-recommends -qq install bc libaio1 rpm unzip ) 14 | 15 | df -B1 /dev/shm | awk 'END { if ($1 != "shmfs" && $1 != "tmpfs" || $2 < 2147483648) exit 1 }' || 16 | ( sudo rm -r /dev/shm && sudo mkdir /dev/shm && sudo mount -t tmpfs shmfs -o size=2G /dev/shm ) 17 | 18 | test -f /sbin/chkconfig || 19 | ( echo '#!/bin/sh' | sudo tee /sbin/chkconfig > /dev/null && sudo chmod u+x /sbin/chkconfig ) 20 | 21 | test -d /var/lock/subsys || sudo mkdir /var/lock/subsys 22 | 23 | unzip -j "${ORACLE_DOWNLOAD_DIR}$(basename "$ORACLE_FILE")" "*/$ORACLE_RPM" 24 | sudo rpm --install --nodeps --nopre "$ORACLE_RPM" 25 | 26 | echo 'OS_AUTHENT_PREFIX=""' | sudo tee -a "$ORACLE_HOME/config/scripts/init.ora" > /dev/null 27 | sudo usermod -aG dba $USER 28 | 29 | ( echo ; echo ; echo travis ; echo travis ; echo n ) | sudo AWK='/usr/bin/awk' /etc/init.d/oracle-xe configure 30 | 31 | "$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <