summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2019-01-31 14:12:13 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2019-01-31 14:12:13 -0500
commit11f358cafab2da28692fdaa837dfbcc3cc163736 (patch)
tree9ed443d35c71e4c27a2803733c41d3e8a2322a73 /etc
parent73a53c48901e120a06d221c8cb4f02076e3b9888 (diff)
downloaddocker-python-11f358cafab2da28692fdaa837dfbcc3cc163736.tar.gz
Refactor all
Diffstat (limited to 'etc')
-rwxr-xr-xetc/pkgs/001-gcc.sh95
-rwxr-xr-xetc/pkgs/001-openssl.sh (renamed from etc/pkgs/003-openssl.sh)2
-rwxr-xr-xetc/pkgs/002-binutils.sh26
-rwxr-xr-xetc/pkgs/002-python.sh (renamed from etc/pkgs/004-python.sh)3
-rwxr-xr-xetc/tasks/001-packages.sh8
-rwxr-xr-xetc/tasks/002-python-packages.sh7
-rwxr-xr-xetc/tasks/999-clean.sh12
7 files changed, 5 insertions, 148 deletions
diff --git a/etc/pkgs/001-gcc.sh b/etc/pkgs/001-gcc.sh
deleted file mode 100755
index 21065cd..0000000
--- a/etc/pkgs/001-gcc.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/bash -e
-set -x
-name=gcc
-version=8.2.0
-url=http://mirrors-usa.go-parts.com/gcc/releases/${name}-${version}/${name}-${version}.tar.gz
-src=${name}-${version}
-bld=${src}_build
-
-version_isl=0.20
-url_isl=http://isl.gforge.inria.fr/isl-${version_isl}.tar.bz2
-
-version_cloog=0.18.4
-url_cloog="http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-${version_cloog}.tar.gz"
-
-# Ensure 64-bit libraries go into /lib
-sudo ln -sf ${TOOLCHAIN_LIB} ${TOOLCHAIN}/lib64
-
-curl -LO ${url}
-tar xf ${src}.tar.gz
-
-mkdir -p ${bld}
-pushd ${src}
- unset CFLAGS
- unset LDFLAGS
-
- # Disable fixincludes
- sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
-
- # Use /lib, not /lib64
- #sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64
- #sed -i 's/lib64/lib/g' gcc/config.gcc
- #sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
-
- # Download MPFR and friends
- ./contrib/download_prerequisites
-
- curl -LO ${url_isl}
- tar xf $(basename ${url_isl})
- ln -s isl-${version_isl} isl
-
- curl -LO ${url_cloog}
- tar xf $(basename ${url_cloog})
- ln -s cloog-${version_cloog} cloog
-popd
-
-pushd ${bld}
- # Beware: x86_64-only toolchain (multilib disabled)
- ../${src}/configure \
- --prefix=${TOOLCHAIN} \
- --libdir=${TOOLCHAIN_LIB} \
- --libexecdir=${TOOLCHAIN_LIB} \
- --disable-static \
- --disable-multilib \
- --disable-werror \
- --disable-libunwind-exceptions \
- --disable-libstdcxx-pch \
- --disable-libssp \
- --with-system-zlib \
- --with-isl \
- --with-linker-hash-style=gnu \
- --with-tune=generic \
- --enable-bootstrap \
- --enable-languages=c,c++,fortran,lto,go \
- --enable-shared \
- --enable-threads=posix \
- --enable-libmpx \
- --enable-__cxa_atexit \
- --enable-clocale=gnu \
- --enable-gnu-unique-object \
- --enable-linker-build-id \
- --enable-lto \
- --enable-plugin \
- --enable-install-libiberty \
- --enable-gnu-indirect-function \
- --enable-default-pie \
- --enable-default-ssp \
- --enable-cet=auto \
- --enable-checking=release
-
- make -j${_maxjobs}
- make install-strip
-
- # Binutils build cannot use this static archive
- rm -f "${TOOLCHAIN_LIB}/libiberty.a"
-
- # Prevent ldconfig from picking up gdb python scripts
- autoload="${TOOLCHAIN_DATA}/gdb/auto-load${TOOLCHAIN_LIB}"
- mkdir -p "${autoload}"
- mv -v "${TOOLCHAIN_LIB}"/*gdb.py "${autoload}"
-
- # Enforce global linkage to toolchain
- /bin/echo "${TOOLCHAIN_LIB}" > gcc.conf
- sudo cp -a gcc.conf /etc/ld.so.conf.d
- sudo ldconfig
-popd
diff --git a/etc/pkgs/003-openssl.sh b/etc/pkgs/001-openssl.sh
index c5aaabe..fe7aad8 100755
--- a/etc/pkgs/003-openssl.sh
+++ b/etc/pkgs/001-openssl.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
set -x
name="openssl"
@@ -64,6 +63,7 @@ function post()
{
bundle=$(get_system_cacert)
install -D -m644 "${bundle}" "${prefix}/ssl/cert.pem"
+ rm -rf "${prefix}/share/doc/openssl/html"
rm -rf "${dest}"
rm -rf "${tarball}"
echo "All done."
diff --git a/etc/pkgs/002-binutils.sh b/etc/pkgs/002-binutils.sh
deleted file mode 100755
index 83423be..0000000
--- a/etc/pkgs/002-binutils.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash -x
-name=binutils
-version=2.31.1
-url=https://ftp.gnu.org/gnu/binutils/${name}-${version}.tar.gz
-
-curl -LO ${url}
-tar xf ${name}-${version}.tar.gz
-
-mkdir -p binutils
-pushd binutils
- ../${name}-${version}/configure \
- --prefix=${TOOLCHAIN} \
- --target=x86_64-pc-linux-gnu \
- --enable-shared \
- --enable-lto \
- --enable-gold \
- --enable-ld=default \
- --enable-plugins \
- --enable-threads \
- --disable-static \
- --disable-multilib \
- --with-sysroot=/ \
- --with-tune=generic
- make -j4
- make install-strip
-popd
diff --git a/etc/pkgs/004-python.sh b/etc/pkgs/002-python.sh
index d7db12f..36cebc6 100755
--- a/etc/pkgs/004-python.sh
+++ b/etc/pkgs/002-python.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-set -e
set -x
python_version="${PYTHON_VERSION}"
@@ -98,7 +97,7 @@ function build()
--with-dbmliborder=gdbm:ndbm \
--with-pymalloc \
--with-system-expat
- make -j4
+ make -j${_maxjobs}
make install
popd
post
diff --git a/etc/tasks/001-packages.sh b/etc/tasks/001-packages.sh
index fabad6e..5d20ee7 100755
--- a/etc/tasks/001-packages.sh
+++ b/etc/tasks/001-packages.sh
@@ -1,18 +1,10 @@
#!/bin/bash
-set -e
set -x
-prefix="${TOOLCHAIN}"
sysconfdir="${TOOLCHAIN_BUILD}/etc"
reqdir=${sysconfdir}/pkgs
blddir=builds
-export PATH="${prefix}/bin:${PATH}"
-export CFLAGS="-I${prefix}/include"
-export LDFLAGS="-L${prefix}/lib -Wl,-rpath=${prefix}/lib"
-export PKG_CONFIG_PATH="${prefix}/lib/pkgconfig"
-export PREFIX="${prefix}"
-
function pre()
{
if [[ ! -d ${reqdir} ]]; then
diff --git a/etc/tasks/002-python-packages.sh b/etc/tasks/002-python-packages.sh
index 9218a8e..bcd0b6f 100755
--- a/etc/tasks/002-python-packages.sh
+++ b/etc/tasks/002-python-packages.sh
@@ -1,16 +1,9 @@
#!/bin/bash
set -x
-# Uses GLOBAL environment variable: PYTHON_VERSION defined by `docker build` argument
-prefix="${TOOLCHAIN}"
sysconfdir="${TOOLCHAIN_BUILD}/etc"
reqdir=${sysconfdir}/pip
-export PATH="${prefix}/bin:${PATH}"
-export PKG_CONFIG_PATH="${prefix}/lib/pkgconfig"
-export CFLAGS="-I${prefix}/include"
-export LDFLAGS="-L${prefix}/lib -Wl,-rpath=${prefix}/lib"
-
function pre()
{
if [[ ! -d ${reqdir} ]]; then
diff --git a/etc/tasks/999-clean.sh b/etc/tasks/999-clean.sh
index c791ec5..e4e8d13 100755
--- a/etc/tasks/999-clean.sh
+++ b/etc/tasks/999-clean.sh
@@ -4,22 +4,16 @@ if [[ ! -f /.dockerenv ]]; then
exit 1
fi
-packages=(
- gcc
- gcc-c++
- gcc-gfortran
-)
-sudo yum remove -y "${packages[@]}"
sudo yum clean all
-# Remove all static libraries
-sudo find "${TOOLCHAIN_LIB}" -name '*.a' -delete
-
sudo rm -rf "${HOME}/.astropy"
sudo rm -rf "${HOME}"/*
sudo rm -rf /tmp/*
sudo rm -rf /var/cache/yum
+# Ensure new shared libraries ingested
+sudo ldconfig
+
for logfile in /var/log/*
do
[[ -f ${logfile} ]] && sudo truncate --size=0 "${logfile}"