Commit Graph

25 Commits

Author SHA1 Message Date
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
Brian C. Lane
55b89d1aeb 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-17 10:34:35 -07:00
Brian C. Lane
df63cfddc5 Update setup.py for lorax-composer and composer-cli 2018-05-17 10:34:34 -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