]> git.donarmstrong.com Git - neurodebian.git/commitdiff
Merge branch 'master' into scale-brochure
authorDon Armstrong <don@donarmstrong.com>
Thu, 19 Feb 2015 20:28:20 +0000 (12:28 -0800)
committerDon Armstrong <don@donarmstrong.com>
Thu, 19 Feb 2015 20:28:20 +0000 (12:28 -0800)
Conflicts:
artwork/brochure/brochure_debian-neurodebian.tex

61 files changed:
.travis.yml [new file with mode: 0644]
3rd/bigmess
3rd/nvd3
Makefile
artwork/Makefile
artwork/brochure/brochure_debian-neurodebian.tex
artwork/ndhackergotchi.png [deleted file]
artwork/neurodebian_back_lightbg.svg [new file with mode: 0644]
cmdsettings.sh
debian/.gitignore
debian/TODO
debian/changelog
debian/control
debian/copyright
debian/neurodebian-archive-keyring.install [new file with mode: 0644]
debian/neurodebian-archive-keyring.postinst [new file with mode: 0644]
debian/neurodebian-desktop.lintian-overrides [new file with mode: 0644]
debian/neurodebian-desktop.manpages
debian/neurodebian-dev.install
debian/neurodebian-dev.lintian-overrides [new file with mode: 0644]
debian/neurodebian-guest-additions.dirs [deleted file]
debian/neurodebian-guest-additions.lintian-overrides [new file with mode: 0644]
debian/neurodebian-keyring.install [deleted file]
debian/neurodebian-keyring.postinst [deleted file]
debian/neurodebian-popularity-contest.dirs [new file with mode: 0644]
debian/neurodebian-popularity-contest.install [new file with mode: 0644]
debian/neurodebian-popularity-contest.postinst
debian/neurodebian-popularity-contest.postrm [deleted file]
debian/neurodebian.config [new file with mode: 0755]
debian/neurodebian.install [new file with mode: 0644]
debian/neurodebian.manpages [new file with mode: 0644]
debian/neurodebian.postinst [new file with mode: 0755]
debian/neurodebian.postrm [new file with mode: 0755]
debian/neurodebian.templates [new file with mode: 0644]
debian/patches/series-wheezy-dsc [new file with mode: 0644]
debian/patches/wheezy-dsc-patch [new file with mode: 0644]
debian/po/POTFILES.in [new file with mode: 0644]
debian/po/templates.pot [new file with mode: 0644]
debian/rules
etc/xdg/autostart/vboxhost-mount.desktop [deleted file]
live/auto/config
neurodebian.cfg
popcon/neurodebian-popcon.gpg [new file with mode: 0644]
popcon/neurodebian.conf [new file with mode: 0644]
sphinx/_templates/layout.html
sphinx/conf.py
sphinx/faq.rst
sphinx/reposetup.rst
sphinx/vm.rst
tools/nd-configurerepo [new file with mode: 0755]
tools/nd-vmsetupwizard
tools/nd_adddist
tools/nd_apachelogs2subscriptionstats
tools/nd_login
tools/nd_rebuildarchive
tools/neurodebian-travis.sh [new file with mode: 0755]
tools/tests/run_in_debian_dockers [new file with mode: 0755]
tools/tests/test_neurodebian-repository-deployment [new file with mode: 0755]
vm/d-i/tools/initial_setup
vm/d-i/wheezy/initial_setup
vm/tools/nd_createappliance

diff --git a/.travis.yml b/.travis.yml
new file mode 100644 (file)
index 0000000..62061f7
--- /dev/null
@@ -0,0 +1,32 @@
+# vim ft=yaml
+# travis-ci.org definition to provide minimalistic testing of NeuroDebian
+# setup and tools
+language: erlang
+cache:
+  - apt
+script:
+    # Test the ultimate one-liner setup for NeuroDebian repository
+    - bash tools/neurodebian-travis.sh
+    # Verify that we can "install neurodebian"
+    - sudo apt-get install -y neurodebian
+    # but by default (fix it to not disable if was enabled?)
+    # it results in neurodebian not enabled, thus disabled:
+    - test \! -f /etc/apt/sources.list.d/neurodebian.sources.list
+    # enable it via our tool
+    - NEURODEBIAN_ENABLE=yes NEURODEBIAN_UPDATE=yes sudo nd-configurerepo
+    - grep "\sprecise\s" /etc/apt/sources.list.d/neurodebian.sources.list
+    # Verify that it is still present
+    # TODO: for some reason disables it again :-/  Need to get something going already, disabled for now
+    #- NEURODEBIAN_ENABLE=yes NEURODEBIAN_VERBOSE=10 sudo apt-get install -y --reinstall neurodebian
+    - test -f /etc/apt/sources.list.d/neurodebian.sources.list
+    # Verify that -dev installs nicely
+    - sudo apt-get install -y neurodebian-dev
+after_failure:
+    # Could happen if installation of neurodebian package kills APT repo so print policy
+    - sudo apt-cache policy
+    # But could be that just update wasn't run?
+    - sudo apt-get update
+    - sudo apt-cache policy
+    - ls -lR /etc/apt
+    - cat /etc/apt/sources.list.d/neurodebian.sources.list
+    - ls -lR /etc/neurodebian
index 65601e6ca109f3a4eb7c07be0930db0fc1cd26f2..145aa3f06451754ab759b88c1dbb47c7081d5f47 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 65601e6ca109f3a4eb7c07be0930db0fc1cd26f2
+Subproject commit 145aa3f06451754ab759b88c1dbb47c7081d5f47
index ba44aa30533688953a1f8bfc6fd32dc903c446e6..683eb18ce196a7eb494f060656098ac12d604b65 160000 (submodule)
--- a/3rd/nvd3
+++ b/3rd/nvd3
@@ -1 +1 @@
-Subproject commit ba44aa30533688953a1f8bfc6fd32dc903c446e6
+Subproject commit 683eb18ce196a7eb494f060656098ac12d604b65
index 4c06e30b25aec82acc3460e3529d94d3ca4e40d7..3a97d7c090b26a7c7197ab9055d8ca32cf31f682 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -72,8 +72,9 @@ updatedb: cachefiles
 
 upload-website: html
        rsync -rvzlhp --delete \
-        --exclude=debian --exclude=debian-local --exclude=debian-devel --exclude=_files \
+        --exclude=debian --exclude=debian-local --exclude=debian-devel --exclude=debian-custom --exclude=_files \
         --chmod=Dg+s,g+rw $(WWW_DIR) $(WWW_UPLOAD_URI)
+       rsync -rvzlhp --chmod=Dg+s,g+rw tools/neurodebian-travis.sh $(WWW_UPLOAD_URI)/_files/
        : # Touch stamp here so we get it updated on every upload
        touch $@-stamp
 
index 7bcab8581d0d28a8bd33ce9b7715ce2611fa96b5..734d958e476452d77e738f2acf54f3e431ccf88c 100644 (file)
@@ -6,7 +6,7 @@ ICONSIZED=ccn-logo_h50.png uni-md-logo_h50.png dartmouth-logo_h50.png
 pics: $(SVGIS) $(ICONSIZED)
 
 clean::
-       for p in *.svg; do rm -f $${p%*.svg}.{pdf,eps,png}; done
+       for p in *.svg; do [ "$$p" = ndhackergotchi.svg ] || rm -f $${p%*.svg}.{pdf,eps,png}; done
        rm -rf *_tuned
        rm -f  $(ICONSIZED)
 
index 4a2852dfd0660ce13968b357dd8f2891f36929d2..5c4493e2aec0dd6615eaffe01f276cd15edebc11 100644 (file)
@@ -154,7 +154,7 @@ Very (Special|Stable) Operating Platform
   of software.
 
 %\item[Stable] \emph{Official release}\\
-\item[Official release]\hfill\emph{Stable} (now 7.2, \emph{wheezy})\\
+\item[Official release]\hfill\emph{Stable} (now 7.7, \emph{wheezy})\\
   % Software verified to be well tested and secure,
   % Very stable (hence the name) and secure
   % but might be lacking the most recent versions.\\% of the software.\\
@@ -175,7 +175,8 @@ Story animation, \emph{e.g.} sid, jessie, wheezy.  \emph{Unstable}
 flavor always called \emph{sid}, while a new name chosen for every
 upcoming release and assigned to \emph{Testing} to become a code name
 of the release when it becomes \emph{Stable}.\\  At the moment
-\emph{jessie} is \emph{Testing}, and \emph{wheezy} is \emph{Stable}.
+\emph{jessie} is \emph{Testing} (actually \emph{Frozen} in preparation
+for the release), and \emph{wheezy} is \emph{Stable}.
 As soon as \emph{jessie} gets released, \emph{Testing} will be given
 a new name.% -- \emph{jessie}.
 \end{comment}
