-
Notifications
You must be signed in to change notification settings - Fork 1
/
root6.24.06-ubuntu20.04-debootstrap.def
62 lines (48 loc) · 2.24 KB
/
root6.24.06-ubuntu20.04-debootstrap.def
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Bootstrap: debootstrap
OSVersion: focal
MirrorURL: http://us.archive.ubuntu.com/ubuntu/
# Build from source with depootstrap
# Install packages as for root docker image
%help
ROOT Data Analysis Framework from scratch a la root docker image
with addons: boost libs, less, nano, git
%runscript
# For root in /opt
echo "Setup root in /opt"
source /opt/root/bin/thisroot.sh
%post
# Packages as in root ubuntu container
echo "Installing the packages inside the container"
apt-get update
export DEBIAN_FRONTEND="noninteractive"
# Set timezone
echo 'tzdata tzdata/Areas select Europe' | debconf-set-selections
echo 'tzdata tzdata/Zones/Europe select Berlin' | debconf-set-selections
apt-get -y install tzdata
# Add repos for root
echo "deb http://us.archive.ubuntu.com/ubuntu focal universe" >> /etc/apt/sources.list
echo "deb http://us.archive.ubuntu.com/ubuntu focal multiverse" >> /etc/apt/sources.list
apt-get update
# Install needed packages
apt-get -y install cmake ca-certificates curl davix-dev dcap-dev fonts-freefont-ttf \
g++ gcc gfortran \
libafterimage-dev libcfitsio-dev libfcgi-dev libfftw3-dev libfreetype6-dev libftgl-dev \
libgfal2-dev libgif-dev libgl2ps-dev libglew-dev libglu-dev libgraphviz-dev libgsl-dev \
libjpeg-dev liblz4-dev liblzma-dev libmysqlclient-dev libpcre++-dev libpng-dev libpq-dev \
libpythia8-dev libsqlite3-dev libssl-dev libtbb-dev libtiff-dev libx11-dev libxext-dev \
libxft-dev libxml2-dev libxpm-dev libxxhash-dev libz-dev libzstd-dev \
locales make python3-dev python3-numpy srm-ifce-dev unixodbc-dev
apt-get -y install less nano git wget
# apt-get -y install cernlib-base cernlib-core cernlib-core-dev libpdflib804-2-dev
apt-get clean
# Get ROOT binary and install in /opt, before use
# $> source /opt/root/bin/thisroot.sh
ROOT_BIN=root_v6.24.06.Linux-ubuntu20-x86_64-gcc9.3.tar.gz
cd /opt
wget https://root.cern/download/${ROOT_BIN}
tar -xzf ${ROOT_BIN}
rm -f ${ROOT_BIN}
echo /opt/root/lib >> /etc/ld.so.conf
ldconfig
# /cvmfs bind mount
mkdir /cvmfs