From: Yaroslav Halchenko Date: Sun, 15 Apr 2012 02:10:41 +0000 (-0400) Subject: posted blog on nd* tools with minor changes X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1b2ae18a4ca6aed190b2aaed4ff43e98bbbb38c3;p=neurodebian.git posted blog on nd* tools with minor changes --- diff --git a/sandbox/blog_vm_ndtools.rst b/sandbox/blog_vm_ndtools.rst deleted file mode 100644 index f82ebce..0000000 --- a/sandbox/blog_vm_ndtools.rst +++ /dev/null @@ -1,94 +0,0 @@ -:date: 2012-04-14 22:05:00 -:tags: debian, neuroscience, software, development, packages, virtualization - -.. _chap_ndtools_build: - -NeuroDebian nd* tools -===================== - -One of the goals of NeuroDebian_ is to provide recent versions of -scientific software on stable Debian (and Ubuntu) deployments. That -is why we build (whenever possible) every new package not only for the -Debian unstable (the entry point of packages into Debian) but also for -Debian testing and stable, and Ubuntu releases. To automate such -procedure we prepared few rudimentary wrappers around cowbuilder_ -allowing to build packages in isolated environment. Also we provide a -backport-dsc_ script to ease backporting with optional application -per-release patchsets. In this blog post we would like to introduce -you to these tools. They will be of use for anyone working on a -package intended to be uploaded to NeuroDebian_ repository. With a -single command you will be able to build a given Debian source package -across distributions. As a result it verifies that there are no -outstanding backport-ability issues or compatibility problems with -core components (e.g. supported versions of Python) if your source -package excercises test suites at build time. - -.. _cowbuilder: http://packages.debian.org/sid/cowbuilder -.. _NeuroDebian: http://neuro.debian.net -.. _backport-dsc: https://github.com/neurodebian/neurodebian/blob/master/tools/backport-dsc - - -Procedure ---------- - -- [1-20 min] If you are not running Debian-based distribution, - :ref:`Install NeuroDebian VM `; otherwise just :ref:`add apt - sources for NeuroDebian repository `. - -- [<1 min] Install the neurodebian-dev package providing nd* tools:: - - sudo apt-get install neurodebian-dev - -- [1-5 min] Adjust default configuration (``sudo vim - /etc/neurodebian/cmdsettings.sh``) used by nd commands to - - - point ``cowbuilderroot`` variable to some directory under - ``brain`` account, e.g. ``~brain/debs`` (should be created by you) - - - remove undesired releases (e.g. deprecated ``karmic``) from - allnddist and alldist - - - adjust ``mirror`` entries to use the `Debian mirror`_ and `Ubuntu - mirror`_ of your choice or may be even point to your `approx - `_ apt-caching server - -.. _`Debian mirror`: http://www.debian.org/mirror/list -.. _`Ubuntu mirror`: https://launchpad.net/ubuntu/+archivemirrors - -- [10-60 min] Create the COWs for all releases you left in the - configuration file:: - - sudo nd_adddistall - - -Building --------- - -At this point you should be all set to build packages for all -distributions with a single command. E.g.:: - - sudo nd_build4all blah_1-1.dsc - -should take the .dsc file you provide, and build it for main Debian -sid and all ND-supported releases of Debian and Ubuntu. -``nd_build4allnd`` would build only for the later omitting the vanilla -Debian sid. The highlevel summary either builds succeed or failed get -reported in ``summary.log`` in the same directory, pointing to -``.build`` log files for the corresponding architecture/release. - - -Troubleshooting Failing Build ------------------------------ - -Provide ``--hookdir`` cmdline pbuilder argument to point to a hook -which would get kicked in by pbuilder upon failure, e.g.: - - sudo apt-get install git - git clone https://github.com/neurodebian/neurodebian - sudo nd_build4debianmain *.dsc -- --hookdir $PWD/neurodebian/tools/hooks - - -If you have any comments (typos, improvements, etc) -- feel welcome to -leave a comment below, or `contact us`_ . - -.. _contact us: http://neuro.debian.net/#contacts diff --git a/sphinx/blog/2012/2012-04-14_ndtools.rst b/sphinx/blog/2012/2012-04-14_ndtools.rst new file mode 100644 index 0000000..5f5248b --- /dev/null +++ b/sphinx/blog/2012/2012-04-14_ndtools.rst @@ -0,0 +1,96 @@ +:date: 2012-04-14 22:16:00 +:tags: debian, neuroscience, software, development, packages, virtualization + +.. _chap_ndtools_build: + + +NeuroDebian nd* tools +===================== + +One of the goals of NeuroDebian_ is to provide recent versions of +scientific software on stable Debian (and Ubuntu) deployments. That +is why we build (whenever possible) every new package not only for the +Debian unstable (the entry point of packages into Debian) but also for +Debian testing and stable, and Ubuntu releases. To automate such +procedure we prepared few rudimentary wrappers around cowbuilder_ +allowing to build packages in isolated environment. Also we provide a +backport-dsc_ script to ease backporting with optional application of +per-release patchsets. In this blog post we would like to introduce +you to these tools. They will be of use for anyone working on a +package intended to be uploaded to NeuroDebian_ repository or anyone +interested to verify if package could be easily backported. With a +single command you will be able to build a given Debian source package +across distributions. As a result you will verify that there are no +outstanding backport-ability issues or compatibility problems with +core components (e.g. supported versions of Python) if your source +package excercises test suites at build time. + +.. _cowbuilder: http://packages.debian.org/sid/cowbuilder +.. _NeuroDebian: http://neuro.debian.net +.. _backport-dsc: https://github.com/neurodebian/neurodebian/blob/master/tools/backport-dsc + + +Procedure +--------- + +- [1-20 min] If you are not running Debian-based distribution, + :ref:`Install NeuroDebian VM `; otherwise just :ref:`add apt + sources for NeuroDebian repository `. + +- [<1 min] Install the neurodebian-dev package providing nd* tools:: + + sudo apt-get install neurodebian-dev + +- [1-5 min] Adjust default configuration (``sudo vim + /etc/neurodebian/cmdsettings.sh``) used by nd commands to + + - point ``cowbuilderroot`` variable to some directory under + ``brain`` account, e.g. ``~brain/debs`` (should be created by you) + + - remove undesired releases (e.g. deprecated ``karmic``) from + allnddist and alldist + + - adjust ``mirror`` entries to use the `Debian mirror`_ and `Ubuntu + mirror`_ of your choice or may be even point to your `approx + `_ apt-caching server + +.. _`Debian mirror`: http://www.debian.org/mirror/list +.. _`Ubuntu mirror`: https://launchpad.net/ubuntu/+archivemirrors + +- [10-60 min] Create the COWs for all releases you left in the + configuration file:: + + sudo nd_adddistall + + +Building +-------- + +At this point you should be all set to build packages for all +distributions with a single command. E.g.:: + + sudo nd_build4all blah_1-1.dsc + +should take the .dsc file you provide, and build it for main Debian +sid and all ND-supported releases of Debian and Ubuntu. +``nd_build4allnd`` would build only for the later omitting the vanilla +Debian sid. The highlevel summary either builds succeed or failed get +reported in ``summary.log`` in the same directory, pointing to +``.build`` log files for the corresponding architecture/release. + + +Troubleshooting Failing Build +----------------------------- + +Provide ``--hookdir`` cmdline pbuilder argument to point to a hook +which would get kicked in by pbuilder upon failure, e.g.:: + + sudo apt-get install git + git clone https://github.com/neurodebian/neurodebian + sudo nd_build4debianmain *.dsc -- --hookdir $PWD/neurodebian/tools/hooks + + +If you have any comments (typos, improvements, etc) -- feel welcome to +leave a comment below, or `contact us`_ . + +.. _contact us: http://neuro.debian.net/#contacts