Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build pipeline execution setup #12

Closed
mih opened this issue May 13, 2022 · 18 comments · Fixed by #46
Closed

Build pipeline execution setup #12

mih opened this issue May 13, 2022 · 18 comments · Fixed by #46

Comments

@mih
Copy link
Contributor

mih commented May 13, 2022

[supersedes the respective parts of #1]

The current draft is:

The container runscript implements the pipeline, hence we call singularity run.

Here is an annotated call outlining the setup:

singularity run

  • --bind cache/var/lib/apt:/var/lib/apt,cache/var/cache/apt:/var/cache/apt,.:/pkg
    Bind mounts for the container execution. Must exist before singularity is invoked. cache/ brings in a persistent cache to speed up repeated builds. However, this is entirely optional, and maybe not useful for submitted build jobs. An apt-cacher setup would achieve something similar, but with more effort.
    .:/pkg simplifies the runscript, because we can be sure where to look for the source package and where to place the binary packages. Using . for this is YODA-style. All relative to the root of the superdataset. In this case, this is the package dataset, which has the builder dataset as a subdataset.
  • --pwd /pkg simplify the logic, PWD inside and outside the container will be the same (albeit with different names), so relative paths can stay as they are
  • --fakeroot frees us from having to use fakeroot features of the Debian toolchain, inside the container things will be done by "root"
  • --cleanenv brings environment isolation for the build. However, we might want to specifically support passing in DEB_BUILD_OPTIONS to be able to tune the builds (e.g. nocheck, see `man debhelper)
  • --containall presently unclear to me, why I included it -- needs verification
  • --writable needed because we have to update the system inside the container before the build. However, recent versions have --writable-tmpfs which may be the better approach, needs verification and version dependency checked
  • --no-home further isolation, we do not need to talk to user HOME
  • <name of the image>.sif
  • <path to DSC file>
@aqw
Copy link
Contributor

aqw commented May 13, 2022

--writable-tmpfs seems to store all modifications in memory. It makes things fast, but it means that the RAM requirements for building could become sizeable.

The question for me is where the temporary build artifacts will live (e.g. debian/<packagename>/. If in /pkg, then those modifications are outside of the container image, and then the tmpfs requirements are pretty much limited to deps. But if those artifacts will be written in the image, then that is a lot of modifications to store in memory, and I think we are better off not using --writeable-tmpfs.

Data packages and freesurfer/matlab packages can be quite large.

@aqw
Copy link
Contributor

aqw commented May 13, 2022

I do recommend that we use --containall. It is still possible to bind mount your homedir into the image while using --no-home if your CWD is your homedir.

--containall does not have such a loop-hole.

It is unclear to me whether --containall obviates the need for --no-home.

@mih
Copy link
Contributor Author

mih commented May 13, 2022

Here is a complete implementation of the pipeline, using the envisioned structure of the associated DataLad datasets (see #6), but without actually creating/configuring them.

The following needs a Debian-based system with singularity-container and the devscripts package (maybe also build-essentials).

# simulate a future package dataset
mkdir pkg
cd pkg

# populate with a Debian source package
dget -d http://deb.debian.org/debian/pool/main/h/hello/hello_2.10-2.dsc

# simulate a future builder subdataset 
mkdir builder
mkdir -p builder/cache/var/cache/apt
mkdir -p builder/cache/var/lib/apt

cat << EOT > builder/bullseye.def
Bootstrap:docker
From:debian:bullseye

%post
    apt-get -y update
    apt-get -y install --no-install-recommends build-essential devscripts eatmydata equivs
    # remove everything but the lock file from
    # /var/cache/apt/archives/ and /var/cache/apt/archives/partial/
    apt-get clean
    # builder setup relies on this particular directory to exist inside the container
    mkdir /pkg

%runscript
    # we run with -x to get verbose output suitable for a comprehensive
    # log file
    set -e -u -x
    dsc=\$1
    # somehow --containall causes 755 by default
    chmod 777 /tmp
    # update the package list, necessary to get the latest build-dependency
    # version
    eatmydata apt update -y
    # update the base environment. needed for rolling releases to stay
    # up-to-date
    eatmydata apt upgrade -y
    # all building will take place inside the container
    # maybe add option to do it on the host FS?
    mkdir -p /tmp/build
    # ingest the source package into a defined location in the container env
    dcmd cp "\$dsc" /tmp/build
    # extract the source package
    (cd /tmp/build && dpkg-source -x *.dsc source)
    # install the declared build-dependencies
    (cd /tmp && mk-build-deps -t 'eatmydata apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y' -i -r /tmp/build/source/debian/control)
    # build the binary package(s)
    (cd /tmp/build/source && debuild -uc -us -b)
    # deposit the results
    dcmd cp /tmp/build/*changes /pkg
EOT

# bootstrap the build pipeline
sudo singularity build builder/bullseye.sif builder/bullseye.def

# build the binary package(s)
singularity run --bind builder/cache/var/lib/apt:/var/lib/apt,builder/cache/var/cache/apt:/var/cache/apt,.:/pkg --pwd /pkg --fakeroot --cleanenv --containall --writable --no-home builder/bullseye.sif hello_2.10-2.dsc

@mih
Copy link
Contributor Author

mih commented May 13, 2022

And here is the "same" as the above, but order slightly shuffled to get closer to the final concept. Now with full provenance tracking via datalad:

First the builder dataset. The same dataset is used for all packages

datalad create builder
cd builder


# the next few commands until the `save`will go into a convenience command that can tailor
# a recipe template to a specific distribution release
cat << EOT > bullseye.def
Bootstrap:docker
From:debian:bullseye

%post
    apt-get -y update
    apt-get -y install --no-install-recommends build-essential devscripts eatmydata equivs
    # remove everything but the lock file from
    # /var/cache/apt/archives/ and /var/cache/apt/archives/partial/
    apt-get clean
    # builder setup relies on this particular directory to exist inside the container
    mkdir /pkg

%runscript
    # we run with -x to get verbose output suitable for a comprehensive
    # log file
    set -e -u -x
    dsc=\$1
    # somehow --containall causes 755 by default
    chmod 777 /tmp
    # update the package list, necessary to get the latest build-dependency
    # version
    eatmydata apt update -y
    # update the base environment. needed for rolling releases to stay
    # up-to-date
    eatmydata apt upgrade -y
    # all building will take place inside the container
    # maybe add option to do it on the host FS?
    mkdir -p /tmp/build
    # ingest the source package into a defined location in the container env
    dcmd cp "\$dsc" /tmp/build
    # extract the source package
    (cd /tmp/build && dpkg-source -x *.dsc source)
    # install the declared build-dependencies
    (cd /tmp && mk-build-deps -t 'eatmydata apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y' -i -r /tmp/build/source/debian/control)
    # build the binary package(s)
    (cd /tmp/build/source && debuild -uc -us -b)
    # deposit the results
    dcmd cp /tmp/build/*changes /pkg
EOT
echo 'cache' > .gitignore
datalad save --to-git -r

# build the container, with prov-tracking
# ultimately needs to be done repeatedly, could be just a `rerun`,
# to pick up new package version
datalad run -i bullseye.def -o bullseye.sif 'sudo singularity build {outputs} {inputs}'

# register the image with datalad under a particular name
datalad containers-add -d . -i bullseye.sif --call-fmt 'singularity run --bind builder/cache/var/lib/apt:/var/lib/apt,builder/cache/var/cache/apt:/var/cache/apt,.:/pkg --pwd /pkg --fakeroot --cleanenv --containall --writable --no-home {img} {cmd}' build-bullseye

and now a dataset for a particular Debian package

cd ..
# the will be a configuration procedure to automate some setup steps below
datalad create pkg
cd pkg
# we register the builder dataset
datalad clone -d . ../builder builder

# populate the dataset with a source package version
# this could be any process (here download, but could be git-buildpackage)
# there could also be another subdataset with the actual sources
# whatever is needed for a particular package
datalad run dget -d http://deb.debian.org/debian/pool/main/h/hello/hello_2.10-2.dsc

# setup runtime env for the build pipeline
# this would go into a convenience command, together with the containers-run call
mkdir -p builder/cache/var/cache/apt
mkdir -p builder/cache/var/lib/apt

# it is as simple as calling the container with the source package
datalad containers-run -n builder/build-bullseye hello_2.10-2.dsc

The outcomes are the binary packages, neatly tied to build pipeline version and all the rest.

TODO: capture the logs and save them too

@mih
Copy link
Contributor Author

mih commented May 16, 2022

I wrote a basic configuration procedure for the builder package (see #13)

datalad create -c debianbuilder builder
cd builder

cat << EOT > recipes/bullseye.def
Bootstrap:docker
From:debian:bullseye

%post
    apt-get -y update
    apt-get -y install --no-install-recommends build-essential devscripts eatmydata equivs
    # remove everything but the lock file from
    # /var/cache/apt/archives/ and /var/cache/apt/archives/partial/
    apt-get clean
    # builder setup relies on this particular directory to exist inside the container
    mkdir /pkg

%runscript
    # we run with -x to get verbose output suitable for a comprehensive
    # log file
    set -e -u -x
    dsc=\$1
    # somehow --containall causes 755 by default
    chmod 777 /tmp
    # update the package list, necessary to get the latest build-dependency
    # version
    eatmydata apt-get update -y
    # update the base environment. needed for rolling releases to stay
    # up-to-date
    eatmydata apt-get upgrade -y
    # all building will take place inside the container
    # maybe add option to do it on the host FS?
    mkdir -p /tmp/build
    # ingest the source package into a defined location in the container env
    dcmd cp "\$dsc" /tmp/build
    # extract the source package
    (cd /tmp/build && dpkg-source -x *.dsc source)
    # install the declared build-dependencies
    (cd /tmp && mk-build-deps -t 'eatmydata apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y' -i -r /tmp/build/source/debian/control)
    # build the binary package(s)
    (cd /tmp/build/source && debuild -uc -us -b)
    # deposit the results
    dcmd cp /tmp/build/*changes /pkg
EOT
datalad save --to-git     
datalad run -i recipes/bullseye.def -o envs/bullseye.sif 'sudo singularity build {outputs} {inputs}'
datalad containers-add -d . -i envs/bullseye.sif --call-fmt 'singularity run --bind builder/cache/var/lib/apt:/var/lib/apt,builder/cache/var/cache/apt:/var/cache/apt,.:/pkg --pwd /pkg --fakeroot --cleanenv --containall --writable --no-home {img} {cmd}' build-bullseye

@aqw
Copy link
Contributor

aqw commented May 16, 2022

Overall, this all looks good to me. It makes sense.

One comment: you mix apt-get and apt. You should only use the former for scripts. apt-get's interface is meant to be stable, whereas apt's "feature" is that it can (and does) change to improve ergonomics, etc.

@mih
Copy link
Contributor Author

mih commented May 16, 2022

Thx @aqw ! I adjusted the last post with this change.

@mih
Copy link
Contributor Author

mih commented May 16, 2022

Following through on the definition of the builder dataset layout from #8, the setup shown above needs to be adjusted to use architecture specific names for the build pipeline images. The Debian tooling has a dedicated solution for this, like so:

datalad run -i recipes/bullseye.def -o "envs/bullseye_$(dpkg-architecture -q DEB_BUILD_ARCH).sif" 'sudo singularity build {outputs} {inputs}'

(look for dpkg-architecture)

adswa added a commit to adswa/datalad-debian that referenced this issue May 18, 2022
commit 0d19eed
Merge: bfeaa45 84d672a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:29:49 2022 +0100

    Merge pull request psychoinformatics-de#32 from datalad/docs-explainer

    Add documentation explainer

commit bfeaa45
Merge: 1929a22 8e9bcbc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:27:24 2022 +0100

    Merge pull request psychoinformatics-de#30 from datalad/mslw-patch-1

    Replace _metalad with _helloworld for easier grepping

commit 84d672a
Author: Stephan Heunis <s.heunis@fz-juelich.de>
Date:   Thu Feb 10 15:08:57 2022 +0100

    add documentation explainer

commit 8e9bcbc
Author: Michał Szczepanik <m.szczepanik@fz-juelich.de>
Date:   Wed Feb 9 16:23:38 2022 +0100

    Replace _metalad with _helloworld for easier grepping

commit 1929a22
Merge: ec54055 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:29:45 2022 +0100

    Merge pull request psychoinformatics-de#29 from datalad/rf-tst

    Round of fixes and updates

commit 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:12:46 2022 +0100

    Minimal codeclimate config

commit 37b0606
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:10:59 2022 +0100

    More applicable command template

    With the command being in a dedicated file.

    Now also include standard logger naming suggestions.

    Fixes datalad/datalad-extension-template#27

commit 4aa498d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:52:49 2022 +0100

    Document what needs to be done for installing a git-annex snapshot

    Fixed datalad/datalad-extension-template#22

commit 7aea7b2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:50:18 2022 +0100

    Update codecov setup to match datalad-core

    Fixes datalad/datalad-extension-template#24

commit ec54055
Merge: f6ef763 a3b022c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 17:22:44 2022 +0100

    Merge pull request psychoinformatics-de#28 from datalad/bf-version

    Make version detection robust to GIT_DIR specification

commit a3b022c
Author: Chris Markiewicz <effigies@gmail.com>
Date:   Tue Jan 11 10:37:27 2022 +0100

    Make version detection robust to GIT_DIR specification

    Analog fix to datalad/datalad#6341

commit f6ef763
Merge: b04f268 48addfb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 10:35:22 2022 +0100

    Merge pull request psychoinformatics-de#26 from datalad/no-setup-requires

    Stop using `setup_requires`

commit b04f268
Merge: cb64d9b 99a960f
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Mon Oct 25 11:15:25 2021 -0400

    Merge pull request psychoinformatics-de#25 from datalad/no-distutils

    Stop using distutils

commit 48addfb
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 09:20:18 2021 -0400

    Stop using `setup_requires`

commit 99a960f
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:49:30 2021 -0400

    Stop using distutils in _datalad_buildsupport

commit c294de8
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:48:42 2021 -0400

    Keep versioneer.py from using distutils

commit cb64d9b
Merge: 8b6234b f05a10b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 1 11:01:30 2021 +0200

    Merge pull request psychoinformatics-de#23 from datalad/bdist-wheel

    Fix bdist_wheel command in Makefile

commit f05a10b
Author: John T. Wodder II <git@varonathe.org>
Date:   Thu Sep 30 09:19:39 2021 -0400

    Fix bdist_wheel command in Makefile

commit 8b6234b
Merge: c4c4f52 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:08:12 2021 +0200

    Merge pull request psychoinformatics-de#21 from datalad/testrequires

    Discontinue use of tests_require

commit 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:02:58 2021 +0200

    Discontinue use of tests_require

    To achieve compatibility with some of datalad's default CI setups.

commit c4c4f52
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 10:20:40 2021 +0200

    Disable smart quoting for valid manpages in HTML docs

commit 34aa9b7
Merge: 0d4f35f edec51f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:48:33 2021 +0200

    Merge pull request psychoinformatics-de#19 from datalad/buildsupport

    Buildsupport update

commit edec51f
Merge: 0d4f35f 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:41:40 2021 +0200

    Update DataLad build helper

commit 0d4f35f
Merge: 022720b afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 11:04:42 2021 +0200

    Merge pull request psychoinformatics-de#18 from datalad/appveyor-updates

    Appveyor updates

commit afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:57:41 2021 +0200

    Do apt-get update before apt-get install

    Analog change to an update necessary in -ukbiobank that makes sense in
    general.

    Fixes datalad/datalad-extension-template#13

commit 2b59d6a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:55:37 2021 +0200

    Bump git-annex version for testing to a recent release

    Matching the one used in datalad-core

commit 022720b
Merge: 64d185d 3cbd005
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:49:42 2021 +0200

    Merge pull request psychoinformatics-de#14 from datalad/fix-manifest

    Add missing/necessary files to sdists

commit 64d185d
Merge: e90593e 448eb72
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:44:32 2021 +0200

    Merge pull request psychoinformatics-de#16 from datalad/mv-entry-points

    Move entry points declaration to setup.cfg

commit e90593e
Merge: ec853dc a6e5add
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:41:27 2021 +0200

    Merge pull request psychoinformatics-de#15 from datalad/no-universal

    Remove `--universal` flag

commit ec853dc
Merge: 0098853 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:38:30 2021 +0200

    Merge pull request psychoinformatics-de#17 from datalad/versioneer

    Versioneer needs more history to do its job

commit 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:33:54 2021 +0200

    Versioneer needs more history to do its job

commit 448eb72
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:50:54 2021 -0400

    Move entry points declaration to setup.cfg

commit a6e5add
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:47:19 2021 -0400

    Remove `--universal` flag

commit 3cbd005
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:37:40 2021 -0400

    Add necessary files to sdists

commit 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 08:15:27 2021 +0200

    BF: We only have lower-case command names

    In a command suite that only defines the class name of a command,
    and no explicit cmdline name, no manpage would be built, because
    the test against the parser content would look like

      `Ls != ls`

    This change enforces lower-case for autogenerated command names.

commit 0098853
Merge: 7078c9d 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:29:35 2021 +0200

    Merge pull request psychoinformatics-de#12 from datalad/rf-36

    Update workflow to minimal supported Python version (3.6)

commit 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:23:25 2021 +0200

    Update workflow to minimal supported Python version (3.6)

commit 7078c9d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 23 07:29:08 2021 +0100

    Use Debian snapshots as a stable place for packages

commit 4827d99
Merge: 4ad6769 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 17:13:11 2021 +0100

    Merge pull request psychoinformatics-de#11 from datalad/tst-coverage

    Working coverage submission across all platforms

commit 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 16:51:09 2021 +0100

    Working coverage submission across all platforms

commit 4ad6769
Merge: 616ea72 1260e41
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 09:08:29 2021 +0100

    Merge pull request psychoinformatics-de#10 from datalad/typos

    Minor fixup of wording for command_suite

commit 1260e41
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Tue Mar 2 18:30:12 2021 -0500

    Minor fixup of wording for command_suite

commit 616ea72
Merge: a4a5749 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 08:20:57 2021 +0100

    Merge pull request psychoinformatics-de#9 from datalad/installer

    Use released version of datalad-installer

commit 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 07:40:52 2021 +0100

    Use released version of datalad-installer

    - get rid of custom git-annex installer script on windows,
      use the official implementation instead
    - add support for requesting a specific installer version
      via ENV variable DATALAD_INSTALLER_VERSION, go with "latest"
      by default. Requesting an unavailable installer version will
      make the build error.

commit a4a5749
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 25 08:12:45 2021 +0100

    TST: Switch default test setup to appveyor

    Following changes in datalad-core as well as other extensions.

commit f304d45
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jun 16 13:46:11 2020 +0200

    Fix for consistency

commit 1fb2ed6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 17:42:00 2020 +0200

    Prevent inclusion of build helpers into binary packages

commit ce8e7f0
Merge: 0924ab1 cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Add DataLad build helper

commit cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Squashed '_datalad_buildsupport/' content from commit 023a1b7

    git-subtree-dir: _datalad_buildsupport
    git-subtree-split: 023a1b7

commit 0924ab1
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:07:44 2020 +0200

    Minor name change

    Avoids conflict with code in datalad-core and matches source repo name.

commit 80bf197
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:01:18 2020 +0200

    Rename file to get a more obvious label

commit 1cfca1d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:00:06 2020 +0200

    Extend README with practical info

commit 49817c6
Merge: a20b711 73a7485
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:57:28 2020 +0200

    Merge pull request psychoinformatics-de#7 from datalad/readme

    Community related pointers for the README

commit 73a7485
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:28:40 2020 +0200

    add a minimal zenodo.json file

commit 28b0f30
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:29:27 2020 +0200

    add archival and community related pointers to the README

commit a20b711
Merge: ea1ed84 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:42:44 2020 +0200

    Merge pull request psychoinformatics-de#6 from datalad/build_helpers

    Build and render manpages -- using common build helpers

commit 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:25:24 2020 +0200

    Remove leftover broken devel requirement

commit dbd12d1
Merge: da5b936 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:19:45 2020 +0200

    Add DataLad build helper

    git-subtree-dir: _datalad_build_support
    git-subtree-mainline: da5b936
    git-subtree-split: 023a1b7

commit da5b936
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:32:04 2020 +0200

    Add makefile target for updating the DataLad build helpers

commit 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:16:13 2020 +0200

    BF: Read package metadata directly from setup.cfg

    The distribution object does not seem to see it (at least not
    under all circumstances).

commit fd99b4e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:15:09 2020 +0200

    RF: Remove helpers that are not needed for extensions

    DataLad core can add its own ones again, but it is not worth imposing
    the code on all extensions.

commit ba57510
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:35:46 2020 +0200

    Enable building manpages for extensions

    With the ability to point to a specific command suite.

    The rest is just about making datalad core not break.

commit 343b9a0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:21:01 2020 +0200

    Start with a copy from datalad@afa682550ee742d69853f69165c0f37c5f4b5f05

commit 5d64f44
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Jun 11 12:41:43 2020 +0200

    Build and render manpages

commit ea1ed84
Merge: a836e6b 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 16:24:09 2020 +0200

    Merge pull request psychoinformatics-de#5 from mih/master

    Modernization

commit 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:17:29 2020 +0200

    Make more datalad-friendly by prevent annex creation on datalad-save

commit 915818a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:15:06 2020 +0200

    Remove needless setup complication

commit 90debfc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:14:50 2020 +0200

    Fix badge name

commit ec78dfd
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 11:30:11 2020 +0200

    Added top-level Makefile with release-to-pypi helper

commit e8d69fb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:33:58 2020 +0200

    Update README with more status badges

commit c34760b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:57:46 2020 +0200

    Github action to build the docs

commit 24199ea
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:34:50 2020 +0200

    Sphinx-doc scaffold

commit 514d343
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:30:52 2020 +0200

    Add workflow for testing on windows

commit 61163c7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:20:01 2020 +0200

    Standardize on requirement-devel.txt

commit cc7ed24
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:59:48 2020 +0200

    Add github workflow for testing on a crippled filesystem

commit f2b2a6c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:56:23 2020 +0200

    Ignore pip metadata dumps and other stuff

commit 8e0ace0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:48:54 2020 +0200

    [DATALAD RUNCMD] Install/enable versioneer

    === Do not change lines below ===
    {
     "chain": [],
     "cmd": "versioneer install",
     "exit": 0,
     "extra_inputs": [],
     "inputs": [],
     "outputs": [],
     "pwd": "."
    }
    ^^^ Do not change lines above ^^^

commit f44d7e2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:34:46 2020 +0200

    Add missing __init__.py to get tests installed correctly

commit d94fb13
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:46:56 2020 +0200

    Simplify Travis setup

    No PY2, more up-to-date PY3 versions

commit edfe14a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:41:07 2020 +0200

    Fixup and expand metadata in setup.cfg and for setup.py

    Sensible default setup for dependencies and testing. Should enable
    to just drop in some code, rename the package and run.

commit d0eec9f
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:52:48 2020 +0200

    add initial configuration for versioneer setup

commit 63e9a48
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:46:34 2020 +0200

    modernize setup according to https://github.com/datalad/datalad-ukbiobank

commit a836e6b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:05:04 2020 +0200

    Dummy workflow

commit 78de6c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 07:55:25 2018 +0200

    TST: Swap out directmode tests for v6 tests

commit 75b6fa4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:49 2018 +0200

    Standard gitignore

commit 2bc890e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:29 2018 +0200

    Improve standard setup

commit 8da041a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Apr 6 11:20:12 2018 +0200

    RF: Extension naming conventions

commit c971b18
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 16:50:11 2018 +0200

    TST: Reenable wtf, after datalad got fixed

commit 92f22c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 11:13:05 2018 +0200

    RF: Standardize on datalad_ module prefix (fixes psychoinformatics-degh-1)

commit cc63930
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:39:20 2018 +0200

    Deal with Datalad bug

commit 839f728
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:31:55 2018 +0200

    Install the package

commit 486cfa7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:25:19 2018 +0200

    RF: Comply with datalads current ad-hoc naming conventions

commit 9351f99
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:45:47 2018 +0200

    TST: Basic test of whether datalad can see this extension

commit 9bc499d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:33:10 2018 +0200

    TST: Trimmed travis setup from the mothership

commit 4ee24c4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:49:08 2018 +0200

    DOC: Basic README

commit 831e6c5
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:09:14 2018 +0200

    DOC: Annotate setup.py

commit 7c5a645
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:04:48 2018 +0200

    DOC: more complete basic info

commit 82300f6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:00:50 2018 +0200

    DOC: Some insight into the command implementation

commit 387333b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:49:56 2018 +0200

    Declare dependency on datalad

    Should be versioned, but needs to wait for a release.

commit 00e1754
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:19:01 2018 +0200

    Demo of a minimalistic DataLad extension module

commit be4df7f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 14:12:07 2018 +0200

    first commit
adswa added a commit to adswa/datalad-debian that referenced this issue May 18, 2022
commit 0d19eed
Merge: bfeaa45 84d672a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:29:49 2022 +0100

    Merge pull request psychoinformatics-de#32 from datalad/docs-explainer

    Add documentation explainer

commit bfeaa45
Merge: 1929a22 8e9bcbc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:27:24 2022 +0100

    Merge pull request psychoinformatics-de#30 from datalad/mslw-patch-1

    Replace _metalad with _helloworld for easier grepping

commit 84d672a
Author: Stephan Heunis <s.heunis@fz-juelich.de>
Date:   Thu Feb 10 15:08:57 2022 +0100

    add documentation explainer

commit 8e9bcbc
Author: Michał Szczepanik <m.szczepanik@fz-juelich.de>
Date:   Wed Feb 9 16:23:38 2022 +0100

    Replace _metalad with _helloworld for easier grepping

commit 1929a22
Merge: ec54055 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:29:45 2022 +0100

    Merge pull request psychoinformatics-de#29 from datalad/rf-tst

    Round of fixes and updates

commit 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:12:46 2022 +0100

    Minimal codeclimate config

commit 37b0606
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:10:59 2022 +0100

    More applicable command template

    With the command being in a dedicated file.

    Now also include standard logger naming suggestions.

    Fixes datalad/datalad-extension-template#27

commit 4aa498d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:52:49 2022 +0100

    Document what needs to be done for installing a git-annex snapshot

    Fixed datalad/datalad-extension-template#22

commit 7aea7b2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:50:18 2022 +0100

    Update codecov setup to match datalad-core

    Fixes datalad/datalad-extension-template#24

commit ec54055
Merge: f6ef763 a3b022c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 17:22:44 2022 +0100

    Merge pull request psychoinformatics-de#28 from datalad/bf-version

    Make version detection robust to GIT_DIR specification

commit a3b022c
Author: Chris Markiewicz <effigies@gmail.com>
Date:   Tue Jan 11 10:37:27 2022 +0100

    Make version detection robust to GIT_DIR specification

    Analog fix to datalad/datalad#6341

commit f6ef763
Merge: b04f268 48addfb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 10:35:22 2022 +0100

    Merge pull request psychoinformatics-de#26 from datalad/no-setup-requires

    Stop using `setup_requires`

commit b04f268
Merge: cb64d9b 99a960f
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Mon Oct 25 11:15:25 2021 -0400

    Merge pull request psychoinformatics-de#25 from datalad/no-distutils

    Stop using distutils

commit 48addfb
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 09:20:18 2021 -0400

    Stop using `setup_requires`

commit 99a960f
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:49:30 2021 -0400

    Stop using distutils in _datalad_buildsupport

commit c294de8
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:48:42 2021 -0400

    Keep versioneer.py from using distutils

commit cb64d9b
Merge: 8b6234b f05a10b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 1 11:01:30 2021 +0200

    Merge pull request psychoinformatics-de#23 from datalad/bdist-wheel

    Fix bdist_wheel command in Makefile

commit f05a10b
Author: John T. Wodder II <git@varonathe.org>
Date:   Thu Sep 30 09:19:39 2021 -0400

    Fix bdist_wheel command in Makefile

commit 8b6234b
Merge: c4c4f52 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:08:12 2021 +0200

    Merge pull request psychoinformatics-de#21 from datalad/testrequires

    Discontinue use of tests_require

commit 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:02:58 2021 +0200

    Discontinue use of tests_require

    To achieve compatibility with some of datalad's default CI setups.

commit c4c4f52
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 10:20:40 2021 +0200

    Disable smart quoting for valid manpages in HTML docs

commit 34aa9b7
Merge: 0d4f35f edec51f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:48:33 2021 +0200

    Merge pull request psychoinformatics-de#19 from datalad/buildsupport

    Buildsupport update

commit edec51f
Merge: 0d4f35f 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:41:40 2021 +0200

    Update DataLad build helper

commit 0d4f35f
Merge: 022720b afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 11:04:42 2021 +0200

    Merge pull request psychoinformatics-de#18 from datalad/appveyor-updates

    Appveyor updates

commit afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:57:41 2021 +0200

    Do apt-get update before apt-get install

    Analog change to an update necessary in -ukbiobank that makes sense in
    general.

    Fixes datalad/datalad-extension-template#13

commit 2b59d6a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:55:37 2021 +0200

    Bump git-annex version for testing to a recent release

    Matching the one used in datalad-core

commit 022720b
Merge: 64d185d 3cbd005
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:49:42 2021 +0200

    Merge pull request psychoinformatics-de#14 from datalad/fix-manifest

    Add missing/necessary files to sdists

commit 64d185d
Merge: e90593e 448eb72
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:44:32 2021 +0200

    Merge pull request psychoinformatics-de#16 from datalad/mv-entry-points

    Move entry points declaration to setup.cfg

commit e90593e
Merge: ec853dc a6e5add
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:41:27 2021 +0200

    Merge pull request psychoinformatics-de#15 from datalad/no-universal

    Remove `--universal` flag

commit ec853dc
Merge: 0098853 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:38:30 2021 +0200

    Merge pull request psychoinformatics-de#17 from datalad/versioneer

    Versioneer needs more history to do its job

commit 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:33:54 2021 +0200

    Versioneer needs more history to do its job

commit 448eb72
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:50:54 2021 -0400

    Move entry points declaration to setup.cfg

commit a6e5add
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:47:19 2021 -0400

    Remove `--universal` flag

commit 3cbd005
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:37:40 2021 -0400

    Add necessary files to sdists

commit 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 08:15:27 2021 +0200

    BF: We only have lower-case command names

    In a command suite that only defines the class name of a command,
    and no explicit cmdline name, no manpage would be built, because
    the test against the parser content would look like

      `Ls != ls`

    This change enforces lower-case for autogenerated command names.

commit 0098853
Merge: 7078c9d 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:29:35 2021 +0200

    Merge pull request psychoinformatics-de#12 from datalad/rf-36

    Update workflow to minimal supported Python version (3.6)

commit 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:23:25 2021 +0200

    Update workflow to minimal supported Python version (3.6)

commit 7078c9d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 23 07:29:08 2021 +0100

    Use Debian snapshots as a stable place for packages

commit 4827d99
Merge: 4ad6769 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 17:13:11 2021 +0100

    Merge pull request psychoinformatics-de#11 from datalad/tst-coverage

    Working coverage submission across all platforms

commit 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 16:51:09 2021 +0100

    Working coverage submission across all platforms

commit 4ad6769
Merge: 616ea72 1260e41
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 09:08:29 2021 +0100

    Merge pull request psychoinformatics-de#10 from datalad/typos

    Minor fixup of wording for command_suite

commit 1260e41
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Tue Mar 2 18:30:12 2021 -0500

    Minor fixup of wording for command_suite

commit 616ea72
Merge: a4a5749 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 08:20:57 2021 +0100

    Merge pull request psychoinformatics-de#9 from datalad/installer

    Use released version of datalad-installer

commit 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 07:40:52 2021 +0100

    Use released version of datalad-installer

    - get rid of custom git-annex installer script on windows,
      use the official implementation instead
    - add support for requesting a specific installer version
      via ENV variable DATALAD_INSTALLER_VERSION, go with "latest"
      by default. Requesting an unavailable installer version will
      make the build error.

commit a4a5749
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 25 08:12:45 2021 +0100

    TST: Switch default test setup to appveyor

    Following changes in datalad-core as well as other extensions.

commit f304d45
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jun 16 13:46:11 2020 +0200

    Fix for consistency

commit 1fb2ed6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 17:42:00 2020 +0200

    Prevent inclusion of build helpers into binary packages

commit ce8e7f0
Merge: 0924ab1 cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Add DataLad build helper

commit cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Squashed '_datalad_buildsupport/' content from commit 023a1b7

    git-subtree-dir: _datalad_buildsupport
    git-subtree-split: 023a1b7

commit 0924ab1
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:07:44 2020 +0200

    Minor name change

    Avoids conflict with code in datalad-core and matches source repo name.

commit 80bf197
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:01:18 2020 +0200

    Rename file to get a more obvious label

commit 1cfca1d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:00:06 2020 +0200

    Extend README with practical info

commit 49817c6
Merge: a20b711 73a7485
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:57:28 2020 +0200

    Merge pull request psychoinformatics-de#7 from datalad/readme

    Community related pointers for the README

commit 73a7485
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:28:40 2020 +0200

    add a minimal zenodo.json file

commit 28b0f30
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:29:27 2020 +0200

    add archival and community related pointers to the README

commit a20b711
Merge: ea1ed84 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:42:44 2020 +0200

    Merge pull request psychoinformatics-de#6 from datalad/build_helpers

    Build and render manpages -- using common build helpers

commit 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:25:24 2020 +0200

    Remove leftover broken devel requirement

commit dbd12d1
Merge: da5b936 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:19:45 2020 +0200

    Add DataLad build helper

    git-subtree-dir: _datalad_build_support
    git-subtree-mainline: da5b936
    git-subtree-split: 023a1b7

commit da5b936
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:32:04 2020 +0200

    Add makefile target for updating the DataLad build helpers

commit 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:16:13 2020 +0200

    BF: Read package metadata directly from setup.cfg

    The distribution object does not seem to see it (at least not
    under all circumstances).

commit fd99b4e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:15:09 2020 +0200

    RF: Remove helpers that are not needed for extensions

    DataLad core can add its own ones again, but it is not worth imposing
    the code on all extensions.

commit ba57510
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:35:46 2020 +0200

    Enable building manpages for extensions

    With the ability to point to a specific command suite.

    The rest is just about making datalad core not break.

commit 343b9a0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:21:01 2020 +0200

    Start with a copy from datalad@afa682550ee742d69853f69165c0f37c5f4b5f05

commit 5d64f44
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Jun 11 12:41:43 2020 +0200

    Build and render manpages

commit ea1ed84
Merge: a836e6b 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 16:24:09 2020 +0200

    Merge pull request psychoinformatics-de#5 from mih/master

    Modernization

commit 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:17:29 2020 +0200

    Make more datalad-friendly by prevent annex creation on datalad-save

commit 915818a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:15:06 2020 +0200

    Remove needless setup complication

commit 90debfc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:14:50 2020 +0200

    Fix badge name

commit ec78dfd
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 11:30:11 2020 +0200

    Added top-level Makefile with release-to-pypi helper

commit e8d69fb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:33:58 2020 +0200

    Update README with more status badges

commit c34760b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:57:46 2020 +0200

    Github action to build the docs

commit 24199ea
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:34:50 2020 +0200

    Sphinx-doc scaffold

commit 514d343
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:30:52 2020 +0200

    Add workflow for testing on windows

commit 61163c7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:20:01 2020 +0200

    Standardize on requirement-devel.txt

commit cc7ed24
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:59:48 2020 +0200

    Add github workflow for testing on a crippled filesystem

commit f2b2a6c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:56:23 2020 +0200

    Ignore pip metadata dumps and other stuff

commit 8e0ace0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:48:54 2020 +0200

    [DATALAD RUNCMD] Install/enable versioneer

    === Do not change lines below ===
    {
     "chain": [],
     "cmd": "versioneer install",
     "exit": 0,
     "extra_inputs": [],
     "inputs": [],
     "outputs": [],
     "pwd": "."
    }
    ^^^ Do not change lines above ^^^

commit f44d7e2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:34:46 2020 +0200

    Add missing __init__.py to get tests installed correctly

commit d94fb13
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:46:56 2020 +0200

    Simplify Travis setup

    No PY2, more up-to-date PY3 versions

commit edfe14a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:41:07 2020 +0200

    Fixup and expand metadata in setup.cfg and for setup.py

    Sensible default setup for dependencies and testing. Should enable
    to just drop in some code, rename the package and run.

commit d0eec9f
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:52:48 2020 +0200

    add initial configuration for versioneer setup

commit 63e9a48
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:46:34 2020 +0200

    modernize setup according to https://github.com/datalad/datalad-ukbiobank

commit a836e6b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:05:04 2020 +0200

    Dummy workflow

commit 78de6c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 07:55:25 2018 +0200

    TST: Swap out directmode tests for v6 tests

commit 75b6fa4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:49 2018 +0200

    Standard gitignore

commit 2bc890e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:29 2018 +0200

    Improve standard setup

commit 8da041a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Apr 6 11:20:12 2018 +0200

    RF: Extension naming conventions

commit c971b18
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 16:50:11 2018 +0200

    TST: Reenable wtf, after datalad got fixed

commit 92f22c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 11:13:05 2018 +0200

    RF: Standardize on datalad_ module prefix (fixes psychoinformatics-degh-1)

commit cc63930
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:39:20 2018 +0200

    Deal with Datalad bug

commit 839f728
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:31:55 2018 +0200

    Install the package

commit 486cfa7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:25:19 2018 +0200

    RF: Comply with datalads current ad-hoc naming conventions

commit 9351f99
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:45:47 2018 +0200

    TST: Basic test of whether datalad can see this extension

commit 9bc499d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:33:10 2018 +0200

    TST: Trimmed travis setup from the mothership

commit 4ee24c4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:49:08 2018 +0200

    DOC: Basic README

commit 831e6c5
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:09:14 2018 +0200

    DOC: Annotate setup.py

commit 7c5a645
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:04:48 2018 +0200

    DOC: more complete basic info

commit 82300f6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:00:50 2018 +0200

    DOC: Some insight into the command implementation

commit 387333b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:49:56 2018 +0200

    Declare dependency on datalad

    Should be versioned, but needs to wait for a release.

commit 00e1754
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:19:01 2018 +0200

    Demo of a minimalistic DataLad extension module

commit be4df7f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 14:12:07 2018 +0200

    first commit
adswa added a commit to adswa/datalad-debian that referenced this issue May 19, 2022
commit 0d19eed
Merge: bfeaa45 84d672a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:29:49 2022 +0100

    Merge pull request psychoinformatics-de#32 from datalad/docs-explainer

    Add documentation explainer

commit bfeaa45
Merge: 1929a22 8e9bcbc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:27:24 2022 +0100

    Merge pull request psychoinformatics-de#30 from datalad/mslw-patch-1

    Replace _metalad with _helloworld for easier grepping

commit 84d672a
Author: Stephan Heunis <s.heunis@fz-juelich.de>
Date:   Thu Feb 10 15:08:57 2022 +0100

    add documentation explainer

commit 8e9bcbc
Author: Michał Szczepanik <m.szczepanik@fz-juelich.de>
Date:   Wed Feb 9 16:23:38 2022 +0100

    Replace _metalad with _helloworld for easier grepping

commit 1929a22
Merge: ec54055 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:29:45 2022 +0100

    Merge pull request psychoinformatics-de#29 from datalad/rf-tst

    Round of fixes and updates

commit 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:12:46 2022 +0100

    Minimal codeclimate config

commit 37b0606
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:10:59 2022 +0100

    More applicable command template

    With the command being in a dedicated file.

    Now also include standard logger naming suggestions.

    Fixes datalad/datalad-extension-template#27

commit 4aa498d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:52:49 2022 +0100

    Document what needs to be done for installing a git-annex snapshot

    Fixed datalad/datalad-extension-template#22

commit 7aea7b2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:50:18 2022 +0100

    Update codecov setup to match datalad-core

    Fixes datalad/datalad-extension-template#24

commit ec54055
Merge: f6ef763 a3b022c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 17:22:44 2022 +0100

    Merge pull request psychoinformatics-de#28 from datalad/bf-version

    Make version detection robust to GIT_DIR specification

commit a3b022c
Author: Chris Markiewicz <effigies@gmail.com>
Date:   Tue Jan 11 10:37:27 2022 +0100

    Make version detection robust to GIT_DIR specification

    Analog fix to datalad/datalad#6341

commit f6ef763
Merge: b04f268 48addfb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 10:35:22 2022 +0100

    Merge pull request psychoinformatics-de#26 from datalad/no-setup-requires

    Stop using `setup_requires`

commit b04f268
Merge: cb64d9b 99a960f
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Mon Oct 25 11:15:25 2021 -0400

    Merge pull request psychoinformatics-de#25 from datalad/no-distutils

    Stop using distutils

commit 48addfb
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 09:20:18 2021 -0400

    Stop using `setup_requires`

commit 99a960f
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:49:30 2021 -0400

    Stop using distutils in _datalad_buildsupport

commit c294de8
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:48:42 2021 -0400

    Keep versioneer.py from using distutils

commit cb64d9b
Merge: 8b6234b f05a10b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 1 11:01:30 2021 +0200

    Merge pull request psychoinformatics-de#23 from datalad/bdist-wheel

    Fix bdist_wheel command in Makefile

commit f05a10b
Author: John T. Wodder II <git@varonathe.org>
Date:   Thu Sep 30 09:19:39 2021 -0400

    Fix bdist_wheel command in Makefile

commit 8b6234b
Merge: c4c4f52 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:08:12 2021 +0200

    Merge pull request psychoinformatics-de#21 from datalad/testrequires

    Discontinue use of tests_require

commit 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:02:58 2021 +0200

    Discontinue use of tests_require

    To achieve compatibility with some of datalad's default CI setups.

commit c4c4f52
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 10:20:40 2021 +0200

    Disable smart quoting for valid manpages in HTML docs

commit 34aa9b7
Merge: 0d4f35f edec51f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:48:33 2021 +0200

    Merge pull request psychoinformatics-de#19 from datalad/buildsupport

    Buildsupport update

commit edec51f
Merge: 0d4f35f 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:41:40 2021 +0200

    Update DataLad build helper

commit 0d4f35f
Merge: 022720b afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 11:04:42 2021 +0200

    Merge pull request psychoinformatics-de#18 from datalad/appveyor-updates

    Appveyor updates

commit afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:57:41 2021 +0200

    Do apt-get update before apt-get install

    Analog change to an update necessary in -ukbiobank that makes sense in
    general.

    Fixes datalad/datalad-extension-template#13

commit 2b59d6a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:55:37 2021 +0200

    Bump git-annex version for testing to a recent release

    Matching the one used in datalad-core

commit 022720b
Merge: 64d185d 3cbd005
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:49:42 2021 +0200

    Merge pull request psychoinformatics-de#14 from datalad/fix-manifest

    Add missing/necessary files to sdists

commit 64d185d
Merge: e90593e 448eb72
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:44:32 2021 +0200

    Merge pull request psychoinformatics-de#16 from datalad/mv-entry-points

    Move entry points declaration to setup.cfg

commit e90593e
Merge: ec853dc a6e5add
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:41:27 2021 +0200

    Merge pull request psychoinformatics-de#15 from datalad/no-universal

    Remove `--universal` flag

commit ec853dc
Merge: 0098853 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:38:30 2021 +0200

    Merge pull request psychoinformatics-de#17 from datalad/versioneer

    Versioneer needs more history to do its job

commit 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:33:54 2021 +0200

    Versioneer needs more history to do its job

commit 448eb72
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:50:54 2021 -0400

    Move entry points declaration to setup.cfg

commit a6e5add
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:47:19 2021 -0400

    Remove `--universal` flag

commit 3cbd005
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:37:40 2021 -0400

    Add necessary files to sdists

commit 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 08:15:27 2021 +0200

    BF: We only have lower-case command names

    In a command suite that only defines the class name of a command,
    and no explicit cmdline name, no manpage would be built, because
    the test against the parser content would look like

      `Ls != ls`

    This change enforces lower-case for autogenerated command names.

commit 0098853
Merge: 7078c9d 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:29:35 2021 +0200

    Merge pull request psychoinformatics-de#12 from datalad/rf-36

    Update workflow to minimal supported Python version (3.6)

commit 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:23:25 2021 +0200

    Update workflow to minimal supported Python version (3.6)

commit 7078c9d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 23 07:29:08 2021 +0100

    Use Debian snapshots as a stable place for packages

commit 4827d99
Merge: 4ad6769 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 17:13:11 2021 +0100

    Merge pull request psychoinformatics-de#11 from datalad/tst-coverage

    Working coverage submission across all platforms

commit 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 16:51:09 2021 +0100

    Working coverage submission across all platforms

commit 4ad6769
Merge: 616ea72 1260e41
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 09:08:29 2021 +0100

    Merge pull request psychoinformatics-de#10 from datalad/typos

    Minor fixup of wording for command_suite

commit 1260e41
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Tue Mar 2 18:30:12 2021 -0500

    Minor fixup of wording for command_suite

commit 616ea72
Merge: a4a5749 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 08:20:57 2021 +0100

    Merge pull request psychoinformatics-de#9 from datalad/installer

    Use released version of datalad-installer

commit 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 07:40:52 2021 +0100

    Use released version of datalad-installer

    - get rid of custom git-annex installer script on windows,
      use the official implementation instead
    - add support for requesting a specific installer version
      via ENV variable DATALAD_INSTALLER_VERSION, go with "latest"
      by default. Requesting an unavailable installer version will
      make the build error.

commit a4a5749
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 25 08:12:45 2021 +0100

    TST: Switch default test setup to appveyor

    Following changes in datalad-core as well as other extensions.

commit f304d45
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jun 16 13:46:11 2020 +0200

    Fix for consistency

commit 1fb2ed6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 17:42:00 2020 +0200

    Prevent inclusion of build helpers into binary packages

commit ce8e7f0
Merge: 0924ab1 cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Add DataLad build helper

commit cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Squashed '_datalad_buildsupport/' content from commit 023a1b7

    git-subtree-dir: _datalad_buildsupport
    git-subtree-split: 023a1b7

commit 0924ab1
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:07:44 2020 +0200

    Minor name change

    Avoids conflict with code in datalad-core and matches source repo name.

commit 80bf197
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:01:18 2020 +0200

    Rename file to get a more obvious label

commit 1cfca1d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:00:06 2020 +0200

    Extend README with practical info

commit 49817c6
Merge: a20b711 73a7485
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:57:28 2020 +0200

    Merge pull request psychoinformatics-de#7 from datalad/readme

    Community related pointers for the README

commit 73a7485
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:28:40 2020 +0200

    add a minimal zenodo.json file

commit 28b0f30
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:29:27 2020 +0200

    add archival and community related pointers to the README

commit a20b711
Merge: ea1ed84 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:42:44 2020 +0200

    Merge pull request psychoinformatics-de#6 from datalad/build_helpers

    Build and render manpages -- using common build helpers

commit 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:25:24 2020 +0200

    Remove leftover broken devel requirement

commit dbd12d1
Merge: da5b936 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:19:45 2020 +0200

    Add DataLad build helper

    git-subtree-dir: _datalad_build_support
    git-subtree-mainline: da5b936
    git-subtree-split: 023a1b7

commit da5b936
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:32:04 2020 +0200

    Add makefile target for updating the DataLad build helpers

commit 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:16:13 2020 +0200

    BF: Read package metadata directly from setup.cfg

    The distribution object does not seem to see it (at least not
    under all circumstances).

commit fd99b4e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:15:09 2020 +0200

    RF: Remove helpers that are not needed for extensions

    DataLad core can add its own ones again, but it is not worth imposing
    the code on all extensions.

commit ba57510
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:35:46 2020 +0200

    Enable building manpages for extensions

    With the ability to point to a specific command suite.

    The rest is just about making datalad core not break.

commit 343b9a0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:21:01 2020 +0200

    Start with a copy from datalad@afa682550ee742d69853f69165c0f37c5f4b5f05

commit 5d64f44
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Jun 11 12:41:43 2020 +0200

    Build and render manpages

commit ea1ed84
Merge: a836e6b 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 16:24:09 2020 +0200

    Merge pull request psychoinformatics-de#5 from mih/master

    Modernization

commit 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:17:29 2020 +0200

    Make more datalad-friendly by prevent annex creation on datalad-save

commit 915818a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:15:06 2020 +0200

    Remove needless setup complication

commit 90debfc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:14:50 2020 +0200

    Fix badge name

commit ec78dfd
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 11:30:11 2020 +0200

    Added top-level Makefile with release-to-pypi helper

commit e8d69fb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:33:58 2020 +0200

    Update README with more status badges

commit c34760b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:57:46 2020 +0200

    Github action to build the docs

commit 24199ea
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:34:50 2020 +0200

    Sphinx-doc scaffold

commit 514d343
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:30:52 2020 +0200

    Add workflow for testing on windows

commit 61163c7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:20:01 2020 +0200

    Standardize on requirement-devel.txt

commit cc7ed24
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:59:48 2020 +0200

    Add github workflow for testing on a crippled filesystem

commit f2b2a6c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:56:23 2020 +0200

    Ignore pip metadata dumps and other stuff

commit 8e0ace0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:48:54 2020 +0200

    [DATALAD RUNCMD] Install/enable versioneer

    === Do not change lines below ===
    {
     "chain": [],
     "cmd": "versioneer install",
     "exit": 0,
     "extra_inputs": [],
     "inputs": [],
     "outputs": [],
     "pwd": "."
    }
    ^^^ Do not change lines above ^^^

commit f44d7e2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:34:46 2020 +0200

    Add missing __init__.py to get tests installed correctly

commit d94fb13
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:46:56 2020 +0200

    Simplify Travis setup

    No PY2, more up-to-date PY3 versions

commit edfe14a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:41:07 2020 +0200

    Fixup and expand metadata in setup.cfg and for setup.py

    Sensible default setup for dependencies and testing. Should enable
    to just drop in some code, rename the package and run.

commit d0eec9f
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:52:48 2020 +0200

    add initial configuration for versioneer setup

commit 63e9a48
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:46:34 2020 +0200

    modernize setup according to https://github.com/datalad/datalad-ukbiobank

commit a836e6b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:05:04 2020 +0200

    Dummy workflow

commit 78de6c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 07:55:25 2018 +0200

    TST: Swap out directmode tests for v6 tests

commit 75b6fa4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:49 2018 +0200

    Standard gitignore

commit 2bc890e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:29 2018 +0200

    Improve standard setup

commit 8da041a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Apr 6 11:20:12 2018 +0200

    RF: Extension naming conventions

commit c971b18
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 16:50:11 2018 +0200

    TST: Reenable wtf, after datalad got fixed

commit 92f22c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 11:13:05 2018 +0200

    RF: Standardize on datalad_ module prefix (fixes psychoinformatics-degh-1)

commit cc63930
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:39:20 2018 +0200

    Deal with Datalad bug

commit 839f728
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:31:55 2018 +0200

    Install the package

commit 486cfa7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:25:19 2018 +0200

    RF: Comply with datalads current ad-hoc naming conventions

commit 9351f99
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:45:47 2018 +0200

    TST: Basic test of whether datalad can see this extension

commit 9bc499d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:33:10 2018 +0200

    TST: Trimmed travis setup from the mothership

commit 4ee24c4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:49:08 2018 +0200

    DOC: Basic README

commit 831e6c5
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:09:14 2018 +0200

    DOC: Annotate setup.py

commit 7c5a645
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:04:48 2018 +0200

    DOC: more complete basic info

commit 82300f6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:00:50 2018 +0200

    DOC: Some insight into the command implementation

commit 387333b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:49:56 2018 +0200

    Declare dependency on datalad

    Should be versioned, but needs to wait for a release.

commit 00e1754
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:19:01 2018 +0200

    Demo of a minimalistic DataLad extension module

commit be4df7f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 14:12:07 2018 +0200

    first commit
adswa added a commit to adswa/datalad-debian that referenced this issue May 19, 2022
commit 0d19eed
Merge: bfeaa45 84d672a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:29:49 2022 +0100

    Merge pull request psychoinformatics-de#32 from datalad/docs-explainer

    Add documentation explainer

commit bfeaa45
Merge: 1929a22 8e9bcbc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Feb 10 15:27:24 2022 +0100

    Merge pull request psychoinformatics-de#30 from datalad/mslw-patch-1

    Replace _metalad with _helloworld for easier grepping

commit 84d672a
Author: Stephan Heunis <s.heunis@fz-juelich.de>
Date:   Thu Feb 10 15:08:57 2022 +0100

    add documentation explainer

commit 8e9bcbc
Author: Michał Szczepanik <m.szczepanik@fz-juelich.de>
Date:   Wed Feb 9 16:23:38 2022 +0100

    Replace _metalad with _helloworld for easier grepping

commit 1929a22
Merge: ec54055 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:29:45 2022 +0100

    Merge pull request psychoinformatics-de#29 from datalad/rf-tst

    Round of fixes and updates

commit 7b77859
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:12:46 2022 +0100

    Minimal codeclimate config

commit 37b0606
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 10:10:59 2022 +0100

    More applicable command template

    With the command being in a dedicated file.

    Now also include standard logger naming suggestions.

    Fixes datalad/datalad-extension-template#27

commit 4aa498d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:52:49 2022 +0100

    Document what needs to be done for installing a git-annex snapshot

    Fixed datalad/datalad-extension-template#22

commit 7aea7b2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 24 09:50:18 2022 +0100

    Update codecov setup to match datalad-core

    Fixes datalad/datalad-extension-template#24

commit ec54055
Merge: f6ef763 a3b022c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 17:22:44 2022 +0100

    Merge pull request psychoinformatics-de#28 from datalad/bf-version

    Make version detection robust to GIT_DIR specification

commit a3b022c
Author: Chris Markiewicz <effigies@gmail.com>
Date:   Tue Jan 11 10:37:27 2022 +0100

    Make version detection robust to GIT_DIR specification

    Analog fix to datalad/datalad#6341

commit f6ef763
Merge: b04f268 48addfb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jan 11 10:35:22 2022 +0100

    Merge pull request psychoinformatics-de#26 from datalad/no-setup-requires

    Stop using `setup_requires`

commit b04f268
Merge: cb64d9b 99a960f
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Mon Oct 25 11:15:25 2021 -0400

    Merge pull request psychoinformatics-de#25 from datalad/no-distutils

    Stop using distutils

commit 48addfb
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 09:20:18 2021 -0400

    Stop using `setup_requires`

commit 99a960f
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:49:30 2021 -0400

    Stop using distutils in _datalad_buildsupport

commit c294de8
Author: John T. Wodder II <git@varonathe.org>
Date:   Mon Oct 25 08:48:42 2021 -0400

    Keep versioneer.py from using distutils

commit cb64d9b
Merge: 8b6234b f05a10b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 1 11:01:30 2021 +0200

    Merge pull request psychoinformatics-de#23 from datalad/bdist-wheel

    Fix bdist_wheel command in Makefile

commit f05a10b
Author: John T. Wodder II <git@varonathe.org>
Date:   Thu Sep 30 09:19:39 2021 -0400

    Fix bdist_wheel command in Makefile

commit 8b6234b
Merge: c4c4f52 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:08:12 2021 +0200

    Merge pull request psychoinformatics-de#21 from datalad/testrequires

    Discontinue use of tests_require

commit 88aeff2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 29 08:02:58 2021 +0200

    Discontinue use of tests_require

    To achieve compatibility with some of datalad's default CI setups.

commit c4c4f52
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 10:20:40 2021 +0200

    Disable smart quoting for valid manpages in HTML docs

commit 34aa9b7
Merge: 0d4f35f edec51f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:48:33 2021 +0200

    Merge pull request psychoinformatics-de#19 from datalad/buildsupport

    Buildsupport update

commit edec51f
Merge: 0d4f35f 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 14:41:40 2021 +0200

    Update DataLad build helper

commit 0d4f35f
Merge: 022720b afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 11:04:42 2021 +0200

    Merge pull request psychoinformatics-de#18 from datalad/appveyor-updates

    Appveyor updates

commit afc8586
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:57:41 2021 +0200

    Do apt-get update before apt-get install

    Analog change to an update necessary in -ukbiobank that makes sense in
    general.

    Fixes datalad/datalad-extension-template#13

commit 2b59d6a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:55:37 2021 +0200

    Bump git-annex version for testing to a recent release

    Matching the one used in datalad-core

commit 022720b
Merge: 64d185d 3cbd005
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:49:42 2021 +0200

    Merge pull request psychoinformatics-de#14 from datalad/fix-manifest

    Add missing/necessary files to sdists

commit 64d185d
Merge: e90593e 448eb72
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:44:32 2021 +0200

    Merge pull request psychoinformatics-de#16 from datalad/mv-entry-points

    Move entry points declaration to setup.cfg

commit e90593e
Merge: ec853dc a6e5add
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:41:27 2021 +0200

    Merge pull request psychoinformatics-de#15 from datalad/no-universal

    Remove `--universal` flag

commit ec853dc
Merge: 0098853 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:38:30 2021 +0200

    Merge pull request psychoinformatics-de#17 from datalad/versioneer

    Versioneer needs more history to do its job

commit 200030b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Sep 22 10:33:54 2021 +0200

    Versioneer needs more history to do its job

commit 448eb72
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:50:54 2021 -0400

    Move entry points declaration to setup.cfg

commit a6e5add
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:47:19 2021 -0400

    Remove `--universal` flag

commit 3cbd005
Author: John T. Wodder II <git@varonathe.org>
Date:   Wed Sep 15 12:37:40 2021 -0400

    Add necessary files to sdists

commit 9975f82
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Apr 15 08:15:27 2021 +0200

    BF: We only have lower-case command names

    In a command suite that only defines the class name of a command,
    and no explicit cmdline name, no manpage would be built, because
    the test against the parser content would look like

      `Ls != ls`

    This change enforces lower-case for autogenerated command names.

commit 0098853
Merge: 7078c9d 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:29:35 2021 +0200

    Merge pull request psychoinformatics-de#12 from datalad/rf-36

    Update workflow to minimal supported Python version (3.6)

commit 4d2c049
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Sat Apr 10 12:23:25 2021 +0200

    Update workflow to minimal supported Python version (3.6)

commit 7078c9d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 23 07:29:08 2021 +0100

    Use Debian snapshots as a stable place for packages

commit 4827d99
Merge: 4ad6769 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 17:13:11 2021 +0100

    Merge pull request psychoinformatics-de#11 from datalad/tst-coverage

    Working coverage submission across all platforms

commit 899e9ba
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 16:51:09 2021 +0100

    Working coverage submission across all platforms

commit 4ad6769
Merge: 616ea72 1260e41
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 11 09:08:29 2021 +0100

    Merge pull request psychoinformatics-de#10 from datalad/typos

    Minor fixup of wording for command_suite

commit 1260e41
Author: Yaroslav Halchenko <debian@onerussian.com>
Date:   Tue Mar 2 18:30:12 2021 -0500

    Minor fixup of wording for command_suite

commit 616ea72
Merge: a4a5749 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 08:20:57 2021 +0100

    Merge pull request psychoinformatics-de#9 from datalad/installer

    Use released version of datalad-installer

commit 7d8c9aa
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Mar 2 07:40:52 2021 +0100

    Use released version of datalad-installer

    - get rid of custom git-annex installer script on windows,
      use the official implementation instead
    - add support for requesting a specific installer version
      via ENV variable DATALAD_INSTALLER_VERSION, go with "latest"
      by default. Requesting an unavailable installer version will
      make the build error.

commit a4a5749
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jan 25 08:12:45 2021 +0100

    TST: Switch default test setup to appveyor

    Following changes in datalad-core as well as other extensions.

commit f304d45
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Tue Jun 16 13:46:11 2020 +0200

    Fix for consistency

commit 1fb2ed6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 17:42:00 2020 +0200

    Prevent inclusion of build helpers into binary packages

commit ce8e7f0
Merge: 0924ab1 cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Add DataLad build helper

commit cd61512
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:08:29 2020 +0200

    Squashed '_datalad_buildsupport/' content from commit 023a1b7

    git-subtree-dir: _datalad_buildsupport
    git-subtree-split: 023a1b7

commit 0924ab1
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 13:07:44 2020 +0200

    Minor name change

    Avoids conflict with code in datalad-core and matches source repo name.

commit 80bf197
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:01:18 2020 +0200

    Rename file to get a more obvious label

commit 1cfca1d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 09:00:06 2020 +0200

    Extend README with practical info

commit 49817c6
Merge: a20b711 73a7485
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:57:28 2020 +0200

    Merge pull request psychoinformatics-de#7 from datalad/readme

    Community related pointers for the README

commit 73a7485
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:28:40 2020 +0200

    add a minimal zenodo.json file

commit 28b0f30
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Wed Jun 10 13:29:27 2020 +0200

    add archival and community related pointers to the README

commit a20b711
Merge: ea1ed84 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:42:44 2020 +0200

    Merge pull request psychoinformatics-de#6 from datalad/build_helpers

    Build and render manpages -- using common build helpers

commit 12a5a2d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:25:24 2020 +0200

    Remove leftover broken devel requirement

commit dbd12d1
Merge: da5b936 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:19:45 2020 +0200

    Add DataLad build helper

    git-subtree-dir: _datalad_build_support
    git-subtree-mainline: da5b936
    git-subtree-split: 023a1b7

commit da5b936
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:32:04 2020 +0200

    Add makefile target for updating the DataLad build helpers

commit 023a1b7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:16:13 2020 +0200

    BF: Read package metadata directly from setup.cfg

    The distribution object does not seem to see it (at least not
    under all circumstances).

commit fd99b4e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Mon Jun 15 08:15:09 2020 +0200

    RF: Remove helpers that are not needed for extensions

    DataLad core can add its own ones again, but it is not worth imposing
    the code on all extensions.

commit ba57510
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:35:46 2020 +0200

    Enable building manpages for extensions

    With the ability to point to a specific command suite.

    The rest is just about making datalad core not break.

commit 343b9a0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Jun 12 17:21:01 2020 +0200

    Start with a copy from datalad@afa682550ee742d69853f69165c0f37c5f4b5f05

commit 5d64f44
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Jun 11 12:41:43 2020 +0200

    Build and render manpages

commit ea1ed84
Merge: a836e6b 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 16:24:09 2020 +0200

    Merge pull request psychoinformatics-de#5 from mih/master

    Modernization

commit 1a56499
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:17:29 2020 +0200

    Make more datalad-friendly by prevent annex creation on datalad-save

commit 915818a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:15:06 2020 +0200

    Remove needless setup complication

commit 90debfc
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 12:14:50 2020 +0200

    Fix badge name

commit ec78dfd
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 11:30:11 2020 +0200

    Added top-level Makefile with release-to-pypi helper

commit e8d69fb
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:33:58 2020 +0200

    Update README with more status badges

commit c34760b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:57:46 2020 +0200

    Github action to build the docs

commit 24199ea
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:34:50 2020 +0200

    Sphinx-doc scaffold

commit 514d343
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 10:30:52 2020 +0200

    Add workflow for testing on windows

commit 61163c7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:20:01 2020 +0200

    Standardize on requirement-devel.txt

commit cc7ed24
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:59:48 2020 +0200

    Add github workflow for testing on a crippled filesystem

commit f2b2a6c
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:56:23 2020 +0200

    Ignore pip metadata dumps and other stuff

commit 8e0ace0
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:48:54 2020 +0200

    [DATALAD RUNCMD] Install/enable versioneer

    === Do not change lines below ===
    {
     "chain": [],
     "cmd": "versioneer install",
     "exit": 0,
     "extra_inputs": [],
     "inputs": [],
     "outputs": [],
     "pwd": "."
    }
    ^^^ Do not change lines above ^^^

commit f44d7e2
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 09:34:46 2020 +0200

    Add missing __init__.py to get tests installed correctly

commit d94fb13
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:46:56 2020 +0200

    Simplify Travis setup

    No PY2, more up-to-date PY3 versions

commit edfe14a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 07:41:07 2020 +0200

    Fixup and expand metadata in setup.cfg and for setup.py

    Sensible default setup for dependencies and testing. Should enable
    to just drop in some code, rename the package and run.

commit d0eec9f
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:52:48 2020 +0200

    add initial configuration for versioneer setup

commit 63e9a48
Author: Adina Wagner <adina.wagner@t-online.de>
Date:   Tue Jun 9 10:46:34 2020 +0200

    modernize setup according to https://github.com/datalad/datalad-ukbiobank

commit a836e6b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Jun 10 08:05:04 2020 +0200

    Dummy workflow

commit 78de6c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 07:55:25 2018 +0200

    TST: Swap out directmode tests for v6 tests

commit 75b6fa4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:49 2018 +0200

    Standard gitignore

commit 2bc890e
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Oct 12 06:52:29 2018 +0200

    Improve standard setup

commit 8da041a
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Apr 6 11:20:12 2018 +0200

    RF: Extension naming conventions

commit c971b18
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 16:50:11 2018 +0200

    TST: Reenable wtf, after datalad got fixed

commit 92f22c3
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 11:13:05 2018 +0200

    RF: Standardize on datalad_ module prefix (fixes psychoinformatics-degh-1)

commit cc63930
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:39:20 2018 +0200

    Deal with Datalad bug

commit 839f728
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:31:55 2018 +0200

    Install the package

commit 486cfa7
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Fri Mar 30 09:25:19 2018 +0200

    RF: Comply with datalads current ad-hoc naming conventions

commit 9351f99
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:45:47 2018 +0200

    TST: Basic test of whether datalad can see this extension

commit 9bc499d
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Thu Mar 29 20:33:10 2018 +0200

    TST: Trimmed travis setup from the mothership

commit 4ee24c4
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:49:08 2018 +0200

    DOC: Basic README

commit 831e6c5
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:09:14 2018 +0200

    DOC: Annotate setup.py

commit 7c5a645
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:04:48 2018 +0200

    DOC: more complete basic info

commit 82300f6
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 16:00:50 2018 +0200

    DOC: Some insight into the command implementation

commit 387333b
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:49:56 2018 +0200

    Declare dependency on datalad

    Should be versioned, but needs to wait for a release.

commit 00e1754
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 15:19:01 2018 +0200

    Demo of a minimalistic DataLad extension module

commit be4df7f
Author: Michael Hanke <michael.hanke@gmail.com>
Date:   Wed Mar 28 14:12:07 2018 +0200

    first commit
@adswa
Copy link
Contributor

adswa commented May 19, 2022

Here is a quick-and-dirty pipeline illustration in terms of datasets. Only the left part is relevant, the text is just code already outlined here in this issue

pipeline

@mih
Copy link
Contributor Author

mih commented May 20, 2022

With #29 a full setup+build (from scratch) can look like this now....

Bootstrap a distribution with a builder

# from scratch, a new distribution
datalad deb-new-distribution mystuff
cd mystuff
# give the builder dataset a "globally" accessible URL
datalad subdatasets --set-property url $(pwd)/builder builder

# configure and create a builder
datalad deb-configure-builder -d builder dockerbase=debian:bullseye
datalad -C builder run -i recipes/singularity-any -o "envs/singularity_$(dpkg-architecture -q DEB_BUILD_ARCH).sif" 'sudo singularity build {outputs} {inputs}'
datalad containers-add -d builder -i "envs/singularity_$(dpkg-architecture -q DEB_BUILD_ARCH).sif" --call-fmt 'singularity run --bind builder/cache/var/lib/apt:/var/lib/apt,builder/cache/var/cache/apt:/var/cache/apt,.:/pkg --pwd /pkg --fakeroot --cleanenv --containall --writable --no-home {img} {cmd}' "singularity-$(dpkg-architecture -q DEB_BUILD_ARCH)"
datalad save -d . -m "Update distribution builder" builder

Add a package (to the distribution)

datalad deb-new-package hello

Update a package

The following steps would take place in the context of a single package and do not require the distribution package context. They would also work in a fresh (temporary) clone of the package dataset

# (cd'ing into the existing clone for this example, but could also be a clone call)
cd packages/hello
datalad run -m "Add version 2.10-2 source package" dget -d http://deb.debian.org/debian/pool/main/h/hello/hello_2.10-2.dsc

Build a package

# needed, even when no `update` is intended because we want to establish a cache dir inside the build dataset
# (at least for now)
datalad get -n builder
# optionally pull in the latest builder updates
datalad update --merge -r builder

# setup runtime env for the build pipeline
# this would go into a convenience command, together with the containers-run call
mkdir -p builder/cache/var/cache/apt
mkdir -p builder/cache/var/lib/apt

datalad containers-run -n builder/singularity-amd64 hello_2.10-2.dsc

Update a package within a distribution

Again using the existing dataset hierarchy of this example, but could be done in a lean clone, just pull an update for a package dataset and saving it

cd ../..
datalad save -m "Package update" packages

@mih
Copy link
Contributor Author

mih commented May 20, 2022

With #31 the "Bootstrap a distribution with a builder" simplifies to

datalad deb-new-distribution mystuff
cd mystuff
# give the builder dataset a "globally" accessible URL
datalad subdatasets --set-property url $(pwd)/builder builder

# configure and create a builder
datalad deb-configure-builder -d builder dockerbase=debian:bullseye
datalad deb-bootstrap-builder -d builder 
datalad save -d . -m "Update distribution builder" builder

@mih
Copy link
Contributor Author

mih commented May 20, 2022

With #32 this all simplifies to

Bootstrap a distribution with a builder (done once in a distribution's lifetime)

datalad deb-new-distribution mystuff
cd mystuff
# give the builder dataset a "globally" accessible URL for this demo
datalad subdatasets --set-property url $(pwd)/builder builder

# configure and create a builder
datalad deb-configure-builder -d builder dockerbase=debian:bullseye
datalad deb-bootstrap-builder -d builder 
datalad save -d . -m "Update distribution builder" builder

Update a distribution builder (done as necessary)

# will ask to confirm container override ... TODO prevent...
datalad deb-bootstrap-builder -d builder 
datalad save -d . -m "Update distribution builder" builder

Add a package to the distribution (done once in a distribution's lifetime)

datalad deb-new-package hello

Update a package (done as necessary)

The following steps would take place in the context of a single package and do not require the distribution package context. They would also work in a fresh (temporary) clone of the package dataset

# (cd'ing into the existing clone for this example, but could also be a clone call)
cd packages/hello
# here is downloads a source package, but it could also gbp a source package from a subdataset
# i.e., a linked (upstream) repo
datalad run -m "Add version 2.10-2 source package" dget -d http://deb.debian.org/debian/pool/main/h/hello/hello_2.10-2.dsc

Build a package (done once per source package update and CPU architecture)

datalad deb-build-package hello_2.10-2.dsc

Update a package within a distribution (done as necessary)

Again using the existing dataset hierarchy of this example, but could be done in a lean clone, just pull an update for a package dataset and saving it

cd ../..
datalad save -m "Package update" packages

mih added a commit that referenced this issue May 24, 2022
This enshrines #12 (comment)
in code, via the Python API

Closes #12
mih added a commit that referenced this issue May 24, 2022
This enshrines #12 (comment)
in code, via the Python API

Closes #12
mih added a commit that referenced this issue May 24, 2022
This enshrines #12 (comment)
in code, via the Python API

Closes #12
mih added a commit that referenced this issue May 24, 2022
This enshrines #12 (comment)
in code, via the Python API

Closes #12
@mih mih closed this as completed in #46 May 24, 2022
@christian-monch
Copy link
Contributor

datalad containers-add -d builder -i "envs/singularity_$(dpkg-architecture -q DEB_BUILD_ARCH).sif" --call-fmt 'singularity run --bind builder/cache/var/lib/apt:/var/lib/apt,builder/cache/var/cache/apt:/var/cache/apt,.:/pkg --pwd /pkg --fakeroot --cleanenv --containall --writable --no-home {img} {cmd}' "singularity-$(dpkg-architecture -q DEB_BUILD_ARCH)"

small error in the cmdline: "_" instead of "-" in "envs/singularity_$(dpkg-architecture ...).sif" It should be:

datalad containers-add -d builder -i "envs/singularity-$(dpkg-architecture -q DEB_BUILD_ARCH).sif" --call-fmt 'singularity run --bind builder/cache/var/lib/apt:/var/lib/apt,builder/cache/var/cache/apt:/var/cache/apt,.:/pkg --pwd /pkg --fakeroot --cleanenv --containall --writable --no-home {img} {cmd}' "singularity-$(dpkg-architecture -q DEB_BUILD_ARCH)"

@loj
Copy link
Contributor

loj commented Jul 11, 2022

I was able to successfully complete all steps outlined in #12 (comment)

@mslw
Copy link
Contributor

mslw commented Jul 11, 2022

I was also able to complete these steps.

@jsheunis
Copy link
Contributor

jsheunis commented Jul 12, 2022

Should I be able to complete all the steps outlined in this comment on a mac? These steps work fine:

datalad deb-new-distribution mystuff
cd mystuff
# give the builder dataset a "globally" accessible URL for this demo
datalad subdatasets --set-property url $(pwd)/builder builder

# configure and create a builder
datalad deb-configure-builder -d builder dockerbase=debian:bullseye

but getting an error when running this:

>> datalad deb-bootstrap-builder -d builder 
[ERROR  ] [Errno 2] No such file or directory: 'dpkg-architecture' (FileNotFoundError)

>> datalad --dbg deb-bootstrap-builder -d builder 
Traceback (most recent call last):
  File "/Users/jsheunis/opt/miniconda3/envs/debian/bin/datalad", line 8, in <module>
    sys.exit(main())
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/cli/main.py", line 140, in main
    _run(cmdlineargs)
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/cli/main.py", line 164, in _run
    ret = _run_with_debugger(namespace) \
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/cli/main.py", line 177, in _run_with_debugger
    return cmdlineargs.func(cmdlineargs)
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/cli/exec.py", line 107, in call_from_parser
    ret = list(ret)
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/interface/utils.py", line 357, in generator_func
    for r in _process_results(
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/interface/utils.py", line 544, in _process_results
    for res in results:
  File "/Users/jsheunis/Documents/psyinf/datalad-debian/datalad_debian/bootstrap_builder.py", line 81, in __call__
    binarch = Runner().run(
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/runner/runner.py", line 184, in run
    results_or_iterator = self.threaded_runner.run()
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/runner/nonasyncrunner.py", line 307, in run
    return self._locked_run()
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/site-packages/datalad/runner/nonasyncrunner.py", line 355, in _locked_run
    self.process = subprocess.Popen(self.cmd, **kwargs)         # nosec
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/subprocess.py", line 1821, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'dpkg-architecture'

> /Users/jsheunis/opt/miniconda3/envs/debian/lib/python3.9/subprocess.py(1821)_execute_child()
-> raise child_exception_type(errno_num, err_msg, err_filename)

@adswa
Copy link
Contributor

adswa commented Jul 12, 2022

@jsheunis does Mac have a dpkg-architecture command, or is it available for Mac? I think it fails to find this command, which on Linux lists the CPU architecture of your system. If it isn't available on mac, do you know if there is an alternative command for this?

The output on my system looks like this:

 dpkg-architecture -q DEB_BUILD_ARCH
amd64

@jsheunis
Copy link
Contributor

There is a brew formula for dpkg: https://formulae.brew.sh/formula/dpkg. After installation, this runs as follows:

>> dpkg-architecture -q DEB_BUILD_ARCH
darwin-amd64

But it looks like the building process won't work in any case as @mih pointed out in this comment: #103 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants