Lorax is a set of tools used to create bootable images.
Go to file
Brian C. Lane 06c227598c Move core of livemedia-creator into pylorax.creator
This moves everything except the cmdline checking into run_creator in
pylorax.creator

It also rearranges some functions to prevent import loops, and adds a
utility function to imgutils (mkfsimage_from_disk for copying a
partition into a filesystem image).
2018-05-14 13:00:14 -07:00
docs lorax's gh-pages are under ./lorax/ so make the links relative 2018-03-15 14:21:37 -07:00
etc Remove empty config files 2010-12-08 12:40:46 +01:00
rel-eng Automatic commit of package [lorax] release [29.2-1]. 2018-05-03 09:04:25 -07:00
share/templates.d/99-generic change installed packages on ppc 2018-04-23 10:34:34 -07:00
src Move core of livemedia-creator into pylorax.creator 2018-05-14 13:00:14 -07:00
tests Update dnfbase tests 2018-05-14 13:00:14 -07:00
utils Update things to make pylint 1.5.1 happy 2015-12-16 12:59:48 -08:00
.coveragerc Enable testing in Travis and collecting of coverage history 2018-04-26 22:33:34 +03:00
.dockerignore Update .dockerignore 2018-05-14 13:00:14 -07:00
.gitignore Add make test target and update .gitignore 2017-10-13 18:58:17 +03:00
.travis.yml Enable testing in Travis and collecting of coverage history 2018-04-26 22:33:34 +03:00
ANNOUNCE Added draft on initial announce email as I keep adding to it. 2008-10-06 09:51:01 -10:00
AUTHORS add wwoods to AUTHORS 2011-10-26 12:36:06 -04:00
COPYING Initial project description files imported. 2008-09-11 14:16:39 -10:00
Dockerfile.test Enable testing in Travis and collecting of coverage history 2018-04-26 22:33:34 +03:00
lorax.spec Update lorax.spec for lorax-composer 2018-05-14 13:00:14 -07:00
Makefile Enable testing in Travis and collecting of coverage history 2018-04-26 22:33:34 +03:00
POLICY Update TODO and POLICY to reflect the current state of things 2012-01-06 14:41:21 -05:00
README Initial project description files imported. 2008-09-11 14:16:39 -10:00
requirements.txt Mock more modules for RTD 2015-04-09 11:01:20 -07:00
setup.py distribute the mk-s390-cdboot utility 2017-09-27 09:43:10 -07:00
TODO Update TODO and POLICY to reflect the current state of things 2012-01-06 14:41:21 -05:00

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>