]> git.donarmstrong.com Git - neurodebian.git/commitdiff
Merge remote branch 'vm/master'
authorYaroslav Halchenko <debian@onerussian.com>
Sat, 27 Nov 2010 02:16:45 +0000 (21:16 -0500)
committerYaroslav Halchenko <debian@onerussian.com>
Sat, 27 Nov 2010 02:16:45 +0000 (21:16 -0500)
* vm/master:
  preseeding: adding partman/confirm_nooverwrite boolean true to prevent yet another question
  NF: fully (nearly) automated construction of VM image
  moving vm tools under vm/tools, deprecating nd_setupguestos replaced with vm/d-i/tools/initial_setup
  adding svgtune -- I doubt it would make to any task... although may be typesetting?
  Help with a smooth installation of Matlab
  Finally push it out to let people use the keyring package.
  Forgot *
  Put booth report link into publication section.
  Advertise donations.
  Minor
  minor touches on the SfN10 coverage
  SfN2010 booth report
  added nspike possible future blend
  Cleanup.
  blends-inject 0.0.5 release: NF: -a mode + BF: addressing Andreas comment on casing
  Rename spm8 doc addenum to match package name.
  Tweak NITRC setup for SPM8.
  Add spm8 (and reorder items).

29 files changed:
debian/changelog
debian/rules
future/blends/nspike [new file with mode: 0644]
neurodebian.cfg
pkgs/matlab-spm8.rst [new file with mode: 0644]
sphinx/booth_sfn2010.rst [new file with mode: 0644]
sphinx/faq.rst
sphinx/gpg.rst [deleted file]
sphinx/index.rst
sphinx/link_names.txt [new file with mode: 0644]
sphinx/links_names.rst [deleted file]
sphinx/pics/sfn2010/BoothReady.jpg [new file with mode: 0644]
sphinx/pics/sfn2010/BusyBooth.jpg [new file with mode: 0644]
sphinx/pics/sfn2010/NeuroDebianPosterSession.jpg [new file with mode: 0644]
sphinx/pics/sfn2010/PosterSession.jpg [new file with mode: 0644]
sphinx/pics/sfn2010/SanDiegoConferenceCenter.jpg [new file with mode: 0644]
sphinx/setup.rst [deleted file]
sphinx/spread.rst
sphinx/substitutions.rst [deleted file]
sphinx/substitutions.txt [new file with mode: 0644]
tools/blends-inject
tools/nd_compactvdi [deleted file]
tools/nd_exportappliance [deleted file]
tools/nd_setupguestos [deleted file]
vm/d-i/squeeze/preseed.cfg
vm/d-i/tools/initial_setup
vm/tools/.gitignore [new file with mode: 0644]
vm/tools/nd_compactvdi [new file with mode: 0755]
vm/tools/nd_createappliance [new file with mode: 0755]

index ba5f1d5bfca4a9915d4a309433e5465a635775cb..d103a2865a6061f5e4f734142a68c80adef88df6 100644 (file)
@@ -1,5 +1,5 @@
-neurodebian (0.18) squeeze; urgency=low
+neurodebian (0.19) unstable; urgency=low
 
   * Initial release.
 
- -- Michael Hanke <michael.hanke@gmail.com>  Thu, 04 Nov 2010 10:03:35 -0400
+ -- Michael Hanke <michael.hanke@gmail.com>  Thu, 25 Nov 2010 10:16:04 -0500
index 9b6ea59595b5a3cb3df9ebdfc502634d1bedbfef..c24da78693a6351c23c08f9b06a38b239d518d2a 100755 (executable)
@@ -31,3 +31,7 @@ override_dh_auto_build::
 override_dh_auto_install::
 
 override_dh_auto_test::
+
+override_dh_clean:
+       dh_clean
+       $(MAKE) -C artwork clean
diff --git a/future/blends/nspike b/future/blends/nspike
new file mode 100644 (file)
index 0000000..189f2cb
--- /dev/null
@@ -0,0 +1,13 @@
+Source: nspike
+Tasks: debian-science/neuroscience-electrophysiology
+Homepage: http://nspike.sourceforge.net
+Language: C++
+Version: 1.9.3
+License: GPL-2+
+Author: Loren M. Frank
+Pkg-Description: electrophysiological and behavioral data collection
+ This project is a electrophysiological and behavioral data collection
+ program that can distribute data collection tasks across multiple
+ machines. It is designed to interface with the NSpike hardware
+ system.
+Remark: Last vital signs from 2 years ago
index aa2c86cddd5a706f0e1bb9bcfbc16159aa4ec2e1..ea205b31132f4c46783e984a65067dbf4c874a48 100644 (file)
@@ -16,7 +16,8 @@ select taskfiles =
 # package names
 select names = libnifti2 odin mitools afni-atlases python-pyssdh python-networkx
  r-cran-glmnet python-rpy2 python-nibabel-snapshot
- python-scikits-learn python-mdp python-mlpy python-openpyxl libgdf-dev
+ python-scikits-learn python-mdp python-mlpy python-openpyxl libgdf-dev matlab
+ svgtune
 
 # Information about prospective packages to be imported from taskfiles
 prospective =
@@ -39,6 +40,7 @@ libgiftiio-dev = libgiftiio-dev gifti-bin
 openmeeg-tools = openmeeg-tools libopenmeeg-dev python-openmeeg libopenmeeg1
 libbiosig-dev = libbiosig-dev python-biosig octave-biosig biosig-tools libbiosig0
 libgdf-dev = libgdf-dev libgdf0 libgdf0-dbg libgdf-dev gdf-tools octave-gdf matlab-gdf
+spm8 = matlab-spm8 spm8-common spm8-data spm8-doc
 
 [mirrors]
 de = http://apsy.gse.uni-magdeburg.de/debian
@@ -115,20 +117,22 @@ fslview = 25
 gifti-bin = 75
 imagej = 256
 itksnap = 110
+jist = 228
 libminc-dev = 129
-minc-tools = 129
 libgiftiio-dev = 75
 libnifti2 = 26
 libnifti-dev = 26
-nifti-bin = 26
-odin = 153
+matlab-spm8 = 24
+minc-tools = 129
+mipav = 70
 mitools = 153
 mricron = 152
 mrtrix = 128
+nifti-bin = 26
+odin = 153
 python-mvpa = 162
 python-nipype = 325
 slicer = 50
+spm8 = 24
 voxbo = 73
-mipav = 70
-jist = 228
 
