123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- #!/usr/bin/env bash
- DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
- echo "${DIR}"
- APT_FILES=(
- "libwxgtk3.0-0" "libwxbase3.0-0" "libsdl1.2debian" "vgabios" "seabios"
- )
- WGET_FILES=(
- "http://archive.tanglu.org/tanglu/pool/main/b/bochs/bochsbios_2.6-2_all.deb"
- "https://launchpad.net/ubuntu/+source/bochs/2.6-2/+build/6053938/+files/bochs-term_2.6-2_amd64.deb"
- "https://launchpad.net/ubuntu/+source/bochs/2.6-2/+build/6053938/+files/bochs-wx_2.6-2_amd64.deb"
- "https://launchpad.net/ubuntu/+source/bochs/2.6-2/+build/6053938/+files/bochs-x_2.6-2_amd64.deb"
- "https://launchpad.net/ubuntu/+source/bochs/2.6-2/+build/6053938/+files/bochs_2.6-2_amd64.deb"
- "https://launchpad.net/ubuntu/+source/bochs/2.6-2/+build/6053938/+files/bximage_2.6-2_amd64.deb"
- "https://launchpad.net/ubuntu/+source/bochs/2.6-2/+build/6053938/+files/bochs-sdl_2.6-2_amd64.deb"
- )
- function download_apt_packages {
- echo "Required packages from apt:"
- echo " * ${APT_FILES[@]}"
- read -p "Download them? (Y/N)" REPLY
- case ${REPLY} in
- [Yy] )
- cd "${DIR}/debs"
- apt-get download "${APT_FILES[@]}"
- cd "${DIR}"
- ;;
- [Nn] )
- echo "Skipping..."
- ;;
- esac
- }
- function download_other_packages {
- echo "Required packages from web:"
- for PKG in ${WGET_FILES[@]}; do
- SPKG=$(basename "${PKG}")
- echo " * ${SPKG}"
- done
- read -p "Download them? (Y/N)" REPLY
- case ${REPLY} in
- [Yy] )
- cd "${DIR}/debs"
- for PKG in ${WGET_FILES[@]}; do
- SPKG=$(basename "${PKG}")
- if [ -e "${SPKG}" ]; then
- rm "${SPKG}"
- fi
- wget "${PKG}"
- done
- cd "${DIR}"
- ;;
- [Nn] )
- echo "Skipping..."
- ;;
- esac
- }
- function install_debs {
- read -p "Install debs located in ./debs? (Y/N/S=show) " REPLY
- case ${REPLY} in
- [Yy] )
- sudo dpkg -i -R "${DIR}/debs"
- ;;
- [Ss] )
- ls "${DIR}/debs/"
- install_debs
- ;;
- esac
- }
- function deb_dir {
- if [ -d "${DIR}/debs" ]; then
- echo "Folder exists: ./debs"
- else
- echo "Creating folder: ./debs"
- mkdir "${DIR}/debs"
- fi
- }
- function clean_and_exit {
- if [ -d "${DIR}/debs" ]; then
- read -p "Remove debs (from folder, not uninstall)? (Y/N) " REPLY
- case ${REPLY} in
- [Yy] )
- rm -rf "${DIR}/debs/"
- ;;
- esac
- fi
- exit
- }
- function remove_bochs {
- read -p "Remove old version of bochs? " REPLY
- case ${REPLY} in
- [Yy] )
- sudo apt-get purge --remove bochs*
- ;;
- [Nn] )
- echo "Skipping..."
- ;;
- esac
- }
- function main {
- echo "Installation of Bochs 2.6.2 for Ubuntu 14.04.x"
- deb_dir
- remove_bochs
- download_apt_packages
- download_other_packages
- install_debs
- clean_and_exit
- }
- main
|