Commit Graph

130 Commits

Author SHA1 Message Date
Brian C. Lane 7d1b7b4cc8 Allow a None to be passed as size to create_runtime
This is so that imgutils.mkext4img can dynamically calculate the size of
the image.
2011-12-20 14:59:57 -08:00
Brian C. Lane d6280b9cf0 Changes needed for livecd creation
Allow passing of size to create_runtime, add PartitionMount context
to use kpartx to mount partitioned file images. Add resetting the
selinux context on the newly created rootfs.
2011-12-20 14:59:57 -08:00
Brian C. Lane c089b479f1 dracut has moved to /usr/bin 2011-12-20 15:01:52 -05:00
Will Woods cd1225c5fb minor comment cleanups 2011-10-24 16:27:36 -04:00
Will Woods 55b4b06268 treebuilder cleanup: remove hack for Fedora <= 15 2011-10-12 20:24:21 -04:00
Will Woods f640a2faab Use a predictable ISO Volume Label (#732298)
New images find their root device by looking at the CDLABEL. Since pungi
is building ISO images separately from lorax, if it uses a different ISO
Volume Label we'll end up with unbootable images.

This changes the volume labels to match what pungi uses, so both should
boot OK.
2011-10-12 20:21:06 -04:00
Will Woods ea31f4f23b add --noprefix to dracut invocation
--noprefix is the default, but fedora ships an /etc/dracut.conf that
changes the prefix. Set --noprefix to override this.

Discussed here:
https://www.redhat.com/archives/anaconda-devel-list/2011-August/msg00234.html
2011-08-29 13:23:20 -04:00
Will Woods a6ea3d3747 add pkgsizes listings, and move debugging data to logdir 2011-08-09 20:01:31 -04:00
Will Woods 4f7584fe09 move pkglists to RuntimeBuilder and disable if not debugging 2011-08-09 17:59:57 -04:00
Will Woods 76a7c2008a rb.postinstall(): don't allow configdir override
Since the templates need to match the contents of the configdir, it
doesn't really make sense to allow configdir to be different from
templatedir.
2011-08-08 19:03:53 -04:00
Will Woods 916402b023 handle templatedir more cleanly in ltmpl/treebuilder
make sure that runner.templatedir gets set to a useful default if
initialized with None, and and make sure we pass templatedir to
LoraxTemplateRunner.__init__ (so it'll get initialized properly)
2011-08-08 19:01:38 -04:00
Will Woods 297a572069 copy config_dir into root, rather than linking
workdir might be on a different device, and then hardlinks fail
2011-08-05 17:25:08 -04:00
Will Woods 3099c0a44d Configurable compression type/speed/bcj use
* add bcj arch dict to ArchData
* add "compression" settings back to __init__.py
* pass them to treebuilder.create_runtime
* pass them through to imgutils.mksquashfs
2011-07-20 16:51:27 -04:00
Will Woods d61ae8c1e6 fixup - correctly detect F15 builds
Yeah, for F16 you need to do "version > 15", not ">= 15". Oops.
Also, check product.version before using anaconda_dracut_hack().
2011-07-06 17:17:40 -04:00
Will Woods ba686350ef Revive code/hacks for building F15 images
To build F15 images we need to remove systemd and set up loader as init
(see runtime-cleanup and runtime-postinstall).

We also need to add a hack to dracut so loader won't freak out when it
gets started by anaconda - see the file we're adding to the initramfs in
treebuilder.py.

(There's also an extra bonus hack for working around a bug in dracut if
/proc/cmdline is empty - SEE IF YOU CAN SPOT IT!!!)
2011-07-06 13:07:21 -04:00
Will Woods 51060f07f6 hacklet to hush dracut warnings about /proc/modules
We just touch ${inroot}/proc/modules before the chroot, and remove it
afterward.
2011-07-06 12:22:49 -04:00
Will Woods d636b82783 Move generate_module_data before create_runtime
module-info and the updated depmod stuff need to be inside the runtime
image, so this needs to happen before create_runtime. Accordingly,
generate_module_data gets moved to RuntimeBuilder.
2011-07-01 15:44:11 -04:00
Will Woods a8f627faab module-info fix: first line must be "Version 0" 2011-07-01 14:41:13 -04:00
Will Woods 446c45c8e5 fix path for module-info (should be /lib/modules/module-info) 2011-07-01 14:07:06 -04:00
Will Woods 41ca62d30b fixup: runner->_runner 2011-06-30 18:13:24 -04:00
Will Woods 5cb7371cdf treebuilder refactor: rearrange functions to be easier to read 2011-06-30 13:40:26 -04:00
Will Woods b39d90c688 Move LoraxTemplateRunner (and helpers) to ltmpl 2011-06-30 13:24:07 -04:00
Will Woods be45950bd3 _glob/_exists -> rglob/rexists, rglob(fatal=False)
Also fix incorrect argument to _glob in LoraxTemplateRunner.defaults
2011-06-30 13:24:07 -04:00
Will Woods 75d1b6562b make _glob an iterator, and remove it from RuntimeBuilder.cleanup() 2011-06-30 13:24:07 -04:00
Will Woods da2b53d91f Fix x86 "root=..." quoting problem and add udev_escape()
udev_escape gets passed to the arch templates so they can properly
escape the root=live:CDLABEL=... argument.
2011-06-30 13:24:07 -04:00
Will Woods 45c8f234ac Refactor: Merge TemplateParser+TemplateRunner into LoraxTemplateRunner
Also move 'glob' and 'exists' into the default args held by the template
runner.
2011-06-29 12:43:12 -04:00
Will Woods 9cd0ac09d1 treebuilder: decode escape sequences in the 'append' command
Note that this might not work in python3 (we might need to encode the
data to utf8 before we can decode the escape sequences).
2011-06-27 19:24:05 -04:00
Will Woods e1a0e40ffa log message cleanup 2011-06-27 17:54:09 -04:00
Will Woods 3388c1c529 fix use of brace_expand in removefrom 2011-06-27 16:03:40 -04:00
Will Woods 741fbc7b43 fixup: import check_output for generate_module_info 2011-06-27 16:02:51 -04:00
Will Woods 6b218437c8 generate_module_info fixup: "join" should be "joindir" 2011-06-27 15:18:16 -04:00
Will Woods 9ac7db8cb1 Add TreeBuilder.generate_module_data() for depmod/module-info
generate_module_data() runs depmod for each kernel module in the install
root, then generates the (anaconda-specific) module-info files.
2011-06-27 14:46:47 -04:00
Will Woods 2100445ad1 Expand braces (e.g. /usr/share/{doc,man,info}) in globs
The braces will be expanded as in the shell, before globbing. Note that
the output may include duplicates.
2011-06-24 18:12:59 -04:00
Will Woods 30ac2e9aa5 Fix product.name.lower() in RuntimeBuilder changing TreeBuilder
Let RuntimeBuilder use a copy of the 'product' object instead.
2011-06-24 13:11:15 -04:00
Will Woods 99a612fb0a TreeBuilder: fix removelocales 2011-06-23 17:30:42 -04:00
Will Woods 5ebaccef4d fix create_runtime workdir path thinko
I used basename when I meant dirname. Duh.
2011-06-23 12:12:37 -04:00
Will Woods b73132af75 rename "runtime" template arg to "runtime_img"
Mako uses "runtime" internally for things, and if you clobber it stuff
will just break in weird ways. So don't do that.
2011-06-23 10:46:28 -04:00
Will Woods eda011a49c rename runtime "anaconda-squashfs.img", pass path to Treebuilder
dracut's dmsquash-live-root won't recognize the image as a squashfs live
image unless its name matches "*squashfs.img", so choose the filename
accordingly. Then pass the name to the TreeBuilder so it can move it
into place.
2011-06-22 20:07:08 -04:00
Will Woods 996208f1c8 make create_runtime() just build the image; remove initrd_append
create_runtime should just create the runtime image. We'll worry about
making the big combined boot image in the arch-specific templates.
2011-06-22 17:12:56 -04:00
Will Woods f2814d5c90 treebuilder: add _filelist(*pkgs), use it in removepkg/removefrom 2011-06-22 17:12:56 -04:00
Will Woods f6b8893fd6 Fix passing kernels to template in TreeBuilder 2011-05-31 14:36:59 -04:00
Will Woods 303db540f1 bugfix for replace() globbing in _in 2011-05-31 12:24:17 -04:00
Will Woods 44583cd581 tb: make remove() and chmod() use globs (also fixes errors with missing files) 2011-05-31 12:24:17 -04:00
Will Woods 07695dff71 fix missing self.root in create_runtime() 2011-05-31 12:24:17 -04:00
Will Woods bfc8dcdd7a add missing imports to treebuilder (imgutils, fnmatch) 2011-05-31 12:24:17 -04:00
Will Woods f1963a2102 make treebuilder._glob return relative paths when using root= 2011-05-31 12:24:17 -04:00
Will Woods 0598b13ad1 tb: join->joinpaths. I learned my lesson. 2011-05-27 18:38:25 -04:00
Will Woods 76ecff7bf9 Revert "add --noscripts to run_pkg_transaction, use it in cleanup"
Doesn't help. Less code is better.

This reverts commit c9e23b8941.
2011-05-27 15:24:07 -04:00
Will Woods acff5093b0 tb: Remove packages by removing their contents 2011-05-27 15:23:48 -04:00
Will Woods c9e23b8941 add --noscripts to run_pkg_transaction, use it in cleanup 2011-05-27 12:57:31 -04:00
Will Woods e1677432a3 tb: joinpaths->join 2011-05-26 18:28:08 -04:00
Will Woods 2121b03a0a treebuilder: use mvfile(), fix postinstall, product.name.lower() 2011-05-26 18:15:07 -04:00
Will Woods c4337815db treebuilder: use os.rename() for move(), make symlink clobber files 2011-05-26 16:49:39 -04:00
Will Woods 87546a1f12 treebuilder typo fixup: Fatal->fatal 2011-05-26 14:11:03 -04:00
Will Woods 954af31c76 fixup rb.postinstall linktree for use with --force 2011-05-26 14:09:00 -04:00
Will Woods bf9ca1ddc7 treebuilder fixups: fix rb.postinstall(), inroot/root confusion 2011-05-26 13:35:28 -04:00
Will Woods 7feb3d4572 treebuilder fixups: correct args for parse() and RuntimeBuilder, add rb.yum 2011-05-26 13:07:30 -04:00
Will Woods eec6073ef0 move create_runtime into RuntimeBuilder 2011-05-18 13:53:54 -04:00
Will Woods 398b3b0922 Remove module command from treebuilder and templates
Module whitelisting is silly. Let's blacklist the stuff we don't need.
2011-05-17 18:16:06 -04:00
Will Woods d26c014279 RuntimeBuilder fixup 2011-05-17 15:29:23 -04:00
Will Woods 46e18c3781 more treebuilder WIP 2011-05-14 03:27:25 -04:00
Will Woods 2293a7d569 treebuilder WIP: add commands for installtree 2011-05-13 23:58:46 -04:00
Will Woods 3faac26a93 treebuilder fixup: handle treeinfo_data as runner.results 2011-05-12 17:32:43 -04:00
Will Woods 7323749706 treebuilder fixup: pass template vars to runner 2011-05-12 17:32:43 -04:00
Will Woods 9b5ccc764b WIP: RuntimeBuilder 2011-05-12 17:32:43 -04:00
Will Woods fa36b808d0 treebuilder fixup: remove unneeded log msg in runcmd 2011-05-12 17:32:03 -04:00
Will Woods fab2a091bc treebuilder fixup: fix argument order in replace() 2011-05-12 17:32:03 -04:00
Will Woods f4107c632d treebuilder fixup: outroot, not outputdir 2011-05-12 17:32:03 -04:00
Will Woods e77f142847 fix _glob and template glob() 2011-05-12 17:29:01 -04:00
Will Woods 77f1ec738c treebuilder fix implantisomd5() 2011-05-12 17:29:01 -04:00
Will Woods d4813816b7 treebuilder fixups: add _glob, use it in _exists, replace, install 2011-05-12 17:29:01 -04:00
Will Woods d2203b348d fixup for hardlink() 2011-05-12 17:29:01 -04:00
Will Woods 4c91ef5f53 fixup: heh whoops, really fix replace 2011-05-12 17:29:01 -04:00
Will Woods 17c81d12d7 treebuilder fixups: fix replace, glob() for templates, etc.
"from glob import glob" instead of "import glob"
rename args to BaseBuilder.runtemplate
set up 'exists' and 'glob' in runtemplate rather than getdefaults
2011-05-12 17:29:01 -04:00
Will Woods 644e5f4b55 treeinfo fixup: fix treeinfo "instancemethod" error and hardlink() 2011-05-12 17:29:01 -04:00
Will Woods 411bea7d4e treebuilder fixup: use directories param for LoraxTemplate 2011-05-12 17:29:01 -04:00
Will Woods 10a91e5c85 fix runtemplate invocation of getdefaults() 2011-05-12 17:28:53 -04:00
Will Woods 96ce44708d fixup: correct argument signature for initrd_append 2011-05-12 17:28:53 -04:00
Will Woods 5e242925ec treebuilder fixup: update comments, import re 2011-05-12 17:28:53 -04:00
Will Woods 1350cd028f treebuilder.py: uses templates to create trees/images
TreeBuilder uses templates full of commands (like ramdisk.ltmpl) to
create the output tree and boot images. There are 4 arch-specific
templates, plus a bonus EFI template which can handle EFI image creation
for any arch that implements EFI.
2011-05-09 15:33:54 -04:00