diff --git a/pkgs/matlab-spm8.rst b/pkgs/matlab-spm8.rst
new file mode 100644 (file)
index 0000000..d9d11b2
--- /dev/null
@@ -0,0 +1,11 @@
+Package development in progress
+===============================
+
+The current SPM8 package is work-in-progress. It might undergo significant
+changes and package content and functionality between package updates. In
+particular, only fMRI-related functionality is supposed to work at this time.
+All MEG/EEG tools require the fieldtrip toolbox that will be packaged
+separately in the future.
+
+However, testing, bug reports and suggestions for improvements are most welcome!
+Please post them to 592390@bugs.debian.org
diff --git a/sphinx/booth_sfn2010.rst b/sphinx/booth_sfn2010.rst
new file mode 100644 (file)
index 0000000..1cdf0de
--- /dev/null
@@ -0,0 +1,183 @@
+.. _chap_debian_booth_sfn2010:
+
+Debian booth at SfN2010 in San Diego
+====================================
+
+.. image:: pics/sfn2010/SanDiegoConferenceCenter.jpg
+   :width: 100%
+
+During November 13-17, 2010 the NeuroDebian team ran its first Debian booth at the
+annual meeting of the `Society for Neuroscience`_ (SfN2010_) in San
+Diego, USA. We presented the upcoming release Debian 6.0 Squeeze and
+demonstrated its utility as a robust and versatile research environment for
+neuroscience. Booth visitors had the opportunity to meet with developers
+of neuroscience research software, and to get information on available software
+and recommendations for deployment strategies in research laboratories.
+
+.. image:: pics/sfn2010/PosterSession.jpg
+
+The `annual meeting`_ of the Society for Neuroscience is one of the largest
+neuroscience conferences in the world, with over 30,000 attendees. Researchers,
+clinicians, and leading experts discuss the latest findings about the brain,
+nervous system, and related disorders.
+
+
+Booth setup
+-----------
+
+`Don Armstrong`_ kindly provided us with Debian banners to decorate the
+booth and some Debian T-shirts to give away. Moreover, we were equipped with
+laptops running Debian squeeze and sid, as well as two additional laptops each
+running a Debian squeeze virtual machine on top of Mac OS X and Windows,
+respectively (CDs with the VM image were also available for visitors to take
+home). To demonstrate Debian's versatility, we had a complete Debian
+archive mirror that was used to show the full selection of available software
+and the simplicity of installation and upgrade procedures.  The mirror
+was provided from an external harddrive by a commodity router box
+running the Debian-based DebWrt_ distribution.
+All machines were connected to our own local wired network to avoid problems
+with conference center's free wireless network (poor at best). Finally, we had
+several hundred `tri-fold flyers`_ with general Debian facts on one side, and
+NeuroDebian facts on the other (`sources are available`_).
+
+
+.. figure:: pics/sfn2010/BoothReady.jpg
+
+   Final booth setup with staff (left to right): Michael Hanke, Yaroslav
+   Halchenko and Swaroop Guntupali.
+
+
+Booth visitors
+--------------
+
+The booth was well attended on all days of the conference. Many people were
+somewhat surprised, but also pleased to see Debian represented. The visitors
+comprised the whole range from long-term Debian users to people who were not
+aware of an operating system other than Windows and Mac OS.
+
+A number of visitors were involved in free software development -- at various
+levels. We talked to a Debian ftpmaster, a Gentoo developer, various developers
+of neuroscience-related software that is already integrated in Debian and many
+more whose work still needs to be packaged.  We were visited by representatives of
+companies looking for support to get their open-source products into Debian.
+The vast majority, however, were scientists looking for a better research
+platform for their labs. That included the struggling Phd-student, as well as
+lab heads sharing their experience managing a computing infrastructure for
+neuroscience research.
+
+The Debian booth also served as a platform for upstream developers to meet with
+Debian users of their software.
+
+.. image:: pics/sfn2010/BusyBooth.jpg
+
+
+
+Debian-based systems are the preferred Linux environment
+--------------------------------------------------------
+
+The overwhelming majority of visitors running some Linux flavor used a
+Debian-based operating system -- including Debian_ itself, Ubuntu_ and
+sidux/apttosid_. Especially people using Python for research purposes seem to
+prefer the comprehensive support of Python modules in Debian, whereas e.g. R_
+users are more uniformly distributed across GNU/Linux distributions. This
+assessment is, of course, biased by the fact that Debian was the only
+distribution that was present at this conference.
+
+In general, we had the impression that Linux users employ a larger variety of
+tools in their research activities, whereas users of proprietary operating
+systems tended to limit themselves to a more restricted set, or use an
+intermediate computing platform, such as Matlab.
+
+.. figure:: pics/sfn2010/NeuroDebianPosterSession.jpg
+
+   During the conference's poster session we explained the Debian system and
+   community processes to many interested visitors (`download the poster`_).
+
+
+Take-home messages
+------------------
+
+While there was a large variety of topics that were brought up by visitors there
+were some common patterns.
+
+Visibility
+
+  For a Debian developer it may be surprising, but many people still do not
+  know that Debian exists -- even despite the fact that Debian is often a
+  perfect match for their particular requirements. People who got introduced to
+  Debian at the booth often couldn't believe what they were hearing or
+  seeing: so much software, runs on any hardware, all for free.
+
+  We believe it would be very beneficial for Debian to reach out beyond the IT
+  sector and present itself in all fields of applications that it already
+  supports today.
+
+Debian and Ubuntu
+
+  Apparently it is still a largely unknown fact that Ubuntu is based on Debian.
+
+Live-CD
+
+  There was a significant demand for (customized) Live-CDs. On one hand, people
+  were asking for a way to quickly try out Debian (and we believe that this
+  doesn't necessarily have to be a live-cd). On the other hand, for example,
+  teachers were asking for means to temporarily deploy Debian on, e.g.
+  university computer pool machines and use Debian-packaged software for
+  teaching courses (e.g. on brain-imaging data analysis).
+
+Electrophysiology tools
+
+  Of all subfields of neuroscience, electrophysiology researchers expressed the
+  greatest demand for better tools in Debian -- or basically at least some
+  specialized tools at all.  Moreover, many research projects relying
+  on FOSS solutions in electrophysiology already use Debian-based
+  systems to accomplish the mission; they just rely on manual (from sources)
+  deployment of the necessary tools.  We started a `new Debian Science Blend task`_ to
+  collect information about existing relevant software and to eventually package it.
+
+Realtime capabilities
+
+  Apparently, numerous research groups utilize Debian-based equipment to perform
+  various flavors of real-time data acquisition and processing. They expressed
+  their demand for real-time capabilities of (some) Debian kernel images.
+
+Cloud-computing
+
+  Cloud-computing seems to be an increasingly interesting topic for neuroscience
+  data analysis. We got the impression that there is a tendency to look for
+  alternatives to Matlab to be able to run analyses in the cloud cheaper (or at
+  all). We pointed people to ongoing efforts in Debian to enable Debian-based
+  cloud computing (see e.g. the `Debian wiki`_).
+
+
+Many Thanks
+-----------
+
+Throughout the conference many people stopped by to express their gratitude to
+Debian for developing their operating system of choice. We want to affirm this
+and relay it to the larger Debian community. Thanks for Debian.
+
+
+Acknowledgements
+----------------
+
+This booth has been made possible by the generous support of Prof. James V.
+Haxby (Dartmouth College, New Hampshire, USA) and `other donations to the Debian
+project`_.
+
+
+.. _annual meeting: http://www.sfn.org/am2010/
+.. _SfN2010: http://www.sfn.org/am2010/
+.. _Society for Neuroscience: http://www.sfn.org/
+.. _Don Armstrong: http://www.donarmstrong.org
+.. _DebWrt: http://www.debwrt.net
+.. _Debian: http://www.debian.org
+.. _Ubuntu: http://www.ubuntu.com
+.. _apttosid: http://aptosid.com
+.. _R: http://www.r-project.org
+.. _tri-fold flyers: http://neuro.debian.net/_files/brochure_debian-neurodebian.pdf
+.. _sources are available: http://git.debian.org/?p=pkg-exppsy/neurodebian.git;a=tree;hb=HEAD;f=artwork/brochure
+.. _Debian wiki: http://wiki.debian.org/Cloud
+.. _new Debian Science Blend task: http://blends.alioth.debian.org/science/tasks/neuroscience-electrophysiology
+.. _download the poster: http://neuro.debian.net/_files/NeuroDebian_SfN2010.png
+.. _other donations to the Debian project: http://www.debian.org/donations
index fad53945ff76ebd8545ed6205c4edd2cc7f6e479..956de0ea133552ffe6fb4c70db2bdf95165e401d 100644 (file)
@@ -162,5 +162,5 @@ package that is available from the NeuroDebian repository. Alternatively:
    as root or use sudo).
 
 