@@ -234,6 +235,7 @@ teams, such as Debian-Science or Debian-Med.
 %\item[Run in a Virtual Machine] \url{http://neuro.debian.net/vm.html}
 \item[Development version] \url{http://www.debian.org/devel/debian-installer}
 \item[Use in a cloud] \url{https://wiki.debian.org/Cloud}
+\item[Docker: \texttt{docker pull debian}]
 \end{description}
 
 % \ndsubsection{Get \emph{Testing/Unstable} Debian}
@@ -241,7 +243,7 @@ teams, such as Debian-Science or Debian-Med.
 % Install on a hard-drive or in a Virtual Machine\\
 % \url{http://www.debian.org/devel/debian-installer}
 %
-
+\vspace{-1em}
 \ndsubsection{How to install software}
 
 GUI (Synaptic): \textit{Select and click ``Apply''}\\
@@ -279,8 +281,8 @@ Command line:
   %\begin{description}[nolistsep,leftmargin=1pc]
   %\item[Mailing lists] 
   \url{http://www.debian.org/MailingLists}\\
-  \url{http://forums.debian.net}\\
-  \url{http://ask.debian.net}\\
+  \url{http://forums.debian.net},
+  \url{ask.debian.net}\\
   \url{irc://irc.debian.org/debian}
   %\end{description}
 \item[Commercial support]
@@ -372,211 +374,11 @@ system allows Debian to respond to problems quickly and honestly.
 %\rotatebox{90}{\paragraph{Distribution Development Process}}
 \rotatebox{90}{\includegraphics[height=.9\columnwidth]{distro-dev}}
 
-
 \ndsection{Acknowledgements}
-
-This flyer was adapted from the neuro debian project. You can find
-source code for it here:
-\url{git://anonscm.debian.org/pkg-exppsy/neurodebian.git}
-%\end{comment}
+\end{comment}
 
 \end{multicols}
 
-
-% \pagebreak
-% %%
-% %% NeuroDEBIAN
-% %%
-% \begin{multicols}{3}    % 3 columns
-% 
-% \section*{The Universal Research Platform}
-% \begin{center}
-% \includegraphics[width=\columnwidth]{logo_tuned/label}
-% \url{http://neuro.debian.net}
-% %\ndsection{NeuroDebian Project:}
-% % \hrule
-% \end{center}
-% 
-% \ndsection{NeuroDebian is}
-% 
-% a Debian project that provides the Neuroscience community with a
-% stable and versatile research platform -- the Debian operating system.
-% Since 2005, \mbox{NeuroDebian} integrates neuroscience software into Debian
-% to allow neuroscientists to benefit from the advantages of
-% the universal operating system in their day-to-day research activities.
-% The NeuroDebian repository
-% (\url{http://neuro.debian.net}) offers the latest research software for
-% all Debian suites (and various releases of Ubuntu).
-% The combination of a stable generic
-% operating system, Debian, and a variety of conveniently accessible research
-% software creates a versatile research platform for neuroscience that offers the
-% latest methodologies of the field to everyone, for free.
-% These advantages make NeuroDebian increasingly popular among
-% neuroscientists and scientific software developers.
-% 
-% \vspace{2em}
-% 
-% \ndsubsection{NeuroDebian is NOT}
-% 
-% yet another Debian GNU/Linux derivative distribution.  All work done
-% by the NeuroDebian project targets the official Debian operating system. This
-% approach helps to increase the longevity of the project by relying on the
-% efforts of thousands of Debian contributors.
-% 
-% \vspace{3em}
-% \columnbreak
-% 
-% \ndsubsection{Software at your fingertips}
-% \begin{flushright}
-% \vspace{-0.5em}
-% \url{http://neuro.debian.net/pkgs.html}
-% \vspace{-0.1em}
-% \end{flushright}
-% \textit{Distributed computing:} Condor, DMTCP, IPython, \ldots \\
-% \textit{Electrophysiology:} BioSig, EEGLAB, Sigviewer, \ldots\\
-% \textit{Machine Learning:} MDP, PyMVPA, sklearn, \ldots\\
-% \textit{Neural Modeling:} Brian, CNrun, PyNN, XPPAUT, \ldots\\
-% \textit{Imaging:} AFNI, FSL, Mricron, NiPy, SPM, \ldots\\
-% \textit{Psychophysics:} PsychoPy, Psychtoolbox, PyEPL, \ldots\\
-% \vspace{-0.8em}
-% 
-% % TODO: Environments... -- list avail cloud env using NeuroDebian
-% 
-% \ndsubsection{Benefits from Debian integration}
-% 
-% \begin{itemize}[nolistsep,leftmargin=1pc]
-% 
-% % rephrase to outline the benefit, not burden
-% \item Debian standards and policies guarantee quality and robustness.
-% 
-% \item Debian's centralized bug tracking system provides a unified
-%   single-point of entry for bug reporting and troubleshooting
-%   for any software in Debian.
-% 
-% \item Debian makes software available through a world-wide distribution
-%   network, thus offloading bandwidth demands.
-% 
-% \item Other Debian contributors handle large-scale aspects of
-%   deployment, quality assurance, porting and integration at the level
-%   of the entire distribution:
-% 
-% \begin{description}[nolistsep,leftmargin=1pc]
-% \item[Porting] Software sources get built for 11 hardware
-%   architectures and 3 kernels (Linux, HURD, kFreeBSD). Porter teams
-%   maintain build infrastructure and help make the code
-%   platform-agnostic.
-% \item[QA] Whole-archive rebuilds assure robustness of packaging and
-%   warn about upcoming problems (core libraries upgrades) beforehand.
-% \item[Internationalization (I18n)] Translator teams help localize
-%   software for more than 60 languages.
-% \end{description}
-% 
-% \item Neuroscience software becomes a 1st-class citizen within the
-%   Debian project, which guarantees its longevity, smooth installation
-%   and upgrades.
-% 
-% %\item Participation in the Debian community helps to assure Debian's
-% %  aptness for the neuroscientific software demands
-% 
-% \end{itemize}
-% 
-% 
-% 
-% %\columnbreak
-% 
-% \ndsubsection{How to get NeuroDebian}
-% 
-% \textit{Debian/Ubuntu:} \url{neuro.debian.net} repository \\
-% \textit{Others:} NeuroDebian Virtual Machine
-% 
-% % Here place a left-top corner of OSX with seamless mode
-% \vspace{3mm}
-% \includegraphics[width=\columnwidth]{../shots/mac_vm_mricron}
-% 
-% \begin{comment}
-% \ndsubsection{Developers oriented information}
-% 
-% %\columnbreak
-% 
-% \ndsubsection{Who is using NeuroDebian}
-% 
-% \noindent
-% %\includegraphics[width=\columnwidth]{usage_worldmap}
-% 
-% buga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga dugabuga duga
-% \end{comment}
-% 
-% 
-% \def\blank{\hspace{0em}\vspace{-1em}}
-% \columnbreak
-% 
-% \ndsubsection{Work-in-progress}
-% \begin{description}[nolistsep,leftmargin=1pc,style=nextline]
-% \item[Increased coverage]
-% \textit{Electrophysiology:} Fieldtrip, Spyke Viewer, \ldots \\
-% \textit{Neural Modeling:} NEURON, (NEST), LFPy, \\
-% \textit{Imaging:} DTI-TK, Freesurfer, XNAT, \ldots
-% % \epigraph{Having FreeSurfer integrated into the Debian operating system by the NeuroDebian team would have enormous benefits for us, and for the thousands of users of FreeSurfer across the world.}{Prof. Bruce Fischl}{Director, Computational Core at Martinos Center at Massachusetts General Hospital, Charlestown, Massachusetts, USA}
-% \item[Improved quality assurance]
-%   Extended integration and regression testing
-% \item[Available snapshotting service]
-%   % Entire NeuroDebian repository for any given past moment
-%   All versions of packages readily available
-% \item[Data as the 1st-class citizen]
-%   \url{http://neuro.debian.net/datasets.html}
-% % yoh: see TODO above -- we can say that it is available already
-% %\item[Universal availability]
-% %  % \begin{itemize}[nolistsep,leftmargin=1pc,topsep=0em]
-% %  % \item Virtual Appliance enhancements
-% %  %\item
-% %  Cloud computing
-% %  %\end{itemize}
-% \end{description}
-% 
-% 
-% \ndsubsection{Testimonials}
-% \begin{flushright}
-% \vspace{-0.5em}
-% \url{http://neuro.debian.net/testimonials.html}
-% \vspace{-0.5em}
-% \end{flushright}
-% 
-% % TODO  yoh: This one remains the best summary IMHO.  But may be
-% % we would just kick this section out an place Testimonials into References
-% \epigraph{The approach taken with NeuroDebian is plainly the most appropriate
-% approach to software distribution for the dominant platform in brain
-% image analysis, and I have great confidence that this project will be
-% a major asset to the neuroscience community in facilitating the
-% distribution of stable software, improving the reliability and
-% replicability of analyses, and in helping to improve software
-% development practices.}{Prof. Daniel Y. Kimberg}{Director, Data
-% Processing Facility, Center for Functional Neuroimaging, University of
-% Pennsylvania, Philadelphia, USA}
-% 
-% \ndsubsection{Acknowledgements}
-% 
-% NeuroDebian is grateful to all Debian developers and contributors for
-% developing the Debian operating system, to
-% \href{http://www.incf.org}{INCF} for the support in community outreach
-% and technical collaborations, and to
-% Prof. \href{http://haxbylab.dartmouth.edu}{James V. Haxby}
-% (\href{http://www.dartmouth.edu/~psych}{PBS Department, Dartmouth
-%   College}) for his continued support and endless supply of Italian
-% espresso (\url{http://neuro.debian.net/coffeeart.html}).
-% 
-% 
-% \ndsubsection{References}
-% 
-% Halchenko, Y. O. \& Hanke, M. (2012). \href{http://www.frontiersin.org/Neuroinformatics/10.3389/fninf.2012.00022/full}{Open is not enough. Let’s take the next step: An integrated, community-driven computing platform for neuroscience}. Frontiers in Neuroinformatics, 6:22.
-% 
-% % TODO: adjust for the new layout
-% \url{http://neuro.debian.net/#publications}
-% 
-% %\columnbreak
-% \end{multicols}
-
-
-
 \end{document}
 
 
diff --git a/artwork/ndhackergotchi.png b/artwork/ndhackergotchi.png
deleted file mode 100644 (file)
index 9f74ec5..0000000
Binary files a/artwork/ndhackergotchi.png and /dev/null differ
diff --git a/artwork/neurodebian_back_lightbg.svg b/artwork/neurodebian_back_lightbg.svg
new file mode 100644 (file)
index 0000000..c993ff2
--- /dev/null
@@ -0,0 +1,322 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="932.01465"
+   height="792.47455"
+   id="svg2878"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="neurodebian_back_lightbg.svg">
+  <defs
+     id="defs2880">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2886" />
+    <inkscape:perspective
+       id="perspective3060"
+       inkscape:persp3d-origin="17.759468 : 14.569191 : 1"
+       inkscape:vp_z="35.518936 : 21.853786 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 21.853786 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#000000"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.39215686"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.5"
+     inkscape:cx="359.43589"
+     inkscape:cy="366.74194"
+     inkscape:document-units="mm"
+     inkscape:current-layer="g2478"
+     showgrid="false"
+     inkscape:window-width="1857"
+     inkscape:window-height="1179"
+     inkscape:window-x="61"
+     inkscape:window-y="19"
+     inkscape:window-maximized="0"
+     units="mm"
+     showguides="true"
+     fit-margin-top="1"
+     fit-margin-left="1"
+     fit-margin-right="1"
+     fit-margin-bottom="1"
+     showborder="true" />
+  <metadata
+     id="metadata2883">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-164.23723,-115.44164)">
+    <g
+       id="g3063"
+       transform="matrix(18.11552,0,0,18.11552,-664.75845,93.250972)">
+      <g
+         transform="matrix(1.583466,0,0,1.583466,-20.013661,-84.959016)"
+         style="display:inline"
+         inkscape:label="NeuroDebian-brain"
+         id="layer4">
+        <g
+           inkscape:export-ydpi="2.8800001"
+           inkscape:export-xdpi="2.8800001"
+           transform="matrix(0.06447637,0,0,0.06447637,35.55119,35.413705)"
+           id="g2725"
+           style="display:inline;enable-background:new">
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 215.74201,479.87605 -5.79253,0.36503 c -5.62491,7.03748 -12.11799,13.1655 -15.81469,21.20531 7.96444,-7.20864 10.83957,-11.74277 21.60722,-21.57034"
+             id="path2596"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 219.47886,491.93252 c 2.2921,-3.53965 5.49405,-6.11913 8.61876,-8.90297 -5.89247,3.43544 -10.40595,8.44794 -15.08808,13.22997 l 6.46932,-4.327"
+             id="path2598"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751"
+             d="m 352.14351,592.05711 c -13.144,3.795 -46.927,17.762 -59.547,17.341 l -5.69,-5.079 c -13.061,-2.014 -7,2.31 -17.246,1.094 -10.821,-5.587 -33.582,-16.727 -36.944,-21.293 -1.213,-3.654 5.979,1.16 8.219,1.458 -12.019,-8.093 -9.475,6.986 -20.178,-7.346 l 1.053,-0.762 c -32.59205,-22.7974 -3.68564,-76.57793 52.596,-97.519 -3.844,0.534 -3.195,-0.464 -4.987,-0.937 26.72448,-1.31405 18.16469,-5.19537 43.49128,-11.85424 12.39572,-4.09959 9.1069,-8.15071 12.96087,-9.32035 -14.41207,0.0228 -18.69607,-1.1748 -37.58515,5.53259 -55.915,7.507 -72.738,31.092 -89.261,67.96 -2.083,5.657 -3.876,2.429 -6.522,3.788 1.957,-11.348 7.044,-22.574 14.588,-32.667 -5.485,5.735 -10.666,11.73 -13.953,18.617 0.392,-10.34 19.147,-28.779 18.78,-32.668 -28.616,24.913 -36.788,80.905 -14.591,103.509 -4.839,-11.841 -10.077,-27.108 -9.003,-42.057 1.422,-6.544 5.819,-16.034 7.65,-15.001 -2.976,39.294 1.963,48.786 42.094,71.924 10.008,5.944 25.318,11.318 26.367,13.732 -7.944,-2.013 -2.953,1.441 -9.813,0.087 17.645,3.952 4.84,-4.91 28.543,1.475 l -5.367,5.947 c 11.782,-4.711 57.961,-10.07 76.943,-16.5 7.158,1.799 -25.097,17.328 -40.085,17.303 16.981,1.007 38.138,-15.203 51.155,-17.149 -3.742,2.419 -7.582,5.349 -11.716,7.394 13.573,-6.923 45.947,-11.048 55.079,-11.623 0.256,-1.792 -8.27,-3.253 8.83,-8.438 7.591,-1.803 4.594,0.766 6.682,0.926 0.406,-1.456 5.018,-6.196 15.402,-11.001 3.128,0.765 -5.377,5.566 -5.051,7.623 8.365,-3.504 14.314,-7.383 21.054,-9.198 12.187,-9.356 -2.634,-1.546 3.717,-8.227 20.439,-11.858 7.076,3.722 17.627,1.868 -12.604,13.287 -35.413,24.834 -44.768,29.861 11.808,-5.02 22.823,-11.075 33.202,-17.695 -0.401,3.175 24.028,-11.049 9.047,1.692 35.07,-18.449 109.63656,-35.57999 116.90656,-66.16899 -2.349,4.104 -5.287,9.288 -6.503,8.012 4.554,-15.46 6.115,-13.344 9.356,-16.217 1.33,-11.971 -4.516,-11.262 -6.642,-18.418 5.459,-23.341 -4.44256,-33.43401 -3.16056,-53.96301 l -4.385,2.034 c 0.486,-14.664 -7.58,-15.016 -10.781,-29.913 0.494,-1.079 4.611,3.865 7.014,8.19 -6.662,-12.367 -1.394,-13.05 -9.514,-24.743 3.709,2.443 6.616,5.298 10.009,8.049 -4.54,-10.307 -16.303,-23.23 -8.752,-20.239 -15.268,-14.817 -38.993,-41.998 -64.195,-54.23 l 4.077,-1.621 c -13.991,-4.983 -45.66,-25.634 -60.901,-24.045 l -1.332,-1.948 c -9.667,-1.979 -19.911,-2.256 -29.508,-3.339 -12.717,-2.576 -6.97,-6.748 -8.391,-5.558 -29.037,-4.05 -52.141,-3.865 -71.178,-3.926 -6.33264,5.84009 -34.262,8.796 -56.711,15.82 -114.931,23.483 -188.380251,90.08316 -184.815805,194.81921 4.006775,15.15819 24.500405,27.00274 36.446855,36.79889 -10.4753,-15.69627 -4.05981,-9.10136 -16.09703,-23.20978 -7.11475,-10.82227 -5.70567,-15.43227 0.0543,-26.24227 l -5.906,5.2 c 1.029,-18.581 5.235,-11.984 5.463,-26.95 2.307,0.73 4.614,1.461 6.921,2.192 -1.464,-5.568 -4.283,-17.184 0.618,-21.105 l -2.425,-5.884 c 7.914,-9.814 10.118,-21.554 16.09,-22.765 l -4.775,-0.885 c 3.668,-3.31 29.913,-36.325 26.288,-21.737 1.683,-2.967 2.16,-6.464 8.21,-11.661 l 4.379,1.668 c 7.061,-8.361 17.06,-16.439 21.139,-17.052 -4.004,4.525 -4.17,7 -4.26,9.435 39.443,-26.635 -3.316,-16.7 35.792,-39.212 0.369,0.791 0.737,1.582 1.106,2.373 2.691,-2.718 5.906,-4.782 8.938,-7.188 4.319,-0.71 8.637,-1.421 12.956,-2.132 11.112,-14.776 67.90165,-10.56005 95.35165,-15.80705 11.319,-1.691 25.856,3.405 46.309,4.882 l -0.582,-3.919 c 17.357,3.369 74.071,25.592 77.382,41.728 13.969,4.67 -0.496,-1.51 1.801,-3.703 26.333,11.368 22.225,18.09 29.915,28.323 12.833,9.874 -7.044,-9.489 1.574,-5.452 13.818,19.213 19.693,11.093 32.677,37.432 -0.905,3.359 -5.385,-5.883 -8.759,-7.63 16.344,14.771 36.5012,61.8442 31.8852,89.6442 -5.56,32.285 -91.5722,52.9568 -134.8792,65.3388 l 0.057,1.544 c -17.658,3.702 -76.714,31.776 -97.04,31.336"
+             id="path2490"
+             sodipodi:nodetypes="ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 409.46096,437.09419 c 7.26669,-7.07473 2.33738,5.03485 -5.58209,15.84382 -4.62208,0.5712 -8.98983,0.86871 -13.06965,0.97439 7.24762,-4.39653 13.21362,-10.2954 18.65174,-16.81821"
+             id="path2584"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 382.16943,461.30713 c -9.6974,3.50652 -19.6828,5.19858 -29.17847,4.07174 6.83451,0.55544 13.41827,-1.32159 20.27063,-2.9301 16.73493,-14.89706 -6.31008,-3.68937 -13.76173,-3.99218 30.32696,-12.44476 15.56966,1.57539 22.66957,2.85054"
+             id="path2586"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 342.63854,465.30284 c -18.27936,1.01777 -12.43907,-3.73926 -5.46269,-5.27853 0.96848,1.89875 12.84191,3.54031 5.46269,5.27853"
+             id="path2588"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 530.20382,347.62316 c 23.47676,14.90397 20.07236,37.02155 18.64946,8.83781 -18.01001,-28.36583 -9.63957,-1.73775 -18.64946,-8.83781"
+             id="path2604"
+             inkscape:connector-curvature="0" />
+          <path
+             style="fill:#d70751;display:inline"
+             i:knockout="Off"
+             d="m 416.40084,297.82351 c 21.30349,6.95292 34.08262,8.19821 46.43183,10.85188 -24.52052,-19.16869 -29.75373,-8.83568 -46.43183,-10.85188"
+             id="path2606"
+             inkscape:connector-curvature="0" />
+        </g>
+      </g>
+      <g
+         transform="matrix(1.5801928,0,0,1.5801928,-19.841359,-98.444624)"
+         style="display:inline"
+         inkscape:label="NeuroDebian-text"
+         id="layer3">
+        <g
+           id="g2488">
+          <g
+             id="g3885"
+             transform="matrix(0.700036,0,0,0.7872628,8.8169518,11.740131)">
+            <g
+               id="g3902">
+              <path
+                 id="text2950"
+                 d="m 51.959073,94.482231 c -0.128006,0.362672 -0.208006,1.024005 -0.24,1.984 -0.0053,0.229337 -0.008,0.93867 -0.008,2.128 -5e-6,0.656001 0.032,1.189334 0.096,1.599999 -0.213339,-0.032 -0.378672,-0.048 -0.496,-0.048 -0.144005,0 -0.296005,0.016 -0.456,0.048 -0.261338,-0.474665 -0.616004,-1.066664 -1.064,-1.775999 -0.36267,-0.575997 -0.725336,-1.151997 -1.088,-1.728 -0.154669,-0.234663 -0.309335,-0.469329 -0.464,-0.704 -0.181335,-0.277328 -0.314668,-0.522662 -0.4,-0.736 0.05866,0.469338 0.09333,1.021338 0.104,1.656 -0.0053,-0.202663 -0.008,0.349337 -0.008,1.656 -2e-6,0.741335 0.06667,1.288001 0.2,1.639999 -0.234668,-0.0427 -0.416001,-0.064 -0.544,-0.064 -0.133335,0 -0.322668,0.0213 -0.568,0.064 0.159999,-0.431998 0.239999,-1.314664 0.24,-2.647999 -10e-7,-0.879996 -0.01867,-1.562662 -0.056,-2.048 -0.02133,-0.266661 -0.04267,-0.450661 -0.064,-0.552 -0.048,-0.186661 -0.133334,-0.349327 -0.256,-0.488 0.261332,0.03201 0.495999,0.04801 0.704,0.048 0.287998,6e-6 0.554665,-0.01599 0.8,-0.048 0.165331,0.410672 0.370664,0.816005 0.616,1.216 l 1.288,2.104 c 0.143996,0.218669 0.290662,0.437336 0.44,0.656 0.170662,0.266669 0.287995,0.501335 0.352,0.704 -0.01067,-0.149332 -0.016,-0.919998 -0.016,-2.312 -5e-6,-1.247995 -0.08,-2.031994 -0.24,-2.352 0.133329,0.02134 0.333328,0.03201 0.6,0.032 0.122661,6e-6 0.298661,-0.01066 0.528,-0.032"
+                 style="font-size:8px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:700%;writing-mode:lr-tb;text-anchor:start;fill:#d70a53;fill-opacity:1;stroke:none;font-family:LaudatioC;-inkscape-font-specification:LaudatioC Bold"
+                 inkscape:connector-curvature="0" />
+              <path
+                 id="text2971"
+                 d="m 56.007933,97.498229 c -4e-6,0.144003 -0.008,0.301336 -0.024,0.472 l -2.888,0 c 0.08533,1.136001 0.623998,1.704001 1.616,1.704 0.495996,10e-7 0.882663,-0.149332 1.16,-0.448 -0.09067,0.266668 -0.146671,0.538667 -0.168,0.816001 -0.368004,0.10667 -0.74667,0.16 -1.136,0.16 -0.725336,0 -1.296002,-0.202667 -1.712,-0.608001 -0.416001,-0.405332 -0.624001,-0.970665 -0.624,-1.696 -10e-7,-0.682663 0.162666,-1.22133 0.488,-1.616 0.357332,-0.426662 0.869331,-0.639995 1.536,-0.64 0.570664,5e-6 1.00533,0.165338 1.304,0.496 0.298662,0.330671 0.447996,0.784004 0.448,1.36 m -0.84,0 c 0.0053,-0.933329 -0.320003,-1.399996 -0.976,-1.4 -0.677335,4e-6 -1.045335,0.466671 -1.104,1.4 l 2.08,0"
+                 style="font-size:8px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:700%;writing-mode:lr-tb;text-anchor:start;fill:#d70a53;fill-opacity:1;stroke:none;font-family:LaudatioC;-inkscape-font-specification:LaudatioC Bold"
+                 inkscape:connector-curvature="0" />
+              <path
+                 id="text2975"
+                 d="m 67.562515,97.874234 c -4e-6,0.698668 -0.170671,1.253334 -0.512,1.664 -0.36267,0.442667 -0.888003,0.663996 -1.576,0.663996 -0.693335,0 -1.226667,-0.205329 -1.6,-0.615996 -0.357333,-0.394666 -0.536,-0.941332 -0.536,-1.64 0,-0.703997 0.173333,-1.26133 0.52,-1.672 0.367999,-0.431996 0.898665,-0.647996 1.592,-0.648 0.677331,4e-6 1.202663,0.208004 1.576,0.624 0.357329,0.400003 0.535996,0.941336 0.536,1.624 m -0.848,0.048 c -3e-6,-1.18933 -0.405336,-1.783996 -1.216,-1.784 -0.885335,4e-6 -1.328001,0.59467 -1.328,1.784 -10e-7,1.184001 0.431999,1.776 1.296,1.776 0.831997,0 1.247997,-0.591999 1.248,-1.776"
+                 style="font-size:8px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:700%;writing-mode:lr-tb;text-anchor:start;fill:#d70a53;fill-opacity:1;stroke:none;font-family:LaudatioC;-inkscape-font-specification:LaudatioC Bold"
+                 inkscape:connector-curvature="0" />
+              <path
+                 id="text2979"
+                 d="m 63.152097,95.674231 c -0.09067,0.245338 -0.149336,0.514671 -0.176,0.808 -0.08,-0.02133 -0.152003,-0.032 -0.216,-0.032 -0.314669,4e-6 -0.576002,0.146671 -0.784,0.44 -0.192002,0.272003 -0.288002,0.693336 -0.288,1.264 l 0,0.984 c -2e-6,0.394668 0.04,0.749334 0.12,1.063999 -0.240001,-0.0373 -0.405335,-0.056 -0.496,-0.056 -0.08533,0 -0.258668,0.0187 -0.52,0.056 0.07467,-0.282665 0.111999,-0.663998 0.112,-1.143999 l 0,-2.024 c -10e-7,-0.559996 -0.101334,-0.959995 -0.304,-1.2 0.389332,-0.016 0.762665,-0.09066 1.12,-0.224 -0.016,0.325338 -0.024,0.546671 -0.024,0.664 l 0,0.528 c 0.325331,-0.714662 0.810664,-1.090662 1.456,-1.128"
+                 style="font-size:8px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:700%;writing-mode:lr-tb;text-anchor:start;fill:#d70a53;fill-opacity:1;stroke:none;font-family:LaudatioC;-inkscape-font-specification:LaudatioC Bold"
+                 inkscape:connector-curvature="0" />
+              <path
+                 id="text2983"
+                 d="m 60.240798,100.17823 c -0.160005,-0.032 -0.322671,-0.048 -0.488,-0.048 -0.122671,0 -0.301337,0.016 -0.536,0.048 l -0.008,-0.959997 c -0.272003,0.656 -0.736003,0.983997 -1.392,0.983997 -0.848002,0 -1.272001,-0.418664 -1.272,-1.255997 l 0,-2 c -10e-7,-0.54933 -0.088,-0.927996 -0.264,-1.136 0.506665,4e-6 0.882665,-0.07733 1.128,-0.232 -0.05867,0.218671 -0.088,0.520004 -0.088,0.904 l 0,2.208 c -2e-6,0.576 0.263998,0.864 0.792,0.864 0.714663,0 1.071996,-0.541333 1.072,-1.624 l 0,-0.912 c -4e-6,-0.634663 -0.08534,-1.03733 -0.256,-1.208 0.437329,4e-6 0.815996,-0.07733 1.136,-0.232 -0.06401,0.293337 -0.09601,0.648004 -0.096,1.064 l 0,2.232 c -5e-6,0.650667 0.09066,1.085333 0.272,1.303997"
+                 style="font-size:8px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:700%;writing-mode:lr-tb;text-anchor:start;fill:#d70a53;fill-opacity:1;stroke:none;font-family:LaudatioC;-inkscape-font-specification:LaudatioC Bold"
+                 inkscape:connector-curvature="0" />
+            </g>
+          </g>
+          <g
+             id="g2478">
+            <path
+               class="st1"
+               d="m 61.055138,88.360478 c 0.01103,-0.5558 0.13264,-1.059213 0.629911,-1.059213 0.552561,0 0.596764,0.57684 0.585735,1.059213 l -1.215646,0 z m 1.922906,0.0734 c 0,-0.796958 -0.165757,-1.573065 -1.215674,-1.573065 -1.458724,0 -1.458724,1.531146 -1.458724,1.856198 0,1.363279 0.651998,1.908612 1.735033,1.908612 0.486241,0 0.718318,-0.07332 0.8509,-0.104907 -0.011,-0.241159 0.03317,-0.398533 0.06632,-0.608131 -0.143612,0.09439 -0.331542,0.209598 -0.762493,0.209598 -1.105094,0 -1.127267,-0.964746 -1.127267,-1.289771 l 1.88976,0 0.02214,-0.398534 z"
+               id="path3777"
+               style="fill:#000000;fill-opacity:1"
+               inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+               inkscape:export-xdpi="64.494591"
+               inkscape:export-ydpi="64.494591"
+               inkscape:connector-curvature="0" />
+            <path
+               class="st1"
+               d="m 65.287697,88.71701 c 0,0.6292 -0.121553,1.478734 -0.939337,1.478734 -0.121553,0 -0.265194,-0.0211 -0.353601,-0.04195 -0.01103,-0.241213 -0.01103,-0.660761 -0.01103,-1.1536 0,-0.576813 0.0552,-0.880878 0.110495,-1.027705 0.154698,-0.482481 0.486241,-0.482481 0.552561,-0.482481 0.530387,0 0.640911,0.702707 0.640911,1.226999 z m -2.04443,0.734053 c 0,0.503441 0,0.786546 -0.07735,1.006745 0.287339,0.104827 0.651998,0.167787 1.083006,0.167787 0.276252,0 1.082949,0 1.514015,-0.849425 0.210017,-0.388013 0.276252,-0.912387 0.276252,-1.310839 0,-0.241268 -0.02206,-0.776107 -0.232049,-1.111654 -0.198902,-0.325024 -0.519444,-0.482372 -0.861987,-0.482372 -0.685144,0 -0.884076,0.53484 -0.983541,0.817919 0,-0.346067 0,-1.551999 0.06632,-2.160184 -0.464154,0.199213 -0.751465,0.230666 -1.060891,0.262146 0.276252,0.10488 0.276252,0.5558 0.276252,2.002972 l 0,1.656905 -2.8e-5,0 z"
+               id="path3779"
+               style="fill:#000000;fill-opacity:1"
+               inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+               inkscape:export-xdpi="64.494591"
+               inkscape:export-ydpi="64.494591"
+               inkscape:connector-curvature="0" />
+            <path
+               class="st1"
+               d="m 67.409534,90.583676 c -0.143697,-0.02104 -0.243163,-0.03137 -0.453152,-0.03137 -0.220962,0 -0.375689,0.01033 -0.541417,0.03137 0.06626,-0.125868 0.09944,-0.188692 0.121552,-0.629172 0.02209,-0.597801 0.03309,-2.202293 -0.01111,-2.548359 -0.04418,-0.251707 -0.09941,-0.293626 -0.198875,-0.356506 0.574677,-0.05247 0.740406,-0.09436 1.016658,-0.220226 -0.06626,0.293626 -0.06626,0.450973 -0.06626,0.901865 -0.01109,2.328106 -0.02209,2.579732 0.13261,2.852398 z"
+               id="path3781"
+               style="fill:#000000;fill-opacity:1"
+               inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+               inkscape:export-xdpi="64.494591"
+               inkscape:export-ydpi="64.494591"
+               inkscape:connector-curvature="0" />
+            <path
+               class="st1"
+               d="m 69.686013,88.675064 c -0.01097,0.419493 -0.02206,0.723586 -0.143583,0.954333 -0.143727,0.304038 -0.39792,0.388013 -0.585707,0.388013 -0.419951,0 -0.508444,-0.335546 -0.508444,-0.66068 0,-0.63972 0.596823,-0.681666 0.862045,-0.681666 l 0.375689,0 0,0 z m -1.956051,0.828466 c 0,0.419466 0.132639,0.849507 0.53053,1.027733 0.187759,0.0734 0.364603,0.0734 0.419864,0.0734 0.652027,0 0.873017,-0.450892 1.005629,-0.734079 -0.01097,0.293627 0,0.471934 0.02209,0.713093 0.132669,-0.01052 0.254193,-0.02104 0.475241,-0.02104 0.110551,0 0.232104,0.01052 0.353601,0.02104 -0.07735,-0.115401 -0.121497,-0.17828 -0.143612,-0.450974 -0.01109,-0.25168 -0.01109,-0.503305 -0.01109,-0.870358 l 0,-1.373826 c 0,-0.513745 -0.143612,-1.017186 -1.204559,-1.017186 -0.707203,0 -1.116181,0.199294 -1.326084,0.304174 0.08838,0.146827 0.154727,0.272586 0.220962,0.566212 0.276251,-0.230666 0.640997,-0.356533 1.005685,-0.356533 0.596793,0 0.596793,0.377574 0.596793,0.901893 -0.13264,-0.01055 -0.254278,-0.02107 -0.442095,-0.02107 -0.906162,0 -1.502955,0.335735 -1.502955,1.23752 z"
+               id="path3783"
+               style="fill:#000000;fill-opacity:1"
+               inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+               inkscape:export-xdpi="64.494591"
+               inkscape:export-ydpi="64.494591"
+               inkscape:connector-curvature="0" />
+            <path
+               class="st1"
+               d="m 73.786047,89.912584 c 0,0.230693 0,0.471825 0.09941,0.671092 -0.154699,-0.01052 -0.243192,-0.03137 -0.530531,-0.03137 -0.176786,0 -0.265136,0.01033 -0.39769,0.03137 0.02206,-0.08392 0.033,-0.125868 0.05518,-0.241159 0.02217,-0.1468 0.03312,-0.671092 0.03312,-0.849507 l 0,-0.734107 c 0,-0.314505 0,-0.776026 -0.02206,-0.933238 -0.01106,-0.115346 -0.05529,-0.430041 -0.464126,-0.430041 -0.408948,0 -0.541559,0.283215 -0.585706,0.513961 -0.05529,0.241187 -0.05529,0.492894 -0.05529,1.489065 0,0.870385 0,0.943894 0.07735,1.185052 -0.121496,-0.01052 -0.276166,-0.03137 -0.486156,-0.03137 -0.176872,0 -0.287453,0.01033 -0.431008,0.03137 0.05529,-0.104879 0.07735,-0.16784 0.09941,-0.545332 0.01114,-0.366918 0.04415,-2.191745 -0.02206,-2.62165 -0.04415,-0.262227 -0.110581,-0.325134 -0.187901,-0.388014 0.574648,-0.03148 0.762578,-0.1154 0.939336,-0.209787 l 0,0.723559 c 0.08838,-0.209598 0.265137,-0.681639 0.972454,-0.681639 0.895133,0 0.895133,0.618868 0.906277,1.017294 l 0,2.034451 0,0 z"
+               id="path3785"
+               style="fill:#000000;fill-opacity:1"
+               inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+               inkscape:export-xdpi="64.494591"
+               inkscape:export-ydpi="64.494591"
+               inkscape:connector-curvature="0" />
+            <path
+               class="st0"
+               d="m 67.464825,85.875107 -0.585678,0.555826 -0.585793,-0.555826 0.585793,-0.555827 0.585678,0.555827 z"
+               id="path3787"
+               style="fill:#d70751;fill-opacity:1"
+               inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+               inkscape:export-xdpi="64.494591"
+               inkscape:export-ydpi="64.494591"
+               inkscape:connector-curvature="0" />
+            <path
+               id="text3769"
+               d="m 63.697582,83.280325 c -4e-6,1.457025 -0.785925,2.185536 -2.357765,2.185536 -0.09898,0 -0.245478,-0.004 -0.439482,-0.01188 -0.190048,-0.0079 -0.334562,-0.01188 -0.433544,-0.01188 -0.03563,0 -0.209844,0.0079 -0.522628,0.02376 0.126697,-0.162332 0.190046,-0.821555 0.190047,-1.977672 -1e-6,-0.716631 -0.002,-1.098704 -0.0059,-1.146219 -0.01584,-0.455316 -0.06929,-0.82749 -0.160352,-1.116523 0.182127,0.03564 0.395929,0.05345 0.641407,0.05345 0.122737,4e-6 0.304865,-0.0079 0.546384,-0.02376 0.245475,-0.01979 0.429582,-0.02969 0.552323,-0.0297 0.700793,4e-6 1.207584,0.166295 1.520372,0.498872 0.312781,0.332585 0.469173,0.851253 0.469177,1.556006 m -0.700796,0.01188 c -4e-6,-1.108601 -0.502835,-1.662903 -1.508495,-1.662907 -0.150455,4e-6 -0.393952,0.0198 -0.730491,0.05939 -0.0198,0.455324 -0.0297,0.886887 -0.0297,1.294693 l 0,1.668846 c -10e-7,0.182128 0.06137,0.300907 0.184108,0.356337 0.07918,0.03563 0.221719,0.05345 0.427604,0.05345 0.582016,0 1.00764,-0.152433 1.276876,-0.4573 0.253392,-0.285068 0.380089,-0.722571 0.380093,-1.312509"
+               style="font-size:5.93895483000000013px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:700%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:LaudatioC;-inkscape-font-specification:LaudatioC Bold"
+               transform="scale(0.9429753,1.0604732)"
+               inkscape:connector-curvature="0" />
+          </g>
+        </g>
+      </g>
+      <g
+         transform="translate(-40.044329,-50.107571)"
+         style="display:none"
+         inkscape:label="Debian-text"
+         id="layer5">
+        <g
+           transform="matrix(0.04585734,0,0,0.05070038,37.456067,81.452516)"
+           id="g6679"
+           style="display:inline;enable-background:new">
+          <path
+             class="st1"
+             d="m 269.84799,136.25108 c -0.30551,0.26427 -0.30551,27.32302 -0.61339,34.41853 -0.61102,5.779 -1.22363,18.12839 -15.30407,18.12839 -14.69303,0 -18.06159,-14.44985 -19.28521,-20.49514 -1.22442,-7.09484 -1.22442,-12.87452 -1.22442,-15.23787 0,-8.14304 0.30551,-30.74068 22.65295,-30.74068 6.73314,0 10.40639,1.57807 13.46863,2.89187 l 0.30551,11.0349 z m -57.24224,19.96732 c 0,47.55389 29.38608,47.55389 33.97747,47.55389 12.2442,0 19.89702,-5.51813 23.26477,-15.50281 l 0.61182,14.97702 c 3.67327,-0.26358 7.34731,-0.52715 13.46862,-0.52715 2.14334,0 3.97955,0 5.51028,0.26357 1.52994,0 3.06147,0 4.8977,0.26358 -3.06145,-5.51746 -5.51029,-17.60395 -5.51029,-43.87537 0,-25.74766 0,-69.36082 2.44962,-82.498905 -7.04101,2.890524 -13.1631,4.729448 -26.63253,5.781037 5.51029,4.992329 5.51029,7.357048 5.51029,29.689078 -3.67403,-1.05225 -8.57174,-2.10317 -16.53007,-2.10317 -35.20268,0 -41.01768,26.27618 -41.01768,45.97923 z"
+             id="path6681"
+             style="fill:#000000"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+          <path
+             class="st1"
+             d="m 319.43741,147.54753 c 0.30552,-13.92475 3.67405,-26.53703 17.44819,-26.53703 15.30564,0 16.53006,14.45189 16.22455,26.53703 l -33.67274,0 z m 53.26347,1.83892 c 0,-19.96662 -4.59138,-39.41086 -33.67353,-39.41086 -40.40588,0 -40.40588,38.36063 -40.40588,46.50434 0,34.15496 18.06001,47.81748 48.05949,47.81748 13.46861,0 19.89704,-1.83689 23.56949,-2.62829 -0.30472,-6.04189 0.91891,-9.98468 1.83703,-15.23585 -3.97798,2.36473 -9.18354,5.25117 -21.12065,5.25117 -30.61051,0 -31.2247,-24.17028 -31.2247,-32.31331 l 52.34535,0 0.6134,-9.98468 z"
+             id="path6683"
+             style="fill:#000000"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+          <path
+             class="st1"
+             d="m 436.67703,156.47993 c 0,15.76367 -3.36695,37.04751 -26.01913,37.04751 -3.36695,0 -7.34573,-0.52851 -9.79456,-1.05092 -0.30551,-6.04325 -0.30551,-16.55439 -0.30551,-28.90175 0,-14.45121 1.52913,-22.06913 3.06065,-25.74766 4.28507,-12.08786 13.46862,-12.08786 15.30566,-12.08786 14.69144,0 17.75289,17.60531 17.75289,30.74068 z m -56.62963,18.39061 c 0,12.61298 0,19.70577 -2.14253,25.22254 7.95911,2.62627 18.05999,4.20365 29.99868,4.20365 7.65204,0 29.9971,0 41.93739,-21.28111 5.81737,-9.7211 7.65203,-22.85851 7.65203,-32.84115 0,-6.0446 -0.61103,-19.44423 -6.42761,-27.85085 -5.50949,-8.14302 -14.38833,-12.08514 -23.87658,-12.08514 -18.97813,0 -24.48843,13.39963 -27.24357,20.49176 0,-8.67018 0,-38.883042 1.83705,-54.120226 -12.85682,4.990977 -20.81516,5.778993 -29.38611,6.567679 7.65204,2.627622 7.65204,13.924749 7.65204,50.181527 l 0,41.51132 -7.9e-4,0 z"
+             id="path35079"
+             style="fill:#000000"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+          <path
+             class="st1"
+             d="m 495.45079,203.2465 c -3.98035,-0.52715 -6.7355,-0.78598 -12.55209,-0.78598 -6.12052,0 -10.40638,0.25883 -14.99696,0.78598 1.83543,-3.15342 2.75433,-4.7274 3.36694,-15.76298 0.61182,-14.97702 0.91655,-55.17521 -0.30787,-63.84541 -1.22364,-6.30614 -2.75356,-7.35636 -5.50871,-8.93172 15.91825,-1.31449 20.50884,-2.36405 28.16087,-5.51745 -1.83543,7.35638 -1.83543,11.29847 -1.83543,22.59492 -0.3071,58.32727 -0.61182,64.63139 3.67325,71.46264 z"
+             id="path6687"
+             style="fill:#000000"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+          <path
+             class="st1"
+             d="m 558.50803,155.42903 c -0.30393,10.50979 -0.61102,18.12839 -3.97718,23.90942 -3.98116,7.61723 -11.02216,9.72108 -16.22377,9.72108 -11.6324,0 -14.08361,-8.4066 -14.08361,-16.55236 0,-16.02724 16.53166,-17.07814 23.87817,-17.07814 l 10.40639,0 0,0 z m -54.18158,20.756 c 0,10.5091 3.67404,21.28316 14.69541,25.74834 5.20083,1.83892 10.09931,1.83892 11.63001,1.83892 18.0608,0 24.1821,-11.29645 27.85538,-18.39128 -0.30393,7.35639 0,11.8236 0.6118,17.86549 3.67485,-0.26358 7.04102,-0.52715 13.16391,-0.52715 3.06223,0 6.42918,0.26357 9.79457,0.52715 -2.14255,-2.89119 -3.36539,-4.46654 -3.97798,-11.29849 -0.30709,-6.30546 -0.30709,-12.60956 -0.30709,-21.80555 l 0,-34.4192 c 0,-12.87112 -3.97797,-25.48409 -33.36566,-25.48409 -19.58913,0 -30.9176,4.99302 -36.73181,7.62063 2.44805,3.67854 4.28586,6.82923 6.12052,14.1856 7.65203,-5.77898 17.75528,-8.9324 27.85695,-8.9324 16.53086,0 16.53086,9.45957 16.53086,22.59561 -3.67406,-0.26425 -7.04338,-0.52784 -12.2458,-0.52784 -25.10021,0 -41.63107,8.41136 -41.63107,31.00426 z"
+             id="path6689"
+             style="fill:#000000"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+          <path
+             class="st1"
+             d="m 672.07677,186.43327 c 0,5.77968 0,11.82089 2.75357,16.81323 -4.28508,-0.26358 -6.7363,-0.78598 -14.69543,-0.78598 -4.89688,0 -7.34414,0.25883 -11.01582,0.78598 0.61102,-2.1025 0.91416,-3.15342 1.52835,-6.04189 0.61418,-3.67785 0.91732,-16.81322 0.91732,-21.28315 l 0,-18.39198 c 0,-7.87945 0,-19.44218 -0.61101,-23.3809 -0.30631,-2.88983 -1.53153,-10.77404 -12.85604,-10.77404 -11.32765,0 -15.00091,7.09552 -16.22375,12.87654 -1.53151,6.04258 -1.53151,12.34873 -1.53151,37.30634 0,21.80621 0,23.64788 2.14253,29.68975 -3.36537,-0.26357 -7.64965,-0.78596 -13.46625,-0.78596 -4.89926,0 -7.96229,0.25882 -11.93869,0.78596 1.53151,-2.62761 2.14254,-4.205 2.75357,-13.66251 0.30866,-9.1926 1.22283,-54.91096 -0.61103,-65.68161 -1.22284,-6.56971 -3.06303,-8.14574 -5.20476,-9.7211 15.91745,-0.78869 21.12302,-2.89119 26.01911,-5.25591 l 0,18.1277 c 2.44805,-5.25116 7.34415,-17.07747 26.93645,-17.07747 24.79472,0 24.79472,15.50484 25.10339,25.48681 l 0,50.97019 0,0 z"
+             id="path6691"
+             style="fill:#000000"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+          <path
+             class="st0"
+             d="M 496.9823,85.280203 480.75933,99.205621 464.53319,85.280203 480.75933,71.354772 496.9823,85.280203 z"
+             id="path6693"
+             style="fill:#d70751;fill-opacity:1"
+             inkscape:export-filename="/home/alrferreira/Desktop/debian-gnu-banner.png"
+             inkscape:export-xdpi="64.494591"
+             inkscape:export-ydpi="64.494591"
+             inkscape:connector-curvature="0" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
index f8db565dd13018d996028246c4d49ce4bcab15ad..26f8cb8a72887b7bf7eeece1ea9778361135f155 100644 (file)
@@ -7,7 +7,7 @@ buildplace="${cowbuilderroot}/build"
 
 # all currently supported dists
 allnddists="nd+debian-squeeze nd+debian-wheezy nd+debian-jessie nd+debian-sid \
-            nd+ubuntu-lucid nd+ubuntu-precise nd+ubuntu-quantal nd+ubuntu-raring nd+ubuntu-saucy"
+            nd+ubuntu-lucid nd+ubuntu-precise nd+ubuntu-saucy nd+ubuntu-trusty nd+ubuntu-utopic"
 alldists="$allnddists debian-squeeze debian-wheezy debian-jessie debian-sid"
 
 # default is debian
index 2ffbef44694ef7ff7e46d2ecc383f498c90a9881..2ab32f217987eb9ceb45ed88916bdb89567f3c92 100644 (file)
@@ -3,6 +3,6 @@
 /neurodebian-desktop
 /neurodebian-dev
 /neurodebian-guest-additions
-/neurodebian-keyring
+/neurodebian-archive-keyring
 /*.log
 /*.substvars
index 4e73550e98937ccffbb43a3d444d2a8a2849938f..9d4f16768539d9fd1f0615296c39997141110f65 100644 (file)
@@ -3,3 +3,51 @@
 
   would need to assure that mvpa2-tutorial is aware of ipython1x first
   then... not now
+* make all nd_* scripts usable out of the box on non-x86 boxes
+* TODO testing of neurodebian "installer" packages
+** notes from manual attempts in a docker:
+
+*** just dpkg -i way
+rm neurodebian-*deb; apt-get update -y; apt-get install -y netselect python-minimal wget; wget http://www.onerussian.com/tmp/neurodebian-{repository,keyring}_0.33~a1_all.deb; DEBIAN_FRONTEND=noninteractive dpkg -i neurodebian-{keyring,repository}_0.33~a1_all.deb
+
+*** via apt
+
+#/bin/bash
+set -ex
+
+# minimal installation with few of those packages
+apt_file=/etc/apt/sources.list.d/local.list
+
+# clean up from a previous test
+dpkg --purge neurodebian neurodebian-archive-keyring || :
+echo PURGE | debconf-communicate neurodebian || :
+rm -rf /tmp/apt $apt_file;
+
+mkdir -p /tmp/apt; cd /tmp/apt;
+rm -f neurodebian-*deb; apt-get update -y; apt-get install -y wget;
+wget http://www.onerussian.com/tmp/neurodebian_0.33~a1_all.deb;
+wget http://www.onerussian.com/tmp/neurodebian-archive-keyring_0.33~a1_all.deb;
+
+# generate APT repo
+apt-get install -y dpkg-dev ;  dpkg-scanpackages  . /dev/null > Packages
+# Add it to the list of available
+echo "deb file:///tmp/apt ./" >| $apt_file; apt-get update
+# Install the beast
+apt-get install -y --allow-unauthenticated neurodebian
+
+# Verify that it has correct entries
+release=$(grep -v '^[\s#]*$' /etc/apt/sources.list | head -1 | awk '{print $3;}')
+grep -E "^deb\s+http.* $release main\s*\$" /etc/apt/sources.list.d/neurodebian.sources.list
+grep -E '^deb\s+http.* data main\s*$' /etc/apt/sources.list.d/neurodebian.sources.list
+# May be even retrospect stored debconf configuration
+apt-get install debconf-utils
+debconf-get-selections | grep neurodebian/release.*select.*auto
+# And apt-get must be working
+apt-get update
+# Make sure it is active
+apt-cache policy | grep o=NeuroDebian,.*,n=data
+apt-cache policy | grep o=NeuroDebian,.*,n=$release
+
+echo "I: success"
+
+*** ~/bin/docker-debians-run /bin/bash -c "apt-get -y update >/dev/null; apt-get install -y wget >/dev/null; bash <(wget -q --no-check-certificate -O- https://raw.githubusercontent.com/yarikoptic/neurodebian/enh/neurodebian-installer/tools/nd-configurerepo) --overwrite --install --mirror=us-nh" 
index 2f339f63beebc0f2b9edbe7cac94c61830d205b5..9a3b56f43a27a010e34ffb15ffaccfbfe16edd52 100644 (file)
@@ -1,3 +1,50 @@
+neurodebian (0.34) unstable; urgency=medium
+
+  * Re-upload to Debian proper (Closes: #757279), addressing Debian
+    ftpmaster concerns (Thanks Ansgar Burchardt for the thorough review
+    and suggestions)
+  * debian/control
+    - neurodebian-guest-additions:
+      - this binary package will be built ONLY for the NeuroDebian wheezy,
+        and that is why was removed from the stock debian/control
+      - moved virtualbox-guest* dependencies into Depends (from
+        Pre-Depends), and stripping deprecated -ose suffix
+      - dropped depends on elderly gdm, now lightdm or any x-display-manager
+      - fixing package names for chromium, and removing update-manager-gnome
+        N/A in sid
+    - neurodebian
+      - moved wget, python to Depends from Pre-Depends
+  * debian/neurodebian-popularity-contest.*
+    - .postinst  should try to remove old-fashion popcon entry only if
+      upgrading/configuring from pre 0.33 version of neurodebian-*
+    - .postrm  removed altogether since will not longer be needed because
+      popcon configuration gets installed as a config file now
+  * tools/nd-configurerepo
+    - use long GPG key id
+    - unify prefix for environment variables to be NEURODEBIAN_ instead of
+      more cryptic ND_AE_
+  * tools/neurodebian.{preinst,templates,config}
+    - add an explicit question either NeuroDebian APT configuration should
+      be installed (i.e. NeuroDebian repository being enabled). debconf
+      default/value could be overridden from the environment using
+      NEURODEBIAN_ENABLE.
+
+ -- Yaroslav Halchenko <debian@onerussian.com>  Wed, 13 Aug 2014 13:43:13 -0400
+
+neurodebian (0.33) UNRELEASED; urgency=medium
+
+  * Initial (rejected) upload to Debian proper
+  * Support popularity-contest >= 1.61 encrypting submissions:
+    - provide GPG public key for encryption of submissions
+  * Updated list of currently supported Ubuntu releases
+  * New features:
+    - neurodebian and neurodebian packages to provide 1-click
+      NeuroDebian deployment on Debian/Ubuntu boxes
+  * Breakage of "compatibility":
+    - do not install sphinx sources
+
+ -- Yaroslav Halchenko <debian@onerussian.com>  Fri, 08 Aug 2014 16:29:40 -0400
+
 neurodebian (0.32) neurodebian; urgency=low
 
   [ Michael Hanke ]
index 0517d5d46ec757914805e3bf7a55f440e76036f2..c606f1242198eb81cf998ae479f316055016cbd6 100644 (file)
@@ -3,17 +3,30 @@ 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
-Standards-Version: 3.9.2
+Build-Depends: debhelper (>= 7.0.50~), xcftools, help2man, inkscape, imagemagick, python-html5lib, po-debconf
+Standards-Version: 3.9.5
 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
-XS-DM-Upload-Allowed: yes
+
+Package: neurodebian
+Architecture: all
+Depends: python, wget, neurodebian-archive-keyring, ${misc:Depends}
+Recommends: netselect
+Suggests: neurodebian-desktop, neurodebian-popularity-contest
+Description: turnkey platform for the neuroscience
+ The NeuroDebian project integrates and maintain a variety of
+ neuroscience-oriented (such as AFNI, FSL, PsychoPy, etc.) and many
+ generic computational (such as condor, pandas, etc.) software projects
+ within Debian.
+ .
+ This package enables NeuroDebian repository on top of the stock
+ Debian or Ubuntu system.
 
 
 Package: neurodebian-dev
 Architecture: all
-Depends: ${misc:Depends}, devscripts, cowbuilder, neurodebian-keyring
+Depends: ${misc:Depends}, devscripts, cowbuilder, neurodebian-archive-keyring
 Recommends: python, zerofree, moreutils, time, ubuntu-keyring, debian-archive-keyring, apt-utils
 Suggests: virtualbox-ose, virtualbox-ose-fuse
 Description: NeuroDebian development tools
@@ -33,9 +46,11 @@ Description: neuroscience research environment
  automatically installed upon initial invocation.
 
 
-Package: neurodebian-keyring
+Package: neurodebian-archive-keyring
 Architecture: all
 Depends: ${misc:Depends}
+Replaces: neurodebian-keyring (<< 0.34~)
+Breaks: neurodebian-keyring (<< 0.34~)
 Description: GnuPG archive keys of the NeuroDebian archive
  The NeuroDebian project digitally signs its Release files. This package
  contains the archive keys used for that.
@@ -62,19 +77,3 @@ Description: Helper for NeuroDebian popularity contest submissions
  You can always enable or disable your participation in popcon by
  running 'dpkg-reconfigure popularity-contest' as root.
 
-Package: neurodebian-guest-additions
-Architecture: all
-Pre-Depends: virtualbox-ose-guest-utils, virtualbox-ose-guest-x11, virtualbox-ose-guest-dkms
-Depends: ${misc:Depends},
-         sudo,
-         neurodebian-desktop,
-         gdm | lightdm,
-                zenity,
-Recommends: chromium-browser,
-            update-manager-gnome, update-notifier,
-Description: NeuroDebian guest additions (DO NOT INSTALL OUTSIDE VIRTUALBOX)
- This package configures a Debian installation as a guest operating system
- in a VirtualBox-based virtual machine for NeuroDebian.
- .
- DO NOT install this package unless you know what you are doing! For example,
- installation of this package relaxes several security mechanisms.
index ca8d69ea5f0f97c8973fc99c03f3bcc03404aafe..e9f10fbda3997139c66634889732c75868076352 100644 (file)
@@ -3,16 +3,38 @@ Upstream-Name: NeuroDebian
 Upstream-Contact: NeuroDebian team <team@neuro.debian.net>
 Source-Location: http://git.debian.org/?p=pkg-exppsy/neurodebian.git
 
-
 Files: *
-Copyright: 2009-2013 NeuroDebian Team
+Copyright: 2009-2014 NeuroDebian Team (Yaroslav Halchenko, Michael Hanke, et al.)
 License: GPL-3+
- On Debian systems the full text of the GNU General Public License can be found
- in the `/usr/share/common-licenses/GPL-3' file.
 
 Files: artwork/openlogo*.svg
 Copyright: 1999 Software in the Public Interest
-License: MIT
+License: Expat
+
+Files: sphinx/sphinxext/quote.py
+Copyright: 2010, Yaroslav O. Halchenko
+           2007-2010, Sphinx team
+License: BSD-2
+
+
+License: GPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ version 3 can be found in `/usr/share/common-licenses/GPL-3'.
+
+License: Expat
  Permission is hereby granted, free of charge, to any person obtaining
  a copy of this software and associated documentation files (the
  "Software"), to deal in the Software without restriction, including
@@ -32,3 +54,30 @@ License: MIT
  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  SOFTWARE.
+
+License: BSD-2
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
diff --git a/debian/neurodebian-archive-keyring.install b/debian/neurodebian-archive-keyring.install
new file mode 100644 (file)
index 0000000..ab98d0d
--- /dev/null
@@ -0,0 +1 @@
+keys/neurodebian-archive-keyring.gpg etc/apt/trusted.gpg.d/
diff --git a/debian/neurodebian-archive-keyring.postinst b/debian/neurodebian-archive-keyring.postinst
new file mode 100644 (file)
index 0000000..2ce7600
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if which apt-key > /dev/null; then
+    apt-key update
+fi
+
+#DEBHELPER#
diff --git a/debian/neurodebian-desktop.lintian-overrides b/debian/neurodebian-desktop.lintian-overrides
new file mode 100644 (file)
index 0000000..4e09e3f
--- /dev/null
@@ -0,0 +1,7 @@
+# Those .desktop files on purpose do not include main category for
+# them all to appear only under a non-standard additional NeuroDebian
+# submenu
+neurodebian-desktop: desktop-entry-lacks-main-category usr/share/applications/neurodebian-*.desktop
+
+# .desktop entries to fire up a browser pointing to a webpage (e.g. documentation)
+neurodebian-desktop: desktop-command-not-in-package usr/share/applications/neurodebian-*.desktop x-www-browser
index 06ff84cc13d3914b837b4dcea52243aab45b8a7a..0e6ca74fee19866bb5368853922710585b9cdb77 100644 (file)
@@ -1 +1 @@
-build/man/nd-*
+build/man/nd-autoinstall.1
index c2890c45cc91cd5eee150d136328afc8c844c9e2..883651242e6b2f409af1123553ab2049c001cdcf 100644 (file)
@@ -3,4 +3,3 @@ tools/nd_* usr/bin/
 neurodebian.cfg /etc/neurodebian/
 cmdsettings.sh /etc/neurodebian/
 pkgs usr/share/neurodebian/
-sphinx usr/share/neurodebian/
diff --git a/debian/neurodebian-dev.lintian-overrides b/debian/neurodebian-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..1e59969
--- /dev/null
@@ -0,0 +1,2 @@
+# we do not provide manpages for the devel scripts yet
+neurodebian-dev binary: binary-without-manpage usr/bin/nd_*
diff --git a/debian/neurodebian-guest-additions.dirs b/debian/neurodebian-guest-additions.dirs
deleted file mode 100644 (file)
index 1b603c3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/mnt/host
diff --git a/debian/neurodebian-guest-additions.lintian-overrides b/debian/neurodebian-guest-additions.lintian-overrides
new file mode 100644 (file)
index 0000000..ea29a78
--- /dev/null
@@ -0,0 +1,6 @@
+# No manpage yet
+neurodebian-guest-additions: binary-without-manpage usr/bin/nd-vmsetupwizard
+
+# Similarly to the case of .desktop files in -desktop package
+# lack of main category is intentional
+neurodebian-guest-additions: desktop-entry-lacks-main-category usr/share/applications/neurodebianguest-vmsetupwizard.desktop
diff --git a/debian/neurodebian-keyring.install b/debian/neurodebian-keyring.install
deleted file mode 100644 (file)
index ab98d0d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-keys/neurodebian-archive-keyring.gpg etc/apt/trusted.gpg.d/
diff --git a/debian/neurodebian-keyring.postinst b/debian/neurodebian-keyring.postinst
deleted file mode 100644 (file)
index 2ce7600..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if which apt-key > /dev/null; then
-    apt-key update
-fi
-
-#DEBHELPER#
diff --git a/debian/neurodebian-popularity-contest.dirs b/debian/neurodebian-popularity-contest.dirs
new file mode 100644 (file)
index 0000000..ff41a38
--- /dev/null
@@ -0,0 +1,2 @@
+usr/share/popularity-contest
+etc/popularity-contest.d
diff --git a/debian/neurodebian-popularity-contest.install b/debian/neurodebian-popularity-contest.install
new file mode 100644 (file)
index 0000000..88ddd33
--- /dev/null
@@ -0,0 +1,2 @@
+popcon/neurodebian.conf /etc/popularity-contest.d
+popcon/neurodebian-popcon.gpg /usr/share/popularity-contest
index 3bb1437090d96622a741aa615d0fc40ca9a0f283..4f6c57263a03e600f6a9b2bc07225d46a4e335e6 100755 (executable)
@@ -1,8 +1,25 @@
 #!/bin/bash -e
 
+# following to be duplicated within postrm as well, but may be with
+# "Removing" message
 popcon_conf=/etc/popularity-contest.conf
-if [ "$1" = "configure" -o "$1" = "abort-upgrade" ]; then
+nd_popcon_conf=/etc/popularity-contest.d/neurodebian.conf
+remove_neurodebian_popcon_pre161() {
        # Adjust popularity-contest.conf
+       if [ -e "$popcon_conf" ] \
+          && grep -q "http://neuro.debian.net/cgi-bin/popcon-submit.cgi" $popcon_conf; then
+               #echo "Removing NeuroDebian url for Popularity Contest submissions."
+               # First remove any explicit mentioning and then empty additions
+               sed -i -e 's,http://neuro.debian.net/cgi-bin/popcon-submit.cgi,,g' \
+                          -e '/SUBMITURLS+=" *"/d' \
+                          -e '/SUBMITURLS="$SUBMITURLS *"/d' \
+                       "$popcon_conf"
+       fi
+}
+
+add_neurodebian_popcon_pre161() {
+       # Adjust main popularity-contest configuration file.  Should be
+       # used only with older versions of the popularity contest.
        if [ -e "$popcon_conf" ]; then
                # Fix dashism missing += operator
                if grep -q 'SUBMITURLS+="' "$popcon_conf"; then
@@ -14,6 +31,29 @@ if [ "$1" = "configure" -o "$1" = "abort-upgrade" ]; then
                        echo -e 'SUBMITURLS="$SUBMITURLS http://neuro.debian.net/cgi-bin/popcon-submit.cgi"' >> "$popcon_conf"
                fi
        fi
+}
+
+add_neurodebian_popcon_161() {
+       # 1.60 introduced encryption and a way to provide multiple keys to
+       # encrypt submissions to multiple servers.
+
+       # "Installation" is taken care of through installing files under
+       # /etc/popularity-contest.d, so no additional actions necessary here
+       :
+}
+
+popcon_version=$(dpkg -l popularity-contest | tail -n 1 | awk '{print $3;}')
+
+if [ "$1" = "configure" -o "$1" = "abort-upgrade" ]; then
+       if dpkg --compare-versions $popcon_version lt 1.61; then
+               add_neurodebian_popcon_pre161
+       else
+               # Assure that we have no "old" settings for submission if
+               # previous version of our package was old
+               if [ "$1" = "configure" ] && [ -z "$2" ] && dpkg --compare-versions "$2" lt 0.33; then
+                       remove_neurodebian_popcon_pre161 || :
+               fi
+       fi
 fi
 
 #DEBHELPER#
diff --git a/debian/neurodebian-popularity-contest.postrm b/debian/neurodebian-popularity-contest.postrm
deleted file mode 100755 (executable)
index 6615555..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh -e
-
-#DEBHELPER#
-
-# If requested to be purged -- remove our entry
-popcon_conf=/etc/popularity-contest.conf
-if [ "$1" = "purge" ]; then
-       # Adjust popularity-contest.conf
-       if [ -e "$popcon_conf" ]; then
-               echo "Removing NeuroDebian url for Popularity Contest submissions."
-               # First remove any explicit mentioning and then empty additions
-               sed -i -e 's,http://neuro.debian.net/cgi-bin/popcon-submit.cgi,,g' \
-                          -e '/SUBMITURLS+=" *"/d' \
-                          -e '/SUBMITURLS="$SUBMITURLS *"/d' \
-                       "$popcon_conf"
-       fi
-fi
diff --git a/debian/neurodebian.config b/debian/neurodebian.config
new file mode 100755 (executable)
index 0000000..ef88786
--- /dev/null
@@ -0,0 +1,122 @@
+#!/bin/bash
+set -e
+
+. /usr/share/debconf/confmodule
+
+db_capb backup # allow to go back, for that we implement that STATE loop
+
+debug()
+{
+    [ "${DEBCONF_DEBUG:-}" != "developer" ] || echo -e "D: $*" >&2
+}
+
+db_settitle neurodebian/title
+
+if [ "$1" = "configure" ]; then
+    # Must have been called in preinst state, so no nd-configurerepo
+    # tool is yet installed, thus delay asking questions to
+    # whenever will be called in postinst state
+    which nd-configurerepo 1>/dev/null 2>&1 || exit 0
+fi
+
+# Create temporary directory which will be reused
+export ND_AE_TEMPDIR=$(mktemp -d)
+trap "rm -rf \"$ND_AE_TEMPDIR\"" TERM INT EXIT
+
+neurodebian_releases="auto"
+
+# This implements a simple state machine so the back button can be handled.
+# taken from debconf demo example
+STATE=1
+while [ "$STATE" != 0 -a "$STATE" -lt 9 ]; do
+    case $STATE in
+               1)
+                       # allow to be overridden by environment variable as discussed with
+                       # ftpmaster
+                       if [ ! -z "${NEURODEBIAN_ENABLE:-}" ]; then
+                               case "${NEURODEBIAN_ENABLE}" in
+                                       true|yes|YES|1) enable=true;;
+                                       false|no|NO|0)  enable=false;;
+                                       *) echo "ERROR: Non-supported value $NEURODEBIAN_ENABLE of NEURODEBIAN_ENABLE env variable. Use yes or no" >&2;
+                                               exit 1;;
+                               esac
+                               db_set neurodebian/enable $enable
+                       fi
+                       db_input high neurodebian/enable || true
+                       ;;
+        2)
+                       neurodebian_releases="$(ND_IFS=', ' nd-configurerepo --print-releases)"
+                       debian_release="$(ND_IFS=', ' nd-configurerepo --print-release)"
+                       if [ -z "$debian_release" ]; then # just a failover
+                               debian_release="sid"
+                       fi
+                       debug "releases: $neurodebian_releases"
+                       db_subst neurodebian/release releases "$neurodebian_releases"
+                       db_subst neurodebian/release release  "$debian_release"
+                       db_input medium neurodebian/release || true
+                       ;;
+        3)
+                       neurodebian_mirrors="$(ND_IFS=', ' nd-configurerepo --print-mirrors)"
+                       debug "mirrors: $neurodebian_mirrors"
+                       db_subst neurodebian/mirror mirrors "$neurodebian_mirrors"
+                       db_input medium neurodebian/mirror || true
+                       mirror_selection_ret="$RET"
+                       debug "mirror select return: <$mirror_selection_ret>"
+                       ;;
+        4)  neurodebian_flavor="$(ND_IFS=', ' nd-configurerepo --print-flavor)"
+                       db_subst neurodebian/flavor flavor "$neurodebian_flavor"
+                       db_input medium neurodebian/flavor || true ;;
+        5)  db_input medium neurodebian/components || true ;;
+        6)  db_input low neurodebian/suffix || true ;;
+        7)  db_input low neurodebian/overwrite || true ;;
+        8)  db_input medium neurodebian/run-update-note || true ;;
+    esac
+
+    if db_go; then
+               case $STATE in
+                       1)
+                               db_get neurodebian/enable # get new value
+                               if [ "$RET" = "false" ]; then
+                                       # no need to proceed with further questions
+                                       if ls /etc/apt/sources.list.d/neurodebian.sources*.list &>/dev/null; then
+                                               # we have configuration present -- display a note about apt-get update
+                                               STATE=8
+                                       else
+                                               STATE=100       # just go out -- nothing to do, nothing to inform about
+                                       fi
+                                       continue
+                               fi;;
+# Ubuntus managed to remove netselect "to accompany apt-netselect"
+# https://bugs.launchpad.net/ubuntu/+source/netselect/+bug/337377
+# So for now remove this mandatory demanding of netselect for "best", and
+# rely on logic in nd-configurerepo to select default mirror (currently origin)
+# as the 'best'
+#
+#                      3)
+#                              db_metaget neurodebian/mirror value
+#                              selected_mirror="$RET"
+#                              # TODOs:
+#                              # - handle custom
+#                              # - separate out alias from url
+#                              debug "selected mirror: $selected_mirror"
+#                              if [ "$selected_mirror" = "best" ] && ! which netselect &>/dev/null; then
+#                                      if [ "$mirror_selection_ret" = "30 question skipped" ]; then
+#                                              # if the question was not even shown, we would
+#                                              # not get a chance to specify mirror, thus
+#                                              # better just fail altogether and demand intervention
+#                                              db_input high neurodebian/netselect-cannot-be-used
+#                                              exit 1
+#                                      else
+#                                              db_input high neurodebian/netselect-not-found
+#                                              continue;
+#                                      fi
+#                              fi
+               esac
+        STATE=$(($STATE + 1))
+    else
+        STATE=$(($STATE - 1))
+    fi
+done
+
+db_stop
+
diff --git a/debian/neurodebian.install b/debian/neurodebian.install
new file mode 100644 (file)
index 0000000..93aa380
--- /dev/null
@@ -0,0 +1 @@
+tools/nd-configurerepo usr/bin
diff --git a/debian/neurodebian.manpages b/debian/neurodebian.manpages
new file mode 100644 (file)
index 0000000..efcc365
--- /dev/null
@@ -0,0 +1 @@
+build/man/nd-configurerepo.1
diff --git a/debian/neurodebian.postinst b/debian/neurodebian.postinst
new file mode 100755 (executable)
index 0000000..0e3a3f5
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+
+case "$1" in
+    configure)
+               db_get neurodebian/enable
+               if [ "$RET" = "true" ]; then
+                       # obtain all the options and call nd-configurerepo
+                       opts="--do-not-update"
+                       db_get neurodebian/release; [ "$RET" = "auto" ] || opts+=" -r '$RET'"
+                       db_get neurodebian/mirror;      nd_mirror="${RET##* }" # get just a url if it came together with alias
+                       db_get neurodebian/flavor;      nd_flavor="$RET"
+                       db_get neurodebian/components; nd_components="${RET// /}"
+
+                       db_get neurodebian/overwrite;  [ "$RET" = "true" ] && opts+=" --overwrite" || :
+                       db_get neurodebian/suffix;         [ "$RET" = "" ]         || opts+=" --suffix='$RET'" || :
+
+                       eval nd-configurerepo -m "$nd_mirror" -c "$nd_components" $opts
+               else
+                       # removing neurodebian APT configs
+                       rm -f /etc/apt/sources.list.d/neurodebian.sources*.list
+               fi
+       ;;
+       abort-upgrade|abort-remove|abort-deconfigure)
+               # nothing to do
+       ;;
+
+       *)
+               echo "postinst called with unknown argument \`$1'" >&2
+               exit 1
+       ;;
+esac
+
+#DEBHELPER#
diff --git a/debian/neurodebian.postrm b/debian/neurodebian.postrm
new file mode 100755 (executable)
index 0000000..902c3f4
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+case "$1" in
+    purge)
+               rm -f /etc/apt/sources.list.d/neurodebian.sources*.list
+    ;;
+
+    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/neurodebian.templates b/debian/neurodebian.templates
new file mode 100644 (file)
index 0000000..f46a40b
--- /dev/null
@@ -0,0 +1,118 @@
+Template: neurodebian/title
+Type: title
+_Description: NeuroDebian APT repository installer
+
+Template: neurodebian/enable
+Type: boolean
+Default: false
+_Description: Should NeuroDebian repository be enabled?
+ NeuroDebian project provides a separate APT repository with backport
+ builds of most recent releases of maintained software, datasets and
+ some software not in Debian proper yet.  Enabling this additional
+ repository will make those packages available on your base system.
+ .
+ Note: although NeuroDebian team aims to assure robust and correct
+ operation of provided packages, enabling this additional archive
+ might compromise the integrity of your base system.
+
+Template: neurodebian/release
+Type: select
+Choices: auto, ${releases}
+Default: auto
+_Description: Release name of the base system:
+ Specify for which Debian or Ubuntu release (e.g. wheezy or trusty).
+ .
+ If 'auto', Debian or Ubuntu release name will be '${release}' as
+ deduced from the output of apt-cache policy.  If the release of your
+ system is not '${release}' -- please choose specific one which
+ matches best.
+
+
+Template: neurodebian/mirror
+Type: select
+Choices: origin, best, custom, ${mirrors}
+Default: best
+_Description: NeuroDebian mirror to use:
+ NeuroDebian project has a number of community-maintainer mirrors
+ around the globe.
+ .
+ If you do not know which mirror URL to choose, select among
+ .
+  - origin: original NeuroDebian repository
+  - best: will try to use netselect to select "closest" mirror.
+    Depending on the configuration of the firewall, and actual mirror
+    setup, might fail to select actually closest one.  If netselect
+    is not available, default mirror (possibly 'origin') will be used.
+
+
+Template: neurodebian/flavor
+Type: select
+Choices: auto, libre, full
+Default: auto
+_Description: NeuroDebian flavor to use:
+ NeuroDebian project adheres to Debian Free Software Guidelines and
+ has three areas of the archive in all suites/releases:
+ .
+  libre
+    only the DFSG-compliant materials
+  full
+    all three areas (main, contrib, non-free)
+  auto
+    according to output of apt-cache policy '${flavor}' will be used.
+    If that is not the flavor you need, select manually another one.
+
+Template: neurodebian/components
+Type: multiselect
+Choices: software, data, devel
+Default: software, data
+_Description: NeuroDebian repository components to enable:
+ NeuroDebian repository provides
+ .
+  software
+   Packages containing software packages, often backports of stable
+   software releases for previous Debian/Ubuntu releases
+  devel
+   Additional "bleeding edge" software packages, which might not be a
+   good fit for being enabled by default. (Similar to Debian
+   experimental)
+  data
+   Packages containing data (e.g. atlases, sample datasets), often
+   required by software packages.  Should generally be enabled.
+
+
+Template: neurodebian/overwrite
+Type: boolean
+Default: true
+_Description: Should existing NeuroDebian APT file be overridden?
+ If not allowed, configuration would fail if there is
+ an existing apt configuration file for the NeuroDebian.
+
+Template: neurodebian/suffix
+Type: string
+Default:
+_Description: Additional suffix for the NeuroDebian APT file name:
+ For instance if you would like to enable additional repository
+ (e.g. NeuroDebian devel) or release, without interfering with the
+ main/default configuration file.  Generally should be left empty.
+
+Template: neurodebian/run-update-note
+Type: note
+_Description: APT list of packages needs to be updated
+ For the installed (or removed) NeuroDebian APT configuration to take
+ an effect, list of packages needs to be updated.  This needs to be
+ done "manually" (e.g., via apt-get update) upon completion of
+ installation or reconfiguration of the neurodebian package.
+
+Template: neurodebian/netselect-not-found
+Type: error
+_Description: netselect tool was not found!
+ Please install netselect tool first (apt-get install netselect) or
+ choose a specific mirror.
+
+Template: neurodebian/netselect-cannot-be-used
+Type: error
+_Description: netselect tool was not found (no other mirror)!
+ Please install netselect tool first (apt-get install netselect)
+ before installing/configuring this package, or run with a lower
+ DEBIAN_PRIORITY to choose a specific mirror.
+
diff --git a/debian/patches/series-wheezy-dsc b/debian/patches/series-wheezy-dsc
new file mode 100644 (file)
index 0000000..9eda788
--- /dev/null
@@ -0,0 +1 @@
+wheezy-dsc-patch
diff --git a/debian/patches/wheezy-dsc-patch b/debian/patches/wheezy-dsc-patch
new file mode 100644 (file)
index 0000000..d3be9cf
--- /dev/null
@@ -0,0 +1,35 @@
+Author: Yaroslav Halchenko <debian@onerussian.com>
+Description: guest-additions package to be built only for NeuroDebian repository
+  Its primarily purpose is customization of the NeuroDebian Virtualbox appliance.
+  As such it should not be generally useful and thus will be made available only
+  for specific builds of the package for the NeuroDebian repository.
+
+Origin: NeuroDebian
+Last-Update: 2014-08-14
+
+diff --git a/debian/control b/debian/control
+index f6629ed..82ac7bc 100644
+--- a/debian/control
++++ b/debian/control
+@@ -76,3 +76,21 @@ Description: Helper for NeuroDebian popularity contest submissions
+  You can always enable or disable your participation in popcon by
+  running 'dpkg-reconfigure popularity-contest' as root.
++Package: neurodebian-guest-additions
++Architecture: all
++Depends: ${misc:Depends},
++               virtualbox-guest-utils,
++               virtualbox-guest-x11,
++               virtualbox-guest-dkms,
++         sudo,
++         neurodebian-desktop,
++         lightdm | x-display-manager,
++               zenity,
++Recommends: chromium,
++            update-notifier,
++Description: NeuroDebian guest additions (DO NOT INSTALL OUTSIDE VIRTUALBOX)
++ This package configures a Debian installation as a guest operating system
++ in a VirtualBox-based virtual machine for NeuroDebian.
++ .
++ DO NOT install this package unless you know what you are doing! For example,
++ installation of this package relaxes several security mechanisms.
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644 (file)
index 0000000..8626e85
--- /dev/null
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] neurodebian.templates
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
new file mode 100644 (file)
index 0000000..0ef0771
--- /dev/null
@@ -0,0 +1,230 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: neurodebian\n"
+"Report-Msgid-Bugs-To: neurodebian@packages.debian.org\n"
+"POT-Creation-Date: 2014-08-14 12:27-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: title
+#. Description
+#: ../neurodebian.templates:1001
+msgid "NeuroDebian APT repository installer"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../neurodebian.templates:2001
+msgid "Should NeuroDebian repository be enabled?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../neurodebian.templates:2001
+msgid ""
+"NeuroDebian project provides a separate APT repository with backport builds "
+"of most recent releases of maintained software, datasets and some software "
+"not in Debian proper yet.  Enabling this additional repository will make "
+"those packages available on your base system."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../neurodebian.templates:2001
+msgid ""
+"Note: although NeuroDebian team aims to assure robust and correct operation "
+"of provided packages, enabling this additional archive might compromise the "
+"integrity of your base system."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:3001
+msgid "Release name of the base system:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:3001
+msgid "Specify for which Debian or Ubuntu release (e.g. wheezy or trusty)."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:3001
+msgid ""
+"If 'auto', Debian or Ubuntu release name will be '${release}' as deduced "
+"from the output of apt-cache policy.  If the release of your system is not "
+"'${release}' -- please choose specific one which matches best."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:4001
+msgid "NeuroDebian mirror to use:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:4001
+msgid ""
+"NeuroDebian project has a number of community-maintainer mirrors around the "
+"globe."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:4001
+msgid "If you do not know which mirror URL to choose, select among"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:4001
+msgid ""
+" - origin: original NeuroDebian repository\n"
+" - best: will try to use netselect to select \"closest\" mirror.\n"
+"   Depending on the configuration of the firewall, and actual mirror\n"
+"   setup, might fail to select actually closest one.  If netselect\n"
+"   is not available, default mirror (possibly 'origin') will be used."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:5001
+msgid "NeuroDebian flavor to use:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:5001
+msgid ""
+"NeuroDebian project adheres to Debian Free Software Guidelines and has three "
+"areas of the archive in all suites/releases:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../neurodebian.templates:5001
+msgid ""
+" libre\n"
+"   only the DFSG-compliant materials\n"
+" full\n"
+"   all three areas (main, contrib, non-free)\n"
+" auto\n"
+"   according to output of apt-cache policy '${flavor}' will be used.\n"
+"   If that is not the flavor you need, select manually another one."
+msgstr ""
+
+#. Type: multiselect
+#. Description
+#: ../neurodebian.templates:6001
+msgid "NeuroDebian repository components to enable:"
+msgstr ""
+
+#. Type: multiselect
+#. Description
+#: ../neurodebian.templates:6001
+msgid "NeuroDebian repository provides"
+msgstr ""
+
+#. Type: multiselect
+#. Description
+#: ../neurodebian.templates:6001
+msgid ""
+" software\n"
+"  Packages containing software packages, often backports of stable\n"
+"  software releases for previous Debian/Ubuntu releases\n"
+" devel\n"
+"  Additional \"bleeding edge\" software packages, which might not be a\n"
+"  good fit for being enabled by default. (Similar to Debian\n"
+"  experimental)\n"
+" data\n"
+"  Packages containing data (e.g. atlases, sample datasets), often\n"
+"  required by software packages.  Should generally be enabled."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../neurodebian.templates:7001
+msgid "Should existing NeuroDebian APT file be overridden?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../neurodebian.templates:7001
+msgid ""
+"If not allowed, configuration would fail if there is an existing apt "
+"configuration file for the NeuroDebian."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../neurodebian.templates:8001
+msgid "Additional suffix for the NeuroDebian APT file name:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../neurodebian.templates:8001
+msgid ""
+"For instance if you would like to enable additional repository (e.g. "
+"NeuroDebian devel) or release, without interfering with the main/default "
+"configuration file.  Generally should be left empty."
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../neurodebian.templates:9001
+msgid "APT list of packages needs to be updated"
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../neurodebian.templates:9001
+msgid ""
+"For the installed (or removed) NeuroDebian APT configuration to take an "
+"effect, list of packages needs to be updated.  This needs to be done "
+"\"manually\" (e.g., via apt-get update) upon completion of installation or "
+"reconfiguration of the neurodebian package."
+msgstr ""
+
+#. Type: error
+#. Description
+#: ../neurodebian.templates:10001
+msgid "netselect tool was not found!"
+msgstr ""
+
+#. Type: error
+#. Description
+#: ../neurodebian.templates:10001
+msgid ""
+"Please install netselect tool first (apt-get install netselect) or choose a "
+"specific mirror."
+msgstr ""
+
+#. Type: error
+#. Description
+#: ../neurodebian.templates:11001
+msgid "netselect tool was not found (no other mirror)!"
+msgstr ""
+
+#. Type: error
+#. Description
+#: ../neurodebian.templates:11001
+msgid ""
+"Please install netselect tool first (apt-get install netselect) before "
+"installing/configuring this package, or run with a lower DEBIAN_PRIORITY to "
+"choose a specific mirror."
+msgstr ""
index c24da78693a6351c23c08f9b06a38b239d518d2a..3a3d80af9081ad8ed47aadddcedaa4f0a096b572 100755 (executable)
@@ -27,11 +27,14 @@ override_dh_auto_build::
                -n "backport Debian source packages" > build/man/backport-dsc.1
        help2man --no-info tools/nd-autoinstall \
                -n "install (if necessary) and run an application" > build/man/nd-autoinstall.1
+       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_test::
 
 override_dh_clean:
+       debconf-updatepo
        dh_clean
        $(MAKE) -C artwork clean
diff --git a/etc/xdg/autostart/vboxhost-mount.desktop b/etc/xdg/autostart/vboxhost-mount.desktop
deleted file mode 100644 (file)
index b508c46..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Name=VirtualBox shared folder
-Comment=Mount the shared folder of the VirtualBox host
-Exec=sh -c 'sudo mount.vboxsf -o uid=$(id -u),gid=$(id -g) host /mnt/host'
-Terminal=false
-Type=Application
index ebafd66b1dbb6a4b6befd2298517fbccc6dc6212..a15c60e5a69faf39a72deb2184cb3c3bdd5da038 100755 (executable)
@@ -34,7 +34,7 @@ lb config noauto \
   --iso-preparer "NeuroDebian ${nd_version}; http://neuro.debian.net" \
   --iso-publisher "NeuroDebian project; http://neuro.debian.net" \
   --iso-volume "NeuroDebian Live ${nd_version} $nd_arch" \
-  --keyring-packages "debian-archive-keyring neurodebian-keyring" \
+  --keyring-packages "debian-archive-keyring neurodebian-archive-keyring" \
   --memtest memtest86+ \
   --mirror-bootstrap "${deb_mirror}/debian/" \
   --mirror-chroot "${deb_mirror}/debian/" \
index ed20a75cef3634bf297d0d94c669455aadb812df..ff6198045efc2e10989c6f765197ceec63e2230a 100644 (file)
@@ -1,5 +1,10 @@
 [mirrors]
 au = http://mirror.aarnet.edu.au/pub/neurodebian
+cn-bj1 = http://mirrors.tuna.tsinghua.edu.cn/neurodebian
+cn-bj2 = http://debian.ustc.edu.cn/neurodebian
+# cn-ln = http://mirrors.neusoft.edu.cn/neurodebian
+cn-lz = http://mirror.lzu.edu.cn/neurodebian
+cn-zj = http://mirrors.zju.edu.cn/neurodebian
 de-m = http://neurodebian.g-node.org
 de-md = http://neurodebian.ovgu.de/debian
 de-v = http://nd.zetatech.org
@@ -13,6 +18,11 @@ us-tn = http://masi.vuse.vanderbilt.edu/neurodebian
 
 [mirror names]
 au = Australia (AARNET)
+cn-bj1 = China (Tsinghua University)
+cn-bj2 = China (University of Science and Technology)
+# cn-ln = China (Neusoft University of Information)
+cn-lz = China (Lanzhou University)
+cn-zj = China (Zhejiang University)
 de-m = Germany (G-Node, LMU Munich)
 de-md = Germany (University of Magdeburg)
 de-v = Germany (Nikolaus Valentin Haenel, Vogtland)
@@ -55,11 +65,17 @@ lucid = http://neuro.debian.net/debian/dists/lucid/Release
 # EOL: April 2017 (LTS)
 precise = http://neuro.debian.net/debian/dists/precise/Release
 # EOL: Apr 2014
-quantal = http://neuro.debian.net/debian/dists/quantal/Release
+#EOL quantal = http://neuro.debian.net/debian/dists/quantal/Release
 # EOL: Jan 2014
 raring = http://neuro.debian.net/debian/dists/raring/Release
 # EOL: July 2014
-saucy = http://neuro.debian.net/debian/dists/saucy/Release
+#EOL saucy = http://neuro.debian.net/debian/dists/saucy/Release
+# EOL: Apr 2019
+trusty = http://neuro.debian.net/debian/dists/trusty/Release
+# EOL: Jul 2015
+utopic = http://neuro.debian.net/debian/dists/utopic/Release
+# EOL: Jul 2015
+#vivid = http://neuro.debian.net/debian/dists/vivid/Release
 # EOL: May 2014
 squeeze = http://neuro.debian.net/debian/dists/squeeze/Release
 wheezy = http://neuro.debian.net/debian/dists/wheezy/Release
@@ -71,13 +87,13 @@ debian = http://amd64-geomirror.debian.net/debian
 ubuntu = http://de.archive.ubuntu.com/ubuntu
 
 [task files]
-datasets = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/datasets
-distributedcomputing = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/distributedcomputing
-education = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/education
-electrophysiology = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/electrophysiology
-mri = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/mri
-neuralmodeling = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/neuralmodeling
-psychophysics = http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian-blend.git;a=blob_plain;f=tasks/psychophysics
+datasets = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/datasets
+distributedcomputing = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/distributedcomputing
+education = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/education
+electrophysiology = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/electrophysiology
+mri = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/mri
+neuralmodeling = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/neuralmodeling
+psychophysics = http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian-blend.git/plain/tasks/psychophysics
 
 [release names]
 # Map code names to release names and description
@@ -99,6 +115,9 @@ precise = Ubuntu 12.04 LTS "Precise Pangolin" (precise)
 quantal = Ubuntu 12.10 "Quantal Quetzal" (quantal)
 raring = Ubuntu 13.04 "Raring Ringtail" (raring)
 saucy = Ubuntu 13.10 "Saucy Salamander" (saucy)
+trusty = Ubuntu 14.04 "Trusty Tahr" (trusty)
+utopic = Ubuntu 14.10 "Utopic Unicorn" (utopic)
+#vivid = Ubuntu 15.04 "Vivid Vervet" (vivid)
 
 [metadata]
 # base url: <url>/<src_pkg-name>/<file>
@@ -119,7 +138,7 @@ source extracts filenames = upstream README.Debian copyright
 # is a tuple of a build family ID and a release name joined by a dash, e.g.
 # debian-sid
 environments = nd+debian-sid nd+debian-jessie nd+debian-wheezy nd+debian-squeeze
-  nd+ubuntu-raring nd+ubuntu-quantal nd+ubuntu-precise nd+ubuntu-lucid
+               nd+ubuntu-lucid nd+ubuntu-precise nd+ubuntu-raring nd+ubuntu-saucy nd+ubuntu-trusty nd+ubuntu-utopic
 # what command to use for package building: pbuilder or cowbuilder
 builder = pbuilder
 
@@ -208,3 +227,6 @@ precise = nd12.04
 quantal = nd12.10
 raring = nd13.04
 saucy = nd13.10
+trusty = nd14.04
+utopic = nd14.10
+#vivid = nd15.04
diff --git a/popcon/neurodebian-popcon.gpg b/popcon/neurodebian-popcon.gpg
new file mode 100644 (file)
index 0000000..d5e8c9b
Binary files /dev/null and b/popcon/neurodebian-popcon.gpg differ
diff --git a/popcon/neurodebian.conf b/popcon/neurodebian.conf
new file mode 100644 (file)
index 0000000..5d0ecee
--- /dev/null
@@ -0,0 +1,3 @@
+KEYRING="$KEYRING --keyring /usr/share/popularity-contest/neurodebian-popcon.gpg"
+POPCONKEY="$POPCONKEY -r 0x544665CB8B48DE1D"
+SUBMITURLS="$SUBMITURLS http://neuro.debian.net/cgi-bin/popcon-submit.cgi"
index 989b92c9f342bde3574512e3996c3ddc658854ca..4c9d39daae74804bb1d3805f05b8f567eb1883c0 100644 (file)
@@ -57,7 +57,7 @@
 The source code for this portal is licensed under the
 <a href="http://www.gnu.org/licenses/gpl-3.0.html"
    title="Text of the GPL-3 license">GPL-3</a> and is available on
-<a href="http://anonscm.debian.org/gitweb/?p=pkg-exppsy/neurodebian.git"
+<a href="http://anonscm.debian.org/cgit/pkg-exppsy/neurodebian.git"
    title="Browse or clone the Git repository">
 git.debian.org</a>.
 </div>
index 19a1456546a587fe7fbb2f7d63c3e23d709e25a2..aefd155932202c732107e9097312204cd73c5542 100644 (file)
@@ -64,7 +64,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'Debian Neuroscience Package Repository'
-copyright = u'2009-2013, NeuroDebian Team <team@neuro.debian.net>'
+copyright = u'2009-2014, NeuroDebian Team <team@neuro.debian.net>'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
index e4b80c3b9b569170dfe528a49a498b005cddb010..67a44129f9651af331b93e6faa91c5abf5731d0a 100644 (file)
@@ -107,12 +107,12 @@ Frequently Asked Questions
 
     This is because your APT installation initially does not know the GPG
     key that is used to sign the release files of this repository. It is easy to
-    make APT happy again. The simplest way is to install the ``neurodebian-keyring``
+    make APT happy again. The simplest way is to install the ``neurodebian-archive-keyring``
     package that is available from the NeuroDebian repository. Alternatively:
 
     1. Get the key. Either download the `repository key from here
        <_static/neuro.debian.net.asc>`_
-       or fetch it from http://wwwkeys.pgp.net (2649A5A9).
+       or fetch it from http://wwwkeys.pgp.net (0xA5D32F012649A5A9).
 
     2. Now feed the key into APT by invoking::
 
index 48ede63286c55ba371435dbc14b2fba53b7b99ea..5695298128cbd9e989272bff3310feb8a5bbc9c2 100644 (file)
@@ -114,7 +114,7 @@ You are ready to go -- enjoy NeuroDebian!
 
   <script type="text/javascript">
   function createvmdownload(rel, mir) {
-        var img_version = '7.2.0';
+        var img_version = '7.8.0';
         var img_suffix;
         var base_url;
         var img_url;
@@ -143,7 +143,7 @@ You are ready to go -- enjoy NeuroDebian!
     if(mir in mirrors) {
         var retrepo = "wget -O- http://neuro.debian.net/lists/" + rel + "."
          + mir + "." + comp + " | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list\n"
-         + "sudo apt-key adv --recv-keys --keyserver pgp.mit.edu 2649A5A9\n";
+         + "sudo apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9\n";
         return retrepo;
     }
 
index 84fdabbc7ab0028dd1521d09ca7925a17fabf394..1701ddb68eb705741c3bd2f7bb906e06c5b38e9d 100644 (file)
@@ -196,12 +196,21 @@ Troubleshooting
     NeuroDebian VM, please rebuild the version available from the
     backports::
 
-      sudo apt-get install -y linux-headers-2.6-amd64 # or -686 for 32bit
+      sudo apt-get install -y linux-headers-2.6-`dpkg --print-architecture`
       sudo apt-get install -y -t squeeze-backports virtualbox-ose-guest-dkms \
            virtualbox-ose-guest-utils  virtualbox-ose-guest-x11
 
     and reboot VM.
 
+  My VM lost mounted host directories, and display auto-resizing  after upgrade
+    NeuroDebian VMs ship without Linux kernel headers pre-installed to
+    minimize distribution/running footprint for one time throw-away
+    usages of the VM.  To install headers package(s) just run
+
+      sudo apt-get install -y linux-headers-`dpkg --print-architecture`
+
+    and reboot VM.
+
   I am still running an older VirtualBox 3.x
     Download one of the image files listed below. These older releases
     are distributed as a `zip` file. Please extract all files from the
@@ -223,6 +232,18 @@ What has changed
 
      Click on an item to expand it
 
+  7.8.0 -- 2 Feb 2015
+    * VM appliance based on the updated wheezy point release 7.8.0.
+      Should resolve problems with upgrades of the guest additions.
+
+  7.4.20140423 -- 24 Apr 2014
+    * VM appliance based on the updated wheezy point release 7.4.
+      Should resolve problems with upgrades of the guest additions.
+      See http://neuro.debian.net/faq.html#comment-1351846812
+
+  7.4.0 -- 28 Feb 2014
+    * VM appliance based on the official wheezy point release 7.4.
+
   7.2.0 -- 03 Nov 2013
     * VM appliance based on the official wheezy point release 7.2.
     * Ships with updated neurodebian-* packages:
diff --git a/tools/nd-configurerepo b/tools/nd-configurerepo
new file mode 100755 (executable)
index 0000000..e3a7d47
--- /dev/null
@@ -0,0 +1,583 @@
+#!/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 et:
+
+# Depends:    apt (assumed to be present), python, wget
+# Recommends: netselect
+
+# play safe
+set -e
+set -u
+
+############
+# Defaults #
+############
+
+nd_aptenable_version=0.1
+
+nd_key_id=0xA5D32F012649A5A9
+nd_config_url=https://raw.githubusercontent.com/neurodebian/neurodebian/master/neurodebian.cfg
+nd_config_file=/etc/neurodebian/neurodebian.cfg
+nd_mirror_origin=http://neuro.debian.net/debian
+nd_mirror_default=$nd_mirror_origin # or may be AWS?
+
+# To be set by cmdline args or via env variables with prefix NEURODEBIAN_
+ae_release=${NEURODEBIAN_RELEASE:-}
+ae_components=${NEURODEBIAN_COMPONENTS:-software,data}
+ae_flavor=${NEURODEBIAN_FLAVOR:-}
+ae_mirror=${NEURODEBIAN_MIRROR:-best}
+ae_suffix=${NEURODEBIAN_SUFFIX:-}
+ae_verbose=${NEURODEBIAN_VERBOSE:-1}
+ae_overwrite=${NEURODEBIAN_OVERWRITE:-}
+ae_sources=${NEURODEBIAN_SOURCES:-}
+ae_install=${NEURODEBIAN_INSTALL:-}
+ae_update=${NEURODEBIAN_UPDATE:-1}
+ae_dry_run=${NEURODEBIAN_DRY_RUN:-}
+ae_defun_only=${NEURODEBIAN_DEFUN_ONLY:-} # mode to source this file as a "library"
+
+ae_sudo=
+exe_dir=$(dirname $0)
+do_print_release=
+do_print_flavor=
+
+# TODOs:
+# - apt priority! (so we could avoid automagic upgrades etc)
+# - multiarch setups
+
+if [ -z "${NEURODEBIAN_TEMPDIR:-}" ]; then
+    ae_tempdir=$(mktemp -d)
+    trap "rm -rf \"$ae_tempdir\"" TERM INT EXIT
+else
+    # reuse the same directory/fetched configuration if was specified
+    ae_tempdir="${NEURODEBIAN_TEMPDIR:-}"
+fi
+
+
+nd_config_file_fresh="$ae_tempdir/neurodebian.cfg"
+
+print_verbose()
+{
+    level=$1; shift
+       if [ "$ae_verbose" -ge $level ]; then
+        # use stderr for printing within functions stdout of which might be used
+        echo -n "I: " >&2
+        i=1; while [ $i -lt $level ]; do echo -ne " ">&2; i=$(($i+1)); done
+        echo -e "$*" >&2
+    fi
+}
+
+error()
+{
+    code=$1; shift
+       echo -e "E: $*" >&2
+    exit $code
+}
+
+print_version()
+{
+    cat << EOT
+nd-configurerepo $nd_aptenable_version
+
+Copyright (C) 2014 Yaroslav Halchenko <debian@onerussian.com>
+
+Licensed under GNU Public License version 3 or later.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+Written by Yaroslav Halchenko for the NeuroDebian project.
+
+EOT
+}
+
+eval_dry()
+{
+    if [ -z "$ae_dry_run" ]; then
+        if eval "$ae_sudo $@" 1>|"$ae_tempdir/eval.log" 2>&1; then
+            rm "$ae_tempdir/eval.log"
+        else
+            error $? "Command $@ failed with exit code $?.  Output was: `cat $ae_tempdir/eval.log`"
+        fi
+    else
+        echo "DRY: $@" >&2
+    fi
+}
+
+print_help()
+{
+    cat << EOT
+
+Usage:  nd-configurerepo [options]
+
+Enables NeuroDebian repository for the current Debian or Ubuntu release.
+
+Options:
+
+  -r, --release=RELEASE
+    Name of the Debian/Ubuntu release to be used. If not specified,
+    it is deduced from the 'apt-cache policy' output, by taking repository
+    of Debian or Ubuntu origin with highest priority.
+
+  --print-releases
+    Print a list of releases present in NeuroDebian repository.
+
+  --print-release
+    Print the release deduced from the output of apt-cache policy.
+
+  -f, --flavor=full|libre
+    Which flavor of the repository should be enabled:
+
+      libre  Only 'main' component, containing only DFSG-compliant content.
+      full   Includes 'main', 'contrib', and 'non-free'.
+
+    If not specified -- deduced from the output of apt-cache policy.
+
+  --print-flavor
+    Print the flavor deduced from the output of apt-cache policy.
+
+  -c, --components=c1,c2,c3
+    Comma separated list of components to enable among:
+
+     software  primary software repository
+     data      data packages
+     devel     "overlay" of development versions (like Debians' "experimental").
+               Not sufficient on its own and available only from the main site
+
+    If not specified -- "software,data"
+
+  -m, --mirror=NAME|URL
+    Which mirror to use. Could be a mirror code-name (as specified in
+    /etc/neurodebian/neurodebian.cfg), or a URL.
+
+  --print-mirrors
+    Return a list (with abbreviation) of known NeuroDebian mirrors.
+
+  --overwrite,
+    If apt file already present, it would not be overridden (by default).
+    Use this option to overwrite.
+
+  --suffix=SUFFIX
+    Which suffix to add to the apt file, in case you are trying to enable
+    multiple repositories
+
+  --sources, --no-sources
+    Either to enable deb-src lines. If none specified -- would be enabled if
+    sources for a core package (apt) are available.
+
+  -n, --dry-run
+    Do not perform any changes -- generated configurations and commands will
+    simply be printed to stdout
+
+  --install
+    If found absent, all necessary tools (wget, netselect) if available will
+    be apt-get installed
+
+  -v, --verbose
+    Enable additional progress messages. Could be used multiple times
+
+  -q, --quiet
+    Make operation quiet -- only error messages would be output
+
+  -h, --help
+    Print short description, usage summary and option list.
+
+  --version
+    Print version information and exit.
+
+Exit status:
+
+  non-0 exit status in case of error.
+  Error exit code would depend on which command has failed.
+
+Examples:
+  nd-configurerepo
+    Enable software and data components from the optimal (according to
+    netselect) mirror.  Some information about progress will be printed
+
+  nd-configurerepo -q --suffix=-devel -c devel
+    Quietly enable -devel repository for the current release, and place apt
+    configuration into /etc/apt/sources.list.d/neurodebian.sources-devel.list
+
+  nd-configurerepo -q --suffix=-de-sid-full -c software,data,devel -m jp
+    Force sid distribution, all the components, from the Japan mirror
+EOT
+}
+
+get_neurodebian_cfg()
+{
+    if [ -s "$nd_config_file_fresh" ]; then
+        print_verbose 3 "Config file $nd_config_file_fresh exists -- not fetching"
+        echo "$nd_config_file_fresh"
+        return 0
+    fi
+    # First we try to fetch the most recent version from the github
+    print_verbose 3 "Fetching config file from the github repository"
+    assure_command_from_package wget wget 1
+    wget --no-check-certificate -c -q -O$nd_config_file_fresh \
+        $nd_config_url \
+        && { echo "$nd_config_file_fresh"; } \
+        || { [ -e "$nd_config_file" ] \
+             && echo "$nd_config_file" \
+             || error 10 "Neither could fetch $nd_config_url, nor found $nd_config_file"; }
+}
+
+query_cfg_section()
+{
+    config_file="$1"
+    section="$2"
+    print_verbose 3 "Querying config $config_file section $section"
+    assure_command_from_package python python-minimal 1
+    python -c "from ConfigParser import SafeConfigParser as SP; cfg = SP(); cfg.read('$config_file'); print('\n'.join([' '.join(x) for x in cfg.items('$section')]))"
+}
+
+get_mirrors()
+{
+    nd_config=`get_neurodebian_cfg`
+#    $exe_dir/nd_querycfg -F" " --config-file="$nd_config" "mirrors" \
+    n=""
+    query_cfg_section "$nd_config" "mirrors" \
+    | while read mirror_name mirror_url; do
+        # verify that url is just a url
+        if echo "$mirror_url" | grep -v -e '^[a-z0-9:+]*://[-+_%.a-z0-9/]*$'; then
+            print_verbose 1 "Mirror $mirror_name has 'illegit' URL: $mirror_url.  Skipping"
+        fi
+        [ -z "$n" ] || echo -ne "${ND_IFS:-\n}"; n+=1
+        echo -n "$mirror_name $mirror_url"
+    done
+}
+
+get_releases()
+{
+    nd_config=`get_neurodebian_cfg`
+    n=""
+    query_cfg_section "$nd_config" "release files" \
+    | while read release_name release_url; do
+        # verify that url is just a url
+        if [ "$release_name" = "data" ]; then
+            # skip data
+            continue
+        fi
+        [ -z "$n" ] || echo -ne "${ND_IFS:-\n}"; n+=1
+        echo -n "$release_name"
+    done
+}
+
+get_package_version()
+{
+    pkg_version=$(apt-cache policy "$1" | awk '/^ *Installed:/{print $2;}')
+    [ "$pkg_version" != '(none)' ] || pkg_version=''
+    echo "$pkg_version"
+}
+
+netselect_mirror() {
+    # select "closest" mirror according to netselect.
+    print_verbose 2 "Selecting the 'best' mirror using netselect"
+    assure_command_from_package netselect
+    if ! which netselect >&/dev/null; then
+        print_verbose 1 "netselect (apt-get install netselect) needed to select the 'best' mirror was not found"
+        print_verbose 1 "Selecting the default repository: $nd_mirror_default"
+        echo $nd_mirror_default
+    else
+        # squeeze version doesn't have -D yet to force output of the URL not IP, but for our mirrors ATM it shouldn't matter
+        netselect_opts="-s 1"
+        netselect_version="$(get_package_version netselect)"
+        if dpkg --compare-versions "$netselect_version" ge 0.3.ds1-17; then
+            netselect_opts+=" -D"
+        fi
+        if dpkg --compare-versions "$netselect_version" ge 0.3.ds1-15; then
+            netselect_opts+=" -I"
+        fi
+        best_mirror=$(get_mirrors | awk '{print $2;}' | eval $ae_sudo xargs netselect $netselect_opts | awk '{print $2;}')
+        if [ -z "$best_mirror" ]; then
+            print_verbose 1 "Failed to select mirror using netselect. Selecting default one ($nd_mirror_default)"
+            echo "$nd_mirror_default"
+        else
+            print_verbose 2 "Best mirror: $best_mirror"
+            echo $best_mirror
+        fi
+    fi
+}
+
+get_mirror_url()
+{
+    # given mirror alias -- find its url
+    url=$(get_mirrors | awk "/^$1 /{print \$2;}")
+    if [ -z "$url" ]; then
+        error 9 "Cannot resolve mirror $1 to the URL"
+    fi
+    echo $url
+}
+
+get_apt_policy()
+{
+    # Get apt-cache policy output in a single list for matching suites
+    # (could be a separated with \| or , for multiple choices, e.g.
+    #
+    # get_apt_policy Debian,Ubuntu
+    # or
+    # get_apt_policy NeuroDebian
+    suites="$1"
+    $ae_sudo apt-cache policy | grep -B1 -e "o=\(${suites//,/\\|}\)" | tr '\n' ' ' | sed -e 's, -- ,\n,g' | grep -v -e '-\(updates\|security\)' | sort -nr
+}
+
+is_component_included()
+{
+    echo "$ae_components" | tr ',' '\n' | grep -q "^$1\$"
+}
+
+is_sources_enabled()
+{
+    apt-cache showsrc apt >&/dev/null && echo 1 || echo 0
+}
+
+assure_command_from_package()
+{
+    cmd=$1
+    pkg=${2:-$cmd}
+    fail=${3:-}
+
+    which "$cmd" >&/dev/null && return 0
+
+    # if absent -- check availability of the package
+    apt_cache=$(LANG=C apt-cache policy "$pkg" 2>&1)
+    if [[ "$apt_cache" =~ Unable\ to\ locate\ package ]] || [[ "$apt_cache" =~ Candidate:\ (none) ]] \
+       || [[ "$apt_cache" =~ is\ not\ available ]] ; then
+        print_verbose 1 "Package $pkg providing command $cmd is N/A. Skipping"
+        return 10;
+    fi
+    if echo "$apt_cache" | grep -q '^\s*\*\*\*'; then
+        print_verbose 1 "WARNING -- command $cmd is N/A but package $pkg is claimed to be installed"
+        [ -z "$fail" ] && return 11 || error $fail "Command $cmd is required to proceed"
+    fi
+    if [ "$ae_install" = "1" ]; then
+        print_verbose 1 "Installing $pkg package to get $cmd command"
+        eval_dry DEBIAN_FRONTEND=noninteractive apt-get install -y "$pkg"
+        return
+    else
+        print_verbose 1 "Command $cmd (from package $pkg) is N/A."
+        print_verbose 1 "Use with --install to get all necessary packages installed automatically"
+        [ -z "$fail" ] && return 12 || error $fail "Command $cmd is required to proceed"
+    fi
+}
+
+# if it was requested -- return without doing anything
+[ -z "$ae_defun_only" ] || return
+
+#
+# Commandline options handling
+#
+
+# Parse commandline options (taken from the getopt examples from the Debian util-linux package)
+# Note that we use `"$@"' to let each command-line parameter expand to a
+# separate word. The quotes around `$@' are essential!
+# We need CLOPTS as the `eval set --' would nuke the return value of getopt.
+CLOPTS=`getopt -o h,r:,m:,f:,c:,q,v,n --long help,version,quiet,verbose,mirror:,release:,flavor:,components:,suffix:,overwrite,sources,no-sources,install,dry-run,do-not-update,print-releases,print-release,print-mirrors,print-best-mirror,print-flavor -n 'nd-configurerepo' -- "$@"`
+
+if [ $? != 0 ] ; then
+  error 2 "Problem with parsing cmdline.  Terminating..."
+fi
+
+# Note the quotes around `$CLOPTS': they are essential!
+eval set -- "$CLOPTS"
+
+if [ `whoami` != "root" ]; then
+    ae_sudo=sudo
+fi
+
+while true ; do
+  case "$1" in
+         -r|--release) shift; ae_release="$1"; shift;;
+         -f|--flavor) shift;  ae_flavor="$1"; shift;;
+         -c|--components) shift; ae_components="$1"; shift;;
+      -m|--mirror) shift;  ae_mirror="$1"; shift;;
+         --print-mirrors)  get_mirrors; exit 0;;
+         --print-best-mirror)  netselect_mirror; exit 0;;
+         --print-releases)  get_releases; exit 0;;
+         --print-release)  do_print_release=1; shift;;
+         --print-flavor)  do_print_flavor=1; shift;;
+      -n|--dry-run)        ae_dry_run=1; shift;;
+         --suffix) shift;  ae_suffix="$1"; shift;;
+         --overwrite)      ae_overwrite="$1"; shift;;
+         --do-not-update)  ae_update=""; shift;;
+         --sources)        ae_sources=1; shift;;
+         --no-sources)     ae_sources=0; shift;;
+         --install)        ae_install=1; shift;;
+         -q|--quiet)          ae_verbose=0; shift;;
+         -v|--verbose)        ae_verbose=$(($ae_verbose+1)); shift;;
+         -h|--help) print_help; exit 0;;
+         --version) print_version; exit 0;;
+         --) shift ; break ;;
+         *) error 1 "Internal error! ($1)";;
+  esac
+done
+
+
+if [ $# -gt 0 ] ; then
+    print_help >&2
+    exit 2
+fi
+
+# Inform!
+[ -z "$ae_sudo" ] || print_verbose 1 "This script requires root access.  Since current user is not root, sudo will be used"
+
+#
+# Basic system/environment knowledge
+#
+
+ae_output_file=/etc/apt/sources.list.d/neurodebian.sources${ae_suffix}.list
+
+apt_policy=$(get_apt_policy "Debian,Ubuntu" )
+
+if [ -z "$ae_release" ]; then
+    ae_release=$(echo "$apt_policy" | head -1 | sed -e 's/.*,n=\([^,]*\),.*/\1/g')
+    if [ ! -z "$do_print_release" ]; then
+        echo $ae_release
+        exit 0
+    fi
+fi
+
+if [ -z "$ae_flavor" ]; then
+    ae_flavor=$(echo "$apt_policy" | grep -e ",n=$ae_release," | grep -qe 'c=\(non-free\|multiverse\)' && echo "full" || echo "libre")
+    if [ ! -z "$do_print_flavor" ]; then
+        echo $ae_flavor
+        exit 0
+    fi
+fi
+
+#
+# Determine which mirror to use
+#
+
+# knowing mirror is not necessary for -devel available only from the main site
+if is_component_included software || is_component_included data; then
+    # for now just use default
+    if [ -z "$ae_mirror" ]; then # none specified
+        ae_mirror_url=$nd_mirror_origin
+    else
+        if ! [[ "$ae_mirror" =~ .*://.* ]]; then
+            case "$ae_mirror" in
+                best)    ae_mirror_url=$(netselect_mirror);;
+                default) ae_mirror_url=$nd_mirror_default;;
+                origin)  ae_mirror_url=$nd_mirror_origin;;
+                *)       ae_mirror_url=$(get_mirror_url "$ae_mirror");;
+            esac
+        else
+            ae_mirror_url="$ae_mirror" # it was some kind of a URL already
+        fi
+    fi
+fi
+
+#
+# Prepare APT file
+#
+
+case $ae_flavor in
+ full)  apt_flavor="contrib non-free";;
+ libre) apt_flavor="";;
+ *) error 5 "Unknown value of flavor $apt_flavor.  Must be full or libre"
+esac
+
+if [ -z "$ae_sources" ]; then
+    ae_sources=$(is_sources_enabled)
+fi
+
+if [ $ae_sources -eq 0 ]; then
+    sources_comment="#"
+else
+    sources_comment=""
+fi
+
+apt_list=
+
+if is_component_included software; then
+    apt_list+="
+# NeuroDebian software repository
+deb     $ae_mirror_url $ae_release main $apt_flavor
+${sources_comment}deb-src $ae_mirror_url $ae_release main $apt_flavor
+"
+fi
+
+if is_component_included data; then
+    apt_list+="
+# NeuroDebian data repository
+deb     $ae_mirror_url data main $apt_flavor
+${sources_comment}deb-src $ae_mirror_url data main $apt_flavor
+"
+fi
+
+if is_component_included devel; then
+    apt_list+="
+# NeuroDebian -devel repository
+deb     http://neuro.debian.net/debian-devel $ae_release main $apt_flavor
+${sources_comment}deb-src http://neuro.debian.net/debian-devel $ae_release main $apt_flavor
+"
+fi
+
+if [ -e "$ae_output_file" ] && [ -z "$ae_overwrite" ]; then
+    if diff "$ae_output_file" <(echo "$apt_list") | grep -q .; then
+        # error 3
+        print_verbose 1 "File $ae_output_file already exists, containing:\n`cat \"$ae_output_file\"`\n\nI: New configuration is different:\n$apt_list"
+        if get_apt_policy NeuroDebian >/dev/null; then
+            print_verbose 1 "NeuroDebian repositories are already available, thus skipping the rest."
+            print_verbose 1 "Rerun with --overwrite if you would like to reconfigure."
+            exit 0
+        else
+            print_verbose 1 "NeuroDebian configuration is found but not yet available -- continuing with new configuration."
+        fi
+    else
+        print_verbose 1 "New configuration is identical to existing and NeuroDebian repository is already enabled."
+        print_verbose 1 "Skiping the rest. Rerun with --overwrite if you would like to reconfigure."
+        exit 0
+    fi
+else
+    print_verbose 1 "Generating $ae_output_file"
+    if [ -z "$ae_dry_run" ]; then
+        echo "$apt_list" | $ae_sudo bash -c "cat - >| '$ae_output_file'"
+    else
+        echo "DRY:"
+        echo "$apt_list"
+    fi
+fi
+
+
+#
+# Assure present archive GPG key for APT system
+#
+
+# Figure out if key needs to be imported (if ran within package,
+# should already be there due to neurodebian-archive-keyring package)
+if LANG=C eval $ae_sudo apt-key export $nd_key_id 2>&1 1>/dev/null | grep -qe "nothing exported"; then
+    print_verbose 1 "Fetching the key from the server"
+    eval_dry apt-key adv --recv-keys --keyserver pgp.mit.edu $nd_key_id
+fi
+
+
+#
+# Finalizing (apt-get update etc)
+#
+
+if [ ! -z "$ae_update" ]; then
+    print_verbose 1 "Updating APT listings, might take a few minutes"
+    if [ -z "$ae_dry_run" ]; then
+        apt_logfile="$ae_tempdir/apt.log"
+        $ae_sudo apt-get update 1>"$apt_logfile" 2>&1 \
+            && rm -f "$apt_logfile" \
+            || {
+                 apt_log=$(cat "$apt_logfile")
+                 echo "$apt_log"
+                 if echo "$apt_log" | grep -q "Malformed line [0-9]* in source list $ae_output_file"; then
+                     $ae_sudo mv "${ae_output_file}" "${ae_output_file}-failed.disabled"
+                     error 6 "Update failed to possible errorneous APT listing file produced by this script.  Generated $ae_output_file renamed to ${ae_output_file}-failed.disabled to not interfer"
+                 fi
+                 error 5 "Update failed with exit code $? (above output logged into $apt_logfile)."
+                 }
+    else
+        eval_dry apt-get update
+    fi
+else
+    print_verbose 1 "apt-get update  was not run. Please run to take an effect of changes"
+fi
+
+if [ "$ae_verbose" -ge 2 ]; then
+    print_verbose 2 "Currently enabled NeuroDebian suites/mirrors:"
+    get_apt_policy NeuroDebian
+fi
index 7afc31367f809af740dd8e5542e2b9802e3ae933..43a58809fe4f174d36b5b5c4a40d9f74b64fa576 100755 (executable)
@@ -32,11 +32,21 @@ Do you want to proceed with updating the system?
 fi
 
 # initialize apt
-update-manager -c
-
-sudo update-software-center --debug 2>&1 | \
-       zenity $icon_opt --title="Updating Software Center Repository"  \
-               --progress  --pulsate --auto-close --auto-kill 
+#
+# update-manager (from update-manager-gnome) and
+# update-software-center (from software-center)
+# are present only in wheezy
+if which update-manager > /dev/null; then update-manager -c; fi
+
+if which update-software-center > /dev/null; then
+    sudo update-software-center --debug 2>&1 | \
+           zenity $icon_opt --title="Updating Software Center Repository"  \
+                  --progress  --pulsate --auto-close --auto-kill;
+else
+    sudo apt-get update 2>&1 | \
+           zenity $icon_opt --title="Running apt-get update" \
+                  --progress  --pulsate --auto-close --auto-kill;
+fi
 
 popconf=/etc/popularity-contest.conf
 if [ ! -e "$popconf" ] || grep -q -e '^PARTICIPATE.*no' "$popconf" ;
index 6c3136d43f7fe97230dd5143da07972228bcc4be..bf079b71376def4266166ac3e1597c9a750edd4c 100755 (executable)
@@ -53,7 +53,7 @@ for a in i386 amd64; do
                --components "$components" \
                --mirror "$mirror" \
                --debootstrapopts --arch=$a \
-               --othermirror "${updates_apt}deb http://neuro.debian.net/debian $dist main contrib non-free"
+               --othermirror "${updates_apt}deb http://neuro.debian.net/debian $dist main contrib non-free | deb http://neuro.debian.net/debian data main contrib non-free"
     # deploy our key manually since archive with package is not yet
     # available at this point
     mkdir -p ${cow}/etc/apt/trusted.gpg.d
index 4155089fde14d2ee63618f9f55be9364bb800f8b..a2a3f469ce897a689835b099f62b9cdd16b99697 100755 (executable)
@@ -29,6 +29,7 @@ releases = {
     'quantal': 'Ubuntu 12.10 "Quantal Quetzal" (quantal)',
     'raring': 'Ubuntu 13.04 "Raring Ringtail" (raring)',
     'saucy': 'Ubuntu 13.10 "Saucy Salamander" (saucy)',
+    'trusty': 'Ubuntu 14.04 "Trusty Tahr" (trusty)',
 }
 
 
index 48041020377a69efca509652efa992f1ae4b3344..828dd6709f493f0e6e5fbeb77bc3e3192820a7ed 100755 (executable)
@@ -7,7 +7,7 @@ Script to log into a particular COW and bindmount some directory.
 Synopsis
 --------
 
-  nd_build <family> <codename> <arch> [bindmountdir] [cowbuilderopts]
+  nd_login <family> <codename> <arch> [bindmountdir] [cowbuilderopts]
 
 EOT
 exit 1
index e41cfc7952a293ee86a60949947fcc136abcef74..a5e93394cdf70503249383b2705cde1fbd9d87a3 100755 (executable)
@@ -83,7 +83,7 @@ for f in *~nd*.changes; do uf=${f//.changes/.neurodn.upload}; [ -e $uf ] && cont
 
 # on the neuro.debian.net side
 # filtered out incoming from pkgs with versions in official distribution
-for c in *changes; do pkg_ver=`grep '\.deb$' $c | head -1  | sed -e 's,.* \([^_]*\)_\(.*\)_.*,\1 \2,g'`;  echo $pkg_ver; done | uniq | while read p v; do  uver=$(whohas -D Ubuntu --strict $p | grep '/precise/' | awk '{print $3;}');  dpkg --compare-versions $v lt "$uver" && echo $c $p $v $uver; done 2>&1 | tee up-to-date-list.txt
+for c in *changes; do pkg_ver=`grep '\.deb$' $c | head -1  | sed -e 's,.* \([^_]*\)_\(.*\)_.*,\1 \2,g'`;  echo $pkg_ver; done | uniq | while read p v; do  uver=$(whohas -D Ubuntu --strict $p | grep "/$dist/" | awk '{print $3;}');  dpkg --compare-versions $v lt "$uver" && echo $c $p $v $uver; done 2>&1 | tee up-to-date-list.txt
 
 # and moved corresponding changelogs away
 mv `awk '{print $1,$2;}' up-to-date-list.txt | while read p v; do grep -l "${p}_${v}" *changes; done | sort | uniq` NOT_UPLOADED/
@@ -97,4 +97,4 @@ sudo nd_updatedist nd+ubuntu $dist
 # And build which previously failed, most probably due to unsatisfied dependencies
 # and possibly failure with outdated versions of 3rd party modules
 #grep -v OLD summary.build | grep FAILED | sed -e 's,_\(i386\|amd64\).build.*,,g' | sort | uniq | while read p; do sudo nd_build nd+ubuntu precise $p.dsc; done
-grep -v -e OLD -e networkx summary.build | grep FAILED  | sed -e 's,_\(i386\|amd64\).build.*,,g' | sort | uniq | while read p; do sudo nd_build nd+ubuntu precise $p.dsc; done
+grep -v -e OLD -e networkx summary.build | grep FAILED  | sed -e 's,_\(i386\|amd64\).build.*,,g' | sort | uniq | while read p; do sudo nd_build nd+ubuntu $dist $p.dsc; done
diff --git a/tools/neurodebian-travis.sh b/tools/neurodebian-travis.sh
new file mode 100755 (executable)
index 0000000..58e4c03
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# A universal helper to enable NeuroDebian repository for a travis
+# environment.
+#
+# Its purpose to remove all repetative actions from various .travis.yml spread
+# across projects and gain control in the future to point  to an alternative,
+# more appropriate for travis deployments, mirror.
+
+# for the protocol
+set -xe
+
+# Update packaging
+sudo apt-get update -qq
+
+# To troubleshoot failing connections to neurodebian
+sudo apt-get install net-tools traceroute coreutils
+sudo traceroute -T neuro.debian.net
+echo "Request non-existing uniq file to ease tracking this connection (for troubleshooting)"
+echo "Date: `date`     Seed: $rseed"
+rseed=$RANDOM
+wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh-$RANDOM-repo:$TRAVIS_REPO_SLUG-job:$TRAVIS_JOB_NUMBER || :
+
+# Figure out what Ubuntu release travis environment is based on
+sudo apt-get install lsb-release
+cat /etc/lsb-release
+source /etc/lsb-release
+
+# Fetch the apt sources for the currently preferred mirror
+wget -O- http://neuro.debian.net/lists/${DISTRIB_CODENAME}.us-nh.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
+wget -O- http://neuro.debian.net/lists/${DISTRIB_CODENAME}.de-md.full | sudo tee -a /etc/apt/sources.list.d/neurodebian.sources.list
+sudo apt-key adv --recv-keys --keyserver pgp.mit.edu 2649A5A9 \
+ || { wget -q -O- http://neuro.debian.net/_static/neuro.debian.net.asc | sudo apt-key add -; }
+sudo apt-get update -qq
+
+# And provide a summary over which repositories are currently available
+sudo apt-cache policy           # What is actually available?
diff --git a/tools/tests/run_in_debian_dockers b/tools/tests/run_in_debian_dockers
new file mode 100755 (executable)
index 0000000..b12098c
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+set -u
+test=$1
+
+docker.io images 2>&1 | grep -e  "\(debian\|ubuntu\)[ ]*[0-9]"  | sort | awk '{print $1,$2;}' \
+| while read d v; do
+    echo "== $d $v"
+    chronic docker.io run --rm=true -v $PWD:$PWD $d:$v /bin/bash $PWD/$test
+done
diff --git a/tools/tests/test_neurodebian-repository-deployment b/tools/tests/test_neurodebian-repository-deployment
new file mode 100755 (executable)
index 0000000..2bd99e5
--- /dev/null
@@ -0,0 +1,49 @@
+#/bin/bash
+set -ex
+
+# minimal installation with few of those packages
+apt_file=/etc/apt/sources.list.d/local.list
+apt_nd_file=/etc/apt/sources.list.d/neurodebian.sources.list
+
+# clean up from a previous test
+dpkg --purge neurodebian neurodebian-archive-keyring || :
+echo PURGE | debconf-communicate neurodebian || :
+rm -rf /tmp/apt $apt_file;
+
+mkdir -p /tmp/apt; cd /tmp/apt;
+rm -f neurodebian-*deb; apt-get update -y; apt-get install -y wget;
+wget http://www.onerussian.com/tmp/neurodebian_0.34_all.deb;
+wget http://www.onerussian.com/tmp/neurodebian-archive-keyring_0.34_all.deb;
+
+# generate APT repo
+apt-get install -y dpkg-dev ;  dpkg-scanpackages  . /dev/null > Packages
+# Add it to the list of available
+echo "deb file:///tmp/apt ./" >| $apt_file; apt-get update
+# Install the beast
+DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated neurodebian
+# By default should not get enabled
+[ ! -e "$apt_nd_file" ]
+
+DEBIAN_FRONTEND=noninteractive NEURODEBIAN_ENABLE=yes apt-get install -y --allow-unauthenticated --reinstall neurodebian
+
+# Verify that it has correct entries
+# Very cruel way to figure out the default release. Would fail if
+# options, such as multiarch, are specified after deb
+release=$(grep -e '^\s*deb\s' /etc/apt/sources.list | head -1 | awk '{print $3;}')
+grep -E "^deb\s+http.* $release main\s*\$" $apt_nd_file
+grep -E '^deb\s+http.* data main\s*$'      $apt_nd_file
+# May be even retrospect stored debconf configuration
+apt-get install debconf-utils
+debconf-get-selections | grep neurodebian/release.*select.*auto
+# And apt-get must be working
+apt-get update
+# Make sure it is active
+apt-cache policy | grep o=NeuroDebian,.*,n=data
+apt-cache policy | grep o=NeuroDebian,.*,n=$release
+
+# Now lets remove
+dpkg --purge neurodebian
+[ ! -e $apt_nd_file ]
+apt-cache policy | grep o=NeuroDebian && exit 1 || :
+
+echo "I: success"
index 67c31530eab6592e4f771438723dd662f9f60c14..1b19b02c1c545ac94b4e98dc2af1d2e2a491bc67 100755 (executable)
@@ -63,7 +63,7 @@ apt-get update -y
 gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C && \
         gpg --export 16BA136C | apt-key add - || :
 
-apt-get install -y --allow-unauthenticated neurodebian-keyring
+apt-get install -y --allow-unauthenticated neurodebian-archive-keyring
 apt-get update -y
 
 # to cheat the VM check
index 8fad8256330c32c69ccf3cb40203fad6bf578fb6..7161959ce1a19629426f8545512f6964793f549b 100755 (executable)
@@ -68,7 +68,7 @@ apt-get update -y
 gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C && \
         gpg --export 16BA136C | apt-key add - || :
 
-apt-get install -y --allow-unauthenticated neurodebian-keyring
+apt-get install -y --allow-unauthenticated neurodebian-archive-keyring
 apt-get update -y
 
 # to cheat the VM check
@@ -131,10 +131,14 @@ apt-get install --no-install-recommends -y \
  software-center synaptic menu less libxp6 \
  task-xfce-desktop lightdm zenity \
  chromium-browser \
- sudo neurodebian-desktop update-notifier
+ sudo neurodebian-desktop update-notifier \
+ bc
+
+# Assure having xfce4 terminal and it being default one and other handy
+# XFCE4 components
+apt-get install -y xfce4-terminal thunar-archive-plugin
+apt-get install --no-install-recommends -y gedit yelp
 
-# Assure having xfce4 terminal and it being default one
-apt-get install -y xfce4-terminal
 # Do not even try to deal with alternatives -- it will be the one and would puke
 # update-alternatives --set x-terminal-emulator /usr/bin/xfce4-terminal
 
index e233b00d82f112c574fc93084002bf95b6559019..417817025c9933e71f38943f9cb96ae600258c21 100755 (executable)
@@ -8,7 +8,7 @@ set -eu
 build_dir=$PWD/build
 dist_dir=$PWD/dist
 vendor="NeuroDebian"
-vm_version="7.2.0"
+vm_version="7.8.0"
 vm_ostype=Debian
 vendor_url="http://neuro.debian.net"
 product_url="${vendor_url}/vm.html"