...
 
Commits (4)
# Copyright (c) 2017, Yaroslav O. Halchenko. All rights reserved. MIT license
#
# The purpose of the Singularity environment is to provide a relatively full
# suite of tools provided primarily by Debian/NeuroDebian for runnin various
# neuroimaging analyses.
#
# Notes:
# - Due to https://github.com/singularityware/singularity/issues/471
# bootstrapping leads to non-usable/non-removable-without-reboot
# image due to some rogue run away processes.
# This line could help to kill them but should be used with caution
# since could kill other unrelated processes
#
# grep -l loop /proc/*/mountinfo | sed -e 's,/proc/\(.*\)/.*,\1,g' | while read pid; do sudo kill $pid; done
#
# Changelog
# ---------
# 2.2
# - fresh annex with patched git to avoid "Out of memory, getdelim failed" bug
# - added some tools useful for debugging (gdb)
# - additional mountpoints (/scratch)
# - (note) pip is not installed on purpose, use the one within virtualenv(s)
# 2.x
# - switch to stretch
# - TODO make reproducible
# - TODO "upgrade" bids-validator from 0.20.0
# - Added ants, convert3d
#
# TODOs
# -----
# - package bids-validator
BootStrap: debootstrap
OSVersion: stretch
#MirrorURL: http://ftp.us.debian.org/debian/
MirrorURL: http://smaug.datalad.org:3142/debian/
# so if image is executed we just enter the environment
%runscript
echo "Welcome to the NeuroDebian v 2.2 (Debian stretch) environment"
echo "Please source /etc/fsl/fsl.sh if you need FSL, /etc/afni/afni.sh if you need AFNI"
/bin/bash
%post
echo "Configuring the environment"
sed -i -e 's, main$, main contrib non-free,g' /etc/apt/sources.list
# For build-dep
# sed -i -e 's,^deb \(.*\),deb \1\ndeb-src \1,g' /etc/apt/sources.list
apt-get update
apt-get -y install eatmydata
eatmydata apt-get -y install vim wget strace gdb valgrind time ncdu gnupg curl procps
# eatmydata apt-get -y build-dep git
wget -q -O/tmp/nd-configurerepo https://raw.githubusercontent.com/neurodebian/neurodebian/4d26c8f30433145009aa3f74516da12f560a5a13/tools/nd-configurerepo
bash /tmp/nd-configurerepo
chmod a+r -R /etc/apt
eatmydata apt-get -y install git git-annex-standalone datalad python-nipype virtualenv dcm2niix python-dcmstack python-configparser python-funcsigs python-pytest connectome-workbench python-mvpa2 python-nilearn fsl-core fsl-atlases fsl-first-data mricron afni fsleyes ants convert3d heudiconv
# for bids-validator
curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
eatmydata apt-get install -y nodejs
npm install -g bids-validator@0.22.0
chmod a+rX -R /usr/lib/node_modules/
chmod a+rX -R /etc/apt/sources.list.d
rm -rf /tmp/* /var/tmp/*
apt-get clean
# and wipe out apt lists since not to be used RW for further tuning
# find /var/lib/apt/lists/ -type f -delete
# /usr/bin/find /var/lib/apt/lists/ -type f -name \*Packages\* -o -name \*Contents\*
# complicates later interrogation - thus disabled
# Create some additional bind mount directories present on various compute boxes we have
# access to, to ease deployment
mkdir -p /afs /inbox /ihome /opt /data /backup /apps /srv /scratch
chmod a+rX /afs /inbox /ihome /opt /data /backup /apps /srv /scratch
neurodebian (0.38.0) unstable; urgency=medium
* New features
- nd_freeze (alpha stage) script to be used to "freeze" Debian/NeuroDebian
APT sources to use Debian/NeuroDebian snapshots repository.
It is provided within minimal neurodebian-freeze package so it could
be installed by default on lean base Docker/Singularity images
* singularity/ - configuration(s) for Singularity images to be build on
singularity-hub.org
* Various updates to account for new Debian/Ubuntu releases
* debian/compat - boosted to 9 from 7
-- Yaroslav Halchenko <debian@onerussian.com> Wed, 07 Nov 2018 10:44:41 -0500
neurodebian (0.37.6) unstable; urgency=medium
* Switch to use interest-noawait for neurodebian-desktop.trigger
......
......@@ -3,11 +3,10 @@ Section: science
Priority: optional
Maintainer: NeuroDebian Team <team@neuro.debian.net>
Uploaders: Michael Hanke <mih@debian.org>, Yaroslav Halchenko <debian@onerussian.com>
Build-Depends: debhelper (>= 7.0.50~), xcftools, help2man, inkscape, imagemagick, python-html5lib, po-debconf
Build-Depends: debhelper (>= 9~), xcftools, help2man, inkscape, imagemagick, python-html5lib, po-debconf
Standards-Version: 3.9.8
Homepage: http://neuro.debian.net
Vcs-Browser: http://git.debian.org/?p=pkg-exppsy/neurodebian.git
Vcs-Git: git://git.debian.org/git/pkg-exppsy/neurodebian.git
Vcs-Git: https://salsa.debian.org/neurodebian-team/neurodebian.git
Package: neurodebian
Architecture: all
......@@ -27,8 +26,10 @@ Description: neuroscience-oriented distribution - repository configuration
Package: neurodebian-dev
Architecture: all
Depends: ${misc:Depends}, devscripts, neurodebian-archive-keyring
Recommends: python, zerofree, moreutils, time, ubuntu-keyring, debian-archive-keyring, apt-utils, cowbuilder
Suggests: virtualbox-ose, virtualbox-ose-fuse
Recommends: python, zerofree, moreutils, time, ubuntu-keyring,
debian-archive-keyring, apt-utils, cowbuilder,
neurodebian-freeze,
Suggests: virtualbox-ose, virtualbox-ose-fuse, singularity-container
Description: neuroscience-oriented distribution - development tools
The NeuroDebian project integrates and maintains a variety of software
projects within Debian that are useful for neuroscience (such as AFNI,
......@@ -73,6 +74,22 @@ Description: neuroscience-oriented distribution - GnuPG archive keys
The NeuroDebian project digitally signs its Release files. This package
contains the archive keys used for that.
Package: neurodebian-freeze
Architecture: all
Depends: ${misc:Depends},
Description: nd_freeze tool to freeze APT sources to use snapshots
The NeuroDebian project integrates and maintains a variety of software
projects within Debian that are useful for neuroscience (such as AFNI,
FSL, PsychoPy, etc.) or generic computation (such as HTCondor,
pandas, etc.).
.
This minimalistic package provides nd_freeze script to be used in
rich or minimalistic environments (such as Docker or Singularity
recipes) to freeze their APT sources. Intended to assist making such
images reproducible.
Package: neurodebian-popularity-contest
Architecture: all
Depends: ${misc:Depends}, popularity-contest
......
tools/nd_freeze usr/bin/
......@@ -8,7 +8,7 @@ ICONS_SIZE=32
override_dh_auto_configure:
override_dh_auto_build::
override_dh_auto_build:
# wallpaper
[ ! -d build/wallpaper ] && mkdir -p build/wallpaper
xcf2png -o build/wallpaper/neurodebian.png artwork/wallpaper_hotbrain.xcf
......@@ -30,9 +30,14 @@ override_dh_auto_build::
help2man --no-info tools/nd-configurerepo \
-n "configure APT to use NeuroDebian repository" > build/man/nd-configurerepo.1
override_dh_auto_install::
override_dh_auto_install:
override_dh_auto_test::
override_dh_auto_test:
override_dh_install:
dh_install
# shipped in a dedicated neurodebian-freeze package
rm -f debian/neurodebian-dev/usr/bin/nd_freeze
override_dh_clean:
debconf-updatepo
......