-.. include:: links_names.rst
-.. include:: substitutions.rst
+.. include:: link_names.txt
+.. include:: substitutions.txt
diff --git a/sphinx/gpg.rst b/sphinx/gpg.rst
deleted file mode 100644 (file)
index 43ec2d6..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-.. _gpg_signatures:
-
-
-Package authentication
-======================
-
-
-When you start using this repository, you might get warning messages like this::
-
-  The following signatures couldn't be verified because 
-  the public key is not available.`
-
-Or you will be asked questions like this over and over::
-
-  WARNING: The following packages cannot be authenticated!
-  ...
-  Install these packages without verification [y/N]?
-
-This is because your APT installation does not know the GPG key that is used to
-sign the release files of this repository. Making APT happy again is easy:
-
-1. Get the key. Either download the `repository key from here
-   <http://apsy.gse.uni-magdeburg.de/debian/apsy.gse.uni-magdeburg.de.asc>`_
-   or fetch it from *subkeys.pgp.net*.
-
-2. Now feed the key into APT by invoking::
-
-     apt-key add #file#
-
-   Where `#file#` has to be replaced with the location of the key file you just
-   downloaded. You need to have superuser-privileges to do this (either do it
-   as root or use sudo).
-
index 0e86f0b4f473017fcd24d057b02f68c723420058..cd9ef575fc5ce2232091dba580b285cf32bed622 100644 (file)
@@ -227,10 +227,14 @@ Italian espresso <coffeeart>`.
 Publications
 ============
 
+Hanke, M. & Halchenko, Y. O. (2010). :ref:`Report from the Debian booth at
+SfN2010 <chap_debian_booth_sfn2010>`. *Annual meeting of the Society for
+Neuroscience*, San Diego, USA.
+
 Halchenko, Y. O., Hanke, M., Haxby, J. V., Pollmann, S. & Raizada, R. D.
 (2010). `Having trouble getting your Nature paper? Maybe you are not using the
 right tools? <_files/NeuroDebian_SfN2010.png>`_ *Poster to be presented at the
-anual meeting of the Society for Neuroscience*, San Diego, USA.
+annual meeting of the Society for Neuroscience*, San Diego, USA.
 
 Hanke, M., Halchenko, Y. O. (2010). `Debian: The ultimate platform for
 neuroimaging research <_files/HankeHalchenko_NeuroDebianDebConf10.pdf>`_.
@@ -268,13 +272,12 @@ efficient, more open, and more fun
 .. toctree::
    :hidden:
 
+   datasets
    livecd
-   gpg
-   setup
-   links_names
-   substitutions
+   vm_welcome
    quotes-nihr01
    quotes-nitrc
 
-.. include:: links_names.rst
-.. include:: substitutions.rst
+
+.. include:: link_names.txt
+.. include:: substitutions.txt
diff --git a/sphinx/link_names.txt b/sphinx/link_names.txt
new file mode 100644 (file)
index 0000000..1e76ea7
--- /dev/null
@@ -0,0 +1,161 @@
+.. This (-*- rst -*-) format file contains commonly used link targets
+   and name substitutions.  It may be included in many files,
+   therefore it should only contain link targets and name
+   substitutions.  Try grepping for "^\.\. _" to find plausible
+   candidates for this list.  
+
+.. NOTE: reST targets are
+   __not_case_sensitive__, so only one target definition is needed for
+   nipy, NIPY, Nipy, etc...
+
+.. _nipy: http://neuroimaging.scipy.org
+.. _nipype: http://nipy.sourceforge.net/nipype
+.. _`Brain Imaging Center`: http://bic.berkeley.edu/
+.. _dipy: http://nipy.sourceforge.net/dipy
+.. _`dipy github`: http://github.com/Garyfallidis/dipy
+.. _nibabel: http://nipy.sourceforge.net/nibabel
+.. _dipy: http://nipy.sourceforge.net/dipy
+
+.. Documentation tools
+.. _graphviz: http://www.graphviz.org/
+.. _Sphinx: http://sphinx.pocoo.org/
+.. _`Sphinx reST`: http://sphinx.pocoo.org/rest.html
+.. _reST: http://docutils.sourceforge.net/rst.html
+.. _docutils: http://docutils.sourceforge.net
+
+.. Licenses
+.. _GPL: http://www.gnu.org/licenses/gpl.html
+.. _BSD: http://www.opensource.org/licenses/bsd-license.php
+.. _LGPL: http://www.gnu.org/copyleft/lesser.html
+
+.. Source control
+.. _git: http://git-scm.com/
+.. _github: http://github.com
+.. _github help: http://help.github.com
+.. _msysgit: http://code.google.com/p/msysgit/downloads/list
+.. _git-osx-installer: http://code.google.com/p/git-osx-installer/downloads/list
+.. _bazaar: http://bazaar-vcs.org/
+
+.. Other working process
+.. _pynifti: http://niftilib.sourceforge.net/pynifti/
+.. _nifticlibs: http://nifti.nimh.nih.gov
+.. _nifti: http://nifti.nimh.nih.gov
+.. _`nipy launchpad`: https://launchpad.net/nipy
+.. _launchpad: https://launchpad.net/
+.. _`nipy trunk`: https://code.launchpad.net/~nipy-developers/nipy/trunk
+.. _`nipy mailing list`: http://projects.scipy.org/mailman/listinfo/nipy-devel
+.. _`nipy bugs`: https://bugs.launchpad.net/nipy
+.. _pep8: http://www.python.org/dev/peps/pep-0008/
+.. _`numpy coding style`: http://scipy.org/scipy/numpy/wiki/CodingStyleGuidelines
+
+.. Code support stuff
+.. _pychecker: http://pychecker.sourceforge.net/
+.. _pylint: http://www.logilab.org/project/pylint
+.. _pyflakes: http://divmod.org/trac/wiki/DivmodPyflakes
+.. _virtualenv: http://pypi.python.org/pypi/virtualenv
+.. _flymake: http://flymake.sourceforge.net/
+.. _rope: http://rope.sourceforge.net/
+.. _pymacs: http://pymacs.progiciels-bpi.ca/pymacs.html
+.. _ropemacs: http://rope.sourceforge.net/ropemacs.html
+.. _ECB: http://ecb.sourceforge.net/
+.. _emacs_python_mode: http://www.emacswiki.org/cgi-bin/wiki/PythonMode
+.. _doctest-mode: http://www.cis.upenn.edu/~edloper/projects/doctestmode/
+.. _nose: http://somethingaboutorange.com/mrl/projects/nose
+.. _`python coverage tester`: http://nedbatchelder.com/code/modules/coverage.html
+
+.. Other python projects
+.. _numpy: http://www.scipy.org/NumPy
+.. _scipy: http://www.scipy.org
+.. _ipython: http://ipython.scipy.org
+.. _`ipython manual`: http://ipython.scipy.org/doc/manual/html
+.. _matplotlib: http://matplotlib.sourceforge.net
+.. _pythonxy: http://www.pythonxy.com
+.. _ETS: http://code.enthought.com/projects/tool-suite.php
+.. _`Enthought Tool Suite`: http://code.enthought.com/projects/tool-suite.php
+.. _python: http://www.python.org
+.. _mayavi: http://mayavi.sourceforge.net/
+.. _sympy: http://code.google.com/p/sympy/
+
+.. Python imaging projects
+.. _PyMVPA: http://www.pymvpa.org
+.. _BrainVISA: http://brainvisa.info
+.. _anatomist: http://brainvisa.info
+.. _pydicom: http://code.google.com/p/pydicom/
+
+.. Not so python imaging projects
+.. _matlab: http://www.mathworks.com
+.. _spm: http://www.fil.ion.ucl.ac.uk/spm
+.. _spm8: http://www.fil.ion.ucl.ac.uk/spm/software/spm8
+.. _eeglab: http://sccn.ucsd.edu/eeglab
+.. _AFNI: http://afni.nimh.nih.gov/afni
+.. _FSL: http://www.fmrib.ox.ac.uk/fsl
+.. _FreeSurfer: http://surfer.nmr.mgh.harvard.edu
+.. _voxbo: http://www.voxbo.org
+.. _mricron: http://www.cabiatl.com/mricro/mricron
+.. _slicer: http://www.slicer.org/
+
+.. File formats
+.. _DICOM: http://medical.nema.org/
+.. _`wikipedia DICOM`: http://en.wikipedia.org/wiki/Digital_Imaging_and_Communications_in_Medicine
+.. _GDCM: http://sourceforge.net/apps/mediawiki/gdcm
+.. _`DICOM specs`: ftp://medical.nema.org/medical/dicom/2009/
+.. _`DICOM object definitions`: ftp://medical.nema.org/medical/dicom/2009/09_03pu3.pdf
+.. _dcm2nii: http://www.cabiatl.com/mricro/mricron/dcm2nii.html
+.. _`mricron install`: http://www.cabiatl.com/mricro/mricron/install.html
+.. _dicom2nrrd: http://www.slicer.org/slicerWiki/index.php/Modules:DicomToNRRD-3.4
+.. _Nrrd: http://teem.sourceforge.net/nrrd/format.html
+
+.. General software
+.. _gcc: http://gcc.gnu.org
+.. _xcode: http://developer.apple.com/TOOLS/xcode
+.. _mingw: http://www.mingw.org
+.. _cygwin: http://cygwin.com
+.. _macports: http://www.macports.org/
+.. _VTK: http://www.vtk.org/
+.. _ITK: http://www.itk.org/
+.. _swig: http://www.swig.org
+.. _NeuroDebian: http://neuro.debian.net
+.. _Debian: http://www.debian.org
+.. _exppsy: http://alioth.debian.org/projects/pkg-exppsy
+.. _`Debian Med`: http://debian-med.alioth.debian.org
+.. _`Debian Science`: http://wiki.debian.org/DebianScience
+
+.. Functional imaging labs
+.. _`functional imaging laboratory`: http://www.fil.ion.ucl.ac.uk
+.. _FMRIB: http://www.fmrib.ox.ac.uk
+
+.. Other organizations
+.. _enthought: <http://www.enthought.com>
+.. _kitware: http://www.kitware.com
+.. _nitrc: http://www.nitrc.org
+
+.. General information links
+.. _`wikipedia FMRI`: http://en.wikipedia.org/wiki/Functional_magnetic_resonance_imaging
+.. _`wikipedia PET`: http://en.wikipedia.org/wiki/Positron_emission_tomography
+
+.. Mathematical methods
+.. _`wikipedia ICA`: http://en.wikipedia.org/wiki/Independent_component_analysis
+.. _`wikipedia PCA`: http://en.wikipedia.org/wiki/Principal_component_analysis
+
+.. Mathematical ideas
+.. _`wikipedia spherical coordinate system`: http://en.wikipedia.org/wiki/Spherical_coordinate_system
+.. _`mathworld spherical coordinate system`: http://mathworld.wolfram.com/SphericalCoordinates.html
+.. _`wikipedia affine`: http://en.wikipedia.org/wiki/Affine_transformation
+.. _`wikipedia linear transform`: http://en.wikipedia.org/wiki/Linear_transformation
+.. _`wikipedia rotation matrix`: http://en.wikipedia.org/wiki/Rotation_matrix
+.. _`wikipedia homogenous coordinates`: http://en.wikipedia.org/wiki/Homogeneous_coordinates
+.. _`wikipedia axis angle`: http://en.wikipedia.org/wiki/Axis_angle
+.. _`wikipedia Euler angles`: http://en.wikipedia.org/wiki/Euler_angles
+.. _`Mathworld Euler angles`: http://mathworld.wolfram.com/EulerAngles.html
+.. _`wikipedia quaternion`: http://en.wikipedia.org/wiki/Quaternion
+.. _`wikipedia shear matrix`: http://en.wikipedia.org/wiki/Shear_matrix
+.. _`wikipedia reflection`: http://en.wikipedia.org/wiki/Reflection_(mathematics)
+.. _`wikipedia direction cosine`: http://en.wikipedia.org/wiki/Direction_cosine
+
+.. Homepages
+.. _yoh: http://www.onerussian.com
+.. _mih: http://mih.voxindeserto.de
+
+.. Debian specifics
+.. _ITP: http://www.debian.org/devel/wnpp
+.. _ITPs: http://www.debian.org/devel/wnpp
diff --git a/sphinx/links_names.rst b/sphinx/links_names.rst
deleted file mode 100644 (file)
index 1e76ea7..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-.. This (-*- rst -*-) format file contains commonly used link targets
-   and name substitutions.  It may be included in many files,
-   therefore it should only contain link targets and name
-   substitutions.  Try grepping for "^\.\. _" to find plausible
-   candidates for this list.  
-
-.. NOTE: reST targets are
-   __not_case_sensitive__, so only one target definition is needed for
-   nipy, NIPY, Nipy, etc...
-
-.. _nipy: http://neuroimaging.scipy.org
-.. _nipype: http://nipy.sourceforge.net/nipype
-.. _`Brain Imaging Center`: http://bic.berkeley.edu/
-.. _dipy: http://nipy.sourceforge.net/dipy
-.. _`dipy github`: http://github.com/Garyfallidis/dipy
-.. _nibabel: http://nipy.sourceforge.net/nibabel
-.. _dipy: http://nipy.sourceforge.net/dipy
-
-.. Documentation tools
-.. _graphviz: http://www.graphviz.org/
-.. _Sphinx: http://sphinx.pocoo.org/
-.. _`Sphinx reST`: http://sphinx.pocoo.org/rest.html
-.. _reST: http://docutils.sourceforge.net/rst.html
-.. _docutils: http://docutils.sourceforge.net
-
-.. Licenses
-.. _GPL: http://www.gnu.org/licenses/gpl.html
-.. _BSD: http://www.opensource.org/licenses/bsd-license.php
-.. _LGPL: http://www.gnu.org/copyleft/lesser.html
-
-.. Source control
-.. _git: http://git-scm.com/
-.. _github: http://github.com
-.. _github help: http://help.github.com
-.. _msysgit: http://code.google.com/p/msysgit/downloads/list
-.. _git-osx-installer: http://code.google.com/p/git-osx-installer/downloads/list
-.. _bazaar: http://bazaar-vcs.org/
-
-.. Other working process
-.. _pynifti: http://niftilib.sourceforge.net/pynifti/
-.. _nifticlibs: http://nifti.nimh.nih.gov
-.. _nifti: http://nifti.nimh.nih.gov
-.. _`nipy launchpad`: https://launchpad.net/nipy
-.. _launchpad: https://launchpad.net/
-.. _`nipy trunk`: https://code.launchpad.net/~nipy-developers/nipy/trunk
-.. _`nipy mailing list`: http://projects.scipy.org/mailman/listinfo/nipy-devel
-.. _`nipy bugs`: https://bugs.launchpad.net/nipy
-.. _pep8: http://www.python.org/dev/peps/pep-0008/
-.. _`numpy coding style`: http://scipy.org/scipy/numpy/wiki/CodingStyleGuidelines
-
-.. Code support stuff
-.. _pychecker: http://pychecker.sourceforge.net/
-.. _pylint: http://www.logilab.org/project/pylint
-.. _pyflakes: http://divmod.org/trac/wiki/DivmodPyflakes
-.. _virtualenv: http://pypi.python.org/pypi/virtualenv
-.. _flymake: http://flymake.sourceforge.net/
-.. _rope: http://rope.sourceforge.net/
-.. _pymacs: http://pymacs.progiciels-bpi.ca/pymacs.html
-.. _ropemacs: http://rope.sourceforge.net/ropemacs.html
-.. _ECB: http://ecb.sourceforge.net/
-.. _emacs_python_mode: http://www.emacswiki.org/cgi-bin/wiki/PythonMode
-.. _doctest-mode: http://www.cis.upenn.edu/~edloper/projects/doctestmode/
-.. _nose: http://somethingaboutorange.com/mrl/projects/nose
-.. _`python coverage tester`: http://nedbatchelder.com/code/modules/coverage.html
-
-.. Other python projects
-.. _numpy: http://www.scipy.org/NumPy
-.. _scipy: http://www.scipy.org
-.. _ipython: http://ipython.scipy.org
-.. _`ipython manual`: http://ipython.scipy.org/doc/manual/html
-.. _matplotlib: http://matplotlib.sourceforge.net
-.. _pythonxy: http://www.pythonxy.com
-.. _ETS: http://code.enthought.com/projects/tool-suite.php
-.. _`Enthought Tool Suite`: http://code.enthought.com/projects/tool-suite.php
-.. _python: http://www.python.org
-.. _mayavi: http://mayavi.sourceforge.net/
-.. _sympy: http://code.google.com/p/sympy/
-
-.. Python imaging projects
-.. _PyMVPA: http://www.pymvpa.org
-.. _BrainVISA: http://brainvisa.info
-.. _anatomist: http://brainvisa.info
-.. _pydicom: http://code.google.com/p/pydicom/
-
-.. Not so python imaging projects
-.. _matlab: http://www.mathworks.com
-.. _spm: http://www.fil.ion.ucl.ac.uk/spm
-.. _spm8: http://www.fil.ion.ucl.ac.uk/spm/software/spm8
-.. _eeglab: http://sccn.ucsd.edu/eeglab
-.. _AFNI: http://afni.nimh.nih.gov/afni
-.. _FSL: http://www.fmrib.ox.ac.uk/fsl
-.. _FreeSurfer: http://surfer.nmr.mgh.harvard.edu
-.. _voxbo: http://www.voxbo.org
-.. _mricron: http://www.cabiatl.com/mricro/mricron
-.. _slicer: http://www.slicer.org/
-
-.. File formats
-.. _DICOM: http://medical.nema.org/
-.. _`wikipedia DICOM`: http://en.wikipedia.org/wiki/Digital_Imaging_and_Communications_in_Medicine
-.. _GDCM: http://sourceforge.net/apps/mediawiki/gdcm
-.. _`DICOM specs`: ftp://medical.nema.org/medical/dicom/2009/
-.. _`DICOM object definitions`: ftp://medical.nema.org/medical/dicom/2009/09_03pu3.pdf
-.. _dcm2nii: http://www.cabiatl.com/mricro/mricron/dcm2nii.html
-.. _`mricron install`: http://www.cabiatl.com/mricro/mricron/install.html
-.. _dicom2nrrd: http://www.slicer.org/slicerWiki/index.php/Modules:DicomToNRRD-3.4
-.. _Nrrd: http://teem.sourceforge.net/nrrd/format.html
-
-.. General software
-.. _gcc: http://gcc.gnu.org
-.. _xcode: http://developer.apple.com/TOOLS/xcode
-.. _mingw: http://www.mingw.org
-.. _cygwin: http://cygwin.com
-.. _macports: http://www.macports.org/
-.. _VTK: http://www.vtk.org/
-.. _ITK: http://www.itk.org/
-.. _swig: http://www.swig.org
-.. _NeuroDebian: http://neuro.debian.net
-.. _Debian: http://www.debian.org
-.. _exppsy: http://alioth.debian.org/projects/pkg-exppsy
-.. _`Debian Med`: http://debian-med.alioth.debian.org
-.. _`Debian Science`: http://wiki.debian.org/DebianScience
-
-.. Functional imaging labs
-.. _`functional imaging laboratory`: http://www.fil.ion.ucl.ac.uk
-.. _FMRIB: http://www.fmrib.ox.ac.uk
-
-.. Other organizations
-.. _enthought: <http://www.enthought.com>
-.. _kitware: http://www.kitware.com
-.. _nitrc: http://www.nitrc.org
-
-.. General information links
-.. _`wikipedia FMRI`: http://en.wikipedia.org/wiki/Functional_magnetic_resonance_imaging
-.. _`wikipedia PET`: http://en.wikipedia.org/wiki/Positron_emission_tomography
-
-.. Mathematical methods
-.. _`wikipedia ICA`: http://en.wikipedia.org/wiki/Independent_component_analysis
-.. _`wikipedia PCA`: http://en.wikipedia.org/wiki/Principal_component_analysis
-
-.. Mathematical ideas
-.. _`wikipedia spherical coordinate system`: http://en.wikipedia.org/wiki/Spherical_coordinate_system
-.. _`mathworld spherical coordinate system`: http://mathworld.wolfram.com/SphericalCoordinates.html
-.. _`wikipedia affine`: http://en.wikipedia.org/wiki/Affine_transformation
-.. _`wikipedia linear transform`: http://en.wikipedia.org/wiki/Linear_transformation
-.. _`wikipedia rotation matrix`: http://en.wikipedia.org/wiki/Rotation_matrix
-.. _`wikipedia homogenous coordinates`: http://en.wikipedia.org/wiki/Homogeneous_coordinates
-.. _`wikipedia axis angle`: http://en.wikipedia.org/wiki/Axis_angle
-.. _`wikipedia Euler angles`: http://en.wikipedia.org/wiki/Euler_angles
-.. _`Mathworld Euler angles`: http://mathworld.wolfram.com/EulerAngles.html
-.. _`wikipedia quaternion`: http://en.wikipedia.org/wiki/Quaternion
-.. _`wikipedia shear matrix`: http://en.wikipedia.org/wiki/Shear_matrix
-.. _`wikipedia reflection`: http://en.wikipedia.org/wiki/Reflection_(mathematics)
-.. _`wikipedia direction cosine`: http://en.wikipedia.org/wiki/Direction_cosine
-
-.. Homepages
-.. _yoh: http://www.onerussian.com
-.. _mih: http://mih.voxindeserto.de
-
-.. Debian specifics
-.. _ITP: http://www.debian.org/devel/wnpp
-.. _ITPs: http://www.debian.org/devel/wnpp
diff --git a/sphinx/pics/sfn2010/BoothReady.jpg b/sphinx/pics/sfn2010/BoothReady.jpg
new file mode 100644 (file)
index 0000000..00d4cc3
Binary files /dev/null and b/sphinx/pics/sfn2010/BoothReady.jpg differ
diff --git a/sphinx/pics/sfn2010/BusyBooth.jpg b/sphinx/pics/sfn2010/BusyBooth.jpg
new file mode 100644 (file)
index 0000000..8aba9ee
Binary files /dev/null and b/sphinx/pics/sfn2010/BusyBooth.jpg differ
diff --git a/sphinx/pics/sfn2010/NeuroDebianPosterSession.jpg b/sphinx/pics/sfn2010/NeuroDebianPosterSession.jpg
new file mode 100644 (file)
index 0000000..3fe866b
Binary files /dev/null and b/sphinx/pics/sfn2010/NeuroDebianPosterSession.jpg differ
diff --git a/sphinx/pics/sfn2010/PosterSession.jpg b/sphinx/pics/sfn2010/PosterSession.jpg
new file mode 100644 (file)
index 0000000..a403ae7
Binary files /dev/null and b/sphinx/pics/sfn2010/PosterSession.jpg differ
diff --git a/sphinx/pics/sfn2010/SanDiegoConferenceCenter.jpg b/sphinx/pics/sfn2010/SanDiegoConferenceCenter.jpg
new file mode 100644 (file)
index 0000000..acb7798
Binary files /dev/null and b/sphinx/pics/sfn2010/SanDiegoConferenceCenter.jpg differ
diff --git a/sphinx/setup.rst b/sphinx/setup.rst
deleted file mode 100644 (file)
index 1c6e2e5..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-The packages are available through an APT repository You can either browse the
-archive or add this line to your `/etc/apt/sources.list`::
-
-  deb http://apsy.gse.uni-magdeburg.de/debian #distro# #section#
-
-Replace `#distro#` with ..., depending on which distribution you are using.
-Note that not every package is available for all distributions. You need to
-replace #section# with the value(s) corresponding to the package(s) you are
-interested in (get it from the table below). Multiple sections are allowed.
-Please, do not forget to update your package index, e.g. by running apt-get
-update.  If no binary packages are available for your distribution, you can
-still download the source packages. Simply add this to your
-`/etc/apt/sources.list` (you have to replace #distro# and #section# as
-described above)::
-
-  deb-src http://apsy.gse.uni-magdeburg.de/debian #distro# #section#
-
-After the usual apt-get update you can get and build the packages with e.g.
-apt-src or whatever you like. To build e.g. dicomnifti you can do this: apt-src
-install dicomnifti
-
-This downloads the sources and installs all build-dependencies if necessary.
-You need root-privileges to install the build-dependencies, so apt-src might
-ask for a password. Now invoke: apt-src build dicomnifti
-
-This will build all binary packages which should appear in the current
-directory (if everything worked well). You can now install the packages with
-dpkg.
-
-
-
index 46c8c17b2312f593fea6c9bed60fa809082a34da..f09c390aff8c80deef4bb37426983dd921d7d7c5 100644 (file)
@@ -46,5 +46,5 @@ banner by using following HTML code for a corresponding image:
 
 
 
