Lorax is a set of tools used to create bootable images.
Go to file
Brian C. Lane 98d56fba67 lorax: Move default tmp dir to /var/tmp/lorax
If systemd's tmpfiles.d timer is executed while lorax is running it will
remove any files and directories older than 30 days. This is what has
been causing the occasional error where /proc/ would seem to vanish
during the install.

Upstream has proposed this solution, https://github.com/systemd/systemd/pull/11482
but until that is released we need a work-around to protect the lorax
files.

This commit does several things:

* Move the default tmpdir from /var/tmp/ to /var/tmp/lorax/
* Add a lorax.conf tmpfiles.d file that prevents systemd-tmpfiles from
  removing anything under /var/tmp/lorax/
* Add an exit handler to lorax so that temporary directories are removed on
  exit or on a python traceback.
* Use flock to lock access to the tempdir while lorax is running.
* Remove any unlocked tempdirs named /var/tmp/lorax/lorax.* at startup

Note that the exit handler will not remove the tempdir if lorax is
killed with a signal -- those are being caught by dnf and prevent the
exit handler from running.

systemd-tmpfiles cannot clean up the tempdirs at boot time because they
contain files labeled as shadow_t, so we have to remove those when lorax
runs. It uses the flock to prevent removing any directories created by
parallel instances of lorax and only removes ones that are unlocked.
Worst case they will be around until the first run of lorax after a
reboot.

If you want to keep the working directory around for debugging purposes
use --workdir /var/tmp/lorax/my-workdir and it won't be removed by
lorax.

(cherry picked from commit e4fe1aab32)
2019-01-29 13:58:47 -08:00
docs Turn off smartquotes in Sphinx documentation 2019-01-08 14:13:07 -08:00
etc Fix bash completion of compose info 2018-08-07 16:48:12 -07:00
rel-eng Automatic commit of package [lorax] release [28.25-1]. 2019-01-18 09:38:09 -08:00
share dracut-fips is no longer a subpackage, it is included in dracut. 2019-01-18 09:06:05 -08:00
src lorax: Move default tmp dir to /var/tmp/lorax 2019-01-29 13:58:47 -08:00
systemd lorax: Move default tmp dir to /var/tmp/lorax 2019-01-29 13:58:47 -08:00
tests Remove unneeded else from for/else loop. It confuses pylint 2019-01-08 14:13:22 -08: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-05-16 10:52:39 -07:00
.dockerignore Update .dockerignore 2018-05-17 10:34:34 -07:00
.gitignore Ignore files created by tests 2018-10-09 15:01:26 -07:00
.travis.yml Enable testing in Travis and collecting of coverage history 2018-05-16 10:52:39 -07: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 Add beakerlib to Dockerfile.test 2018-10-09 15:15:23 -07:00
HACKING.md Start a HACKING.md file and document how to run the tests 2018-10-09 15:02:38 -07:00
lorax.spec lorax: Move default tmp dir to /var/tmp/lorax 2019-01-29 13:58:47 -08:00
Makefile Build manpages for composer-cli and lorax-composer 2018-10-29 15:22:38 -07:00
POLICY Update TODO and POLICY to reflect the current state of things 2012-01-06 14:41:21 -05:00
README.md Update the README with relevant URLs 2018-05-17 10:34:35 -07:00
requirements.txt Mock more modules for RTD 2015-04-09 11:01:20 -07:00
setup.py lorax: Move default tmp dir to /var/tmp/lorax 2019-01-29 13:58:47 -08:00
TODO Update TODO and POLICY to reflect the current state of things 2012-01-06 14:41:21 -05:00

Lorax is a set of tools used to create bootable images.

  • lorax - creates the Anaconda boot.iso used to install Fedora
  • livemedia-creator - uses Anaconda to create bootable images
  • lorax-composer - API server implementing the Weldr BDCS protocol using livemedia-creator

See the Weldr blog for more info about BDCS and the Lorax documentation for more information about Lorax and associated tools.