Lorax is a set of tools used to create bootable images.
5ace9bdec4
pjones and I happened to notice this suspicious line in the lmc log for a Fedora 27 live image compose: 2017-08-25 16:04:55,327 DEBUG pylorax.ltmpl: template line 25: installimg None usr/share/lorax//product/ images/product.img That 'None' does not look right. I believe this is the problem. The command is defined as `installimg ${compressargs} ...`, and a few lines earlier, `compressargs` is initially assigned (in Python) as `None`. `None`, in Python, stringifies to the string 'None'. So unless we're on i386 (where `compressargs` gets defined to an actual string of arguments in a conditional), we wind up passing in the string 'None' as the first arg to the `installimg` command. To fix this, `compressargs` should be initially set to the empty string rather than `None`. |
||
---|---|---|
docs | ||
etc | ||
rel-eng | ||
share/templates.d/99-generic | ||
src | ||
tests | ||
utils | ||
.gitignore | ||
ANNOUNCE | ||
AUTHORS | ||
COPYING | ||
lorax.spec | ||
Makefile | ||
POLICY | ||
README | ||
requirements.txt | ||
setup.py | ||
TODO |
I am the Lorax. I speak for the trees [and images]. Tree building tools such as pungi and revisor rely on 'buildinstall' in anaconda/scripts/ to produce the boot images and other such control files in the final tree. The existing buildinstall scripts written in a mix of bash and Python are unmaintainable. Lorax is an attempt to replace them with something more flexible. EXISTING WORKFLOW: pungi and other tools call scripts/buildinstall, which in turn call other scripts to do the image building and data generation. Here's how it currently looks: -> buildinstall * process command line options * write temporary yum.conf to point to correct repo * find anaconda release RPM * unpack RPM, pull in those versions of upd-instroot, mk-images, maketreeinfo.py, makestamp.py, and buildinstall -> call upd-instroot -> call maketreeinfo.py -> call mk-images (which figures out which mk-images.ARCH to call) -> call makestamp.py * clean up PROBLEMS: The existing workflow presents some problems with maintaining the scripts. First, almost all knowledge of what goes in to the stage 1 and stage 2 images lives in upd-instroot. The mk-images* scripts copy things from the root created by upd-instroot in order to build the stage 1 image, though it's not completely clear from reading the scripts. NEW IDEAS: Create a new central driver with all information living in Python modules. Configuration files will provide the knowledge previously contained in the upd-instroot and mk-images* scripts. -- David Cantrell <dcantrell@redhat.com>