-.. include:: links_names.rst
-.. include:: substitutions.rst
+.. include:: link_names.txt
+.. include:: substitutions.txt
diff --git a/sphinx/substitutions.rst b/sphinx/substitutions.rst
deleted file mode 100644 (file)
index ac70f4f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-.. Substitutions for the whole doc tree
-
-.. |team| replace:: :ref:`NeuroDebian team <chap_team>`
-.. |we| replace:: :ref:`we <chap_team>`
-.. |spread| replace:: :ref:`spread the word about NeuroDebian <chap_spread>`
-.. |repos| replace:: :ref:`NeuroDebian repositories <repository_howto>`
-.. |exppsy| replace:: Experimental Psychology
diff --git a/sphinx/substitutions.txt b/sphinx/substitutions.txt
new file mode 100644 (file)
index 0000000..ac70f4f
--- /dev/null
@@ -0,0 +1,7 @@
+.. Substitutions for the whole doc tree
+
+.. |team| replace:: :ref:`NeuroDebian team <chap_team>`
+.. |we| replace:: :ref:`we <chap_team>`
+.. |spread| replace:: :ref:`spread the word about NeuroDebian <chap_spread>`
+.. |repos| replace:: :ref:`NeuroDebian repositories <repository_howto>`
+.. |exppsy| replace:: Experimental Psychology
index 083b1e6fe97b2a1ac29a69fd23741afd3e54d912..cef2aabd01a89be88c98e7af7306c03c05a257bc 100755 (executable)
@@ -38,9 +38,16 @@ specified in ~/.blends-inject.cfg file, e.g.::
  [debian-science]
  path = /home/yoh/deb/debian-science/
 
