Commit Graph

27 Commits

Author SHA1 Message Date
Brian C. Lane e4fe1aab32 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.
2019-01-29 13:57:12 -08:00
Brian C. Lane c017300ad6 Revert "Rename composer-cli to composer"
This reverts commit c9be91c879.

It conflicts with the PHP dependency manager project named 'composer'
2018-10-08 09:23:47 -07:00
Lars Karlitski c9be91c879 Rename composer-cli to composer 2018-09-20 12:02:03 +03:00
Brian C. Lane 48e318b391 Add support for systemd socket activation
Instead of enabling lorax-composer.service enable lorax-composer.socket
and it will start lorax-composer on first access to
/run/weldr/api.socket
2018-05-14 13:57:44 -07:00
Brian C. Lane 29ceea3d05 Update setup.py for lorax-composer and composer-cli 2018-05-14 13:00:15 -07:00
Dan Horák 9264ec7f26 distribute the mk-s390-cdboot utility 2017-09-27 09:43:10 -07:00
Brian C. Lane 7827ba112c Update spec for python3 and add subpackages for lmc
This updates things for python3, and adds 2 subpackages to pull in
dependencies needed by lmc when running with virt-install or --no-virt
with anaconda.
2015-05-15 17:11:20 -07:00
Brian C. Lane 3f77b80d6c Use /usr/bin/python2 in scripts
New packaging guidelines:

https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes
https://fedorahosted.org/fpc/ticket/327#comment:9
2015-02-09 08:48:22 -08:00
Brian C. Lane 0094fab0d4 Cleanup other misc pylint warnings 2014-05-09 08:10:41 -07:00
Brian C. Lane 99f2ab9137 move image-minimizer to lorax (#1082642)
This is used as a kickstart %post interpreter to streamline
modifications to images.

Also adds an example kickstart.

This obsoletes the old appliance-tools-minimizer and includes a Provide
so that the transition will be seamless.
2014-03-31 17:02:55 -07:00
Brian C. Lane 14fa40556c Stop using /usr/bin/env (#987028) 2013-07-24 13:41:03 -07:00
Brian C. Lane d3a9e77315 Modify spec file for livemedia-creator 2011-12-20 14:59:58 -08:00
Martin Gracik 73fc20b165 Write the lorax verion in the .buildstamp (#689697)
(cherry picked from commit 4271e0fc02)

Conflicts:
	src/pylorax/buildstamp.py

Signed-off-by: Will Woods <wwoods@redhat.com>
2011-10-24 16:07:25 -04:00
Will Woods 4343b12fc0 mkefiboot fixups (fix imports, mkdosimg, add to setup.py) 2011-05-12 17:28:53 -04:00
Martin Gracik 3a0ed30cca Setup and spec file changes
Added the license files and executable.
Marked lorax.conf as config.
2010-12-17 17:04:04 +01:00
Martin Gracik 8a91123766 Update setup.py 2010-12-02 13:37:06 +01:00
Martin Gracik 45c5ef566c Experimental single initrd image 2010-10-12 18:32:35 +02:00
Martin Gracik 1ab4a60bc7 Added some packages and config files
Also fixed the modules symlink
2010-04-02 14:20:05 +02:00
Martin Gracik a4c638f132 New version 2010-02-23 14:20:05 +01:00
David Cantrell 6c6a55154a Fix /usr/share/lorax installation. 2008-10-04 20:15:56 -10:00
David Cantrell c158df0024 Make sure /etc and /usr/share files go to the right place. 2008-10-04 20:14:31 -10:00
David Cantrell c8e52cbf27 Use os.path.join() rather than explicitly listing full paths. 2008-10-04 20:09:46 -10:00
David Cantrell f1375c5ea8 Fix more problems in setup.py. 2008-10-04 20:09:04 -10:00
David Cantrell 46052c010d Build the list of data_files more correctly in setup.py.
Build individual file lists for each subdirectory in etc/
2008-10-04 20:05:53 -10:00
David Cantrell c01846d9ae lorax.py -> lorax 2008-10-04 19:53:33 -10:00
David Cantrell 5623014506 Write Makefile and correct problems in setup.py. 2008-10-04 19:51:17 -10:00
David Cantrell f1ba230378 Added setup.py, a distutils-based install script. 2008-10-04 19:46:04 -10:00