PyBombSquad

= CGRAN Relaunch with PyBOMBS integration Task Force (PyBomb Squad) =

CGRAN needs a relaunch. Here's a list of things we need to do:

The CGRAN Website

 * Auto-generated from the list of available OOTs in PyBOMBS
 * Ideally, a cronjobbed script will create a static website (i.e. no web app)
 * Nathan made a mock-up: http://nathanwest.us/ (see source: https://github.com/n-west/grist)
 * List of OOTs includes:
 * Name
 * Description
 * Source repository
 * Archive repository (see below)
 * Activity index
 * Required GNU Radio version - A range of versions and a latest tested version
 * Search/Sort/Filter Capabilities - gr_modtool has parsing capabilities that can be exploited?
 * Clicking an OOT gives more info:
 * A longer description
 * Maintainer
 * List of blocks

- Possibly live on the GNURadio website

The Archive
Part of CGRAN is a back-up archive of all OOTs listed in PyBOMBS. This can also be used to more easily scrape information from the OOTs.

Ideas:


 * Ideally through github
 * Add another user (CGRAN) to github and copy all the repos into there - fork all repos to organization/user cgran
 * For non-git repos figure out a way to pull the data into a git repo
 * Maybe have another repo that includes all the archived modules as submodules - to allow checkout all as once

- All repos on github!

Changes to OOTs
OOTs get a manifest file in the root directory which provides info:


 * Description
 * Short name (other than gr-foo)
 * Icon image file
 * Tags
 * Name of maintainer(s)
 * Minimum GR Version required
 * GR category (current pybombs has category label not useful for cgran)

- Maintainer email address

- Date submitted

- Dependencies

- Tag names

- Git version numbers/branches

Two routes:

- Automatically generate the recipe from the manifest if written well?

- Add intelligence to pybombs to keep the metadata (used for organization on cgran) seperate from the recipe (used for compilation)

- If there isn't a working pybombs recipe then it doesnt show up on cgran

- If its on cgran then it needs to be maintained and working (not a historical archive or where grad student projects go to die)

- JSON lightest weight wrap around text that we can parse

- Author writes original recipe, we have to modify recipes to make them work

- Rather have working repo/recipes in the cgran organization so that we can maintain incase author is MIA

These manifest files can be scraped to create the CGRAN website. The current pybombs uses a category to allow forks with custom recipes. A pybombs scraper needs to know which recipes are GNU Radio related, especially when they don't fit the gr-pattern (examples: sdrangelove, gqrx, gnss-sdr).

Changes to PyBOMBS

 * Maybe the archiving operation can be part of PyBOMBS

- Split out recipes into separate repos to make it easier to add recipes (ie not split)

- Have options to get specific branch and specific git commits

- Should be able to automatically make a repo on github

- Cannot tell gnuradio vs non-gnuradio stuff

- Intelligence to create the manifest/recipe then can create site

- Chris write manifest files

- Nathan integrate grist onto gnuradio website

- Ravi, Alfredo, George, Neel volunteers to help with grist (Nathan is head)

- Find people who are good at designing web

- For inspiration layers.openembedded.org

- Python Pelican