-
 Definition of the fields for task files by default are looked up
-within debian/blends, or files provided in the command line.
+within debian/blends, or files provided in the command line.  Also for "-a"
+mode of operation you should define list of globs to match your debian/blends
+files::
+
+ [paths]
+ all=/home/yoh/deb/gits/pkg-exppsy/neurodebian/future/blends/*
+     /home/yoh/deb/gits/*/debian/blends
+        /home/yoh/deb/gits/pkg-exppsy/*/debian/blends
+
 
 Format of debian/blends
 -----------------------
@@ -104,7 +111,7 @@ Remove: python-brian-doc
 """
 
 
-import re, os, sys, tempfile
+import re, os, sys, tempfile, glob
 from os.path import join, exists, expanduser, dirname, basename
 
 from ConfigParser import ConfigParser
@@ -125,7 +132,7 @@ def open(f, *args):
 
 __author__ = 'Yaroslav Halchenko'
 __prog__ = os.path.basename(sys.argv[0])
-__version__ = '0.0.4'
+__version__ = '0.0.5'
 __copyright__ = 'Copyright (c) 2010 Yaroslav Halchenko'
 __license__ = 'GPL'
 
@@ -185,8 +192,8 @@ def parse_debian_blends(f='debian/blends'):
             pkg = deepcopy(prev_pkg)
             for k_ in PKG_FIELDS:   # prune older depends
                 pkg.pop(k_, None)
-        pkg['Pkg-Name'] = pkg[k] = bname
-        pkg['Pkg-Source'] = sname
+        pkg['Pkg-Name'] = pkg[k] = bname.lower()
+        pkg['Pkg-Source'] = sname.lower()
         pkgs.append(pkg)
         pkg.tasks = dict( (t.strip(), deb822.Deb822Dict()) for t in tasks )
         pkg.format = format_
@@ -220,7 +227,7 @@ def parse_debian_blends(f='debian/blends'):
                                        # TODO: just deduce source from DebianMaterials
                                pkg = new_pkg(pkg, source, source, tasks)
                                # Since only source is available, it should be only Suggest:-ed
-                               pkg['Suggests'] = source
+                               pkg['Suggests'] = source.lower()
                                newtasks = False
 
             if newtasks:
@@ -626,6 +633,11 @@ def main():
                dest="wnpp_mode", default=None,
                help="Operate in WNPP mode: dumps cut-paste-able entry for WNPP bugreport"))
 
+    p.add_option(
+        Option("-a", action="store_true",
+               dest="all_mode", default=False,
+               help="Process all files listed in paths.all"))
+
 
     (options, infiles) = p.parse_args()
     global verbosity; verbosity = options.verbosity
@@ -633,18 +645,26 @@ def main():
        if options.wnpp and options.wnpp_mode is None:
             options.wnpp_mode = 'ITP'
 
-    if not len(infiles):
-        infiles = [join(options.topdir or './', 'debian/blends')]     #  default one
-
     # Load configuration
     config = ConfigParser()
     config.read(options.config_file)
 
+    if options.all_mode:
+        if len(infiles):
+            raise ValueError("Do not specify any files in -a mode.  Use configuration file, section paths, option all")
+        globs = config.get('paths', 'all', None).split()
+        infiles = reduce(list.__add__, (glob.glob(f) for f in globs))
+        verbose(1, "Found %d files in specified paths" % len(infiles))
+
+    if not len(infiles):
+        infiles = [join(options.topdir or './', 'debian/blends')]     #  default one
+
     for blends_file in infiles:
         verbose(1, "Processing %s" % blends_file)
         if not exists(blends_file):
             error("Cannot find a file %s.  Either provide a file or specify top "
                   "debian directory with -d." % blends_file, 1)
+
         pkgs = parse_debian_blends(blends_file)
         if options.topdir is None:
             if dirname(blends_file).endswith('/debian'):
diff --git a/tools/nd_compactvdi b/tools/nd_compactvdi
deleted file mode 100755 (executable)
index 2aac10a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-
-set -e
-set -u
-
-# Alternative:
-# shrink VDI image by writting to a new (unfragmented) image
-# target VDI needs to have proper partition table and MBR
-# simplest solution: clonezilla
-
-vdifile=$(readlink -f $1)
-
-if [ -z "$vdifile" ]; then
-  echo "You need to provide a VDI file."
-  exit 1
-fi
-
-wdir=$(mktemp -d -t compactvdi.XXXXXX)
-
-cd $wdir
-# make mount points
-mkdir -p vbdev vbmnt
-# get access to disks inside the VDIs
-vdfuse -f "$vdifile" vbdev
-# mount partitition (for now only support one)
-mount -o loop vbdev/Partition1 vbmnt
-
-# remove cruft
-#xapian indices
-find vbmnt/var/ -wholename '*xapian*.DB' -delete
-# package cache
-find vbmnt/var/cache/apt/archives/ -name '*.deb' -delete
-rm -f vbmnt/var/cache/apt/*.bin
-# device files -- udev restores them
-rm -rf vbmnt/dev/*
-# tmp
-rm -rf vbmnt/tmp/*
-# log files
-find vbmnt/var/log -type f -delete
-# apt lists
-find vbmnt/var/lib/apt -type f -name '*debian*' -o -type f -name '*list*' -delete
-# user data
-# cannot clean all root stuff, because it also contains useful thing (e.g. git setup)
-rm -f vbmnt/root/.*history
-rm -f vbmnt/home/brain/.*history vbmnt/home/brain/nd*
-
-# unmount filesystem
-umount vbmnt
-# zero out empty space
-zerofree -v vbdev/Partition1
-# close whole VDI
-umount vbdev
-
-# compact VDI
-# THIS NEEDS TO BE DONE ON A VDI THAT IS REGISTERED WITH VIRTUALBOX
-sudo -u "$SUDO_USER" VBoxManage modifyhd "$vdifile" --compact
-
-# cleanup
-rm -rf $wdir
diff --git a/tools/nd_exportappliance b/tools/nd_exportappliance
deleted file mode 100755 (executable)
index b48a92a..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-
-set -e
-set -u
-
-# Settings/arguments
-vendor="NeuroDebian"
-vm_version="6.0.0"
-vm_arch="amd64"
-vm_name="${vendor} ${vm_version} (${vm_arch})"
-product_name="${vendor} VirtualMachine (${vm_arch})"
-outdir=.
-
-# Common
-eula="This virtual appliance contains Free and Open Source Software (FOSS) released under licenses compliant with the Debian Free Software Guidelines (DFSG, see http://www.debian.org/social_contract), such as, GPL, BSD, MIT, etc.  Such software is free to be used or customized for any purpose.
-
-However, by default this virtual machine is also enabled to install additional software from Debian and NeuroDebian repositories that is distributed under more restrictive licenses (e.g. closed-source, non-commercial, research-only). It is the user's responsibility to adhere to the terms and conditions of any particular software that is installed and used in this virtual machine. Copyright and license details for any installed PACKAGE are available in /usr/share/doc/PACKAGE/copyright inside the virtual machine."
-
-out_ovf="${outdir}/${vendor}_${vm_version}_${vm_arch}.ovf"
-VBoxManage export "${vm_name}" -o "$out_ovf" \
-       --vsys 0 \
-       --product "$vm_name" \
-       --producturl "http://neuro.debian.net/vm.html" \
-       --vendor "${vendor}" \
-       --vendorurl "http://neuro.debian.net" \
-       --version "$vm_version" \
-       --eula "$eula"
diff --git a/tools/nd_setupguestos b/tools/nd_setupguestos
deleted file mode 100644 (file)
index f14fb11..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/bash
-
-# play safe
-set -e
-set -u
-
-# Standard Debian install
-
-# prepare on hydra and use debproxy for speed
-
-# have dedicated hard-drives for swap and home
-
-# expert install
-
-# hostname: neurodebian
-# domain: ''
-
-# all file in one partition
-
-# root: not there
-# user: brain
-# pwd: neurodebian
-
-
-# Do a minimal install
-# --------------------
-
-# All files in one partition/
-# just base system, run selection, but no tasks (not even 'Standard system')
-
-# set root password to 'neurodebian' too
-echo "Set root passwd:"
-passwd root
-
-apt-get install --no-install-recommends etckeeper
-
-# setup etckeeper
-git config --global user.name NeuroDebian
-git config --global user.email nd@localhost
-
-# install new stuff
-# -----------------
-
-# Add sources.list for backports and neurodebian
-wget -O /etc/apt/sources.list.d/neuro.debian.net.list http://neuro.debian.net/_static/neurodebian.squeeze.us-nh.sources.list
-
-echo "deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free" > /etc/apt/sources.list.d/backports.debian.org.list
-cat << EOT > /etc/apt/preferences.d/backports.debian.org.pref
-Package: *
-Pin: release a=squeeze-backports
-Pin-Priority: 200
-EOT
-
-apt-get update
-apt-get install neurodebian-keyring
-apt-get update
-
-# to cheat the VM check
-touch /dev/vboxguest
-# to get all the stuff in recommends
-apt-get install dkms neurodebian-guest-additions
-
-apt-get install --no-install-recommends \
- gnome-core mc evince bash-completion ntpdate file-roller gnome-utils \
- gnome-themes eog vim \
- software-center gdebi gedit-plugins gnome-media synaptic menu less
-
-# intermediate cleanup to prevent virtual harddrive from fragmenting too much
-find /var/cache/apt/archives/ -name '*.deb' -delete
-
-# cleanup unwanted stuff
-# video drivers (all but vesa)
-apt-get purge $(apt-cache search --names-only --installed xserver-xorg-video | grep xserver-xorg-video | cut -d ' ' -f 1,1) xserver-xorg-video-vesa+
-apt-get purge brasero
-
-# and whatever is obsolete
-apt-get autoremove --purge
-
-# custom config
-# use NeuroDebian website as default homepage
-sed -i -e 's,http://www.debian.org,http://neuro.debian.net,g' /etc/chromium-browser/master_preferences
-
-# reduce grub timeout to speed up boot of VM
-sed -i -e 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=1/g' /etc/default/grub
-update-grub
-
-# finally configure geomirror for APT and disable deb-src lists
-sed -i -e "s/10.0.0.1:9999/$(dpkg --print-architecture)-geomirror.debian.net/" \
-    -e "s/^deb-src/#deb-src/" /etc/apt/sources.list
-
-etckeeper commit "Initial VM setup done"
index f78cac55cf96cb9ac4bbc210016fa41e62270e71..d40af09e960ae0dcf98e9d3f95d72f050080dac9 100644 (file)
@@ -146,6 +146,7 @@ d-i partman-auto/expert_recipe string                         \
 d-i partman/confirm_write_new_label boolean true
 d-i partman/choose_partition select finish
 d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
 
 ### Base system installation
 # Select the initramfs generator used to generate the initrd for 2.6 kernels.
index 4b4bfb021a16654c56aa7e99c98898d8ed9a943f..96fffcd07ddd277a3a83611ed0079d6bc46c6296 100755 (executable)
@@ -69,7 +69,7 @@ apt-get install -y dkms neurodebian-guest-additions
 apt-get install --no-install-recommends -y \
  gnome-core mc evince bash-completion ntpdate file-roller gnome-utils \
  gnome-themes eog vim \
- software-center gdebi gedit-plugins gnome-media synaptic menu less
+ software-center gdebi gedit-plugins gnome-media synaptic menu less libxp6
 
 # intermediate cleanup to prevent virtual harddrive from fragmenting too much
 find /var/cache/apt/archives/ -name '*.deb' -delete
diff --git a/vm/tools/.gitignore b/vm/tools/.gitignore
new file mode 100644 (file)
index 0000000..ddc7384
--- /dev/null
@@ -0,0 +1,2 @@
+/dist
+/build
diff --git a/vm/tools/nd_compactvdi b/vm/tools/nd_compactvdi
new file mode 100755 (executable)
index 0000000..143db91
--- /dev/null
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+set -e
+set -u
+
+# Alternative:
+# shrink VDI image by writting to a new (unfragmented) image
+# target VDI needs to have proper partition table and MBR
+# simplest solution: clonezilla
+
+# No deferencing of symbolic links should be done
+# since otherwise might not be found by VirtualBox
+#vdifile=$(readlink -f $1)
+# Just asssume that we are providing full pathname
+vdifile="$1"
+
+if [ -z "$vdifile" ] || [ ! -e "$vdifile" ] || [ "${vdifile:0:1}" != "/" ] ; then
+  echo "You need to provide full pathname to an existing VDI file."
+  exit 1
+fi
+
+wdir=$(mktemp -d -t compactvdi.XXXXXX)
+
+cd $wdir
+# make mount points
+mkdir -p vbdev vbmnt
+# get access to disks inside the VDIs
+vdfuse -f "$vdifile" vbdev
+# mount partitition (for now only support one)
+mount -o loop vbdev/Partition1 vbmnt
+
+# remove cruft
+#xapian indices
+find vbmnt/var/ -wholename '*xapian*.DB' -delete
+# package cache
+find vbmnt/var/cache/apt/archives/ -name '*.deb' -delete
+rm -f vbmnt/var/cache/apt/*.bin
+# device files -- udev restores them
+rm -rf vbmnt/dev/*
+# tmp
+rm -rf vbmnt/tmp/*
+# log files
+find vbmnt/var/log -type f -delete
+# apt lists
+find vbmnt/var/lib/apt -type f -name '*debian*' -o -type f -name '*list*' -delete
+# user data
+# cannot clean all root stuff, because it also contains useful thing (e.g. git setup)
+rm -f vbmnt/root/.*history
+rm -f vbmnt/home/brain/.*history vbmnt/home/brain/nd*
+
+# unmount filesystem
+umount vbmnt
+# zero out empty space
+zerofree -v vbdev/Partition1
+# close whole VDI
+umount vbdev
+
+# compact VDI
+# THIS NEEDS TO BE DONE ON A VDI THAT IS REGISTERED WITH VIRTUALBOX
+sudo -u "$SUDO_USER" VBoxManage modifyhd "$vdifile" --compact
+
+# cleanup
+rm -rf $wdir
diff --git a/vm/tools/nd_createappliance b/vm/tools/nd_createappliance
new file mode 100755 (executable)
index 0000000..10bec95
--- /dev/null
@@ -0,0 +1,171 @@
+#!/bin/bash
+#emacs: -*- mode: shell-script; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil -*- 
+#ex: set sts=4 ts=4 sw=4 noet:
+
+set -eu
+
+# TODO: arguments later on to become cmdline args
+#iso=debian-squeeze-di-beta1-amd64-businesscard.iso
+iso=debian-testing-i386-businesscard.iso
+di_cd=$(readlink -f $PWD/../../../neurodebian-images/$iso)
+di_host=hydra                   # where to look for di preseed
+
+build_dir=$PWD/build
+dist_dir=$PWD/dist
+vendor="NeuroDebian"
+vm_version="6.0.1"
+vm_ostype=Debian
+
+# Generic definitions
+eula="This virtual appliance contains Free and Open Source Software (FOSS) released under licenses compliant with the Debian Free Software Guidelines (DFSG, see http://www.debian.org/social_contract), such as, GPL, BSD, MIT, etc.  Such software is free to be used or customized for any purpose.
+
+However, by default this virtual machine is also enabled to install additional software from Debian and NeuroDebian repositories that is distributed under more restrictive licenses (e.g. closed-source, non-commercial, research-only). It is the user's responsibility to adhere to the terms and conditions of any particular software that is installed and used in this virtual machine. Copyright and license details for any installed PACKAGE are available in /usr/share/doc/PACKAGE/copyright inside the virtual machine."
+
+
+# Computed settings
+#vm_basepath=
+
+# By default 32bit unless installer image has amd64
+# TODO: might need to make more robust?
+vm_arch=i386
+vm_arch_name=" (32bit)"
+if file $di_cd | grep -q ' amd64 '; then
+    vm_arch=amd64
+    vm_ostype+="_64"
+    vm_arch_name=" (64bit)"
+fi
+
+vm_disk="$build_dir/nd-${vm_version}_${vm_arch}.vdi"
+vm_name="${vendor} VirtualMachine${vm_arch_name}"
+vm_ovf="${dist_dir}/${vendor}_${vm_version}_${vm_arch}.ovf"
+product_name="${vendor} VirtualMachine (${vm_arch})"
+
+_info() {
+    echo "I: $*"
+}
+
+clean_buildvm() {
+# TODO: remove whenever done
+VBoxManage storagectl "${vm_name}" \
+    --name "SATA Controller" --remove || :
+VBoxManage storagectl "${vm_name}" \
+    --name "IDE Controller" --remove || :
+
+VBoxManage closemedium disk "${vm_disk}" || :
+VBoxManage unregistervm "${vm_name}" --delete || :
+rm -f ${vm_disk}
+}
+
+clean_buildvm                   # clean things up
+
+# Check that no previous VM was left (can happen if previous failures
+# were "valid")
+if VBoxManage list vms | grep -q "^\"${vm_name}\".*"; then
+    echo >&2, "VM $vm_name still exists -- something is wrong, Can't continue"
+    exit 1
+fi
+
+_info Assure build directory
+mkdir -p $build_dir
+
+_info Create HardDisk for the VM
+VBoxManage createhd --filename $vm_disk \
+    --size 20000 --format VDI
+  # documented but not implemented:
+  #  --comment "Drive for NeuroDebian VM installer"
+
+_info Create VM
+VBoxManage createvm --name "${vm_name}" --register \
+    --ostype "${vm_ostype}" --basefolder $build_dir
+
+_info Tune VM
+VBoxManage modifyvm "${vm_name}" \
+    --audio alsa \
+    --audiocontroller  ac97 \
+    --boot1 disk \
+    --boot2 dvd \
+    --cpus 1 \
+    --ioapic  on \
+    --memory 1048 \
+    --mouse usbtablet \
+    --nic1 nat \
+    --rtcuseutc on \
+    --usb on \
+    --vram 32
+
+# Add HD controllers
+VBoxManage storagectl "${vm_name}" \
+    --name "IDE Controller" \
+    --add ide \
+    --controller "PIIX4"
+VBoxManage storageattach "${vm_name}" \
+    --storagectl "IDE Controller" \
+    --port 0 \
+    --device 0 \
+    --type dvddrive \
+    --medium  $di_cd
+
+VBoxManage storagectl "${vm_name}" \
+    --name "SATA Controller" \
+    --add sata \
+    --controller "IntelAHCI"
+
+VBoxManage storageattach  "${vm_name}" \
+    --storagectl "SATA Controller" \
+    --port 0 \
+    --device 0 \
+    --type hdd \
+    --medium "${vm_disk}"
+
+VBoxManage showvminfo  "${vm_name}"
+
+_info "Run Debian Installer"
+# When boot menu appears you will have to
+# press Esc
+# type  auto url=$di_host
+# press Enter"
+
+VBoxManage startvm "${vm_name}"
+
+sleep 5                         # give some time to make sure we get to menu
+# Send our sequence -- cruel way
+#VBoxManage controlvm "${vm_name}" keyboardputscancode \
+#    01 81 \
+#    1e 9e 16 96 14 94 18 98 39 b9 16 96 13 93 26 a6 0d 8d 23 a3 15 95 20 a0 13 93 1e 9e \
+#    1c 9c # ESCAPE, auto url=hydra, ENTER
+echo "typeGuest \"${vm_name}\" \"&ESC;Wauto url=${di_host}&ENTER;\"" | /usr/lib/virtualbox/vboxshell.py
+
+: "
+oops -- asked either I want to store Partitioning on the disk...
+
+didn't happen before
+"
+
+# wait for it to finish! -- found no cleaner way :-/
+sleep 10
+while VBoxManage showvminfo "${vm_name}" | grep -q running; do
+    sleep 5
+done
+
+_info Compacting VDI
+sudo ./nd_compactvdi "${vm_disk}"
+
+_info Exporting the appliance
+
+VBoxManage export "${vm_name}" -o "$vm_ovf" \
+       --vsys 0 \
+       --product "${vendor} VirtualMachine (${vm_arch})" \
+       --producturl "http://neuro.debian.net/vm.html" \
+       --vendor "${vendor}" \
+       --vendorurl "http://neuro.debian.net" \
+       --version "$vm_version" \
+       --eula "$eula"
+
+_info Cleaning after ourselves
+clean_buildvm
+
+_info Testing import of the appliance
+VBoxManage import "$vm_ovf" --vsys 0 --eula accept
+
+_info Starting imported machine
+VBoxManage startvm "${vm_name}"