- write classes/functions - XML-based config -x XML syntax --- x regex btags - case-insensitive? this can be represented in-pattern: x https://stackoverflow.com/a/9655186/733214 --- remove sources stuff - that should be in the guest definitions. -x configuration generator --- x print end result xml config to stderr for easier redirection? or print prompts to stderr and xml to stdout? -- x XSD for validation -- Flask app for generating config? -- TKinter (or pygame?) GUI? --- https://docs.python.org/3/faq/gui.html --- https://www.pygame.org/wiki/gui - ensure we use docstrings in a Sphinx-compatible manner? https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html at the very least document all the functions and such so pydoc's happy. - locking - for docs, 3.x (as of 3.10) was 2.4M. - x Need ability to write/parse mtree specs (or a similar equivalent) for applying ownerships/permissions to overlay files -- parsing is done. writing may? come later. --- i think writing is mostly done/straightforward; still need to work on parsing mode octals for files - package for PyPI: # https://packaging.python.org/tutorials/distributing-packages/ # https://docs.python.org/3/distutils/apiref.html # https://python-packaging.readthedocs.io/en/latest/minimal.html # https://setuptools.readthedocs.io/en/latest/setuptools.html#new-and-changed-setup-keywords BUGS.SQUARE-R00T.NET bugs/tasks: #7: Ensure conditional deps/imports for features only if used. Is this setup.py-compatible? nooope. just make everything a dep. #14: Use os.path.join() for more consistency/pythonicness #24: Run as regular user? (pychroot? fakeroot?) #34: Build-time support for only building single phase of build #39: Fix UEFI #40: ISO overlay (to add e.g. memtest86+ to final ISO) #43: Support resuming partial tarball downloads (Accept-Ranges: bytes)