Commit Graph

496 Commits

Author SHA1 Message Date
Martin Gracik
2908d5a3c4 Fixed variable replacements in template.
Reordered some functions calls to call yum.install() only once.
2009-06-04 17:49:49 +02:00
Martin Gracik
b0b696d66d Wrote a templating system for initrd creation.
A lot of stuff got changed and rewritten. Using a different approach now, so no point of tracking changes to the older commits.
2009-06-04 15:36:56 +02:00
Martin Gracik
d3fd188841 Rewrote some parts of the source.
Added all functionality from upd-instroot and scrubtree.
Rewrote most of the old utils/ scripts.
2009-04-29 15:24:23 +02:00
David Cantrell
bdbf05ecd5 Move __collectRepos() call to Lorax.run() 2008-10-09 22:11:13 -10:00
David Cantrell
010f7e5f88 destdir -> self.destdir in InstRoot.__scrubInstRoot() 2008-10-09 22:09:41 -10:00
David Cantrell
f558cfa7f0 Call run() method once we create InstRoot. 2008-10-09 21:56:56 -10:00
David Cantrell
c39d130b60 Create a run() method for InstRoot and call private methods correctly. 2008-10-09 21:56:23 -10:00
David Cantrell
2af6716ed6 Call the private methods correctly. 2008-10-09 21:54:29 -10:00
David Cantrell
4b59f9593e Hidden methods start with two underscores.
Mark all private/hidden methods with two underscores at the
beginning of the name.
2008-10-09 21:52:41 -10:00
David Cantrell
979f553056 Move run() code from __init__() to run().
Also, the conf hash needs to referenced from self and not as a
global.
2008-10-09 21:51:45 -10:00
David Cantrell
1df9b5beaa Receive the conf hash as a parameter, do not import pylorax. 2008-10-09 21:44:34 -10:00
David Cantrell
3bd5fd4d93 Move conf hash inside Lorax and import InstRoot. 2008-10-09 21:44:06 -10:00
David Cantrell
206fee2e70 Make _writeYumConf() take the self argument. 2008-10-09 17:06:56 -10:00
David Cantrell
acbe7037d6 initializeDirs -> _initializeDirs 2008-10-09 17:05:54 -10:00
David Cantrell
81e7702393 Introduce class Lorax and class InstRoot.
The lorax driver program will instantiate the Lorax class, which
drives the creation of the install images.  The InstRoot class is
the main object that represents the contents of the instroot
image (the tree that boot and stage2 images are made from).
2008-10-09 17:04:13 -10:00
David Cantrell
62b02037a0 Import glob in instroot.py 2008-10-08 15:28:47 -10:00
David Cantrell
e5383426f8 Only make directories if they don't exist. 2008-10-08 15:22:39 -10:00
David Cantrell
5f64fd8fd1 Do not make symlinks if dest files exist. 2008-10-08 14:58:56 -10:00
David Cantrell
6ec042a9ab Do not print out locale names. 2008-10-08 14:45:57 -10:00
David Cantrell
7b75b130c7 Pass arch to scrubInstRoot(). 2008-10-08 14:34:33 -10:00
David Cantrell
7d513f07ed This isn't shell. 2008-10-08 14:06:23 -10:00
David Cantrell
9cbe781122 Expand scrubInstRoot() to copy boot loader files and prune locales.
Remove locales not used in anaconda.  Copy boot loader files from
/boot to /usr/lib/anaconda-runtime/boot so they can be used by
anaconda.  Also copy over anaconda stub programs to /usr/bin and
do a few other housekeeping tasks.
2008-10-08 13:47:36 -10:00
David Cantrell
0b0872c296 More debugging output in instroot. 2008-10-06 21:48:19 -10:00
David Cantrell
b7ef76ef53 Fix gtk-icon-theme-name loop and add debugging messages.
Correctly collect gtk-icon-theme-names for saving.  Add some debug
output to scrubInstRoot() so we can see the different steps.
2008-10-06 20:50:51 -10:00
David Cantrell
77684f0271 Remove extra space in output. 2008-10-05 15:43:09 -10:00
David Cantrell
e666948409 Pass libdir scrubInstRoot(). 2008-10-05 15:42:26 -10:00
David Cantrell
3c1d9ebf37 ignore_error -> ignore_errors 2008-10-05 15:34:27 -10:00
David Cantrell
82649959a4 Add missing close paren. 2008-10-05 15:17:21 -10:00
David Cantrell
6883d1114f import shutil 2008-10-05 15:10:41 -10:00
David Cantrell
230bcee79b Add some more signal output. 2008-10-05 15:08:38 -10:00
David Cantrell
90e58c56ab Started the scrubInstRoot() function in instroot.py.
The scrubInstRoot() function will do a large part of the work
previously done by upd-instroot.
2008-10-05 14:32:41 -10:00
David Cantrell
21ff7ce04b Define default datadir location as /usr/share/lorax. 2008-10-05 13:08:10 -10:00
David Cantrell
57c97b576c Do prep work before letting yum lay down packages.
Create some directories and symlinks like upd-instroot does before
calling yum.
2008-10-04 21:48:18 -10:00
David Cantrell
e39a759cf1 Return True after yummain runs.
Capture the errcode returned, but don't do anything for now.  It's
probably likely that yummain will always fail according to it
because our instroot won't have everything in place that scriplets
need to run.  But scriptlets are supposed to always exit with
success, so I dunno.
2008-10-04 21:38:20 -10:00
David Cantrell
8c9f73974e anaconda -> lorax 2008-10-04 21:33:03 -10:00
David Cantrell
508e074126 Do not automatically pass '-v' to yummain. 2008-10-04 21:31:41 -10:00
David Cantrell
3ec372e546 Make the cleanup() function just remove the tmpdir location. 2008-10-04 20:59:46 -10:00
David Cantrell
fe8b541620 Make sure the yum.conf file goes to the lorax temp directory. 2008-10-04 20:57:22 -10:00
David Cantrell
eda4c740fa Put all temp files in to the same subdirectory.
Use the system default temp directory (can override with TMPDIR env
var), but make a lorax subdirectory in that directory for all of the
lorax trees.
2008-10-04 20:55:42 -10:00
David Cantrell
e6aebb1c3d sort() is an inplace operation on lists, correct other errors in instroot.py.
sort() is inplace for lists, so it doesn't return the sorted list.
Make sure to strip each line read from the packages* files.  In the
installPackages() function, concat the packages list on to the
arglist because that's what yummain is expecting.
2008-10-04 20:52:17 -10:00
David Cantrell
725305dd9c Correct typo and use os.path.join() in instroot.py.
It's packages_files, not packages_file.
2008-10-04 20:34:37 -10:00
David Cantrell
1ad8929ba8 'import os' in instroot.py. 2008-10-04 20:32:03 -10:00
David Cantrell
9b1a7f2e4f Do not try to close a file descriptor, which is an int. 2008-10-04 20:31:13 -10:00
David Cantrell
fcb8d0f1ab Open the file descriptor returned from mkstemp().
We get a file descriptor as returned by os.open() when calling
tempfile.mkstemp(), so we need to pass that value to os.fdopen()
before we can write text to it (easily, anyway).
2008-10-04 20:29:59 -10:00
David Cantrell
649e87ae5f Use correct parameter initializers in installPackages()
Init named parameters to None rather than other variables (copy and
paste gets me again).
2008-10-04 20:22:12 -10:00
David Cantrell
9c3e0a79af Move code in to the src/ subdirectory. 2008-10-04 19:45:34 -10:00