/neurodebian-desktop
/neurodebian-dev
/neurodebian-guest-additions
-/neurodebian-keyring
+/neurodebian-archive-keyring
/*.log
/*.substvars
apt_file=/etc/apt/sources.list.d/local.list
# clean up from a previous test
-dpkg --purge neurodebian neurodebian-keyring || :
+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-keyring_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
-neurodebian (0.33) unstable; urgency=medium
-
- * Initial upload to Debian proper (Closes: #757279)
+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 boxesw
+ NeuroDebian deployment on Debian/Ubuntu boxes
* Breakage of "compatibility":
- do not install sphinx sources
Package: neurodebian
Architecture: all
-Pre-depends: python, wget
-Depends: neurodebian-keyring, ${misc:Depends}
+Depends: python, wget, neurodebian-archive-keyring, ${misc:Depends}
Recommends: netselect
Suggests: neurodebian-desktop, neurodebian-popularity-contest
Description: turnkey platform for the neuroscience
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
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.
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.
--- /dev/null
+keys/neurodebian-archive-keyring.gpg etc/apt/trusted.gpg.d/
--- /dev/null
+#!/bin/sh
+
+set -e
+
+if which apt-key > /dev/null; then
+ apt-key update
+fi
+
+#DEBHELPER#
+++ /dev/null
-keys/neurodebian-archive-keyring.gpg etc/apt/trusted.gpg.d/
+++ /dev/null
-#!/bin/sh
-
-set -e
-
-if which apt-key > /dev/null; then
- apt-key update
-fi
-
-#DEBHELPER#
if dpkg --compare-versions $popcon_version lt 1.61; then
add_neurodebian_popcon_pre161
else
- # Assure that we have no "old" settings for submission
- remove_neurodebian_popcon_pre161 || :
+ # 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
+++ /dev/null
-#!/bin/sh -e
-
-#DEBHELPER#
-
-popcon_conf=/etc/popularity-contest.conf
-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
-}
-
-# If requested to be purged -- remove our entry
-if [ "$1" = "purge" ]; then
- remove_neurodebian_popcon_pre161
-fi
# 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" != 8 ]; do
+while [ "$STATE" != 0 -a "$STATE" -lt 9 ]; do
case $STATE in
- 1)
+ 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
db_subst neurodebian/release release "$debian_release"
db_input medium neurodebian/release || true
;;
- 2)
+ 3)
neurodebian_mirrors="$(ND_IFS=', ' nd-configurerepo --print-mirrors)"
debug "mirrors: $neurodebian_mirrors"
db_subst neurodebian/mirror mirrors "$neurodebian_mirrors"
mirror_selection_ret="$RET"
debug "mirror select return: <$mirror_selection_ret>"
;;
- 3) neurodebian_flavor="$(ND_IFS=', ' nd-configurerepo --print-flavor)"
+ 4) neurodebian_flavor="$(ND_IFS=', ' nd-configurerepo --print-flavor)"
db_subst neurodebian/flavor flavor "$neurodebian_flavor"
db_input medium neurodebian/flavor || true ;;
- 4) db_input medium neurodebian/components || true ;;
- 5) db_input low neurodebian/overwrite || true ;;
+ 5) db_input medium neurodebian/components || true ;;
6) db_input low neurodebian/suffix || true ;;
- 7) db_input medium neurodebian/run-update-note || 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'
#
-# case $STATE in
-# 2)
+# 3)
# db_metaget neurodebian/mirror value
# selected_mirror="$RET"
# # TODOs:
# continue;
# fi
# fi
-# esac
+ esac
STATE=$(($STATE + 1))
else
STATE=$(($STATE - 1))
case "$1" in
configure)
- # 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
- ;;
- abort-upgrade|abort-remove|abort-deconfigure)
- # nothing to do
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
+ 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#
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
Template: neurodebian/run-update-note
Type: note
_Description: APT list of packages needs to be updated
- For the installed 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
- of the neurodebian package.
+ 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
--- /dev/null
+wheezy-dsc-patch
--- /dev/null
+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.
msgstr ""
"Project-Id-Version: neurodebian\n"
"Report-Msgid-Bugs-To: neurodebian@packages.debian.org\n"
-"POT-Creation-Date: 2014-08-08 15:23-0400\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"
msgid "NeuroDebian APT repository installer"
msgstr ""
-#. Type: select
+#. 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:2001
+#: ../neurodebian.templates:3001
msgid "Specify for which Debian or Ubuntu release (e.g. wheezy or trusty)."
msgstr ""
#. Type: select
#. Description
-#: ../neurodebian.templates:2001
+#: ../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 "
#. Type: select
#. Description
-#: ../neurodebian.templates:3001
+#: ../neurodebian.templates:4001
msgid "NeuroDebian mirror to use:"
msgstr ""
#. Type: select
#. Description
-#: ../neurodebian.templates:3001
+#: ../neurodebian.templates:4001
msgid ""
"NeuroDebian project has a number of community-maintainer mirrors around the "
"globe."
#. Type: select
#. Description
-#: ../neurodebian.templates:3001
+#: ../neurodebian.templates:4001
msgid "If you do not know which mirror URL to choose, select among"
msgstr ""
#. Type: select
#. Description
-#: ../neurodebian.templates:3001
+#: ../neurodebian.templates:4001
msgid ""
" - origin: original NeuroDebian repository\n"
" - best: will try to use netselect to select \"closest\" mirror.\n"
#. Type: select
#. Description
-#: ../neurodebian.templates:4001
+#: ../neurodebian.templates:5001
msgid "NeuroDebian flavor to use:"
msgstr ""
#. Type: select
#. Description
-#: ../neurodebian.templates:4001
+#: ../neurodebian.templates:5001
msgid ""
"NeuroDebian project adheres to Debian Free Software Guidelines and has three "
"areas of the archive in all suites/releases:"
#. Type: select
#. Description
-#: ../neurodebian.templates:4001
+#: ../neurodebian.templates:5001
msgid ""
" libre\n"
" only the DFSG-compliant materials\n"
#. Type: multiselect
#. Description
-#: ../neurodebian.templates:5001
+#: ../neurodebian.templates:6001
msgid "NeuroDebian repository components to enable:"
msgstr ""
#. Type: multiselect
#. Description
-#: ../neurodebian.templates:5001
+#: ../neurodebian.templates:6001
msgid "NeuroDebian repository provides"
msgstr ""
#. Type: multiselect
#. Description
-#: ../neurodebian.templates:5001
+#: ../neurodebian.templates:6001
msgid ""
" software\n"
" Packages containing software packages, often backports of stable\n"
#. Type: boolean
#. Description
-#: ../neurodebian.templates:6001
+#: ../neurodebian.templates:7001
msgid "Should existing NeuroDebian APT file be overridden?"
msgstr ""
#. Type: boolean
#. Description
-#: ../neurodebian.templates:6001
+#: ../neurodebian.templates:7001
msgid ""
"If not allowed, configuration would fail if there is an existing apt "
"configuration file for the NeuroDebian."
#. Type: string
#. Description
-#: ../neurodebian.templates:7001
+#: ../neurodebian.templates:8001
msgid "Additional suffix for the NeuroDebian APT file name:"
msgstr ""
#. Type: string
#. Description
-#: ../neurodebian.templates:7001
+#: ../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 "
#. Type: note
#. Description
-#: ../neurodebian.templates:8001
-msgid "APT list of packages needs to be updated."
+#: ../neurodebian.templates:9001
+msgid "APT list of packages needs to be updated"
msgstr ""
#. Type: note
#. Description
-#: ../neurodebian.templates:8001
+#: ../neurodebian.templates:9001
msgid ""
-"For the installed 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 of the neurodebian package."
+"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:9001
+#: ../neurodebian.templates:10001
msgid "netselect tool was not found!"
msgstr ""
#. Type: error
#. Description
-#: ../neurodebian.templates:9001
+#: ../neurodebian.templates:10001
msgid ""
"Please install netselect tool first (apt-get install netselect) or choose a "
"specific mirror."
#. Type: error
#. Description
-#: ../neurodebian.templates:10001
+#: ../neurodebian.templates:11001
msgid "netselect tool was not found (no other mirror)!"
msgstr ""
#. Type: error
#. Description
-#: ../neurodebian.templates:10001
+#: ../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 "
--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/" \
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::
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 hkp://pgp.mit.edu:80 2649A5A9\n";
+ + "sudo apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9\n";
return retrepo;
}
nd_aptenable_version=0.1
-nd_key_id=0x2649A5A9
+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 ND_AE_
-ae_release=${ND_AE_RELEASE:-}
-ae_components=${ND_AE_COMPONENTS:-software,data}
-ae_flavor=${ND_AE_FLAVOR:-}
-ae_mirror=${ND_AE_MIRROR:-best}
-ae_suffix=${ND_AE_SUFFIX:-}
-ae_verbose=${ND_AE_VERBOSE:-1}
-ae_overwrite=${ND_AE_OVERWRITE:-}
-ae_sources=${ND_AE_SOURCES:-}
-ae_install=${ND_AE_INSTALL:-}
-ae_update=${ND_AE_UPDATE:-1}
-ae_dry_run=${ND_AE_DRY_RUN:-}
-ae_defun_only=${ND_AE_DEFUN_ONLY:-} # mode to source this file as a "library"
+# 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)
# - apt priority! (so we could avoid automagic upgrades etc)
# - multiarch setups
-if [ -z "${ND_AE_TEMPDIR:-}" ]; then
+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="${ND_AE_TEMPDIR:-}"
+ ae_tempdir="${NEURODEBIAN_TEMPDIR:-}"
fi
Return a list (with abbreviation) of known NeuroDebian mirrors.
--overwrite,
- If apt file already present, it would not be overriden (by default).
+ If apt file already present, it would not be overridden (by default).
Use this option to overwrite.
--suffix=SUFFIX
#
# Figure out if key needs to be imported (if ran within package,
-# should already be there due to neurodebian-keyring 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
# 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" ;
Synopsis
--------
- nd_build <family> <codename> <arch> [bindmountdir] [cowbuilderopts]
+ nd_login <family> <codename> <arch> [bindmountdir] [cowbuilderopts]
EOT
exit 1
apt_nd_file=/etc/apt/sources.list.d/neurodebian.sources.list
# clean up from a previous test
-dpkg --purge neurodebian neurodebian-keyring || :
+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-keyring_0.33~a1_all.deb;
+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
-apt-get install -y --allow-unauthenticated neurodebian
+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
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
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