tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

ubuntu1804-test-system-setup-base.sh (4722B)


      1 #!/usr/bin/env bash
      2 
      3 set -ve
      4 
      5 test "$(whoami)" == 'root'
      6 
      7 # We do want to install recommended packages.
      8 sed -i /APT::Install-Recommends/d /etc/apt/apt.conf.d/99taskcluster
      9 
     10 # To speed up docker image build times as well as number of network/disk I/O
     11 # build a list of packages to be installed nad call it in one go.
     12 apt_packages=()
     13 
     14 apt_packages+=('bluez-cups')
     15 apt_packages+=('build-essential')
     16 apt_packages+=('ca-certificates')
     17 apt_packages+=('ccache')
     18 apt_packages+=('compiz')
     19 apt_packages+=('curl')
     20 apt_packages+=('fontconfig')
     21 apt_packages+=('fonts-kacst')
     22 apt_packages+=('fonts-kacst-one')
     23 apt_packages+=('fonts-liberation')
     24 apt_packages+=('fonts-stix')
     25 apt_packages+=('fonts-unfonts-core')
     26 apt_packages+=('fonts-unfonts-extra')
     27 apt_packages+=('fonts-vlgothic')
     28 apt_packages+=('g++-multilib')
     29 apt_packages+=('gcc-multilib')
     30 apt_packages+=('gir1.2-gnomebluetooth-1.0')
     31 apt_packages+=('git')
     32 apt_packages+=('gnome-icon-theme')
     33 apt_packages+=('gstreamer1.0-gtk3')
     34 apt_packages+=('gstreamer1.0-plugins-base')
     35 apt_packages+=('gstreamer1.0-plugins-good')
     36 apt_packages+=('gstreamer1.0-tools')
     37 apt_packages+=('gstreamer1.0-pulseaudio')
     38 apt_packages+=('language-pack-en-base')
     39 apt_packages+=('libc6-dbg')
     40 apt_packages+=('libasound2-dev')
     41 apt_packages+=('libavcodec-extra57')
     42 apt_packages+=('libcanberra-gtk3-module')
     43 apt_packages+=('libcanberra-pulse')
     44 apt_packages+=('libcurl4-openssl-dev')
     45 apt_packages+=('libdbus-1-dev')
     46 apt_packages+=('libfreetype6')
     47 apt_packages+=('libgconf2-dev')
     48 apt_packages+=('libgl1-mesa-dri')
     49 apt_packages+=('libgl1-mesa-glx')
     50 apt_packages+=('libgstreamer-plugins-base1.0-dev')
     51 apt_packages+=('libgstreamer1.0-dev')
     52 apt_packages+=('libgtk-3-0')
     53 apt_packages+=('libiw-dev')
     54 apt_packages+=('libx11-xcb1')
     55 apt_packages+=('libxcb1')
     56 apt_packages+=('libxcb-render0')
     57 apt_packages+=('libxcb-shm0')
     58 apt_packages+=('libxcb-glx0')
     59 apt_packages+=('libxcb-shape0')
     60 apt_packages+=('libnotify-dev')
     61 apt_packages+=('libpulse0')
     62 apt_packages+=('libpulse-dev')
     63 apt_packages+=('libxt-dev')
     64 apt_packages+=('libxxf86vm1')
     65 apt_packages+=('llvm')
     66 apt_packages+=('llvm-dev')
     67 apt_packages+=('llvm-runtime')
     68 apt_packages+=('mesa-common-dev')
     69 apt_packages+=('net-tools')
     70 apt_packages+=('pulseaudio')
     71 apt_packages+=('pulseaudio-module-bluetooth')
     72 apt_packages+=('pulseaudio-module-gconf')
     73 apt_packages+=('python-dev')
     74 apt_packages+=('python-pip')
     75 apt_packages+=('python3-pip')
     76 apt_packages+=('python3-pyatspi')
     77 apt_packages+=('qemu-kvm')
     78 apt_packages+=('rlwrap')
     79 apt_packages+=('screen')
     80 apt_packages+=('software-properties-common')
     81 apt_packages+=('sudo')
     82 apt_packages+=('ttf-dejavu')
     83 apt_packages+=('ubuntu-desktop')
     84 apt_packages+=('unzip')
     85 apt_packages+=('uuid')
     86 apt_packages+=('wget')
     87 apt_packages+=('xvfb')
     88 apt_packages+=('xwit')
     89 apt_packages+=('yasm')
     90 apt_packages+=('zip')
     91 
     92 # Bug 1232407 - this allows the user to start vnc
     93 apt_packages+=('x11vnc')
     94 
     95 # Bug 1176031 - need `xset` to disable screensavers
     96 apt_packages+=('x11-xserver-utils')
     97 
     98 # Build a list of packages to install from the multiverse repo.
     99 apt_packages+=('ubuntu-restricted-extras')
    100 
    101 # APT update takes very long on Ubuntu. Run it at the last possible minute.
    102 apt-get update
    103 
    104 # Also force the cleanup after installation of packages to reduce image size.
    105 apt-get install --allow-downgrades "${apt_packages[@]}"
    106 
    107 # Enable i386 packages
    108 dpkg --add-architecture i386
    109 apt-get update
    110 
    111 # Make sure we have libraries for 32-bit tests
    112 apt_packages=()
    113 apt_packages+=('libavcodec-extra57:i386')
    114 apt_packages+=('libpulse0:i386')
    115 apt_packages+=('libxt6:i386')
    116 apt_packages+=('libxtst6:i386')
    117 apt_packages+=('libsecret-1-0:i386')
    118 apt_packages+=('libgtk-3-0:i386')
    119 apt_packages+=('libx11-xcb1:i386')
    120 apt_packages+=('libxcb1:i386')
    121 apt_packages+=('libasound2:i386')
    122 
    123 apt-get install --allow-downgrades "${apt_packages[@]}"
    124 rm -rf /var/lib/apt/lists/*
    125 
    126 # Build a list of packages to purge from the image.
    127 apt_packages=()
    128 apt_packages+=('*cheese*')
    129 apt_packages+=('example-content')
    130 apt_packages+=('git')
    131 apt_packages+=('gnome-calendar')
    132 apt_packages+=('gnome-initial-setup')
    133 apt_packages+=('gnome-mahjongg')
    134 apt_packages+=('gnome-mines')
    135 apt_packages+=('gnome-sudoku')
    136 apt_packages+=('libx11-doc')
    137 apt_packages+=('manpages-dev')
    138 apt_packages+=('orca')
    139 apt_packages+=('rhythmbox')
    140 apt_packages+=('thunderbird')
    141 apt_packages+=('ubuntu-release-upgrader*')
    142 apt_packages+=('update-manager-core')
    143 apt_packages+=('update-manager')
    144 apt_packages+=('yelp')
    145 
    146 # Purge unnecessary packages
    147 apt-get purge "${apt_packages[@]}"
    148 
    149 # We don't need no docs!
    150 rm -rf /usr/share/help /usr/share/doc /usr/share/man
    151 
    152 # Remove all locale files other than en_US.UTF-8
    153 rm -rf /usr/share/locale/   /usr/share/locale-langpack/     /usr/share/locales/
    154 
    155 # Further cleanup
    156 apt-get autoremove
    157 
    158 rm -f "$0"