with manual fixes to 3 files to make them compatible with black 22.12.0 .
We need to keep black pinned at `<23` until we vendorise `packaging`, since
the new version of black depends on `packaging >=22.0` which is the version
where `LegacyVersion` (which we use for tool lineages) was removed.
Pip 20.3 added support for PEP 600, i.e. manylinux wheels using platform
tags of the form "manylinux_${GLIBCMAJOR}_${GLIBCMINOR}_${ARCH}". Fix
installation of dependencies like pysam 0.20.0 wheels, which otherwise need
to be built from source and can fail as reported by @assuntad23 in
https://gist.github.com/assuntad23/3022db63a6878f044a209961dd40e592
Also:
- Install `wheel` to fix warning like `Using legacy setup.py install for
beaker, since package 'wheel' is not installed.`
- Drop unnecessary `defaults` channel from conda commands.
- Fix "SC2223: This default assignment may cause DoS due to globbing. Quote
it." errors reported by `shellcheck -x` .
We no longer need to translate the arguments of manage_db.sh into
arguments for alembic. The new facade script for alembic (db.sh)
accesses the alembic api programmatically.
This is consistent with other similar pairs of files:
[script-name].sh invoking scripts/[script-name].py (check_model, create_roolshed_db, db)
Also, the python file does not require exec permissions.
For ToolShed, we have create_toolshed_db.sh.
For galaxy and toolshed install databases (gxy and tsi branches under
alembic), we use the `init` subcommand of the `db.sh` script (`./db.sh
init`), which has exactly the same functionality as these deleted
scripts.
To the best of my knowledge, these are not used anywhere else (unlike,
for example, scripts/manage_db.py, which is called from the
ansible-galaxy role).
1. Remove aliases from subcommands that change things (upgrade, downgrade,
revision, init) to reduce risk of accidental usage.
2. Add aliases to readonly subcommands (history, show, version,
dbversion)
3. Minor edits