Compare commits

...

894 Commits

Author SHA1 Message Date
f20c9c1fef
[installer, initramfs] add roadrunner2/macbook12-spi-driver 2020-01-27 22:21:59 +01:00
Marek Marczykowski-Górecki
056d1887d6
Use proper "Qubes OS" as a product name 2020-01-17 05:07:57 +01:00
Marek Marczykowski-Górecki
c6cdf91cb0
travis: update test for package verification
Use two separate repositories for pungi-gather testing and lorax
testing. One contains (unsigned) package downloaded by pungi-gather
only, and the other - by lorax only.
2020-01-17 03:25:25 +01:00
Marek Marczykowski-Górecki
50b5602f61
Exclude debug and source packages from installation image 2020-01-13 23:21:47 +01:00
Marek Marczykowski-Górecki
d831bb2248
Prefer createrepo_c over createrepo 2020-01-13 23:21:31 +01:00
Marek Marczykowski-Górecki
688f165839
Install python3-jinja2 needed by scripts/ksparser 2020-01-06 00:32:32 +01:00
Frédéric Pierret (fepitre)
6576a402f3
travis: switch to dom0 Fedora 31 2019-12-30 09:54:17 +01:00
Frédéric Pierret (fepitre)
bf09161732
Move scripts under 'scripts' directory.
TODO: remove path dependency of rpm_verify in builder-rpm and infrastructure
2019-12-30 09:54:15 +01:00
Frédéric Pierret (fepitre)
fd5b7355d0
lorax: user repo file from kickstart 2019-12-30 09:53:37 +01:00
Marek Marczykowski-Górecki
addf39a904
gitignore buildinfo files too 2019-12-26 17:35:36 +01:00
Frédéric Pierret (fepitre)
80071510db
pungi: drop --selfhosting option 2019-12-22 12:10:23 +01:00
Marek Marczykowski-Górecki
ad62acfaf0
conf: switch build configs to use dom0 fc31 repositories
QubesOS/qubes-issues#5529
2019-12-22 10:15:38 +01:00
Marek Marczykowski-Górecki
283872facf
Fix permissions on installation image
Make files readable also by non-root user.
2019-12-20 05:10:29 +01:00
Frédéric Pierret (fepitre)
eaae5dbb5c
conf: replace mirrorlist by metalink in ks 2019-12-17 23:48:36 +01:00
Frédéric Pierret (fepitre)
e3f71f46cc
Makefile: product is QubesOS not Qubes 2019-12-17 23:48:31 +01:00
Frédéric Pierret (fepitre)
8b5521e4d7
qubes-kickstart: use metalinks 2019-12-17 23:48:27 +01:00
Frédéric Pierret (fepitre)
127b27d292
gather: fix missing qubes groups when creating iso repo 2019-12-17 23:48:22 +01:00
Frédéric Pierret (fepitre)
22070f43a7
gather: greedy=none to prevent downloading useless rpm 2019-12-17 23:48:19 +01:00
Frédéric Pierret (fepitre)
0789bb5453
volid: fix according to ISO 2019-12-17 23:48:14 +01:00
Frédéric Pierret (fepitre)
8b9a31d25a
lorax: use repo file for sources 2019-12-17 23:48:09 +01:00
Frédéric Pierret (fepitre)
748d05dddd
Makefile: drop pungi-legacy
Replace pungi(legacy) by creating specific targets:
1) pungi-gather for collecting required RPM from comps on the targeted ISO
2) lorax for creating runtime installer (anaconda)
3) mkisofs + isohybrid + implantisomd5

This is to handle deprecated pungi-legacy on upstream and to not use pungi-koji
which is currently overkill for our purpose.
2019-12-17 23:48:04 +01:00
Frédéric Pierret (fepitre)
376ce9ad5c
travis: switch to bionic
QubesOS/qubes-issues#4613
2019-10-19 21:50:47 +02:00
Marek Marczykowski-Górecki
5851a15b08
Add compat verify-sources target
qubes-builder refuse to run make get-sources, if there is no
accompanying make verify-sources defined.
2019-06-27 02:07:50 +02:00
Marek Marczykowski-Górecki
ca667abaa5
travis: switch to xenial
QubesOS/qubes-issues#4613
2019-06-26 17:20:40 +02:00
Marek Marczykowski-Górecki
2079ba6374
Update qubes-release submodule 2019-06-26 17:19:49 +02:00
Marek Marczykowski-Górecki
723307abad
Update qubes-release submodule 2019-05-07 17:08:50 +02:00
Marek Marczykowski-Górecki
d0b1446e92
Allow override ISO_VERSION with environment variable 2019-05-07 13:03:19 +02:00
Marek Marczykowski-Górecki
60ae50f730
Update qubes-release submodule 2019-05-07 12:47:07 +02:00
Marek Marczykowski-Górecki
6692950b6f
Make files on ISO readable by non-root users.
Set umask to 022 for that.
2019-05-07 01:29:34 +02:00
Marek Marczykowski-Górecki
e8cefbccc6
travis: increase timeout
Since packages are no longer built from this repository, there is a
little more time for the iso build.
2019-04-06 01:55:44 +02:00
Marek Marczykowski-Górecki
8426e7c1b3
conf: create separate iso-full-online.ks for release builds
... using online repositories.
2019-04-06 00:58:44 +02:00
Frédéric Pierret (fepitre)
7458a1ad84
Create ISO with new name format instead of legacy one 2019-04-06 00:04:49 +02:00
Frédéric Pierret (fepitre)
e0d309d0cc
Add stamp for latest built iso 2019-04-05 16:48:40 +02:00
Marek Marczykowski-Górecki
0de8efc868
travis: add another test for package verification
Check if lorax verify packages too.
2019-03-17 16:05:23 +01:00
Marek Marczykowski-Górecki
b8e0dfdc7d
Update qubes-release submodule 2019-03-09 22:48:54 +01:00
Marek Marczykowski-Górecki
bbcbb441bc
travis: update repository URLs to R4.1, enable current-testing
Also, switch current-testing to the master site, to use most recent
packages. Since other packages are now in separate repositories, it's
more important now.
For templates, use metalinks instead of repository directly.
2019-03-09 22:11:19 +01:00
Marek Marczykowski-Górecki
845608e0d3
Update submodule URL 2019-03-09 01:24:54 +01:00
Frédéric Pierret (fepitre)
7ec0948503
get-sources: init submodule 2019-02-05 18:36:45 +01:00
Frédéric Pierret (fepitre)
9141d09ed3
Increase default rootfs-size 2019-01-27 17:08:06 +01:00
Frédéric Pierret (fepitre)
9cc03719a4
qubes-comps.xml: add qubes-release as submodule 2019-01-27 17:08:05 +01:00
Frédéric Pierret (fepitre)
48b5157c3b
travis-ci: switch to fc29 dom0 2019-01-08 18:34:38 +01:00
Frédéric Pierret (fepitre)
12cb153f4f
qubes-kickstart.cfg: switch to Fedora 29 2019-01-08 18:34:38 +01:00
Frédéric Pierret (fepitre)
a6b9da3a31
build-deps-iso: add pungi-legacy 2019-01-08 18:34:38 +01:00
Frédéric Pierret (fepitre)
6a0f408a47
Move all components except LIVE_USB components to separate repositories
anaconda, blivet, lorax, pungi, pykickstart, qubes-release, lorax-template-qubes and anaconda-addon are separate components.
2019-01-08 18:34:39 +01:00
Marek Marczykowski-Górecki
df0b5dd811
Merge remote-tracking branch 'origin/pr/28'
* origin/pr/28:
  anaconda: fix patch description related to coreboot and encrypted boot
2018-12-03 22:38:13 +01:00
Marek Marczykowski-Górecki
64b26d6cb8
qubes-release 4.0-7 2018-11-21 03:10:14 +01:00
Marek Marczykowski-Górecki
578dc74879
qubes-release: provide system-release(releasever)
dnf do not support distroverpkg option to detect $relasever value.
Instead, it looks for a various packages, starting with
'system-release(releasever)', then 'system-release' and
'redhat-release'.
Until Fedora 29's dnf it took package version for $releasever value, but
starting with Fedora 29 it takes Provides value instead (it looks like
that code was in place before already, but for some reason it didn't worked).
Both 'redhat-release' and 'system-release' are set to base Fedora
version and needs to stay this way to satisfy Fedora's packages
dependencies. This means, $releasever was set to base Fedora version,
not Qubes version, which breaks repository urls.
Add 'system-release(releasever)' (which is checked first) with Qubes
version to solve this problem.

Fixes QubesOS/qubes-issues#4477
2018-11-12 23:33:15 +01:00
Frédéric Pierret (fepitre)
117aba7e94 anaconda: fix patch description related to coreboot and encrypted boot 2018-11-10 19:54:09 +01:00
Marek Marczykowski-Górecki
2d52be2815
lorax-templates-qubes 4.0.5 2018-11-03 03:06:42 +01:00
Marek Marczykowski-Górecki
9b4483caa7
lorax-templates-qubes: use only explicit kernel-qubes-vm packages
Don't include all kernel-qubes-vm packages from qubes-dom0 repo, only
those explicitly placed in dom0-updates repo.
Also, do not include a copy of the newest one.
2018-11-03 03:06:12 +01:00
Marek Marczykowski-Górecki
55877f867c
anaconda 25.20.9-14, lorax-templates-qubes 4.0.4, qubes-anaconda-addon 4.0.9, qubes-release 4.0-6 2018-11-02 16:13:48 +01:00
Marek Marczykowski-Górecki
9252e8c6c0
qubes-anaconda-addon: set fedora-29 template as default one 2018-11-02 15:53:37 +01:00
Marek Marczykowski-Górecki
ef12e69789
qubes-release: install fedora-29 template by default 2018-11-02 15:53:18 +01:00
Marek Marczykowski-Górecki
a7f17acd13
anaconda: fix partition requirements setup
Removing elements from a list while iterating over it cause some
elements to be missed. Specifically, this caused /boot/efi to be skipped
and left unmodified.

Fix that by iterating over list copy.

Fixes QubesOS/qubes-issues#3224
2018-10-30 04:13:27 +01:00
Marek Marczykowski-Górecki
558bd2612a
Merge remote-tracking branch 'origin/pr/27'
* origin/pr/27:
  anaconda: autoreconf before configure as configure.ac is modified and autogen.sh is not present anymore
  anaconda: update spec with autosetup
  anaconda: switch to source + patches
2018-10-23 03:47:21 +02:00
Frédéric Pierret (fepitre)
1f93381780
anaconda: autoreconf before configure as configure.ac is modified and autogen.sh is not present anymore 2018-10-21 12:54:49 +02:00
Frédéric Pierret (fepitre)
799adbc2f7
anaconda: update spec with autosetup 2018-10-21 12:54:49 +02:00
Frédéric Pierret (fepitre)
ced2bf05a8
anaconda: switch to source + patches 2018-10-21 12:54:49 +02:00
Marek Marczykowski-Górecki
116bbc6a34
lorax-templates-qubes: use qubes kernel during installation
Don't try to install kernel-modules-extra, which force Fedora's kernel.
Qubes kernel package is not split into several packages.
Also, don't install gfs2-utils (not needed in Qubes case) which is said
to pull kernel-debuginfo package.

Fixes QubesOS/qubes-issues#3784
2018-09-30 22:31:04 +02:00
Marek Marczykowski-Górecki
8ed5c0ae4c
lorax-templates-qubes 4.0.3, qubes-anaconda-addon 4.0.8, qubes-release 4.0-5 2018-09-17 15:40:39 +02:00
Marek Marczykowski-Górecki
4b8129a9c2
travis: don't build code-signing only tags 2018-09-16 03:41:10 +02:00
Marek Marczykowski-Górecki
2f3063da20
lorax-templates-qubes: break the build if efiboot.img is too big
Break the build instead of producing broken boot image.
2018-09-16 03:40:12 +02:00
Marek Marczykowski-Górecki
938578c2b2
anaconda: add smt=off xen option during installation
Defaults set during package installation do not apply, as booloader
configuration doesn't exist at that stage yet.

Reported by @rustybird
QubesOS/qubes-issues#4252
2018-09-11 05:15:22 +02:00
Marek Marczykowski-Górecki
b0fa5381c1
qubes-anaconda-addon: fix checking for versioned whonix templates
Use '*' in package name. This require using rpm -qa (instead of rpm -q).
In this case, checking exit code doesn't work, we need to check if any
package was actually listed.
2018-09-11 05:07:38 +02:00
Marek Marczykowski-Górecki
fa2ad03b0b
qubes-release: fix fedora repositories
Don't rely on legacy mirrorlist -> metalink automatic conversion.

Fixes QubesOS/qubes-issues#4090
2018-09-10 15:16:34 +02:00
Marek Marczykowski-Górecki
88e43486b8
qubes-release: drop https from onion urls
Tor already provide encryption and authentication, we don't run https on
onion services.
2018-09-06 19:17:43 +02:00
0brand
53ec55a386
Comments to use qubes onion repository 2018-09-03 23:42:32 +02:00
0brand
f6e0d1e5e8
Comments to use qubes onion repository 2018-09-03 23:42:32 +02:00
Marek Marczykowski-Górecki
dc6f87461c
Update for Whonix 14 templates 2018-08-07 01:28:31 +02:00
Marek Marczykowski-Górecki
cb4a19ffcf
qubes-release 4.0-4, qubes-anaconda-addon 4.0.7 2018-07-15 20:51:58 +02:00
Marek Marczykowski-Górecki
217d223667
qubes-release: use metalinks for qubes repositories
This enables use of different mirrors. Specifify fastestmirror=1
explicitly for templates repository, as it has the biggest impact there.

QubesOS/qubes-issues#3935
2018-07-15 20:47:34 +02:00
Marek Marczykowski-Górecki
84717259ce
travis: use templates testing repositories 2018-07-15 16:15:34 +02:00
Marek Marczykowski-Górecki
21eb21b07d
qubes-release: add template testing repositories
Have them disabled by default.

QubesOS/qubes-issues#3935
2018-07-14 00:32:45 +02:00
Marek Marczykowski-Górecki
2c79b96c40
qubes-anaconda-addon, conf: update to Fedora 28 template
QubesOS/qubes-issues#4013
2018-07-13 17:30:00 +02:00
Marek Marczykowski-Górecki
cd7de5b1a6
qubes-release 4.0-3, anaconda 25.20.9-13 2018-07-03 21:13:52 +02:00
Marek Marczykowski-Górecki
017018b38e
anaconda: mark 'qubes' user name as reserved
'qubes' group is used internally, but useradd want to create a new group
named as new user, so 'qubes' user name should also be avoided.

Fixes QubesOS/qubes-issues#3777
2018-06-28 04:58:21 +02:00
Marek Marczykowski-Górecki
e572efedd4
anaconda: fix root password dialog
Properly save 'lock' state. Previously if it was unchecked, new password
was saved, but remained locked.

Fixes QubesOS/qubes-issues#3327
2018-06-28 04:47:15 +02:00
Marek Marczykowski-Górecki
806f2bc137
anaconda: save keyboard layout to udev
Xorg loads keyboard layout for new devices (or existing one re-detected)
only from its config, ignoring runtime changes done in the meantime
(setxkbmap etc). Since installation process calls udevadm trigger
somewhere, all input devices are re-discovered and reverted to default
keyboard layout (us). Avoid this by configuring current keyboard layout
also as udev rules, which are loaded by Xorg while discovering device.

Fixes QubesOS/qubes-issues#3352
2018-06-27 17:46:57 +02:00
Marek Marczykowski-Górecki
7d5bb6ff81
qubes-release: schedule keys import after update
It isn't possible to import rpm signing keys during update, because
rpm itself holds a lock. Schedule the operation after update using
systemd-run.

Fixes QubesOS/qubes-issues#3756
2018-05-30 04:04:59 +02:00
Andrew David Wong
f6bfe11ab8
Fix System Requirements URL and typo in hardware warnings
Fixes QubesOS/qubes-issues#3932
Related to QubesOS/qubes-issues#3208
2018-05-27 13:29:13 -05:00
Frédéric Pierret
2093dd1d78
Move comps-qubes.xml to qubes-release 2018-05-14 12:38:22 +02:00
Frédéric Pierret
bd0e0d5659
Support Mock based build 2018-05-14 12:38:22 +02:00
Marek Marczykowski-Górecki
92923cc453
qubes-release 4.0-2 2018-04-22 00:32:20 +02:00
Marek Marczykowski-Górecki
512af4bf76
qubes-release: switch qubes-dom0 repositories to https
This is needed for more reliable updates over tor, and also gives some
more privacy.

Fixes QubesOS/qubes-issues#3737
2018-04-22 00:30:45 +02:00
Marek Marczykowski-Górecki
0cc9f141ed
anaconda 25.20.9-12, qubes-release 4.0-1 2018-03-28 04:36:34 +02:00
Marek Marczykowski-Górecki
9d41b135ed
qubes-release: update release notes 2018-03-28 04:35:21 +02:00
Marek Marczykowski-Górecki
7c67b93468
anaconda: avoid adding duplicated kernel entries
List kernel versions without duplicates, even when there are multiple
files related to the same kernel version.
Duplicated kernel versions here caused regenerating initramfs multiple
times and duplicated entries in xen.cfg.

QubesOS/qubes-issues#3624
2018-03-28 02:46:58 +02:00
Marek Marczykowski-Górecki
f452cca502
Add ucode=scan to default Xen command line
Try to update microcode as early as possible if provided.
This option will scan all multiboot modules besides dom0 kernel. In our
case this is perfect - there is only one other module and it is
initramfs which have microcode early cpio prepended.

QubesOS/qubes-issues#3703
2018-03-21 03:29:28 +01:00
Marek Marczykowski-Górecki
f466747949
anaconda: enable discard option for dom0 filesystems by default
This may have performance impact on some older SSD, but on the other
hand, without this option it's pretty easy to fill the whole LVM thin
pool even if there is plenty free space in dom0.
Note that this doesn't enable it on LUKS layer, this is still disabled
by default.

Fixes QubesOS/qubes-issues#3226
2018-03-21 03:29:21 +01:00
Marek Marczykowski-Górecki
38fdf4bbe3
blivet 2.1.6-5, anaconda 25.20.9-11, lorax-templates-qubes 4.0.2, qubes-anaconda-addon 4.0.6 2018-03-04 02:40:17 +01:00
Marek Marczykowski-Górecki
3cc0b2fb56
qubes-anaconda-addon: require new enough qubes-mgmt-salt-dom0-virtual-machines
The one using pillar for setting combined sys-usb + sys-net.
2018-03-04 02:31:15 +01:00
Marek Marczykowski-Górecki
425a82ed2e
qubes-anaconda-addon: adjust usbvm setup to simplified states
Don't use separte state for combined sys-net+sys-usb. Instead, use
pillar to adjust sys-usb state.

QubesOS/qubes-issues#3516
2018-03-02 20:55:43 +01:00
Marek Marczykowski-Górecki
e83c0b4edc
Merge branch 'travis-full'
* travis-full:
  travis: disable unit tests during full ISO build
  travis: switch to ukfast mirror
  travis: ignore groups from online repositories
  travis: build full ISO, including templates
  Add config with templates repositories included
2018-02-27 13:35:38 +01:00
Marek Marczykowski-Górecki
fbc011f01c
anaconda: use proper subvolume argument when booting from btrfs (EFI)
Kernel command line in legacy mode is constructed by grub scripts and
properly handle btrfs subvolumes. For EFI, it is built directly by
anaconda and 'rootflags=subvol=...' argument need to be added manually.

Fixes QubesOS/qubes-issues#1871
2018-02-27 04:52:24 +01:00
Marek Marczykowski-Górecki
7dbbe7c5c4
Merge remote-tracking branch 'qubesos/pr/20'
* qubesos/pr/20:
  Fix macOS EFI Installation
2018-02-26 01:04:06 +01:00
Marek Marczykowski-Górecki
e93f5fe216
travis: disable unit tests during full ISO build
Save some time - especially those in pykickstart are time consuming. And
we need to fit in 50min available on Travis-CI - currently the build is
very close to that limit (most times on the wrong side of it).
2018-02-24 19:59:43 +01:00
Marek Marczykowski-Górecki
8c28205eba
travis: switch to ukfast mirror 2018-02-24 16:14:30 +01:00
Marek Marczykowski-Górecki
e810ec8bb0
travis: ignore groups from online repositories
Use only those from locally generated one, to guarantee usage up to date
comps.xml
2018-02-24 15:04:11 +01:00
Marek Marczykowski-Górecki
3d54b98be9
travis: build full ISO, including templates
Such ISO could be used for further tests, in contrary to the previous
one which had no templates.
2018-02-24 14:36:10 +01:00
Marek Marczykowski-Górecki
e63d2d179f
Add config with templates repositories included
This allows performing full ISO build without building any component
locally.
2018-02-24 14:34:29 +01:00
Marek Marczykowski-Górecki
735ce70dc9
Apply upstream fix for AttributeError in fsminsize
Fixes QubesOS/qubes-issues#3050
2018-02-24 12:10:23 +01:00
Marek Marczykowski-Górecki
3a93e8a2bb
lorax-templates-qubes: don't fail when no extra kernel is selected
It should be possible to build the ISO with just one kernel from
repository, instead of locally built.
2018-02-24 05:06:25 +01:00
Marek Marczykowski-Górecki
ad42bdc95b
Update kernel parameters for i915.preliminary_hw_support -> i915.alpha_support
This option has been renamed in kernel 4.10.
2018-02-24 03:58:40 +01:00
Eric Duncan
1c57cfd615
Fix macOS EFI Installation
Typical GRUB2 installations would execute the script
located at /usr/libexec/mactel-boot-setup which would
modify the HFS+ ESP files and bless the specified efi.
However, we are not using GRUB at this time which would
cause that script to exit earlier.

These changes will execute the relevant commands
to symlink the efi file in the /System directory as well
the cfg file.  Lastly, macOS requires the bootable efi
file to be blessed.

We also attempt to place some user-friendly icons
for Qubes to show to the user.

Lastly, we add a README with some instructions on how
to get into rescue mode from macOS.
2018-02-20 10:52:57 -05:00
Marek Marczykowski-Górecki
13dcbb4c15
anaconda 25.20.9-10, lorax-templates-qubes 4.0.1-1, qubes-anaconda-addon 4.0.5-1 2018-01-30 06:07:19 +01:00
Marek Marczykowski-Górecki
9b80ceeda6
lorax-templates-qubes: include additional VM kernels on the image
HVM suspend is broken in 4.14.13, on some machines. Lets ease using 4.9
for them.
2018-01-30 06:06:41 +01:00
Marek Marczykowski-Górecki
9b4568310b
qubes-anaconda-addon: fix kernel version sorting
Use proper version comparing instead of string comparing - 4.14 is newer
than 4.9...
2018-01-30 06:06:40 +01:00
Marek Marczykowski-Górecki
ae8b332ca8
lorax-templates-qubes: boot xen.efi directly, bypass grub
Grub cause problems while loading xen.efi on many machines, mostly
because xen.efi support loading dom0 kernel and initramfs only via EFI
services and xen.efi needs to be loaded through them too. But grub in
some cases uses own filesystem handling code instead, leaving xen.efi
without dom0 kernel.

This should improve when xen.efi will get multiboot2 support (Xen 4.10?)
- then grub could load dom0 kernel and initramfs too and pass them to
xen.efi.

For now, bypass grub and launch xen.efi directly. This have unfortunate
effect of not having boot menu, so choose the most universal option:
verbose, with all known workarounds for UEFI applied.

Fixes QubesOS/qubes-issues#3505
2018-01-30 06:06:40 +01:00
Marek Marczykowski-Górecki
3791fd7c5e
anaconda: fix interrupt remapping detection 2018-01-27 12:44:11 +01:00
Marek Marczykowski-Górecki
3c71ef6c1e
qubes-anaconda-addon 4.0.4, anaconda 25.20.9-9 2018-01-20 03:36:09 +01:00
Marek Marczykowski-Górecki
d2c98e2907
Revert "qubes-anaconda-addon: initialize default-fw-netvm"
This reverts commit 3001440fff.

The property is gone.
2018-01-20 03:34:49 +01:00
awokd
ad159228e9
conf, qubes-anaconda-addon: switch templates to fedora-26 and debian-9
(cherry picked from commit a1cda1d705)
2018-01-16 01:55:46 +01:00
Marek Marczykowski-Górecki
3b4a02cc26
anaconda: fix default scheme in custom partitioning
Update to LVM Thin Provisioning there too.

Fixes QubesOS/qubes-issues#3225
2018-01-15 01:20:18 +01:00
Marek Marczykowski-Górecki
a09af2b727
anaconda 25.20.9-8 2017-12-23 03:21:55 +01:00
Martin Kolman
fa4d491f88
Remove in-memory kickstart representation from traceback file (#1519895)
We have been doing this filtering already, but some paths have likely
changed and the filter was no longer effective.

So add two new filter strings:
"_intf.storage.ksdata"
"_intf.data"

After adding these two I was no longer able to find the plaintext password
anywhere in the traceback after manually triggering a crash with:

kill -USR1 `cat /var/run/anaconda.pid`

Resolves: rhbz#1519895
2017-12-23 03:21:11 +01:00
Marek Marczykowski-Górecki
7489992ddd
anaconda: check also for message about AMD interrupt remapping
Fixes QubesOS/qubes-issues#3208
2017-12-07 00:43:02 +01:00
Marek Marczykowski-Górecki
ca85026ffd
anaconda: update message about unusupported hardware
Advise to not continue.

Fixes QubesOS/qubes-issues#3208
2017-12-03 02:23:05 +01:00
Marek Marczykowski-Górecki
7272063fa4
lorax-templates-qubes 4.0.0-1 2017-11-21 13:49:26 +01:00
Marek Marczykowski-Górecki
9da8bf76e6
lorax-templates-qubes: do not remove libgstallocators needed by yelp 2017-11-21 13:08:17 +01:00
Marek Marczykowski-Górecki
d323fdb456
qubes-release 4.0-0.4 2017-11-21 05:15:48 +01:00
Marek Marczykowski-Górecki
95ad8d4029
qubes-release: add R4 unstable key 2017-11-03 22:08:57 +01:00
Marek Marczykowski-Górecki
20fafe74f8
comps: include libvirt-client by default
It greatly ease debugging.
2017-10-30 13:56:23 +01:00
Marek Marczykowski-Górecki
774bd5169f
qubes-anaconda-addon 4.0.3 2017-10-21 01:54:12 +02:00
Marek Marczykowski-Górecki
3001440fff
qubes-anaconda-addon: initialize default-fw-netvm
It should be set to default netvm for proxy VMs: sys-net.

Reported by @adrelanos
Fixes QubesOS/qubes-issues#3190
2017-10-20 02:57:54 +02:00
Marek Marczykowski-Górecki
e725ddfe41
comps: drop non-existing qubes-core-dom0-doc package
It was merged into qubes-core-dom0
2017-10-20 02:55:40 +02:00
Marek Marczykowski-Górecki
e9a09bd61f
anaconda 25.20.9-7, qubes-anaconda-addon 4.0.2, qubes-release 4.0-0.3 2017-10-09 00:04:51 +02:00
Marek Marczykowski-Górecki
a97c7a8422
qubes-release: update release notes 2017-10-08 20:49:29 +02:00
Marek Marczykowski-Górecki
4173bbbfb5
qubes-release: remove old Fedora keys 2017-10-08 20:45:49 +02:00
Marek Marczykowski-Górecki
c9c3d3896b
qubes-anaconda-addon: adjust option for routing updates through tor
Previously the option was described "Route applications traffic and
updates through Tor anonymity network". This isn't fully accurate
description, and also we decided it's better to provide an option for
routing just updates, not everything.
Also, remove 'experimental' tag.

Fixes QubesOS/qubes-issues#2604
2017-10-07 03:57:54 +02:00
Marek Marczykowski-Górecki
c834daa176
anaconda: make sure the latest version is placed as xen.efi
os.listdir returns files in filesystem order, not sorted.

QubesOS/qubes-issues#2990
2017-09-21 22:10:04 +02:00
Freddie Rice
e3a4a46958
xen.efi upgraded during each install 2017-09-20 12:59:09 -04:00
Marek Marczykowski-Górecki
1c18b82b5e
pykickstart 2.32-4, lorax-templates-qubes 3.2.4-1, qubes-release 4.0-0.2 2017-09-15 05:35:53 +02:00
Marek Marczykowski-Górecki
011fdd74b3
qubes-release: Add Qubes 4.0 community templates signing key 2017-09-14 11:44:32 +02:00
Marek Marczykowski-Górecki
e12094a910
lorax-templates-qubes: remove unneded parts of xen-runtime 2017-09-13 12:26:16 +02:00
Marek Marczykowski-Górecki
159a3fb2dd
pykickstart: fix str/bytes format string in error message 2017-09-13 03:08:04 +02:00
Marek Marczykowski-Górecki
fbd48c789f
anaconda 25.20.9-6 2017-09-12 04:20:54 +02:00
Marek Marczykowski-Górecki
63043751a5
anaconda: consider Interrupt Remapping as required feature
QubesOS/qubes-issues#2977
2017-09-12 04:20:25 +02:00
Marek Marczykowski-Górecki
6b77cb5ae4
anaconda: don't crash when no target disk is available
self.storage.root_device may be None in such case.
Instead, allow proper reporting that no space is available.
2017-09-05 04:18:11 +02:00
Marek Marczykowski-Górecki
b8ceee513f
anaconda: generate proper extlinux.conf
Fixes QubesOS/qubes-issues#2902
2017-09-05 04:18:10 +02:00
Marek Marczykowski-Górecki
696bd4ccf3
anaconda: check for virtualization features
Warn if the hardware lack features required for proper Qubes OS
operation.

Fixes QubesOS/qubes-issues#2977
2017-09-05 04:18:10 +02:00
Marek Marczykowski-Górecki
2d3405de9a
anaconda: abort installation on X startup fail
Do not fallback to text mode, which cannot property install the system
without kickstart file (missing LUKS passphrase prompt).

Fixes QubesOS/qubes-issues#2996
2017-09-04 02:11:01 +02:00
Marek Marczykowski-Górecki
48c6983b29
qubes-anaconda-addon: use qvm-default-dispvm state
Migrate settings up fedora-25-dvm to salt state, same as for other VMs

QubesOS/qubes-issues#2975
2017-08-09 04:20:46 +02:00
Marek Marczykowski-Górecki
fabc05e58e
Fix comps syntax
Fix aa9ea0f comps: add description to groups
2017-07-30 16:08:25 +02:00
Marek Marczykowski-Górecki
aa9ea0f301
comps: add description to groups 2017-07-30 15:42:55 +02:00
Marek Marczykowski-Górecki
594e3d9270
blivet: set epoch=2 (2:2.1.6-4) 2017-07-30 03:30:25 +02:00
Marek Marczykowski-Górecki
285a218ed7
blivet: backport rhbz#1170803 fix
It disable fsck for all partitions call.

Fixes QubesOS/qubes-issues#2835
2017-07-30 03:30:24 +02:00
Marek Marczykowski-Górecki
3acd47647e
blivet: import unmodified python-blivet-2.1.6-4.fc25.src.rpm
Ok, mostly: add integration with qubes-builder.

QubesOS/qubes-issues#2835
2017-07-30 03:30:24 +02:00
Marek Marczykowski-Górecki
dd10d189a2
conf: update qubes-desktop-linux-manager package name 2017-07-29 16:41:02 +02:00
Marek Marczykowski-Górecki
adc2ffb5ed
qubes-anaconda-addon 4.0.1 2017-07-18 05:06:01 +02:00
Marek Marczykowski-Górecki
8d2f8b2d2c
qubes-anaconda-addon: fix setting default DispVM
Also hide it from application menu.

Fixes QubesOS/qubes-issues#2911
2017-07-18 05:05:17 +02:00
Marek Marczykowski-Górecki
5df7f6364e
comps: include new manager, decomposited into tray applets
This is only part of it, about tray applets (VMs, devices).

QubesOS/qubes-issues#2132
2017-07-06 00:09:07 +02:00
Marek Marczykowski-Górecki
da9aa47b29
anaconda 25.20.9-5, pungi 4.1.14-2, qubes-anaconda-addon 4.0.0-1 2017-07-05 15:57:25 +02:00
Marek Marczykowski-Górecki
e0d30d499f
anaconda: disable iommu for IGFX
Many Intel processors (and BIOSes) have invalid IOMMU configuration for
IGFX, which cause multiple problems - from screen glitches, to system
hang.
Since IGFX currently is still in dom0 (isn't isolated from other system
components), disabling IOMMU for it doesn't lower overall security.
When GUI domain will be implemented, we need to re-enable IOMMU here and
hope hardware manufacturers will fix it in the meantime.

Fixes QubesOS/qubes-issues#2836
2017-06-14 05:07:13 +02:00
Marek Marczykowski-Górecki
4f8e2227e5
qubes-anaconda-addon: enable USB VM by default and drop 'experimental'
Fixes QubesOS/qubes-issues#2665
2017-06-14 05:04:34 +02:00
Marek Marczykowski-Górecki
d8d9ac96ac
anaconda: re-enable graphical.target as default target
Workaround for https://bugzilla.redhat.com/1316387 (systemctl preset-all
disables but wont enable default.target).

QubesOS/qubes-issues#2412
2017-05-31 04:33:58 +02:00
Marek Marczykowski-Górecki
493119be7b
qubes-anaconda-addon: drop --force-root option
It isn't needed anymore and will be dropped in the future.
Also use qvm-start directly, instead of (soon to be removed) qubes-netvm
service.

QubesOS/qubes-issues#2412
2017-05-31 02:26:18 +02:00
Marek Marczykowski-Górecki
3c4127b445
qubes-anaconda-addon: update Disposable VM preparation code
We don't have to create savefile anymore, create normal AppVM and set
dispvm_allowed=True on it.

QubesOS/qubes-issues#2412
2017-05-31 02:25:01 +02:00
Marek Marczykowski-Górecki
7104af5daa
qubes-anaconda-addon: set default kernel
Since qubesd isn't running package kernel-qubes-vm package installation
time, this needs to be done here.

QubesOS/qubes-issues#2412
2017-05-31 02:24:06 +02:00
Marek Marczykowski-Górecki
1a527e5d05
qubes-anaconda-addon: update templates post-processing code
There is qvm-template-postprocess tool for this now.

QubesOS/qubes-issues#2412
2017-05-31 02:23:54 +02:00
Marek Marczykowski-Górecki
a9724c8580
qubes-anaconda-addon: change default template to fedora-25
QubesOS/qubes-issues#2412
2017-05-31 02:22:14 +02:00
Marek Marczykowski-Górecki
2513fd437c
comps: include qubes-desktop-linux-common package
QubesOS/qubes-issues#2412
2017-05-31 02:21:16 +02:00
Marek Marczykowski-Górecki
91452da75b
pungi: remove libguestfs-tools-c from dependencies
It pulls a lot of stuff related to KVM, and also conflicting version of
xen packages.

QubesOS/qubes-issues#2412
2017-05-30 00:29:04 +02:00
Marek Marczykowski-Górecki
0d268f7a27
anaconda: switch default partitioning scheme to LVM Thin Provisioning
QubesOS/qubes-issues#2412
2017-05-30 00:28:10 +02:00
Marek Marczykowski-Górecki
8873d4b659
lorax-templates-qubes: sync with upstream
Apply 25.17-1..25.19-1.

QubesOS/qubes-issues#2412
2017-05-30 00:27:03 +02:00
Marek Marczykowski-Górecki
f9bb3b2f33
lorax-templates-qubes: make initrd for EFI smaller
Skip system-wide dracut config, specifically
/etc/dracut.conf.d/plymouth-missing-fonts.conf, which loads 'label'
plymouth plugin, which in turn pulls a lot of libraries (including
libX11).

QubesOS/qubes-issues#2412
2017-05-29 04:17:18 +02:00
Marek Marczykowski-Górecki
6fcd77bf99
lorax 25.19-1 2017-05-28 22:37:41 +02:00
Marek Marczykowski-Górecki
d16d79cdce
pungi 4.1.14-1 2017-05-28 22:31:02 +02:00
Marek Marczykowski-Górecki
a89358e556
pykickstart: import build "fix" from upstream
QubesOS/qubes-issues#2412
2017-05-28 22:07:25 +02:00
Marek Marczykowski-Górecki
6d2960e25a
pykickstart: remove unused patches 2017-05-28 13:00:26 +02:00
Marek Marczykowski-Górecki
6dd74f372c
comps: include Fedora 25 template by default 2017-05-23 02:29:05 +02:00
Marek Marczykowski-Górecki
040e22f8d0
comps: update based on upstream comps
In practice it's mostly about updating translations. But there are also
few differences in packages - for example optional fonts.
Also, remove "whiteout" section (as in upstream version).
2017-05-23 02:27:11 +02:00
Marek Marczykowski-Górecki
4d30b41c1d
comps: sort groups
Sort groups by id, and also sort packages inside groups. This will make
diffs more readable, especially when syncing with upstream.
2017-05-23 02:04:23 +02:00
Marek Marczykowski-Górecki
f1c844098a
Merge remote-tracking branch 'qubesos/pr/13'
* qubesos/pr/13:
  Remove coreboot detection, add skip_grub parameter
2017-05-05 21:30:49 +02:00
Rusty Bird
62cb1ca1e6
Remove coreboot detection, add skip_grub parameter
And unconditionally allow boot encryption and the lvmlv format.
(The user still has to fight the installer to actually set it up.)

Fixes QubesOS/qubes-issues#2553
2017-05-01 11:47:57 +00:00
Marek Marczykowski-Górecki
211f3a3638
lorax-templates-qubes: do not limit to qubes kernels only
Upstream kernel packages works too. But in any case, it isn't place to
choose it - if one want to have specific kernel version, need to
configure appropriate repositories (including 'exclude' option).
2017-04-09 01:46:14 +02:00
Marek Marczykowski-Górecki
4e725c1506
lorax-templates-qubes: create basic /dev files in installation image
`rpm -qa` needs /dev/urandom
2017-04-09 01:05:59 +02:00
Marek Marczykowski-Górecki
9bfd80c658
qubes-release-4.0-0.1 2017-04-08 13:50:44 +02:00
Marek Marczykowski-Górecki
4d086229fa
qubes-release: Add Qubes 4.x release signing key 2017-04-08 13:48:37 +02:00
Marek Marczykowski-Górecki
7f0c64b0bc
travis: switch to fc25 based dom0 and to 4.0 repos
QubesOS/qubes-issues#2574
2017-04-08 13:40:06 +02:00
Marek Marczykowski-Górecki
d78bec7bcb
Merge branch 'fedora-25' 2017-04-08 13:35:03 +02:00
Wojtek Porczyk
7b424ec65f
Makefile: download live-only sources just for ISO_LIVEUSB
When building not for ISO_LIVEUSB, the sources are not downloaded.
Liveusb build is broken anyway, but the upstream mirror is gone.
2017-03-02 19:37:54 +01:00
Rusty Bird
63606ac179
Add missing cvs dependency 2017-02-22 16:51:36 +00:00
Marek Marczykowski-Górecki
e7c62e4463
qubes-release: import RPM keys at the end of installation.
Wait with this to the end, to make sure that all keys will be imported
and also have all required tools (gpg, rpmkeys etc) in place. We can't
add them as dependencies, because qubes-release package needs to be
installed very early.

QubesOS/qubes-issues#2574
2017-02-14 02:37:52 +01:00
Marek Marczykowski-Górecki
d706bb5d31
lorax-templates-qubes: provide dummy /proc/modules for dracut
Updated dracut don't like not having /proc/modules - modules
installation routines fails then, producing initramfs without kernel
modules at all. Empty /proc/modules is enough to avoid this.

QubesOS/qubes-issues#2574
2017-02-14 02:37:52 +01:00
Marek Marczykowski-Górecki
9109005ff1
anaconda: require user password being set
Drop selectable option 'Require a password to use this account'. Make it
required.

QubesOS/qubes-issues#2574
2017-02-14 02:37:52 +01:00
Marek Marczykowski-Górecki
242d6b54c3
Drop initial-setup-launcher
It isn't needed anymore - upstream initial-setup handle text/GUI mode
itself.

QubesOS/qubes-issues#2574
2017-02-14 02:37:52 +01:00
Marek Marczykowski-Górecki
378cfc44dd
anaconda: update Qubes-specific code to upstream base
QubesOS/qubes-issues#2574
2017-02-14 02:37:51 +01:00
Marek Marczykowski-Górecki
16b7346023
makefile: keep whole 'work' directory
Don't remove most of it - it's useful for diagnostics - for example
'logs' subdir.
2017-02-14 02:37:51 +01:00
Marek Marczykowski-Górecki
cee60f040e
anaconda: add missing build dep
QubesOS/qubes-issues#2574
2017-02-14 02:37:51 +01:00
Marek Marczykowski-Górecki
2f6d43569e
lorax-templates-qubes: update based on new upstream version
QubesOS/qubes-issues#2574
2017-02-14 02:37:51 +01:00
Marek Marczykowski-Górecki
69b059f8a5
lorax: update patches for 25.17 version
QubesOS/qubes-issues#2574
2017-02-14 02:37:50 +01:00
Marek Marczykowski-Górecki
60b9d4fb25
pykickstart: build fix in non-devel environemnt
translation-canary/xgettext_werror.sh wrapper isn't part of official
tarball - probably some local developer's script.

QubesOS/qubes-issues#2574
2017-02-14 02:37:50 +01:00
Marek Marczykowski-Górecki
3b5f45226a
lorax 25.17-4 2017-02-14 02:37:50 +01:00
Marek Marczykowski-Górecki
8f761bdc2d
pungi 4.1.10-1 2017-02-14 02:37:48 +01:00
Marek Marczykowski-Górecki
09fe615eb8
pykickstart 2.23-3 2017-02-14 02:37:43 +01:00
Marek Marczykowski-Górecki
6bc5671491
anaconda: update to 25.20.9-1
Apply:
  git diff --full-index --binary anaconda-23.19.10-1..anaconda-25.20.9-1

And resolve conflicts.

QubesOS/qubes-issues#2574
2017-02-14 02:36:20 +01:00
Marek Marczykowski-Górecki
725500159c
conf: switch repositories to Fedora 25
QubesOS/qubes-issues#2574
2017-02-14 02:36:07 +01:00
Marek Marczykowski-Górecki
72970c3c10
qubes-release: add Fedora 25 key
QubesOS/qubes-issues#2574
2017-02-14 02:35:47 +01:00
Marek Marczykowski-Górecki
93b0a69ba4
Remove obsolete 'keys' dir 2017-01-09 01:57:59 +01:00
Marek Marczykowski-Górecki
72911158da
Merge remote-tracking branch 'qubesos/pr/10'
* qubesos/pr/10:
  Make prompt reflect actual VMs to be created
2017-01-04 23:27:51 +01:00
Jean-Philippe Ouellet
3747bca7ba
Make prompt reflect actual VMs to be created 2016-12-21 21:00:28 -05:00
Marek Marczykowski-Górecki
49f6d9c819
qubes-anaconda-addon: adjust options for qvm-prefs/qubes-prefs
QubesOS/qubes-issues#2412
2016-11-02 22:25:54 +01:00
Marek Marczykowski-Górecki
32531edb26 Tag for commit 355e8d032e
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJX/ybLAAoJEOfkVQE9BC6h/xUP/RjLRJTC/M+YSO1LYXzCaStS
 6SQggBxRhb1YRLyGHNSIkQNFsMSHmhlmqpOl16ULdiknOONpXnUyZm1xJmrHRui5
 RJqYRBL80uIcI0uGciVc73AO3D2c9yI/sUg8dBdyn0RNigBfirdxj7wzbbC88bwI
 zYb6n/QuVHO27M4ADB4y1s6ZzPFZbQL8et1ZpUUPsX/ChbA30fLwSdFvZyPMGPcg
 UURfDV+Mtarsu6nn4FMW6yvydvCsbuyp73zOsdfaWp+NtGB5Vna/poKpBog21SYQ
 t6RLAJDpGbFcOxCOoa+/UWXTrle5PGihvR+ulwFHcuLop1nUgydwcpxYv2JSHCOE
 eQRWAjGOUIcytO32ubbfRa6MqHjdX/lhO2NGCZsuz5ymuuWQdPEcmH7+Mg+kI5k+
 3wVJ+Ug75/c0wJ6AH7+YI0rp3rJq7HVYOBM/kpxIV6RXEL+8ICLujDBVAoNzvLqb
 fnhPGYo6nai2vWt1K88vWiXiEoYRRhdoVmsELOlU9FI4K0ohCJxlS9GXU/xAOFHK
 6LcmmWOSytaMEcza7iwNG0MGtai3hgbDfV74YWSTh2A3QFjiRLNMZkqlPffkgLKM
 R3bl8+x5Hh1h38jJPrCXaD0xU9iNsnM+PmSNHmB69zDxxhaBZ830HNYnjxWTDJxK
 zAZCdIAb91nNhiW5sLOu
 =igp8
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJYBSEYAAoJEAY5OLpCz6ckXUkP/3BoC8DIN3W9PRr7PSNA1cbY
 WzGbrAFwg35iPH6kc8AlMsdKe5jYILHXUdjfZn1t/uvkPViFTj5sRO4AoImbv1/I
 nOP/vI5qB/p11R+Qi3JM4In72a7WdfvrLFN/HyLe0ohcs/wNo7w+Vj1Pl+AsbQ/c
 gTWe3+zFOjMCyGd7XeEl6NEhN8NMOkXsX4SXVxXcO0kSV32IGHQ2+zF59rbVLL0b
 jxSVqFywn9V9reTI0XEewdHSlSPpz3VthzeGyZgpcBKYTuTFhibyd5Nt0Rlm497D
 QotANeVP8BISUzpB3bULFUhHuEwCxf17HgryJSw9gH/qfTmddsC7G9XPhEgId+li
 XHPNp7Myh+mvjDXnStBd1uXGID5iCiU68YA9/40+slSJyy2dnBC5qhjySTIxZxeR
 xscqdPAUDz2BZrG0lj8Y6ZnDqRfBDaDW6H/09mIGJLSSXwsteKfyNnT4AAULmktI
 NCayToaZDDFDFJ2kQwGs+h/dnmRvh9d81sZLhVHcNzOxXxS6XzHAFrJ23/Ysb6Cx
 vt+IIsraqLGNuqTikxLpv5++hSCd8DKoN58mMeYkVcve6CL8ewXIZcoFula/FREv
 GKoLvPfTvmHYwEI4ZI3D4DTDffLKPR9psd1YKfbRhYg9SQ7SVCVswgjZ38IXWuU0
 zXoid7UavGgt2bIGUQOK
 =Lu40
 -----END PGP SIGNATURE-----

Merge tag 'jpo_g355e8d0'

Tag for commit 355e8d032e

# gpg: Signature made Thu 13 Oct 2016 08:16:43 AM CEST using RSA key ID E7E455013D042EA1
# gpg: Good signature from "Jean-Philippe Ouellet (Temporary Qubes OS signing key) <jpo@vt.edu>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: E6B7 1EE7 0211 437B 12D4  A49B E7E4 5501 3D04 2EA1
2016-10-17 21:06:00 +02:00
Jean-Philippe Ouellet
355e8d032e comps: install xorg-x11-drv-libinput by default
Libinput has superior input handling than default synaptics drivers.

Fixes https://github.com/QubesOS/qubes-issues/issues/2375
2016-10-13 02:12:12 -04:00
Marek Marczykowski-Górecki
2d273eb439
Merge remote-tracking branch 'qubesos/pr/7'
* qubesos/pr/7:
  live: fix kickstart file path
2016-09-22 11:07:36 +02:00
HW42
bf64e801ec live: fix kickstart file path 2016-09-22 05:41:34 +02:00
Marek Marczykowski-Górecki
4d1a471402
comps: install xfce4-pulseaudio-plugin instead of xfce4-volumed and mixer
xfce4-volumed is no longer maintained, so switch to pulseaudio plugin.

Fixes QubesOS/qubes-issues#2321
Fixes QubesOS/qubes-issues#2291
2016-09-16 00:03:25 +02:00
Marek Marczykowski-Górecki
6db292e3a0
Merge remote-tracking branch 'qubesos/pr/6'
* qubesos/pr/6:
  Fix crashing build
2016-09-03 20:16:24 +02:00
Marek Marczykowski-Górecki
e4cf87c537
anaconda: drop removed files from po/POTFILES.in
Fixes QubesOS/qubes-issues#2288
2016-09-02 19:18:13 +02:00
Bahtiar `kalkin-` Gadimov
1fc941eecf
Fix crashing build 2016-09-02 17:37:39 +02:00
Marek Marczykowski-Górecki
121e31cf70
qubes-anaconda-addon 3.2.3 2016-08-08 00:35:46 +02:00
Marek Marczykowski-Górecki
2a0a180be9
qubes-anaconda-addon: clear salt minion cache before running configuration
Salt minion cache can be incomplete after initial installation. As it was
reported in #2213, just `qubesctl saltutil.sync_all` isn't enough to
refresh it in some cases - it may still lack of some files
(ext_module_qvm.py in this case). So, clear the cache completely before
initial configuration.

Fixes QubesOS/qubes-issues#2213
2016-08-05 11:23:56 +02:00
Marek Marczykowski-Górecki
d2988a8643
anaconda 23.19.10-4, lorax-templates-qubes 3.2.3, qubes-anaconda-addon 3.2.2 2016-07-19 01:42:11 +02:00
Marek Marczykowski-Górecki
be9f5b2163
Merge remote-tracking branch 'qubesos/pr/5'
* qubesos/pr/5:
  anaconda: fix encryption passphrase check
2016-07-19 01:38:30 +02:00
Brian C. Lane
cc03f3778d
Deselect all addons correctly (#1333505)
If depsolve failed with some (or all) addons selected it wasn't cleared
by deselecting all of them because the package and group set were never
cleared.

Add a check to skip this if the addons have not been changed (or never
set, as is the case with kickstart).

(cherry picked from commit 2ad90e9294517770372f82a14792379a49bec6a2 from
 anaconda)
Fixes QubesOS/qubes-issues#2105
2016-07-18 23:20:17 +02:00
Wojtek Porczyk
e22de13063 anaconda: fix encryption passphrase check
The installer checks if there is password for autopart. It should check
that only if autopart is actually in use.

QubesOS/qubes-issues#2180
2016-07-18 23:07:24 +02:00
Marek Marczykowski-Górecki
147941657f
anaconda: don't force non-encrypted /boot on coreboot systems
With grub payload it is possible to have all the partitions encrypted.

Based on patch by @tlaurion

Fixes QubesOS/qubes-issues#2118
2016-07-18 12:28:38 +02:00
Marek Marczykowski-Górecki
d8fab041cf
qubes-anaconda-addon: disable salt states after successful configuration
Fixes QubesOS/qubes-issues#2173
2016-07-16 16:28:19 +02:00
Marek Marczykowski-Górecki
2324cc88cb
qubes-anaconda-addon: don't set default netvm if wasn't created
Fixes QubesOS/qubes-issues#2142
2016-07-15 03:20:15 +02:00
Marek Marczykowski-Górecki
3fd02681bd
comps: install qubes-img-converter-dom0 by default
QubesOS/qubes-issues#1995
2016-07-14 03:31:24 +02:00
Marek Marczykowski-Górecki
221d6af261
lorax: fix "System Volume Information" directory creation
Fixes QubesOS/qubes-issues#2051
2016-07-14 02:36:33 +02:00
Marek Marczykowski-Górecki
57af9604e1
comps: drop "EXPERIMENTAL" from Xfce4 group name
QubesOS/qubes-issues#2119
2016-07-13 00:42:54 +02:00
Marek Marczykowski-Górecki
69c1a45e3a
comps: drop KDE from installation image
Fixes QubesOS/qubes-issues#2119
2016-07-13 00:42:54 +02:00
Marek Marczykowski-Górecki
f185b4db4d
travis: report output ISO size 2016-07-13 00:42:54 +02:00
Marek Marczykowski-Górecki
703a6edc98
anaconda: skip NTP installation and setup in dom0
Dom0 has no direct network access, to this doesn't make sense anyway.

Fixes QubesOS/qubes-issues#2110
2016-07-12 23:22:24 +02:00
Marek Marczykowski-Górecki
2b27cc5eba
comps: install qubes-usb-proxy-dom0 by default
This package isn't strictly required for qvm-usb to work, but contains
default ("deny all") policy to mute qrexec prompt. And tests.
2016-07-12 23:19:10 +02:00
Marek Marczykowski-Górecki
1db5b4d29f
comps: mark kernel-qubes-vm as required regardless of template rpms
Currently kernel-qubes-vm is pulled in by template rpms. Since dnf
automatically remove "unneeded" packages, it would also remove
kernel-qubes-vm with the last template rpm (which isn't necessary last
template in general). To prevent this, install kernel-qubes-vm
regardless of templates.

Fixes QubesOS/qubes-issues#2107
2016-07-12 23:19:10 +02:00
Marek Marczykowski-Górecki
17c7ac66de
comps: install xfce4-volumed by default
It is needed for volume keys working.
2016-06-30 00:23:11 +02:00
Marek Marczykowski-Górecki
59acc12b94
comps: move initial-setup out of kde/xfce groups
It isn't necessary for desktop environment as is, only for system
initial configuration. For example it doesn't make sense to install them
when adding some DE later.
2016-06-27 23:59:56 +02:00
Marek Marczykowski-Górecki
6be5ff7e55
lorax 23.20-4 2016-06-25 03:12:26 +02:00
Marek Marczykowski-Górecki
1a821a5f4c
qubes-release 3.2-0.26 2016-06-25 01:46:42 +02:00
Marek Marczykowski-Górecki
2d1aa3ffd5
comp: include kscreen by default
Fixes QubesOS/qubes-issues#2084
2016-06-25 01:45:13 +02:00
Marek Marczykowski-Górecki
d1443aef73
qubes-release: update release notes 2016-06-25 00:12:54 +02:00
Wojtek Porczyk
7e631b69bd lorax: Remove branding code
This code caused transient build failures when there is more than one
package that provides /etc/system-release _available_ in any of the
repositories, irrespective of _any_ dependecies whatsoever. The failure
is non-deterministic, because depends on the order of packages returned
by search query.

Automatic branding install is stupid anyway and should instead be done
by package groups, kickstarts and/or whatever. But it does not surprise
me at all, because this is package is maintained as part of Fedora/RH.

fixes QubesOS/qubes-issues#2076
2016-06-16 20:13:58 +02:00
Wojtek Porczyk
517abca516 Fix ipython package name for fc23 2016-06-16 18:02:07 +02:00
Wojtek Porczyk
2ba67bef58 kickstart file for building debug ISO 2016-06-16 14:58:39 +02:00
Marek Marczykowski-Górecki
9257165994
lorax-templates-qubes 3.2.2, pykickstart 2.13-3 2016-06-08 02:32:14 +02:00
Marek Marczykowski-Górecki
4a8eca2c45
Merge branch 'add-sysvolinfo'
* add-sysvolinfo:
  lorax: add "System Volume Information" to ESP image
2016-06-08 02:31:34 +02:00
Marek Marczykowski-Górecki
c990f6bd31
pykickstart: update dependency names
Because of https://bugzilla.redhat.com/show_bug.cgi?id=1342056,
python-requests name does no longer works. So adjust dependencies
according to new naming scheme.
2016-06-08 02:25:14 +02:00
Marek Marczykowski-Górecki
2ea4a511ff
lorax: allow '.' in image label
Otherwise "R3.2" will end up as "R3-2".
2016-06-08 02:20:57 +02:00
Marek Marczykowski-Górecki
c9a10727cf
lorax: add "System Volume Information" to ESP image
When installation image is written on Windows, it automatically (by the
OS) gets mounted and Windows create "System Volume Information" there.
This obviously means the installation media is modified and then fails
verification.
This is really wrong from the Windows side to automatically modify some
files behind users back. But since we can prevent this with really low
cost by just creating those files ourself and reduce a lot of user
confusion, just do it.

Thanks @pbatard for the help.

Fixes QubesOS/qubes-issues#2051
2016-06-07 17:18:58 +02:00
Marek Marczykowski-Górecki
8d5bab3f4c
anaconda 23.19.10-3, lorax-templates-qubes 3.2.1, qubes-anaconda-addon 3.2.1 2016-06-07 06:27:35 +02:00
Marek Marczykowski-Górecki
a88c7f0b61
anaconda: sync xen options in UEFI mode with legacy one 2016-06-07 06:12:07 +02:00
Marek Marczykowski-Górecki
72765538f7
anaconda: reset all services to default state
Some preset files may be installed when actual services are already
enabled/disabled. To not worry about package installation order, simply
reset all the services to default state when all the packages are
installed.

Fixes QubesOS/qubes-issues#2049
2016-06-06 02:28:47 +02:00
Marek Marczykowski-Górecki
6a8388e111
lorax: make sure qubes-artwork is installed
DNF based pungi isn't deterministic and sometimes chooses fedora-logos
(both provide system-logos). Make sure the right one is installed.

QubesOS/qubes-issues#1807
2016-06-06 00:59:38 +02:00
Marek Marczykowski-Górecki
1c80b74083
anaconda: drop useless on Qubes dependencies on network filesystems
Installing Qubes on network drive is not supported, so drop those
dependencies.
2016-06-06 00:58:32 +02:00
Marek Marczykowski-Górecki
8b37d08376
qubes-anaconda-addon: adjust mgmt stack usage
Salt-minion config is no longer generated using 'state.sls config', so
remove references to it. Instead make sure all modules are up to date in
cache (saltutil.sync_all).

Also make sure 'salt-minion' service is disabled (it is no longer
handled by config formula).

Additionally dom0 states are no longer in separate environment.

Slightly improve logging.
2016-06-06 00:58:03 +02:00
Marek Marczykowski-Górecki
7ff84cf133
anaconda: do not have any requirements on /boot in EFI mode
EFI boot uses only /boot/efi, so /boot may be even on encrypted volume,
LVM, btrfs or anything else. Instead of allowing just LVM, override the
whole check for /boot.

Fixes QubesOS/qubes-issues#1721
2016-06-05 22:21:03 +02:00
Marek Marczykowski-Górecki
12c2fd9720
qubes-release 3.2-0.25, lorax 23.20-3 2016-05-25 14:07:52 +02:00
Marek Marczykowski-Górecki
7875d31a8f
lorax: update package verification for dnf API
QubesOS/qubes-issues#1807
2016-05-25 11:25:54 +02:00
Marek Marczykowski-Górecki
7484fb2bb5
travis: update for R3.2
QubesOS/qubes-issues#1926
2016-05-25 10:39:06 +02:00
Marek Marczykowski-Górecki
194ba37fb5
qubes-release: add symlinks for R3.2 keys
QubesOS/qubes-issues#1807
2016-05-25 10:37:36 +02:00
Marek Marczykowski-Górecki
4288335086
Merge branch 'master' into fedora-23 2016-05-25 03:10:11 +02:00
Marek Marczykowski-Górecki
237aee86c5
travis: check if package verification really works
QubesOS/qubes-issues#1926
2016-05-25 02:03:04 +02:00
Marek Marczykowski-Górecki
798e008f7b
travis: Smaller output log
There is 4MB limit on total log size...

QubesOS/qubes-issues#1926
2016-05-25 01:48:53 +02:00
Marek Marczykowski-Górecki
ff0bb730bb
travis: add basic build test
QubesOS/qubes-issues#1926
2016-05-25 01:13:36 +02:00
Marek Marczykowski-Górecki
68ab062cde
Make build configuration (kickstart) configurable
QubesOS/qubes-issues#1926
2016-05-24 13:40:53 +02:00
Marek Marczykowski-Górecki
78c7484a7c
pungi 4.0.15, set epoch to 1000
QubesOS/qubes-issues#1807
2016-05-24 13:19:24 +02:00
Marek Marczykowski-Górecki
efb772a03a
qubes-release-3.2-0.24
Increase release number to 0.24, because upstream systemd package
conflicts with fedora-release<23-0.12.
Also cleanup transitional upgrade package.

QubesOS/qubes-issues#1807
2016-05-19 00:27:19 +02:00
Marek Marczykowski-Górecki
13f17526ed
anaconda 23.19.10-2, lorax-templates-qubes 3.2.0, lorax 23.20-2, qubes-anaconda-addon 3.2.0-1 2016-05-18 03:22:57 +02:00
Marek Marczykowski-Górecki
7e60c9884b
qubes-release 3.2-0.1 2016-05-18 03:19:17 +02:00
Marek Marczykowski-Górecki
b7d9d54a1e
Revert "anaconda: workaround efibootmgr bug (SIGABRT while removing entries)"
This reverts commit bdba0f99d0.

The workaround is not needed anymore - efibootmgr is new enough.
2016-05-17 14:18:19 +02:00
Marek Marczykowski-Górecki
76e5589adf
anaconda: PasswordSpoke merge fix
QubesOS/qubes-issues#1807
2016-04-24 23:41:16 +02:00
Marek Marczykowski-Górecki
d576319578
anaconda: enable only initial-setup.service variant
It should take care of choosing the right one.

QubesOS/qubes-issues#1807
2016-04-24 23:40:32 +02:00
Marek Marczykowski-Górecki
6ce8b815d7
lorax: do not generate upgrade.img
QubesOS/qubes-issues#1807
2016-04-21 19:56:26 +02:00
Marek Marczykowski-Górecki
f2edc02cac
lorax, pungi: pass gpgkey info from pungi to lorax
Since lorax is running as a separate process, it no longer use
repositories objects setup by pykickstart (which is already patched to
support gpgkey). This means we need somehow pass that info, otherwise
packages will not be verified.

QubesOS/qubes-issues#1807
2016-04-21 19:56:26 +02:00
Marek Marczykowski-Górecki
32a75c4f78
lorax: fix SEGV in librpm during ISO build
https://bugzilla.redhat.com/1208296

QubesOS/qubes-issues#1807
2016-04-21 19:56:26 +02:00
Marek Marczykowski-Górecki
1f45e8b3c5
lorax: plug into qubes-builder
QubesOS/qubes-issues#1807
2016-04-21 19:56:25 +02:00
Marek Marczykowski-Górecki
00b21a2194
lorax: import unmodified package
QubesOS/qubes-issues#1807
2016-04-21 19:56:25 +02:00
M. Vefa Bicakci
2ed9a80de6
comps: Do not install grubby
grubby provides the new-kernel-pkg script, which overrides the behaviour
of the kernel-install script. In addition, grubby causes the following
line

  xen_rm_opts=

to become

  xen_rm_opts

in the GRUB2 configuration file (/boot/grub2/grub.conf) every time
it is invoked, where the trailing equals sign ('=') is removed.
This causes a syntax error to be printed out at every boot.
2016-04-21 19:56:25 +02:00
M. Vefa Bicakci
725c29e2d9
comps: xfce-desktop-qubes: Do not depend on desktop-backgrounds-compat
The desktop-backgrounds-compat package is obsoleted by qubes-artwork,
and without this commit, the installation cannot proceed unless XFCE4 is
chosen to not be installed.
2016-04-21 19:56:24 +02:00
M. Vefa Bicakci
7050af177d
comps: Make sure the salt management stack is included
Without this commit, the "qubesctl" command is not available in the
installed system, and the first boot configuration fails.
2016-04-21 19:56:24 +02:00
M. Vefa Bicakci
d80d42eb78
comps: Remove fonts that are not in repositories 2016-04-21 19:56:24 +02:00
M. Vefa Bicakci
f27cf1a884
pykickstart: Default to Fedora 23 and re-enable tests 2016-04-21 19:56:23 +02:00
M. Vefa Bicakci
ba30700ef7
lorax: Do not fail if EFI directory already exists 2016-04-21 19:56:23 +02:00
Marek Marczykowski-Górecki
19ff42ed5f
Add initial-setup-launcher package
A simple package to workaround bug in initial-setup-0.3.37:
https://fedoraproject.org/wiki/Common_F23_bugs#Initial_setup_sometimes_starts_in_text_mode_instead_of_in_graphics_mode

This is based on work done by M. Vefa Bicakci <m.v.b@runbox.com>.

This package can be removed when initial-setup-0.3.40 will be used.

QubesOS/qubes-issues#1807
2016-04-21 19:56:23 +02:00
M. Vefa Bicakci
40b3ab5ba9
comps: Do not require dhcp-client 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
7843ee391c
comps: Do not require ntp which requires ntp-date 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
d34c15b593
comps: Remove kdeaccessibility
kdeaccessibility depends on/causes installation of the speak-up
service, which fails at start-up.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
ef60bed5c9
anaconda: Do not depend on chrony 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
63ed8b9d86
lorax: Do not remove gpg-me libraries
Otherwise, lorax outputs the following error:
  libgpgme-pthread.so.11, needed by /usr/bin/rpm-ostree, not found
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
c009f956ab
firstboot: Remove given that there is an anaconda/initial-setup add-on 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
679b6468f8
qubes-anaconda-addon: Disable libvirt-guests service
This service suspends virtual machines at shutdown time and resumes them
at start-up time. This unfortunately breaks virtual machines which have
PCI devices attached.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
1cda66e1ee
qubes-anaconda-addon: Disable rdisc and kdump at first boot 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
9fdff6c906
qubes-anaconda-addon: Let run_command optionally ignore failures 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
de501a473e
qubes-anaconda-addon: Include in the ISO 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
4069ca6bc6
qubes-anaconda-addon: Include in the build 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
bb7c2caa13
qubes-anaconda-addon: An initial-setup module
This commit introduces an initial-setup module to replace the
firstboot-based initial set-up procedures required by Qubes OS.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
b47c25d7d6
comps: Add essential packages: qubes-release and xterm 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
9788f32736
comps: Add base KDE packages 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
29a50e7def
anaconda: Disable the NTP configuration spoke 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
fd37700c14
anaconda: Make sure that a user is created at installation time
This way, Qubes OS-specific initial-setup procedures will always have
a user to work with.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
ed17da5dc6
anaconda: Modify user configuration spoke for Qubes OS 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
34e37e3dc8
lorax: Only use Qubes OS kernels
This commit avoids the issue where the UEFI boot uses the Fedora 23
kernel as opposed to the Qubes OS kernel.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
ae2b86842f
lorax: EFI: Reduce size, add --no-hostonly, force squashfs inclusion and clean up 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
5cf84c9b18
lorax: Make Qubes EFI template compatible with Python 3 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
e877a7dc58
lorax: Rebase templates on those for Fedora 23 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
15d4b7e08d
comps: Update package lists based on Fedora 23 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
dfc0db0a09
anaconda: Do not fail during initramfs start-up due to missing url-lib 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
763c9b3490
anaconda: Do not rely on new-kernel-pkg
Qubes OS does not use grubby, so there is no need to check for the
existence of the new-kernel-pkg executable.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
c08e51c65b
anaconda: Update po files 2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
b111b02b53
anaconda: Fix a regular expression determining Release
Without the start-of-line matcher, other lines are matched as well,
causing invalid PACKAGE_RELEASE variable substitutions within the
Makefiles.
2016-04-10 00:00:00 -04:00
M. Vefa Bicakci
38f3e28d77
anaconda: Update to 23.19.10
Use the output of

  git diff --full-index --binary anaconda-22.20.13-1..anaconda-23.19.10-1

from anaconda's git repository and fix-up merge conflicts.
2016-04-10 00:00:00 -04:00
Marek Marczykowski-Górecki
fbfc7733c6
pungi: update patches for pungi 4.0.x 2016-04-05 14:57:20 +02:00
Marek Marczykowski-Górecki
f8d607cfff
anaconda: update po files 2016-04-05 14:56:36 +02:00
Marek Marczykowski-Górecki
f0901f2234
pungi: update to 4.0.7
This is required for compatibility with python3-based lorax.

Signature verification patches are submitted here:
https://pagure.io/pungi/pull-request/63

QubesOS/qubes-issues#1807
2016-04-05 03:01:19 +02:00
Marek Marczykowski-Górecki
49f009f405
Revert "Add lorax 22.1"
This reverts commit 416e3eb0c5.

This shouldn't be needed, when lorax will be called as a separate
process, not imported into pungi as a module (where python version
matters).
2016-04-05 02:44:54 +02:00
Jon Griffiths
3b537db04c lorax: Create the qubes directory before calling dracut 2016-03-28 13:05:21 +13:00
Jon Griffiths
9ec8f156cf lorax: Don't delete os-release directories
Doing so prevents the install .iso from booting. First identified under
https://bugzilla.redhat.com/show_bug.cgi?id=1191713 and a second fix
was put in at c0b1063397
(this patch includes both changes).
2016-03-28 13:05:07 +13:00
Jon Griffiths
20df6b00ff lorax: Don't disable network for efi image creation
Doing so prevents livenet from loading and causes dracut to fail.
2016-03-28 13:04:58 +13:00
Jon Griffiths
fa3c28b982 anaconda: Add dracut-live as a dependency 2016-03-28 13:04:34 +13:00
Jon Griffiths
7d42fca843 lorax: Pass the kernel version to dracut as --kver
dracut dies with a usage message here if the version is passed after the
image name.

This is probably not needed as it turns out but I can't test that without a
full clean build which I don't have time for right now.
2016-03-22 02:27:18 +13:00
Jon Griffiths
132b411e62 anaconda: Include anaconda-dracut as a dependency 2016-03-22 02:27:18 +13:00
Jon Griffiths
f400fc1f7a Add dracut-live to iso deps list and the anaconda install group
This package provides img-lib which is needed by dmsquash and the
anaconda dracut plugin. Seems to be needed in the build chroot as
well as the install iso for 'make iso' to work.
2016-03-22 02:27:18 +13:00
Jon Griffiths
db419932c4 Provide system-release v23+ for lvm2 dependencies 2016-03-22 02:27:18 +13:00
Jon Griffiths
1e68b717f8 pykickstart: Document how to get the source 2016-03-22 02:27:18 +13:00
Jon Griffiths
8c8c8ffbad pykickstart: Upgrade to 23.1
Forced upgrade to support a split python 2.7/3.4 install.
2016-03-22 02:27:18 +13:00
Jon Griffiths
0d5b9e1b58 Order RPM_SPEC_FILES by dependency
Also remove tabs which should only appear before target actions.
2016-03-22 02:27:18 +13:00
Jon Griffiths
416e3eb0c5 Add lorax 22.1
Fedora 23 forces every app that can be run under python 3 to be installed
as a python 3 app. This means lorax is installed as python 3 while pungi
remains 2.7. As soon as pungi is updated to python 3 (or the Fedora team
come to their senses) this package can be deleted.
2016-03-22 02:27:18 +13:00
Jon Griffiths
b213ae694b conf: switch to Fedora 23 repositories 2016-03-22 02:27:18 +13:00
Jon Griffiths
b98e8d8fd8 Add the Fedora 23 signing key 2016-03-22 02:27:18 +13:00
Jon Griffiths
ea1f4a7131 Remove and gitignore checked in generated file 2016-03-22 02:27:18 +13:00
Jon Griffiths
f251a0ae43 Remove patch thats been applied upstream 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
296d869179 anaconda: use kernel-install instead of grubby to regenerate initrd/grub.conf
Since we have own hook there, it properly handles Xen. This means we no
longer need post scripts in kickstart for that.

Conflicts:
	anaconda/pyanaconda/packaging/__init__.py
2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
4a714a3ed8 lorax: install additional files needed by syslinux-6.x 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
caeea07515 anaconda: remove autogenerated configure scripts 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
e48b9a9084 lorax: update templates based on lorax-22.11-1.fc22 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
aed343b62f conf: switch to Fedora 22 repositories 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
c1be6a2071 qubes-release: add Fedora 22 release key 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
f22d21e63b pungi: update to 3.14 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
5dba501e87 pykickstart: update to 1.99.66 2016-03-22 02:27:17 +13:00
Marek Marczykowski-Górecki
701ced5ddb anaconda: update to 22.20.13-1
Apply diff anaconda-21.48.21-1..anaconda-22.20.13-1
2016-03-22 02:27:17 +13:00
Jon Griffiths
47a0aea0c6 lorax: remove few more firmware packages 2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
8e6a0a7091 anaconda: allow locked root password 2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
41896c82c4 lorax: keep GTK theme installed, minor cleanup 2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
3bfd4282f3 pykickstart: fix repo --gpgkey option patch 2016-03-22 02:27:16 +13:00
Jon Griffiths
f9772ef282 pungi: do not generate upgrade.img
We do not support in-place upgrades this way.
2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
e07e43dbed Update makefile to handle ISO filename generated by new anaconda 2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
48aa0e06c9 anaconda: lower disk requirements
Base installed system, including one template uses about 8GB. So make it
possible to install the system with root partition about that size. This
is probably bad idea, but the limit here is hard - it isn't possible to
force installation on smaller partition.
2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
536868d1d3 comps: update based on Fedora 21 version 2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
63da7da0ec anaconda: update Qubes-specific code for Fedora 21 version 2016-03-22 02:27:16 +13:00
Marek Marczykowski-Górecki
3e63d1dd37 anaconda: update to 21.48.21-1
Apply diff anaconda-20.25.16-1..anaconda-21.48.21-1
2016-03-22 02:27:15 +13:00
Marek Marczykowski-Górecki
55337a39dd lorax: update for Fedora 21 - part 1 2016-03-22 02:20:13 +13:00
Marek Marczykowski-Górecki
99531200b6 pungi: update for Fedora 21 2016-03-22 02:20:13 +13:00
Marek Marczykowski-Górecki
53fbe7fea0 pykickstart: update for Fedora 21 2016-03-22 02:20:13 +13:00
Marek Marczykowski-Górecki
2556a42c04
anaconda: EFI: create xen.cfg before registering boot entry
This will help installing, even when efibootmgr fails. Because xen.cfg
will be already populated.

QubesOS/qubes-issues#794
2016-03-18 13:27:48 +01:00
Marek Marczykowski-Górecki
dc821b336d
qubes-release 3.1-1 2016-03-09 00:43:52 +01:00
Marek Marczykowski-Górecki
35afc0e60c
Add R3.1 release notes 2016-03-09 00:41:52 +01:00
Marek Marczykowski-Górecki
ab1104fa13
anaconda 20.25.16-12, firstboot 18.6-10, lorax-templates-qubes 3.1.2 2016-02-12 04:46:05 +01:00
Marek Marczykowski-Górecki
59ae363abc
lorax: exclude ivtv-firmware
It conflicts with newer linux-firmware package.

QubesOS/qubes-issues#1483
2016-02-12 01:02:30 +01:00
Marek Marczykowski-Górecki
1ea718d6fb
firstboot: do not try to start sys-usb when it's combined with sys-net
QubesOS/qubes-issues#1629
2016-02-11 16:47:09 +01:00
Marek Marczykowski-Górecki
27063bd284
firstboot: set 'sys-net' as ClockVM
Fixes QubesOS/qubes-issues#1741
2016-02-11 14:59:40 +01:00
Marek Marczykowski-Górecki
68d25130ab
firstboot: make sure choice dependencies are properly initialized
Execute dependency check at option initialization, not only first user
action there.
2016-02-08 02:18:13 +01:00
Marek Marczykowski-Górecki
e20d87b79b
firstboot: indent some options
QubesOS/qubes-issues#1629
2016-02-08 02:17:33 +01:00
Marek Marczykowski-Górecki
098a2752af
firstboot: add option to setup combined sys-net+sys-usb
Fixes QubesOS/qubes-issues#1629
2016-02-08 02:15:39 +01:00
Marek Marczykowski-Górecki
5a3df02a37
lorax: do not exclude HID drivers from installation image
Fixes QubesOS/qubes-issues#1516
2016-02-07 02:57:07 +01:00
Marek Marczykowski-Górecki
37a6a3d3c3
firstboot: disable "Back" button when applying configuration
There is no support in canceling operation, so simply disable this
button.

Fixes QubesOS/qubes-issues#1719
2016-02-06 00:23:38 +01:00
Marek Marczykowski-Górecki
dc1374cd95
firstboot: disable USB qube option when USB keyboard or disk is present
For keyboard is not totally imposibble to use it with USB qube, but it's
somehow harder to setup (and if something goes wrong, no keyboard will
be available). But currently if booted from USB disk, it is imposible to
work with USB qube then.

At the some time, slightly rework QubesChoice external conditions - have
them checked outside of the object, which make it easier to have
different message when such option is not available (and why).

Fixes QubesOS/qubes-issues#1649
Fixes QubesOS/qubes-issues#1630
2016-02-06 00:23:37 +01:00
Marek Marczykowski-Górecki
2838da02cf
anaconda: allow /boot on LVM in UEFI mode
Since all the required files are on ESP (and are loaded by xen.efi), we
don't need /boot accessible at all from there. This will in practice
allow to not have separate /boot at all.

Fixes QubesOS/qubes-issues#1721
2016-02-06 00:23:37 +01:00
Marek Marczykowski-Górecki
763098db0e
anaconda: use installer kernel parameters as default for installed system
This way if any kernel parameter was need to boot Qubes on particular
hardware, it will also be set to installed system

Fixes QubesOS/qubes-issues#1650
2016-02-06 00:23:37 +01:00
Marek Marczykowski-Górecki
dee1bfd3cb
lorax: add i915.preliminary_hw_support=1 to kernel parameters
Fixes QubesOS/qubes-issues#1668
2016-02-03 17:55:46 +01:00
Marek Marczykowski-Górecki
5f0c9a7565
lorax: add "verbose boot" - Grub2-efi
QubesOS/qubes-issues#1598
2016-02-03 17:55:04 +01:00
Marek Marczykowski-Górecki
a40327988c
lorax: add verbose mode in xen.cfg (UEFI)
QubesOS/qubes-issues#1598
2016-02-03 17:53:08 +01:00
Marek Marczykowski-Górecki
969e2df914
lorax: drop multi-kernel support - no longer used in R3.1 2016-02-03 17:52:56 +01:00
Marek Marczykowski-Górecki
930fbc776e
lorax: do not install firstboot in installation image
It should be installed only in target system. Not having it here, should
also drop the whole SaltStack from installation image and save some
space.
2016-02-03 17:52:10 +01:00
Marek Marczykowski-Górecki
a0a616733f
anaconda 20.25.16-11, firstboot 18.6-9, livecd-tools 20.6-3, lorax-templates-qubes 3.1.1 2015-11-29 04:22:59 +01:00
Marek Marczykowski-Górecki
3feb90eef2
firstboot: improve salt highstate error reporting
Full stdout/stderr is way to much to fit in that error message. Tell the
user where it can be found and what to do.
2015-11-29 04:19:39 +01:00
Marek Marczykowski-Górecki
aa8c80cbca
firstboot: start sys-usb
QubesOS/qubes-issues#704
2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
538d80186d
anaconda: disable crashkernel default options
We don't support it.
2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
c83c75b338
anaconda: include default kernel parameters in EFI setup
QubesOS/qubes-issues#794
2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
2da9f7c3ec
firstboot: fix whonix as default netvm option 2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
467402fee9
firstboot: improve wording of whonix as default netvm option 2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
cd1f03f40e
comps: install qubes-input-proxy by default
Useful for setup with USB VM

QubesOS/qubes-issues#704
2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
cf7d97a8af
lorax: include USB3.0 drivers in installer initramfs 2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
c4ee550b49
firstboot: improve error reporting 2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
ecac7cb908
firstboot: set default template to 'fedora-23' 2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
0032dc6597
comps: install Debian 8 and Whonix by default 2015-11-29 04:19:38 +01:00
Marek Marczykowski-Górecki
be52104454
firstboot: add an option to create USB VM
Fixes QubesOS/qubes-issues#704
2015-11-29 04:19:37 +01:00
Marek Marczykowski-Górecki
e6c2a93146
firstboot: add an option to route "all" the traffic through Tor 2015-11-27 23:02:38 +01:00
Marek Marczykowski-Górecki
6cc13889d0
comps: switch to Fedora 23 as default template 2015-11-27 23:02:02 +01:00
Marek Marczykowski-Górecki
156ae001fb
comps: drop qubes-dom0-debug group
Save some space on installation DVD.
2015-11-27 23:01:30 +01:00
Marek Marczykowski-Górecki
d98d7dbf94
firstboot: set 'Whonix' option to inactive when no Whonix templates installed
QubesOS/qubes-issues#1258
2015-11-23 19:10:45 +01:00
Marek Marczykowski-Górecki
cdd4294938
firstboot: use qvm-pci --add-class net for NetVM setup
Trying to reduce code duplication.
2015-11-23 19:09:53 +01:00
Marek Marczykowski-Górecki
3c25ca1d94
firstboot: since it now uses salt stack for configuration, add R: salt
QubesOS/qubes-issues#1258
2015-11-23 19:09:37 +01:00
Marek Marczykowski-Górecki
8f14f91b04
firstboot: enable Whonix setup by default if Whonix templates are installed
QubesOS/qubes-issues#1258
2015-11-23 19:09:37 +01:00
Marek Marczykowski-Górecki
875f3ee060
conf: include Whonix in installtion image
QubesOS/qubes-issues#1258
2015-11-23 19:09:37 +01:00
Marek Marczykowski-Górecki
a2456dd73b
firstboot: restore appmenus retrieval code
This part isn't (and probably shouldn't be) handled by salt.

QubesOS/qubes-issues#1258
2015-11-23 02:34:53 +01:00
Marek Marczykowski-Górecki
0417d5de56
firstboot: force salt-minion configuration refresh
It should be done at package installation time (%post script), but
unfortunately it isn't. Probably because of wrong order of scripts calls
(missin Requires(post) dependencies).

QubesOS/qubes-issues#1258
2015-11-23 02:27:18 +01:00
Wojtek Porczyk
be64e72d63 firstboot: use Qubes preconfiguration infrastructure 2015-11-21 01:54:07 +01:00
Marek Marczykowski-Górecki
84f61cbb6b
live: Include USB3.0 drivers
Fixes QubesOS/qubes-issues#1162
2015-11-04 01:17:07 +01:00
Marek Marczykowski-Górecki
1d4f49961c
anaconda: limit dom0 maxmem to 4GB to limit its overhead on big systems
Linux kernel have some memory overhead depending on maxmem. Dom0 isn't
meant to use that much memory (most should be assigned to AppVMs), so on
big systems this will be pure waste.

QubesOS/qubes-issues#1136
Fixes QubesOS/qubes-issues#1313
2015-10-10 00:33:13 +02:00
Marek Marczykowski-Górecki
c0f4d76a14
livecd-tools: add 'repo --ignoregroups' support
Apparently this option wass ignored by livecd-tools, so groups from
Fedora repositories came in.

QubesOS/qubes-issues#1018
2015-10-06 05:06:27 +02:00
Marek Marczykowski-Górecki
64167c525c
liveusb: restore plymouth in EFI initramfs
QubesOS/qubes-issues#794
2015-10-06 05:06:27 +02:00
Marek Marczykowski-Górecki
e5368d7da7
liveusb: handle both Debian and Fedora appmenus
Some applications are named differently, so we need a separate list.

QubesOS/qubes-issues#1018
QubesOS/qubes-issues#794
2015-10-06 05:06:27 +02:00
Marek Marczykowski-Górecki
588cbed78e
liveusb: set Fedora 21 as default template
QubesOS/qubes-issues#794
2015-10-06 05:06:27 +02:00
Marek Marczykowski-Górecki
e842046273
anaconda 20.25.16-10, livecd-tools 20.6-2, lorax-templates-qubes 3.1-1, pungi 3.03-2
Also set epoch ridiculously high for pungi and livecd-tools to make sure
we use versions with enabled signature checking.
2015-09-30 00:40:53 +02:00
Marek Marczykowski-Górecki
ae8d7dbdb4
qubes-release 3.1-0.1
'master' branch now points to next major release
2015-09-29 16:37:26 +02:00
Marek Marczykowski-Górecki
bab6aa2fa2
Merge branch 'efi'
* efi:
  lorax: disable debug output from xen and kernel
  lorax: make initrd back to work without ifcfg module
  lorax: efi: improve using ESP for 'root' device
  lorax: fix legacy mode boot after EFI initrd tinyfication
  lorax: Add rescue entry to grub2-efi.cfg
  lorax: Provide correct device information to xen.efi
  anaconda: use correct root= kernel parameter when creating EFI xen.cfg
  anaconda: workaround efibootmgr bug (SIGABRT while removing entries)
  anaconda: fix dracut module to work with reduced dependencies
  lorax: drop plymouth label plugin
  lorax: exclude SCSI and misc modules from UEFI initrd
  lorax: remove SecureBoot files - save some space in efiboot.img
  lorax: do not create macboot.img - it will be too big anyway
  lorax: remove network support from UEFI initrd
  lorax: select xen.cfg section to enable/disable media check
  lorax: disable UEFI Secure Boot shim
  pungi: do not use isohybrid --offset as it isn't compatible with EFI
  anaconda: generate xen efi configuration
  lorax: preliminary EFI support

QubesOS/qubes-issues#794
2015-09-29 16:11:59 +02:00
Marek Marczykowski-Górecki
0e6649b6a5
Merge branch 'liveusb'
* liveusb: (31 commits)
  livecd-tools: gitignore
  livecd-tools: apply patches for verifying downloaded packages
  livecd-tools: plug it into qubes-builder scripts
  livecd-tools: import unmodified package from Fedora 20
  makefile: remove legacy targets
  liveusb: EFI support
  live: remove automatic swap discovery
  live: place private.img of default VMs back on dm-snapshot device
  live: remove redundant livecd-creator --verbose flag
  live: disable (currently broken) EFI
  liveusb: fix package name in build-deps
  liveusb: use more friendly output image name
  liveusb: overlayfs doesn't support sparse files, use tmpfs directly
  liveusb: include default appmenus based on default fedora-21 template
  liveusb: use offline-mode of qubes-set-updates
  liveusb: mount /var/lib/qubes using overlayfs on tmpfs, instead of dm-snapshot
  liveusb: reset list of PCI devices assigned to sys-net before assigning new ones
  conf/liveusb: disable updates check - senseless on non-persistent system
  liveusb: use qvm-pci --offline-mode
  conf/liveusb: create default dispvm template
  ...

QubesOS/qubes-ossues#1018
2015-09-29 16:10:30 +02:00
Marek Marczykowski-Górecki
7ac6902f1e livecd-tools: gitignore 2015-09-29 03:36:59 +02:00
Marek Marczykowski-Górecki
8ec82b09f7 livecd-tools: apply patches for verifying downloaded packages
Livecd-creator is one more example of program which happily installs
whatever downloads from the network, without any verification
(repository metadata consistency doesn't count)...

Patches sent upstream here:
https://github.com/rhinstaller/livecd-tools/pull/14
2015-09-29 03:35:14 +02:00
Marek Marczykowski-Górecki
ea9d843368 livecd-tools: plug it into qubes-builder scripts 2015-09-29 03:29:36 +02:00
Marek Marczykowski-Górecki
75bc4dbee8 livecd-tools: import unmodified package from Fedora 20 2015-09-29 03:24:01 +02:00
Marek Marczykowski-Górecki
dbb8ebcbe5 makefile: remove legacy targets 2015-09-29 03:22:19 +02:00
Marek Marczykowski-Górecki
a8b97177ae
Merge branch 'pungi-gpgcheck' 2015-09-29 02:31:40 +02:00
Marek Marczykowski-Górecki
10b346a1e1 pungi: verify downloaded (but not installed packages)
This way all the packages are verified, not only those installed in
installer image (by lorax). This makes manual rpm --checksig redundant.
2015-09-28 20:29:39 +02:00
Marek Marczykowski-Górecki
6438163c8c lorax: disable debug output from xen and kernel
Prepare for production-quality release.
2015-09-28 20:14:27 +02:00
Marek Marczykowski-Górecki
6adfe1e846 lorax: make initrd back to work without ifcfg module
Anaconda requires /etc/sysconfig/network-scripts directory (even if
empty). Do not remove it, because if wouldn't be recreated if we omit
ifcfg dracut module.
2015-09-28 20:10:03 +02:00
Marek Marczykowski-Górecki
0570ce7f6d lorax: efi: improve using ESP for 'root' device
Simply do nothing, instead of searching by filesystem label. This should
work even if there are multiple devices with the same label.
2015-09-28 20:09:58 +02:00
Marek Marczykowski-Górecki
0493bb717c liveusb: EFI support
Since livecd-tools doesn't support starting Xen in EFI mode, most of its
EFI support is rewritten here (overriden in LiveEFIImageCreator, based
on imgcreate.LiveImageCreator).

This all is still temporary solution, until Xen will have mutiboot2+EFI
support - then almost standard configuration could be used (almost the
same grub config as for legacy boot). So keep the changes here, and when
the proper solution would be implemented, pursue to having it upstream.

QubesOS/qubes-issues#794
2015-09-26 22:36:03 +02:00
Marek Marczykowski-Górecki
229da77d7e lorax: fix legacy mode boot after EFI initrd tinyfication 2015-09-25 16:25:47 +02:00
Marek Marczykowski-Górecki
4d7e45103d lorax: Add rescue entry to grub2-efi.cfg 2015-09-25 16:25:47 +02:00
Marek Marczykowski-Górecki
7cf4f825e5 lorax: Provide correct device information to xen.efi
xen.efi needs to call EFI services to access kernel and initramfs
images. For that it needs correct device handle. Grub set it to 'root'
device, regardless of which device was really used to load xen.efi.
2015-09-25 16:25:47 +02:00
Marek Marczykowski-Górecki
f29979be41 anaconda: use correct root= kernel parameter when creating EFI xen.cfg 2015-09-25 16:25:46 +02:00
Marek Marczykowski-Górecki
bdba0f99d0 anaconda: workaround efibootmgr bug (SIGABRT while removing entries) 2015-09-25 16:25:46 +02:00
Marek Marczykowski-Górecki
447ba8ab42 anaconda: fix dracut module to work with reduced dependencies
Do not fail because of not present url-lib. Also 'loop' module requires manual
loading now.
2015-09-25 16:25:46 +02:00
Marek Marczykowski-Górecki
4868764d81 lorax: drop plymouth label plugin
It's not used by installer theme but pulls a lot of libraries into initrd.
2015-09-25 16:25:46 +02:00
Marek Marczykowski-Górecki
4fa5c591f8 lorax: exclude SCSI and misc modules from UEFI initrd
One more time - save on efiboot.img size.
2015-09-25 16:25:43 +02:00
Marek Marczykowski-Górecki
7e867fd810 lorax: remove SecureBoot files - save some space in efiboot.img 2015-09-25 16:25:06 +02:00
Marek Marczykowski-Górecki
44dc8e0278 lorax: do not create macboot.img - it will be too big anyway 2015-09-25 16:25:05 +02:00
Marek Marczykowski-Górecki
b024e93e40 lorax: remove network support from UEFI initrd
Reduce its size to have efiboot.img under 32MB.
This needs rebuilding initrd and we need kernel version for that - so pass it
down from x86.tmpl.
2015-09-25 16:24:53 +02:00
Marek Marczykowski-Górecki
9a80875a5d
live: remove automatic swap discovery
We don't want to leave unencrypted memory dumps on some "random" disk
found in the system.
2015-09-25 15:31:12 +02:00
Marek Marczykowski-Górecki
c4b965ed88 lorax: select xen.cfg section to enable/disable media check
Apparently all but first parameters are passed to xen.efi, so it is possible to
select which config section should be used. This makes xen.efi copy
unnecessary.
2015-09-21 18:09:34 +02:00
Marek Marczykowski-Górecki
49b3630362 lorax: disable UEFI Secure Boot shim
We don't have signed xen/kernel/initramfs binaries. And more
importantly, we don't have MS-signed key...
2015-09-21 18:09:33 +02:00
Marek Marczykowski-Górecki
3df2363093
Merge remote-tracking branch 'qubesos/master' 2015-09-16 17:08:46 +02:00
Marek Marczykowski-Górecki
d08f0cf0a4 conf: drop debian-7 template from ISO image
Fixes qubesos/qubes-issues#1070
2015-09-16 16:53:16 +02:00
Marek Marczykowski-Górecki
d57c5e814a
live: place private.img of default VMs back on dm-snapshot device
Apparently those 350MB are critical on 4GB systems without a swap.
2015-08-09 20:43:06 +02:00
Marek Marczykowski-Górecki
012cad5b47
live: remove redundant livecd-creator --verbose flag
--debug already implies this. Actually only the last one is used.
2015-08-09 20:42:24 +02:00
Marek Marczykowski-Górecki
1408be322e
live: disable (currently broken) EFI 2015-08-09 14:05:15 +02:00
Marek Marczykowski-Górecki
f5673dbb49
liveusb: fix package name in build-deps 2015-08-07 02:27:42 +02:00
Marek Marczykowski-Górecki
67cda610e7
pungi: do not use isohybrid --offset as it isn't compatible with EFI 2015-08-05 02:12:11 +02:00
Marek Marczykowski-Górecki
b3d04825a2
anaconda: generate xen efi configuration 2015-08-05 02:12:11 +02:00
Marek Marczykowski-Górecki
ff30f25718
lorax: preliminary EFI support 2015-08-05 02:12:11 +02:00
Marek Marczykowski-Górecki
5796c78979
anaconda: disable os prober
It tries to mount every existing block device, including VM images.
2015-08-05 02:11:23 +02:00
Marek Marczykowski-Górecki
a0060ff53f
pungi: do not generate upgrade.img
We do not support in-place upgrades this way.
2015-08-05 02:11:11 +02:00
Marek Marczykowski-Górecki
ea884ac81d
liveusb: use more friendly output image name 2015-08-04 20:57:11 +02:00
Marek Marczykowski-Górecki
28fcfcc238
liveusb: overlayfs doesn't support sparse files, use tmpfs directly
This comes with some overhead, at least at the beginning, because all
private images are copied there at system startup (instead of first
use). This uses about 450MB of RAM.
Still better than non-sparse private.img (2GB...).
2015-08-04 20:57:11 +02:00
Marek Marczykowski-Górecki
2718c73c31
liveusb: include default appmenus based on default fedora-21 template 2015-08-04 05:23:56 +02:00
Marek Marczykowski-Górecki
823fecf988
liveusb: use offline-mode of qubes-set-updates 2015-08-04 05:23:56 +02:00
Marek Marczykowski-Górecki
ae670d0290
liveusb: mount /var/lib/qubes using overlayfs on tmpfs, instead of dm-snapshot
When dm-snapshot fills up, it is not recoverable situation. Also much
less flexible (for example deleting files does not free the space).
2015-08-04 05:23:56 +02:00
Marek Marczykowski-Górecki
d8e4080015
liveusb: reset list of PCI devices assigned to sys-net before assigning new ones
Just in case of installation with persistent configuration.
2015-08-03 17:52:06 +02:00
Marek Marczykowski-Górecki
f69016ec5c
conf/liveusb: disable updates check - senseless on non-persistent system 2015-08-03 17:52:06 +02:00
Marek Marczykowski-Górecki
0b3058b1b7
liveusb: use qvm-pci --offline-mode
It is called before libvirtd start.
2015-08-03 17:52:06 +02:00
Marek Marczykowski-Górecki
1c1d8ba478
conf/liveusb: create default dispvm template 2015-08-03 17:52:06 +02:00
Marek Marczykowski-Górecki
4bf5169ad9
Make liveusb build compatible with qubes-builder - use 'iso' target
This commit introduces two new settings (for builder.conf):
ISO_INSTALLER - build installer ISO; enabled by default
ISO_LIVEUSB - build Live ISO; disabled by default
2015-08-03 17:52:05 +02:00
Marek Marczykowski-Górecki
6783a317c7
liveusb: add lightdm autologin 2015-08-03 17:52:05 +02:00
Marek Marczykowski-Górecki
d57620c96d
Add 'liveusb' make target 2015-08-01 23:20:46 +02:00
Marek Marczykowski-Górecki
9db56031f5
qubes-release: include R3.0 rpm keys symlinks
$releasever used in yum configuration points at "3.0", so make such keys
available.
2015-08-01 23:20:25 +02:00
Marek Marczykowski-Górecki
8eb5dba9bc
liveusb: fix rpm key import; tmp.mount is already enabled 2015-08-01 23:20:25 +02:00
Wojtek Porczyk
68a8e1777c
liveusb: add qubes-specific configuration 2015-08-01 23:20:02 +02:00
Wojtek Porczyk
ac5128e9b3
livecd-creator: fix /dev in chroot 2015-08-01 23:20:02 +02:00
Wojtek Porczyk
5553b98e2f
livecd-creator imported from rhinstaller/livecd-tools 2015-08-01 23:20:02 +02:00
Wojtek Porczyk
65ca4d222c
Move /etc/rc.d files from kickstart to package 2015-08-01 23:20:01 +02:00
Marek Marczykowski-Górecki
fa151f3261
Preliminary qubes-live package 2015-08-01 23:20:01 +02:00
Wojtek Porczyk
ecd43c43c4
liveusb: new ks stolen from fedora spins 2015-08-01 23:19:52 +02:00
Marek Marczykowski-Górecki
c254186978
qubes-release 3.0-0.4 2015-07-13 15:25:30 +02:00
Marek Marczykowski-Górecki
73748a3519
qubes-release: add security-testing repository definition 2015-07-13 15:24:58 +02:00
Marek Marczykowski-Górecki
40ba343677
lorax-templates-qubes-2.2 2015-07-13 00:12:52 +02:00
Marek Marczykowski-Górecki
9e8a70dfb8
anaconda 20.25.16-9 2015-07-13 00:11:14 +02:00
Marek Marczykowski-Górecki
57887fd90a
lorax: use even shorter file names for kernel/initrd
Apparently initrd-3.19.8-100.fc20.x86_64.img is still too long for
ISO9660.
2015-07-12 16:01:09 +02:00
Marek Marczykowski-Górecki
2726c5a9f5
anaconda: use kernel-install instead of grubby to regenerate initrd/grub.conf
Since we have own hook there, it properly handles Xen. This means we no
longer need post scripts in kickstart for that.
2015-07-12 16:01:02 +02:00
Marek Marczykowski-Górecki
20ec7c3935
lorax: no longer include 3.11 kernel 2015-07-10 16:58:00 +02:00
Marek Marczykowski-Górecki
f7ab7b217c
lorax: include kernels downloaded from Fedora repository
Do it by manually extracting packages from pungi cache instead of
redownloading, because we can't access yum configuration (repositories,
gpg keys etc) here, so it would be even more hacky...

All this is needed because pungi does not support including multiple
versions of a single package.
2015-07-10 16:48:36 +02:00
Marek Marczykowski-Górecki
c792d42b22 comps: remove most of firmware packages
Leave only linux-firmware (containing firmware needed for some GPUs) and
alsa-firmware (as we need sound in dom0).
2015-07-10 02:56:12 +02:00
Marek Marczykowski-Górecki
569b48bcc1 gitignore pkgs 2015-05-14 23:42:11 +02:00
Marek Marczykowski-Górecki
73e8665a2b anaconda: add dom0_mem=min:1024M to default xen cmdline
This will solve #959 for new installations.

Related to qubesos/qubes-issues#959
2015-05-14 21:41:37 +02:00
Marek Marczykowski-Górecki
29fafe803e firstboot 18.6-8 2015-04-15 18:48:15 +02:00
Marek Marczykowski-Górecki
3ce7faca65 Ensure that installer repo is created with proper comps.xml 2015-04-15 14:24:23 +02:00
Marek Marczykowski-Górecki
62c94eb00b firstboot: fix catching error message 2015-04-15 14:21:58 +02:00
Marek Marczykowski-Górecki
73f06661bb firstboot: do not abort configuring other templates if one fails 2015-04-15 14:21:57 +02:00
Marek Marczykowski-Górecki
ed9a728235 rpm_verify: do not try to import key when run as normal user 2015-04-15 14:21:57 +02:00
Marek Marczykowski-Górecki
168e34510d firstboot: make initial setup more defensive
Do not abort the whole process when some part fails. Cleanup *-dvm if
DispVM preparation failed.
2015-04-15 14:21:54 +02:00
Marek Marczykowski-Górecki
3d5bcb5b18 anaconda 20.25.16-8 2015-04-12 03:06:55 +02:00
Marek Marczykowski-Górecki
6ec0a27683 anaconda: regenerate grub.cfg using grub2-mkconfig
Normally anaconda uses grubby to update bootloader configuration. But
unfortunately it breaks grub configuration (removes trailing "=", so
empty variable assignment xen_rm_opts= is broken). Instead of reworking
the whole bootloader support in anaconda, just regenerate grub.cfg at
the end.
2015-04-12 03:04:49 +02:00
Marek Marczykowski-Górecki
332dbb12c4 firstboot 18.6-7 2015-04-07 20:45:16 +02:00
Marek Marczykowski-Górecki
728bdcae27 firstboot: set fedora template as default
As the user can install other templates, it needs to be done explicitly.
2015-04-07 15:06:24 +02:00
Marek Marczykowski-Górecki
8d61956b28 comps: include debian templates on the ISO 2015-04-07 15:04:51 +02:00
Marek Marczykowski-Górecki
a7804fc21c comps: install qvm-* docs by default 2015-04-07 15:04:32 +02:00
Marek Marczykowski-Górecki
5ce5b397de qubes-release-3.0-0.3 2015-04-03 14:38:52 +02:00
Marek Marczykowski-Górecki
0449b43682 qubes-release: do not expose minor version in qsb* rpm macro
Rpm macro name cannot contain a dot.
2015-04-03 11:32:30 +02:00
Marek Marczykowski-Górecki
3bd3f89191 firstboot 18.6-6 2015-04-02 01:02:55 +02:00
Wojtek Porczyk
56a66e8027 rename netvm -> sys-net, firewallvm -> sys-firewall 2015-03-31 20:31:06 +02:00
Wojtek Porczyk
96b7053d35 conf/comps-qubes.xml: add xdotool to qubes-dom0-debug group
xdotool is used in qubes.tests.
2015-03-31 20:29:32 +02:00
Marek Marczykowski-Górecki
7719d9d64f qubes-release-3.0-0.2 2015-03-27 01:26:17 +01:00
Marek Marczykowski-Górecki
b655239798 Enable yum repos 2015-03-27 01:23:24 +01:00
Marek Marczykowski-Górecki
e732107d9f conf: install fedora-21 template by default 2015-03-27 00:29:57 +01:00
Marek Marczykowski-Górecki
162672cde3 qubes-release: Add Fedora 21 key 2015-03-22 04:07:26 +01:00
Marek Marczykowski-Górecki
303e188ca6 Remove non-existing packages from BuildRequires 2015-03-22 04:05:38 +01:00
Marek Marczykowski-Górecki
b95bd9af8c anaconda: fix compile warnings 2015-03-22 04:05:06 +01:00
Marek Marczykowski-Górecki
948d917d99 firstboot: update text-mode version to match graphical one, implement unattended mode 2015-03-21 22:03:15 +01:00
Marek Marczykowski-Górecki
ff6190e669 lorax: update kernel versions included on the ISO 2015-03-21 04:18:17 +01:00
Marek Marczykowski-Górecki
3354cefaeb Revert "comps-qubes.xml: remove qubes-manager"
This reverts commit 1e3f4e7368.
Restore qubes-manager as it should work now.
2015-03-19 23:02:05 +01:00
Marek Marczykowski-Górecki
14a03c9bbc firstboot: start the template to finish its initial configuration
Instead of mounting its root.img directly in dom0.
2015-03-19 11:10:26 +01:00
Marek Marczykowski-Górecki
cabf188ee5 conf: update template name
The is no -x86 suffix anymore.
2015-03-19 11:08:19 +01:00
Marek Marczykowski-Górecki
636d326a61 conf: do not exclude Fedora kernel for dom0
We do not need custom patches for dom0 kernel anymore, so make it
possible to install kernel from Fedora repo (which probably will be
somehow newer than our own).
2015-03-19 11:05:38 +01:00
Marek Marczykowski-Górecki
e4d5e43abd rpm_verify: use absolute path for key import 2014-11-22 01:10:24 +01:00
Marek Marczykowski-Górecki
1535273f9b Import Qubes Release key before verifying rpms on just built ISO 2014-11-20 21:24:50 +01:00
Marek Marczykowski-Górecki
ccc5fe027f qubes-release-10-0.1 2014-11-20 17:05:48 +01:00
Marek Marczykowski-Górecki
30491ad827 Disable R3 repos by default
They will be reenabled just before release.
2014-11-20 17:05:23 +01:00
Marek Marczykowski-Górecki
aee72afaaf qubes-release: disable templates repo by default
It will be reenabled just before final release
2014-11-20 16:41:12 +01:00
Marek Marczykowski-Górecki
08f6676a2a qubes-release: update keys for R3 release 2014-11-20 16:40:37 +01:00
Joanna Rutkowska
17ec8dc8f6 Qubes Release is now 3 2014-11-10 18:29:50 +01:00
Wojciech Zygmunt Porczyk
1e3f4e7368 comps-qubes.xml: remove qubes-manager
Qubes Manager currently does not work on R3
2014-11-10 14:51:28 +01:00
Wojciech Zygmunt Porczyk
d460acf065 anaconda: do not fail on nonexistent inital-setup-*
Split `systemctl enable` to fail only on nonexistent units. Qubes does not
currently use initial-setup.
2014-11-10 14:48:31 +01:00
Marek Marczykowski-Górecki
bc38235293 comps: add alsa-utils for XFCE
It is used by default for multimedia keys actions (vol up/down etc).
2014-09-05 01:36:15 +02:00
Victor Lopez
3ddefba9f1 firstboot copy Dom0 locale.conf to TemplateVMs
locale.conf is what makes an AppVM shows menus in the local language
instead of english.
2014-09-05 01:28:38 +02:00
Marek Marczykowski-Górecki
89333bd683 qubes-release 2-10
Updated comps.xml file.
2014-07-17 11:41:48 +02:00
Marek Marczykowski-Górecki
31a39b98c2 Revert "anaconda+lorax: install 3.11 VM kernel in addition to default one (#868)"
This reverts commit 277c6dde71.
DispVM is back working with newer kernels.
2014-06-27 17:25:21 +02:00
Marek Marczykowski-Górecki
71e0f8a9bb comps: install apper/yumex for dom0 graphical updates (#824) 2014-06-27 03:08:08 +02:00
Marek Marczykowski-Górecki
277c6dde71 anaconda+lorax: install 3.11 VM kernel in addition to default one (#868)
DispVM have problems on newer kernels (details in ticket description).
2014-06-27 02:58:54 +02:00
Marek Marczykowski-Górecki
c066d85b06 anaconda: lower minimum required disk space
Indeed 50GB is advisable minimum to have usable system, but do not rule
out some corner cases/test installs.
2014-06-27 02:56:05 +02:00
Wojciech Zygmunt Porczyk
d81c64ca41 remove qubes-logos, migrate to qubes-artwork 2014-06-10 18:47:47 +02:00
Marek Marczykowski-Górecki
acb9c103c1 anaconda 20.25.16-7 2014-04-18 04:09:41 +02:00
Marek Marczykowski-Górecki
fe547f8ea9 anaconda: Remove link to software selection from storage dialog
If clicked too early (before metadata got loaded) it causes installer
crash. We don't provide wide software selection so just remove that
link.
2014-04-18 04:07:44 +02:00
Marek Marczykowski-Górecki
7eff70f58a anaconda 20.25.16-6 2014-04-17 01:30:56 +02:00
Marek Marczykowski-Górecki
25423de416 pungi 3.03-1.5 2014-04-17 01:30:56 +02:00
Marek Marczykowski-Górecki
9daeefe05d pungi: fix recursive partition table 2014-04-17 01:30:56 +02:00
Marek Marczykowski-Górecki
23a54d7436 anaconda: remove network setup from text interface
We have network disabled.
2014-04-17 01:30:56 +02:00
Joanna Rutkowska
fcb78c64cb Remove qubes-windows-tools pkg from ISO 2014-04-16 18:17:36 +02:00
Marek Marczykowski-Górecki
ceb303854e qubes-release-2-9 2014-04-15 18:13:36 +02:00
Marek Marczykowski-Górecki
3c510e4839 qubes-release: use separate key for community templates 2014-04-15 18:12:54 +02:00
Marek Marczykowski-Górecki
84f4e9705a qubes-release: enable qubes-templates-itl by default 2014-04-15 13:23:48 +02:00
Marek Marczykowski-Górecki
2f51436fe1 qubes-release: qubes-templates repositories 2014-04-15 04:03:58 +02:00
Marek Marczykowski-Górecki
5922bff84a qubes-release 2-8, qubes-dom0-dist-upgrade 2.0-2 2014-04-13 00:20:22 +02:00
Marek Marczykowski-Górecki
1ace3d651d qubes-release: fix dom0 yum repo urls
Use r2/ (instead of r2-beta3/) also in current-testing and unstable.
2014-04-13 00:17:39 +02:00
Marek Marczykowski-Górecki
7991a6f9ab New versions
anaconda 20.25.16-5
firstboot 18.6-5
lorax-templates-qubes 2.1-1
pungi 3.03-1.4
qubes-release 2-7
2014-04-08 22:13:03 +02:00
Marek Marczykowski-Górecki
6de35b1e2d Add transitional package for dom0 dist upgrade 2014-04-08 18:26:46 +02:00
Marek Marczykowski-Górecki
5a363bf786 anaconda: set default hostname to 'dom0' 2014-04-08 18:26:46 +02:00
Marek Marczykowski-Górecki
3e9ec61613 anaconda: set default grub theme 2014-04-08 18:26:46 +02:00
Marek Marczykowski-Górecki
2700907e19 comps: add grub2 default theme
Previously it was included in grub2-tools package.
2014-04-08 18:26:38 +02:00
Marek Marczykowski-Górecki
d2cc07b04f firstboot: fix error reporting on "Service VMs" page
Also check for user existence in all required cases, not only when
"default VMs" was selected.
2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
9d8a1f945b anaconda: disable user creation
For now we will stay with old firstboot for this task.
2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
c583904597 anaconda: indentation fix 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
e697c26905 conf: switch to fc20 repos 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
3daa2f1af6 conf: explicitly include base and core groups
They are no longer included by default in new pungi.
2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
ca20339ce2 Fix rpm_verify script
Do not match unsigned package with 'pgp' in name as signed.
Also do not show "No PGP signature found!" warning when signing is
disabled in builder.conf.
2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
3a05380151 comps: remove duplicated xfce-extra-plugins group 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
49c6d65a4d comps: minor update to match fc20 package set 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
b1d76b2e65 anaconda no longer have noarch packages 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
1e4581e540 lorax: update templates based on fc20 lorax package 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
c938ccb706 anaconda: fixes for upgraded anaconda (failed conflict resolution) 2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
39f318923e pungi: fix --nosource option
https://bugzilla.redhat.com/show_bug.cgi?id=1014680
2014-04-08 05:50:32 +02:00
Marek Marczykowski-Górecki
7fe06dd703 pungi-3.03
Based on fc20 package. Detailed changelog included in spec file.
2014-04-08 05:50:31 +02:00
Marek Marczykowski-Górecki
85f2099230 pykickstart-1.99.48-1.2
Based on fc20 package. Detailed changelog included in spec file.
2014-04-08 05:50:31 +02:00
Marek Marczykowski-Górecki
f73b3741f0 Update anaconda to 20.25.16
Apply result of "git diff anaconda-18.37.11-1..anaconda-20.25.16-1" and
resolve conflicts.
2014-04-08 05:50:31 +02:00
Marek Marczykowski-Górecki
7f2e76acb4 qubes-release: include Fedora 20 signing key 2014-04-08 05:25:04 +02:00
Marek Marczykowski-Górecki
58d9e1f32f anaconda 18.37.11-4 2014-04-05 00:48:25 +02:00
Marek Marczykowski-Górecki
630e26a7ef qubes-release-2-5 2014-04-05 00:48:02 +02:00
Marek Marczykowski-Górecki
d636972dd9 qubes-release: variable dom0 base distribution cont. (#807)
Update Fedora repos files.
2014-04-05 00:47:09 +02:00
Marek Marczykowski-Górecki
383f9fb3df anaconda: fix build on fc20 2014-04-02 19:33:10 +02:00
Marek Marczykowski-Górecki
4925b42a7a qubes-release: variable dom0 base distribution (#807)
Use separate repositories for different dom0 base distributions. This is
basically to ease upgrades, not to support different base distro
simultaneously.
2014-04-02 19:12:04 +02:00
Marek Marczykowski-Górecki
6caccbec7c Merge branch 'master' of git://git.qubes-os.org/joanna/installer-qubes-os 2014-03-31 19:12:23 +02:00
Joanna Rutkowska
da8c0fa686 installer: use fc20 template 2014-03-24 13:04:56 +01:00
Marek Marczykowski-Górecki
c7bccba04c lorax: include 3.12+ kernels (if present) 2014-03-21 15:37:06 +01:00
Marek Marczykowski-Górecki
6f94650805 lorax, comps: disable multipath
It isn't normally needed on desktop systems, but causes dependency
loop inside initrd.
2014-03-21 15:37:05 +01:00
Marek Marczykowski-Górecki
e93661ebde lorax: do not remove some used libraries from installer image (#773)
liblzo2 is required by mkfs.brtfs, dri libraries are required for some
video drivers.
2014-03-21 15:36:52 +01:00
Marek Marczykowski-Górecki
90d4fc499e anaconda: set epoch to 1000
Prevent vanilla anaconda package installation.
2014-03-21 13:42:03 +01:00
Marek Marczykowski-Górecki
32ebc2de54 firstboot: disable "Finish" button during creation of VMs (#783)
Prevent starting two simultaneous (conflicting) threads for VMs creation.
2014-03-21 03:39:27 +01:00
Marek Marczykowski-Górecki
b8d3ecdd6d qubes-logos: do not install Deja Vu Serif font
It isn't used there. There isn't even config file for it.
2014-03-21 03:37:29 +01:00
Marek Marczykowski-Górecki
7c885b444d qubes-logos 1.2-1 2014-03-18 00:08:02 +01:00
Marek Marczykowski-Górecki
73e6b65246 plymouth: hide lengthy disk name from passphrase prompt 2014-03-17 23:37:12 +01:00
Marek Marczykowski-Górecki
b92cb75f8d qubes-logos 1.1-1 2014-03-14 02:52:07 +01:00
Marek Marczykowski-Górecki
4591de6dde plymouth: include 'label' plugin for text messages rendering 2014-03-14 01:45:59 +01:00
Marek Marczykowski-Górecki
74a74928bd plymouth: display password prompt text 2014-03-13 23:29:41 +01:00
Marek Marczykowski-Górecki
fc4e6b3583 plymouth: update for multi-line messages API 2014-03-12 04:37:58 +01:00
Joanna Rutkowska
0dc5313c36 Merge branch 'master' of git://git.qubes-os.org/marmarek/installer-qubes-os 2013-12-09 00:48:29 +01:00
Marek Marczykowski-Górecki
23cdab605a lorax-templates-qubes-2.0 2013-12-08 19:18:50 +01:00
Marek Marczykowski-Górecki
b6ace0cd2f lorax: don't build EFI image
Qubes currently don't support EFI (because of xen 4.1) so do not include
not working EFI boot image.
2013-12-08 19:17:42 +01:00
Marek Marczykowski-Górecki
7a46b7e7dc pungi-2.13-1.3 2013-12-08 19:16:54 +01:00
Marek Marczykowski-Górecki
eb2625db0b pungi: Don't include EFI options if EFI image not generated 2013-12-08 19:16:05 +01:00
Marek Marczykowski-Górecki
23f94f0a16 qubes-release-2-5 2013-12-08 19:15:52 +01:00
Marek Marczykowski-Górecki
4672fbb100 Disable r2-beta2 repo on r2-beta3 release 2013-12-08 19:15:12 +01:00
Joanna Rutkowska
c3211d3bf7 Merge branch 'master' of git://git.qubes-os.org/marmarek/installer-qubes-os 2013-12-06 14:25:33 +01:00
Marek Marczykowski-Górecki
e3ffb8241e qubes-release-2-4 2013-12-06 13:24:56 +01:00
Marek Marczykowski-Górecki
3b1bd1b41e qubes-release: Split R2 yum repository for individual beta releases. 2013-12-06 13:21:47 +01:00
Joanna Rutkowska
67a8a1c085 Correct Qubes Windows Tools package name 2013-12-06 11:21:16 +01:00
Marek Marczykowski-Górecki
4d072363a8 lorax: use newest kernel for installer
Sort the kernels before creating installing them. The last one will be
the newest and will override older ones.
2013-11-18 11:30:45 +01:00
Marek Marczykowski-Górecki
645160e5e2 kickstart: fix path to Fedora GPG keys 2013-11-13 23:30:29 +01:00
Marek Marczykowski-Górecki
20cc289abf Install hypervisor binary as xen.gz, regardless of version
We've drop xen.gz symlink from xen package to not duplicate grub
entries, but here we need only xen.gz file.
2013-08-28 11:56:28 +02:00
Marek Marczykowski-Górecki
bd57fa02ec Set grub default to the kernel used during installation (#581) 2013-08-28 11:48:53 +02:00
Marek Marczykowski-Górecki
76f22a0ea0 Install all available kernels by default (#581)
Anaconda/pungi doesn't support multiple versions of the same package at
the time, so place all kernels on installation media in separate
directory and install them in %post script.
2013-08-28 11:48:22 +02:00
Marek Marczykowski-Górecki
05c26844ca Enable the user choice of kernel for running installer (#581)
Unfortunately single "install" command installs only one version of
package, even if multiple matches, so must list all versions explicitly.
Include all major releases from 3.2 to 3.11 to not require change it too
often.
Also exclude kernel from fedora repos to force use of qubes kernel.
2013-08-28 11:42:49 +02:00
Marek Marczykowski-Górecki
ed5f474477 Include dom0-debugging software on installation media
This is fix for 13c61af3cf "comps: add
optional software for dom0 debugging".
2013-08-27 00:48:46 +02:00
Marek Marczykowski-Górecki
4022eb7457 rpm: fix dates in changelog
Day of week was wrong and new rpm complains about it.
2013-08-26 14:00:34 +02:00
Marek Marczykowski-Górecki
52ebe47f4c lorax-templates-qubes 1.2 2013-06-13 15:20:23 +02:00
Marek Marczykowski-Górecki
82a3ec60d1 lorax: include ehci-pci module in installer initramfs image
In recent kernel releases this additional module is required to support
USB 2.0 controllers.
2013-06-13 15:16:38 +02:00
Marek Marczykowski
13c61af3cf comps: add optional software for dom0 debugging 2013-05-20 01:37:52 +02:00
Marek Marczykowski
3b444d3d65 anaconda: prevent anaconda.spec from regenerating
The only dynamic field is VERSION, so it isn't worth (but makes some
confusion).
2013-03-26 08:37:43 +01:00
Marek Marczykowski
043b780ed9 comps: qubes-doc-dom0 now is part of qubes-core-dom0 2013-03-25 05:20:04 +01:00
Marek Marczykowski
80ecf4a955 Add Makefile.builder 2013-03-19 04:19:39 +01:00
Marek Marczykowski
5bde26c0d8 spec: build packages in-place when %{qubes_builder} defined
This will make building package without taring the sources and untaring
them again.
2013-03-19 04:16:30 +01:00
Marek Marczykowski
7600420256 qubes-release: don't use Fedora groups
We have own ones now.
2013-03-01 02:00:45 +01:00
Joanna Rutkowska
c83e1c5577 comps: use kde+xfce4 as the default installation option 2013-02-27 17:52:44 +00:00
Marek Marczykowski
fa3560f585 firstboot 18.6-4 2013-02-25 17:33:50 +01:00
Marek Marczykowski
28a0e3c4de firstboot: remove /mnt/template-root dir 2013-02-25 17:09:01 +01:00
Marek Marczykowski
f1d1270a5b comps: install xfdesktop
This is needed to manage Xfce4 desktop (wallpaper configuration etc).
2013-02-25 17:04:18 +01:00
Marek Marczykowski
8438eab17c Merge branch 'master' of git://git.qubes-os.org/joanna/installer 2013-02-25 13:26:44 +01:00
Marek Marczykowski
a79fd1c643 comps: install qubes-pdf-converter-dom0 2013-02-25 13:16:49 +01:00
Joanna Rutkowska
53a7f9b40c Improve readability of installation options descriptions 2013-02-25 12:50:08 +01:00
Marek Marczykowski
5d76b2f7aa anaconda 18.37.11-3, lorax-templates-qubes-1.1, qubes-release-2-3 2013-02-25 06:51:44 +01:00
Marek Marczykowski
8558b595b0 anaconda: fix post-install scripts, regenerate initramfs
InstallClass.postAction isn't called from anywhere, move things to
anaconda post-scripts. Add regenerate of initramfs image to include
qubes-pciback module.
2013-02-25 06:22:25 +01:00
Marek Marczykowski
0d7c04bd53 lorax: do not build boot.iso (#706) 2013-02-25 01:02:06 +01:00
Marek Marczykowski
aa32ce9e70 comps: installation option KDE+Xfce 2013-02-23 13:29:28 +01:00
Marek Marczykowski
73e4bd6c22 anaconda: add "console=none" Xen parameter 2013-02-23 03:12:08 +01:00
Marek Marczykowski
1076c760e1 anaconda: start Xorg on tty7
To not conflict with logind-reserved tty6 (ReserveVT option in
logind.conf(5))
2013-02-21 03:12:13 +01:00
Marek Marczykowski
cf29b81f86 lorax: remove fedora branding cont. 2013-02-21 03:10:33 +01:00
Marek Marczykowski
6c2ea7733e lorax: install mesa-dri-drivers in installer image 2013-02-21 03:10:04 +01:00
Marek Marczykowski
ec03babdb2 iso build: fail build when pungi fails
This is fix for bug introduced in commit
ac856cca70.
2013-02-20 02:44:23 +01:00
Marek Marczykowski
ac856cca70 iso build: keep intermediate files in "work" dir and clean it up
Also take care to set right owner of result files.

Commend about method: pungi have --destdir option, but apparently it
break whole build process. So change directory just before build
2013-02-19 22:33:03 +01:00
Marek Marczykowski
62252c5a3c anaconda: replace installclass with Qubes one
Mainly to modify default partitioning layout.
2013-02-14 03:36:31 +01:00
Marek Marczykowski
e345814639 anaconda: display correct root password status 2013-02-14 00:32:10 +01:00
Marek Marczykowski
16f3739ebe qubes-release: provide os-release file; fix CPE release 2013-02-13 23:53:03 +01:00
Marek Marczykowski
cf59a35b39 lorax: do not touch non-existing services 2013-02-13 13:54:55 +01:00
Marek Marczykowski
ec41543c32 lorax: disable networking during install...
...even if NetworkManager is running.
Actually it is started by anaconda (and needed to provide D-Bus
interface) even if service disabled in systemd configuration.
2013-02-13 13:45:57 +01:00
Marek Marczykowski
7b95364c17 comps: install Fedora 18 template 2013-02-13 13:41:24 +01:00
Marek Marczykowski
5e55b430b7 anaconda: add option to lock root account
Not only default setting, so one could leave account locked if entered
password setting spoke.
2013-02-13 13:40:28 +01:00
Marek Marczykowski
2b0bda77a8 comps: install zenity in Xfce environment 2013-02-13 04:23:04 +01:00
Marek Marczykowski
bcdbe68752 qubes-logos: Suppress real Fedora desktop-backgrounds-gnome 2013-02-13 04:22:53 +01:00
Marek Marczykowski
5f69bb31c1 qubes-logos: add 96x96 icon 2013-02-12 15:14:11 +01:00
Marek Marczykowski
40aff2cab3 anaconda: lock root account by default 2013-02-12 02:30:33 +01:00
Marek Marczykowski
2c55391588 anaconda: simplify autopart customization (minor) 2013-02-12 02:30:05 +01:00
Marek Marczykowski
f39fe5c2f2 comps: rename xfce4-panel-qubes to xfce4-settings-qubes 2013-02-11 02:24:34 +01:00
Marek Marczykowski
74cbe40839 comps: install mesa-dri-drivers 2013-02-11 02:24:23 +01:00
Marek Marczykowski
e88605407d comps: minor groups cleanup 2013-02-11 02:24:05 +01:00
Marek Marczykowski
d99643beff lorax: hide xen messages during installer startup 2013-02-09 10:26:16 +01:00
Marek Marczykowski
10dc163e42 qubes-release: provide Qubes-comps.xml 2013-02-08 23:01:34 +01:00
Marek Marczykowski
b34dea8418 qubes-release: remove unused files 2013-02-08 20:38:29 +01:00
Marek Marczykowski
c2a3737ea2 comps: install xfce4-panel-qubes package 2013-02-08 02:52:34 +01:00
Marek Marczykowski
1c0f105c44 anaconda: write minimal network configuration
Do not skip it completely, only remove network devices setup.
Especially set hostname.
2013-02-08 02:52:34 +01:00
Marek Marczykowski
51bb3df5ff comps: install volume control software
For both Xfce and KDE.
2013-02-08 02:52:22 +01:00
Marek Marczykowski
3aae7accdc comps: remove duplicated anaconda-tools group 2013-02-07 00:34:38 +01:00
Marek Marczykowski
1cb20ba052 comps: hide unneded groups 2013-02-06 14:18:29 +01:00
Marek Marczykowski
8ed84973ff anaconda 18.37.11-2, firstboot 18.6-3, lorax-templates-qubes 1.0-1, qubes-logos 1-4, qubes-release 2-2 2013-01-27 00:16:02 +01:00
Marek Marczykowski
1a59ea6764 qubes-logos: background for grub2 2013-01-26 22:46:42 +01:00
Marek Marczykowski
c4ce756bfb update build deps 2013-01-26 22:46:08 +01:00
Marek Marczykowski
c39779731f qubes-release: import all rpm-gpg keys
This is now the only rpm --import during system installation.
2013-01-26 22:45:00 +01:00
Marek Marczykowski
008b2aacf3 conf: specify gpgkey for package verification 2013-01-26 22:44:25 +01:00
Marek Marczykowski
6e1b85fa43 pungi+pykickstart: import packages and patch it to support rpm signature verification
Details here: https://bugzilla.redhat.com/show_bug.cgi?id=904654
When above bug will be resolved, this commit can be reverted.
2013-01-26 22:41:55 +01:00
Marek Marczykowski
ca50a4ba4a firstboot: use 'service' command to start qubes-netvm
Instead of obsolete init.d scripts.
2013-01-26 22:40:01 +01:00
Marek Marczykowski
74005a240b firstboot: run most qvm-tools as normal user
As warning says, to not lead into permission problems (eg for menu entries).
2013-01-26 22:39:54 +01:00
Marek Marczykowski
3f12480aea conf+qubes-release: enable updates repo
There are still some broken packages in base fc18, most of them have opened bugzilla tickets, so do not block updates when they will be released.
Also switch to metalink style mirrorlist URLs.
2013-01-26 22:37:47 +01:00
Marek Marczykowski
97521d4662 conf: Package groups improvement
Mostly based on Fedora 18 comps file - added translations, fonts, xfce plugins etc.
Ssome unneded packges removed from xfce group
Two separate environment (KDE and XFCE).
2013-01-26 22:35:08 +01:00
Marek Marczykowski
492e2932e7 anaconda: make encrypted partitions by default 2013-01-26 22:29:36 +01:00
Marek Marczykowski
745a36a17d anaconda: fix grub config setup
Remove non-xen options, make the right thing default one
2013-01-26 22:28:55 +01:00
Marek Marczykowski
da044ddca2 anaconda: do not start network during install 2013-01-26 22:26:08 +01:00
Marek Marczykowski
a3970b15fd makefile: include all anaconda packages 2013-01-26 22:21:58 +01:00
Marek Marczykowski
da9fe1b076 Move result files version independent directory 2013-01-26 22:19:09 +01:00
Marek Marczykowski
d4d4dc7c09 firstboot: update to 18.6 upstream version (preserving qubes mods) 2013-01-26 04:05:35 +01:00
Marek Marczykowski
2c2f035c61 lorax: qubes customized templates 2013-01-24 11:54:44 +01:00
Marek Marczykowski
a25ae51162 lorax: add lorax-templates-qubes package - for now with fc18 templates 2013-01-24 11:50:02 +01:00
Marek Marczykowski
63b1a3fa76 firstboot: make it working with both SysV and SystemD init style 2013-01-24 03:20:05 +01:00
Marek Marczykowski
6c3b88a24a revisor: remove it, now ISO will be built with pungi and lorax 2013-01-24 03:20:05 +01:00
Marek Marczykowski
13fc2f86d9 use pungi to build installation ISO 2013-01-24 03:19:59 +01:00
Marek Marczykowski
d38e8d90ec qubes-logos: splash for syslinux in png 2013-01-24 01:45:53 +01:00
Marek Marczykowski
00c5528adc anaconda: import unmodified 18.37.11 version from fc18 2013-01-24 01:45:53 +01:00
Marek Marczykowski
f29edc0b66 qubes-release: use Fedora 18 as base distro 2013-01-24 01:45:44 +01:00
Marek Marczykowski
d6a588e0a4 firstboot: add text-based fallback in case of GUI failed
If firstboot fails it is very hard to debug the problem, because lack of any
user and no network access. So provide some basic fallback.
2012-12-19 04:50:16 +01:00
Marek Marczykowski
d8f0aa057c Include linux-firmware package in dom0 for better AMD GPU support
Actually radeon driver needs additional firmware.
2012-12-19 03:14:21 +01:00
Marek Marczykowski
59b685d2dc Fix qubes-release-notes package.
The package is actually placeholder, but do not confuse revisor about missing
package.
2012-12-19 03:11:47 +01:00
Marek Marczykowski
8d3c6ce94e Merge branch 'master' of git://git.qubes-os.org/joanna/installer 2012-12-10 00:55:17 +01:00
Marek Marczykowski
d0922a1cfa makefile: update-repo-* targets 2012-12-09 23:54:24 +01:00
Joanna Rutkowska
0de38f3d44 Merge branch 'master' of git://git.qubes-os.org/marmarek/installer 2012-12-04 00:18:37 +01:00
Joanna Rutkowska
788d86a88c make clean: also remove the build/ directory 2012-11-27 15:09:30 +01:00
Marek Marczykowski
e99e0c2744 firstboot: obtain version info automatically (#676) 2012-11-27 02:17:44 +01:00
Joanna Rutkowska
d75d0e53d0 Increase verbosity of revisor
The output is redirected to a log file anyway, but in case of an error this
prints much more useful info.
2012-11-19 17:51:42 +01:00
Joanna Rutkowska
c460c5c430 update-repo: reduce verbosity 2012-11-19 17:50:55 +01:00
Joanna Rutkowska
572f775f8f New target: make clean_repos 2012-11-19 17:50:15 +01:00
Joanna Rutkowska
8ded5f9a31 yum/update_repo.sh: reduce verbosity 2012-11-19 17:48:21 +01:00
Joanna Rutkowska
46b793dcba rpm_verify: reduce verbosity, and at the same time print more info on error 2012-11-19 17:43:09 +01:00
Marek Marczykowski
3dce61a3ed makefile: fix retrieving spec version
Simple sed doesn't expand macros (now used in qubes-release), so replace with
proper rpm query.
2012-11-16 04:49:01 +01:00
Marek Marczykowski
c6272b9bb4 qubes-release-2-1 2012-11-15 19:59:36 +01:00
Marek Marczykowski
a13ad65d9f qubes-release: use %{dist_version} macro in version 2012-11-15 19:15:57 +01:00
Marek Marczykowski
6391b552da qubes-release: remove release 1 keys 2012-11-15 19:00:58 +01:00
Marek Marczykowski
81c9edc244 qubes-release: import all keys on update 2012-11-15 18:57:32 +01:00
Marek Marczykowski
5e82de56c1 qubes-release: Add Release 2 primary key 2012-11-15 18:53:16 +01:00
Marek Marczykowski
01bb26e40e Use correct key based on $releasever 2012-11-15 18:27:52 +01:00
Marek Marczykowski
8f01ba8310 Add Release 2 unstable key 2012-11-15 18:27:52 +01:00
Marek Marczykowski
4c3d39283b qubes-release: use $releasever in repository url 2012-11-15 17:52:03 +01:00
Marek Marczykowski
2c7f61081b makefile: Use QUBES_RELEASE variable 2012-11-15 11:57:49 +01:00
Marek Marczykowski
85734e0169 Sort packages 2012-11-15 11:46:01 +01:00
Marek Marczykowski
a3852e06d4 makefile: generic rpms-dom0 and rpms-vm targets 2012-11-14 01:41:38 +01:00
Marek Marczykowski
34b3d281c8 make: set release version based on RELEASE variable, default to test-build (#668) 2012-11-13 05:18:13 +01:00
Marek Marczykowski
59fa0dd599 Add build-deps file (#666) 2012-11-07 18:27:32 +01:00
Marek Marczykowski
14a4cfe337 Revert "pro: qubes-release: add yum repo pro definition"
This reverts commit f7d7b3acc0.
Unneeded now as code will be public.
2012-10-18 03:53:15 +02:00
Marek Marczykowski
ad1bc1cf59 Merge branch 'hvm'
Conflicts:
	Makefile
	anaconda/booty/x86.py
	conf/qubes-install.conf
2012-10-18 03:52:34 +02:00
Marek Marczykowski
d59e2a3f82 makefile: fix rpm verify of final release 2012-09-25 11:02:42 +02:00
Joanna Rutkowska
7d3cfcabb8 R1 2012-08-29 10:52:29 +02:00
Joanna Rutkowska
ac0b681ca2 R1-pre1 2012-08-23 12:25:37 +02:00
Marek Marczykowski
220e8331fb conf: comps minor cleanup
Remove non-existing and obsoleted packages.
2012-08-22 03:45:17 +02:00
Marek Marczykowski
07fa39350c anaconda: remove option for setting GRUB password (#647) 2012-08-22 03:44:28 +02:00
Marek Marczykowski
c53c022e30 comps: install kdegraphics (#641) 2012-07-25 00:31:59 +02:00
Marek Marczykowski
d6eef25fd9 Merge remote-tracking branch 'joanna/master' 2012-07-25 00:25:20 +02:00
Marek Marczykowski
22b87b5c9a anaconda: fix default xen console parameter (#644) 2012-07-25 00:00:41 +02:00
Marek Marczykowski
3e4686a6dd comps: do not install kdeaccessibility (#640) 2012-07-24 01:36:52 +02:00
Joanna Rutkowska
bafb5a7a47 R1-rc1 2012-07-20 23:28:04 +02:00
Joanna Rutkowska
3830f8f6cf R1-rc1-pre5 2012-07-20 16:46:54 +02:00
Joanna Rutkowska
991e33e210 R1-rc1-pre4 2012-07-20 13:42:24 +02:00
Marek Marczykowski
0e94886611 firstboot: configure all installed templates 2012-07-20 13:38:59 +02:00
Joanna Rutkowska
6a7982b7e0 R1-rc1-pre3 2012-07-20 13:38:41 +02:00
Marek Marczykowski
2c257a3dd6 firstboot: configure all installed templates 2012-07-20 13:02:19 +02:00
Joanna Rutkowska
a4fedbf909 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2012-07-19 12:05:34 +02:00
Marek Marczykowski
376954e900 anaconda: more general (and working...) detection of qubes kernel 2012-07-19 00:24:05 +02:00
Joanna Rutkowska
4ebd8a16c7 R1-rc1-pre2 2012-07-18 22:43:45 +02:00
Joanna Rutkowska
52f6afb477 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer
Conflicts:
	conf/comps-qubes.xml
2012-07-18 22:36:51 +02:00
Marek Marczykowski
ad83f834d2 anaconda: treat pvops kernel as qubes kernel 2012-07-18 15:46:56 +02:00
Marek Marczykowski
14b31c5f00 comps: install qvm-tools documentation 2012-07-18 12:18:15 +02:00
Joanna Rutkowska
7170e01b53 comps: use f17 template 2012-07-18 12:08:19 +02:00
Joanna Rutkowska
a3355c5f53 R1-rc1-pre1 2012-07-16 19:55:47 +02:00
Joanna Rutkowska
9f86c6309c Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2012-07-16 19:39:08 +02:00
Marek Marczykowski
f7d5658907 anaconda 13.42-4 2012-07-09 15:33:57 +02:00
Marek Marczykowski
c9a92d8e34 anaconda: add missing files to installation image 2012-07-09 15:32:48 +02:00
Marek Marczykowski
93bea9fad5 makefile: ensure that SOURCES dir exists 2012-07-09 15:04:37 +02:00
Marek Marczykowski
cabe94affb anaconda: do not fallback to text mode install when Xorg failed
Text mode provide very limited UI widget set and almost not existing error
reporting, which can result in broken installation.
2012-07-09 15:02:40 +02:00
Marek Marczykowski
dfe853fb9d Revert "virtual package to install multiple kernel versions"
This reverts commit 166b6f5d4c.
This didn't work (break anaconda dependecy resolve).
2012-07-09 13:46:03 +02:00
Marek Marczykowski
166b6f5d4c virtual package to install multiple kernel versions 2012-07-07 02:34:27 +02:00
Marek Marczykowski
3f27c3538e typo fixes 2012-07-07 01:59:19 +02:00
Marek Marczykowski
8f5344a030 anaconda: treat pvops kernel as qubes kernel 2012-06-14 03:08:21 +02:00
Marek Marczykowski
73352d6438 anaconda 13.42-3 2012-04-28 02:46:58 +02:00
Marek Marczykowski
0d804af891 anaconda: use packages from already mounted /mnt/stage2 if commanded so (#440) 2012-04-28 02:46:10 +02:00
Marek Marczykowski
5fd3c8b151 anaconda: try to use installation disk directly, before searching for ISO images (#440) 2012-04-28 02:45:52 +02:00
Marek Marczykowski
ba1ff47849 anaconda: use correct disk label (#440) 2012-04-28 02:43:05 +02:00
Marek Marczykowski
7723f59b70 revisor 2.2-5 2012-04-28 02:42:03 +02:00
Marek Marczykowski
6a392e41d1 revisor: fix DVD label - remove quotes 2012-04-28 02:36:58 +02:00
Joanna Rutkowska
d1af5895e2 R2-Alpha1-2 2012-04-19 18:13:08 +02:00
Joanna Rutkowska
6a201ed8e7 Merge branch 'hvm' of 10.141.1.101:/var/lib/qubes/git/marmarek/installer into hvm 2012-04-19 18:12:11 +02:00
Marek Marczykowski
f7d7b3acc0 pro: qubes-release: add yum repo pro definition 2012-04-19 15:25:01 +02:00
Marek Marczykowski
9c9d9b61e6 pro: comps: install windows pvdrivers iso 2012-04-19 15:23:45 +02:00
Marek Marczykowski
57a46a7c01 qubes-release: import key only on upgrade
Installer will import all keys at the end itself.
2012-04-19 14:23:35 +02:00
Marek Marczykowski
dbe573ca56 qubes-release: import key only on upgrade
Installer will import all keys at the end itself.
2012-04-19 14:22:25 +02:00
Joanna Rutkowska
61f878c202 Makefile: correct path used by rpm_verify (R1->R?) 2012-04-19 01:19:24 +02:00
Marek Marczykowski
bececbc80f makefile: call isohybrid on created image (#440) 2012-04-19 01:18:19 +02:00
Marek Marczykowski
f0a2027393 makefile: call isohybrid on created image (#440) 2012-04-19 01:00:34 +02:00
Marek Marczykowski
e4078f318f Merge branch 'master' of ssh://git.qubes-os.org/var/lib/qubes/git/joanna/installer 2012-04-19 00:58:33 +02:00
Joanna Rutkowska
bcf075e9a8 Merge branch 'master' of git://git.qubes-os.org/marmarek/installer 2012-04-18 10:41:03 +02:00
Joanna Rutkowska
bc2f5c5a67 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2012-04-18 09:46:02 +02:00
Marek Marczykowski
e5a7db13bc Merge branch 'hvm' of git://gitpro.qubes-os.org/joanna/installer into hvm 2012-04-18 09:39:57 +02:00
Marek Marczykowski
518800bc63 comps: diff is in diffutils package 2012-04-18 01:13:55 +02:00
Joanna Rutkowska
082f0bc51e Makefile: correct path used by rpm_verify (R1->R?) 2012-04-17 16:29:38 +02:00
Joanna Rutkowska
63b3eda231 R2-Alpha1-1 2012-04-15 16:38:33 +02:00
Marek Marczykowski
2061b0049e conf: install vim and diff by default in dom0 (#499) 2012-04-03 17:45:44 +02:00
Joanna Rutkowska
03e3d173ae qubes-release-1-3 2012-03-31 20:15:52 +02:00
Joanna Rutkowska
a5a2faa768 qubes-release: Import new RPM signing key in %post 2012-03-31 20:15:15 +02:00
Joanna Rutkowska
5191039e8a New signing key cleanup (removed the unused encryption key) 2012-03-31 14:57:42 +02:00
Joanna Rutkowska
49cd019f30 Update Qubes Signing key 2012-03-31 12:51:55 +02:00
Marek Marczykowski
cc7d7bba4f firstboot: minor fix in exception handler 2012-03-10 22:44:08 +01:00
Marek Marczykowski
39331be286 qubes-release: use separate key for unstable repo 2012-02-26 13:09:12 +01:00
Marek Marczykowski
5cba3ae239 anaconda: disable xen messages on VGA console (#434) 2012-02-07 16:17:05 +01:00
Marek Marczykowski
d5d9f287f0 firstboot: use qubes-prefs instead of qvm-set-default-netvm (#421) 2012-02-07 03:11:16 +01:00
Joanna Rutkowska
5ae25a98b1 R1-Beta3 2012-02-02 19:23:54 +01:00
Joanna Rutkowska
0ad04aae3f R1-Beta3-pre10 2012-02-01 19:06:31 +01:00
Marek Marczykowski
8c0415c584 conf: install cron daemon (#429) 2012-01-30 14:37:06 +01:00
Joanna Rutkowska
afbe80956f R1-Beta3-pre9 2012-01-28 10:42:34 +01:00
Joanna Rutkowska
4d30818f37 R1-Beta3-pre8 2012-01-24 23:56:26 +01:00
Joanna Rutkowska
2db6a409a1 firstboot: use FC15 instead of FC14
BTW: this is very inelegant that we hardcode the name of the default template here.
Can we use qvm-get-default template instead?
2012-01-20 17:13:08 +01:00
Joanna Rutkowska
82da8fc980 R1-Beta3-pre7 2012-01-20 14:34:56 +01:00
Joanna Rutkowska
5a189162c3 comps: use fc15 as the default template 2012-01-20 14:33:57 +01:00
Joanna Rutkowska
00451fa61a R1-Beta3-pre6 2012-01-20 14:31:20 +01:00
Joanna Rutkowska
fe26dd9437 R1-Beta3-pre5 2012-01-19 12:39:26 +01:00
Joanna Rutkowska
52f30ff330 R1-Beta3-pre4 2012-01-18 16:09:18 +01:00
Marek Marczykowski
ab8a01f429 Merge branch 'master' of ssh://git.qubes-os.org/var/lib/qubes/git/joanna/installer 2012-01-16 04:03:43 +01:00
Marek Marczykowski
270e4be35e anaconda: decrease minimum partition size (in automatic partitioning) 2012-01-06 14:50:20 +01:00
Joanna Rutkowska
645aaa3cd2 R1-Beta3-pre3 2011-12-24 14:41:03 +01:00
Marek Marczykowski
433fd2c640 conf: use mirror for fedora packages download 2011-12-24 04:28:09 +01:00
Marek Marczykowski
6d5fde4a1d conf: fix groups usage in kickstart
Do not use groups from fedora repo, which covered our ones.
2011-12-24 04:26:55 +01:00
Marek Marczykowski
cdc59b14ee conf: install mesa-libEGL package 2011-12-24 04:26:05 +01:00
Marek Marczykowski
a8e091d168 conf: install qubes-logos package 2011-12-23 19:26:38 +01:00
Marek Marczykowski
72884188a2 firstboot: do not fail when /mnt/template-root already exists 2011-12-23 17:27:00 +01:00
Marek Marczykowski
fc5f13c385 firstboot: fix NetVM setup (#388) 2011-12-23 17:25:02 +01:00
Joanna Rutkowska
9b2c309ca7 R1-Beta3-pre2 2011-12-20 22:44:58 +01:00
Joanna Rutkowska
2bede577b1 qubes-release: update for new yum repos 2011-12-20 15:00:37 +01:00
Marek Marczykowski
30c9b577a4 firstboot: use full patch for lspci (#388) 2011-12-19 16:54:55 +01:00
Marek Marczykowski
01a234021c conf: install dom0 part of gpg addon by default 2011-12-18 13:44:58 +01:00
Marek Marczykowski
5ada50bee0 gitignore: backup files 2011-12-12 12:12:41 +01:00
Marek Marczykowski
825cef77c5 anaconda, repos: Use same group selection in all places 2011-12-12 12:11:53 +01:00
Marek Marczykowski
9ad409bb4b firstboot: fix NetVM setup 2011-12-12 04:49:23 +01:00
Marek Marczykowski
8e835ded35 Set gpgcheck=0 (not enabled=0) for locally-built repos
This fixes commit 163c72df64
2011-11-28 23:10:33 +01:00
Marek Marczykowski
b1d5b87e33 rpm_verify: verify all packages even with NO_SIGN
Do not stop verifyng on first not signed package.
2011-11-28 23:05:51 +01:00
Marek Marczykowski
f358ed6307 Makefile: Do not reset NO_SIGN variable
NO_SIGN is already present in environment, but NOT as makefile variable.
2011-11-28 23:00:28 +01:00
Joanna Rutkowska
c6dd34702b make iso: disable debugging 2011-11-10 18:34:33 +01:00
Joanna Rutkowska
88db331d6b rpm_verify: do not panic when the file doesn't exist
It turns out revisor attempts to verify some non-existent files, and this should
not cause an abort.
2011-11-10 18:33:04 +01:00
Joanna Rutkowska
3a30465f0d Remove reference to a non-existent group kde-desktop-qubes 2011-11-10 18:31:08 +01:00
Joanna Rutkowska
163c72df64 Set gpgcheck=0 for locally-built repos
This is needed for make iso to succeed with NO_SIGN=1 setting.

This doesn't compromise security, because:
1) These are local reports anyway,
2) They are additioanlly verified by update_repo when NO_SIGN is not set.
2011-11-10 18:03:17 +01:00
Joanna Rutkowska
a5f58a524f User rpm_verify instead of repeated manual parsing of rpm --checksign output
Additionally, rpm_verify understands the NO_SIGN enviroment variable.
2011-11-10 18:01:25 +01:00
Joanna Rutkowska
010f9648ca Move the nvidia prioprietary drivers to dom0-updates repo 2011-11-10 16:00:43 +01:00
Joanna Rutkowska
688beca297 Use gpgcheck=1 as a default
(Althugh it seems like this is ignored by revisor anyway)
2011-11-09 17:33:05 +01:00
Joanna Rutkowska
6763fb299d update_repo.sh: do not panic when a repo is empty 2011-11-09 17:32:14 +01:00
Joanna Rutkowska
770d48c63b Honor the global NO_SIGN in update_repo.sh 2011-11-09 17:31:10 +01:00
Joanna Rutkowska
1739ec74b5 We don't need rpm_list files anymore
In the past, when the build process was manual, these were hints for the packager
to ensure that all required rpm files have been copied to each repo.

Now, we have automated build that takes care about it.
2011-11-09 17:29:42 +01:00
Joanna Rutkowska
416aea1d23 Get rid of the local fedora repo
This repo must be creted manually, which is not good for the
"one click" make qubes target.

The rpms for this repo are downloaded by revisor anyway from the
fedora repo and are cached in build/work/revisor-yumchace anyway,
so subsequent make iso attempts do not need to download them again.
2011-11-09 17:26:41 +01:00
Joanna Rutkowska
d38be94a0a Disable local F13 repo by default
This allows the iso build process to automatically download packages
from the fedora repo, and doesn't require the user to manaully
prepare a local F13 repository by copying packages from the installation DVD.

If a user is willing to make such preparations manually, however,
it is always possible to enable this repo easily.
2011-11-06 14:51:51 +01:00
Joanna Rutkowska
74e33c4f14 R1-Beta3-pre1 2011-11-06 14:08:21 +01:00
Joanna Rutkowska
0bfe34a5e3 Keep only qubes-unrelated rpms in dom0-updates repo 2011-11-06 14:07:44 +01:00
Joanna Rutkowska
d799e571db .gitignore: ignore the installer/ directory created as part of the iso build process 2011-11-06 14:07:01 +01:00
Joanna Rutkowska
c08ff0a31c Explain the purpuse of each repo 2011-11-06 14:04:37 +01:00
Marek Marczykowski
3104b5da7c conf: rename kde-desktop set to not conflict with standard Fedora 2011-10-15 16:40:15 +02:00
Marek Marczykowski
dc1324c3ef qubes-logos/spec: fix plymouth requires 2011-10-14 12:24:44 +02:00
Marek Marczykowski
40fd364be6 anaconda: include all usb/input/scsi/ata modules in installer system (#369) 2011-10-14 12:23:12 +02:00
Marek Marczykowski
50caa8513f anaconda: enable crond in dom0 (#354) 2011-10-13 23:01:14 +02:00
Marek Marczykowski
d064feb31c anaconda: disable xend
Since we use libxl not needed any more.
2011-10-13 23:01:14 +02:00
Marek Marczykowski
4f525d173b firstboot: add all net devices to NetVM (#282)
This isn't done by qvm-create automatically now.
2011-10-13 23:01:14 +02:00
Marek Marczykowski
639faf029d anaconda: do not pass rdloaddriver=pciback to the kernel (#357) 2011-10-13 23:01:14 +02:00
Marek Marczykowski
dddf0f2dcf Sign all 3rdparty rpms, not only just builded
Dom0 have no keys for verify every signature, so resign packages with Qubes
keys (after verifying other signatures).
2011-10-13 23:01:14 +02:00
Joanna Rutkowska
a3005babfb R1-Beta2 2011-09-16 19:55:27 +02:00
Joanna Rutkowska
8094f99f1d Updates Dom0 core to 1.6.31 2011-09-16 19:54:59 +02:00
Joanna Rutkowska
d25f55e539 R1-Beta2-pre9 2011-09-15 15:34:14 +02:00
Joanna Rutkowska
0e1daef634 Update Qubes packages
core 1.6.30, gui 1.3.6, template 1.3.9

And previously (for pre8) updated to: xen 4.1.1-5, kernel 2.6.38.3-10
2011-09-15 15:32:25 +02:00
Joanna Rutkowska
99f1ab6b23 R1-Beta2-pre8 2011-09-11 17:22:38 +02:00
Joanna Rutkowska
810972c3ba anaconda: try to fix the broken progress bar 2011-09-11 16:19:36 +02:00
Joanna Rutkowska
6ad43624e6 anaconda: fix initramfs regenerating code 2011-09-11 16:03:01 +02:00
Joanna Rutkowska
3339e61ee1 Install libgnomeui to make gtk apps in Dom0 look nicers 2011-09-11 15:16:52 +02:00
Joanna Rutkowska
3d07b5bc6b Revert "Install Anti Evil Maid packages in Dom0"
This reverts commit 1ffabfde5b.

Because of the problems with adding i686 repos, we cannot install
this package (anti-evil-maid-trustedgrub is a 32-bit rpm).

We will offer this via Qubes yum repos to install via qvm-dom0-upgrade.
2011-09-11 15:15:06 +02:00
Joanna Rutkowska
a42e706d97 Revert "Add Fedora 32-bit repos, as some packages might require them as well"
This reverts commit ae81c85ea4.

Apparently this break way too many things with the installer, such as:
1) makes the resulting ISO not having proper isoconfig and xen.gz installed
2) conflicts with kde packages

I spent some time trying to solve those issues (e.g. using exclude= added
to i686 repos), but without much success. Perhaps somebody with better
understanding of revisor/anaconda could do this one time...
2011-09-11 15:12:30 +02:00
Joanna Rutkowska
ae81c85ea4 Add Fedora 32-bit repos, as some packages might require them as well
(e.g. anti-evil-maid-trustedgrub requires libc.i686)
2011-09-09 15:10:21 +02:00
Joanna Rutkowska
e0154f079d Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2011-09-09 14:53:41 +02:00
Marek Marczykowski
1fe4aa8183 anaconda: call dracut manually
Anaconda does use own version, not from installed system (so without needed
modules).
2011-09-09 11:23:02 +02:00
Marek Marczykowski
97d0f39f38 Revert "anaconda: Regenerate initramfs at the installation end"
This reverts commit bf57b2a3f5.
This script is not needed any more. Perhaps dracut should be called here
directly, but I believe that anaconda does it automatically.

Conflicts:

	anaconda/installclasses/qubes.py
2011-09-09 11:22:44 +02:00
Joanna Rutkowska
bf0d674a8c R1-Beta2-pre7 2011-09-08 23:12:42 +02:00
Joanna Rutkowska
5ac59f4046 Update Qubes packages
core 1.6.20, gui 1.3.5, kernel-dom0 2.6.38.3-9-xenlinux, kernel-vm 3.0.4-2-pvops, xen 4.1.1-2
2011-09-08 23:12:02 +02:00
Joanna Rutkowska
1ffabfde5b Install Anti Evil Maid packages in Dom0 2011-09-08 23:09:10 +02:00
Joanna Rutkowska
008d85b5c5 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2011-09-08 17:35:50 +02:00
Marek Marczykowski
c0446b9845 Include rsyslog in dom0 installed packages (#322) 2011-08-31 23:53:38 +02:00
Joanna Rutkowska
c111608f3f Install gnome-packagekit in Dom0
This provides gpk-update-viewer that is used by qubes-watch-updates to
display a list of available updates for Dom0.
2011-08-02 13:08:20 +02:00
Joanna Rutkowska
e869947630 Revert "Install kpackagekit in Dom0"
This reverts commit e1734354eb.

We prefer gpk-update-viewer actually.
2011-08-02 13:06:38 +02:00
Joanna Rutkowska
72f19c3490 R1-Beta2-pre6 2011-08-01 16:32:38 +02:00
Joanna Rutkowska
30e5933c3d Update Qubes packeges
core 1.6.17, xen 4.1.0-8
2011-08-01 16:31:47 +02:00
Joanna Rutkowska
e1734354eb Install kpackagekit in Dom0 2011-08-01 16:03:54 +02:00
Joanna Rutkowska
b8e9ba8e37 R1-Beta2-pre5 2011-07-31 19:59:51 +02:00
Joanna Rutkowska
c2f5b61f11 Remove @qubes from kickstart 2011-07-31 19:59:51 +02:00
Joanna Rutkowska
8dbb66724a Grand Dom0 packages cleanup! 2011-07-31 18:06:08 +02:00
Joanna Rutkowska
6e79090828 Enable 'fedora' repo in Dom0 2011-07-31 18:06:08 +02:00
Joanna Rutkowska
9cd53a392a nvidia_build.sh: exit when errors detected 2011-07-31 18:06:07 +02:00
Joanna Rutkowska
9c6a8f7140 Add missing key for rpmfusion repo used for building nvidia binary driver 2011-07-31 18:06:07 +02:00
Joanna Rutkowska
200f197e90 Update qubes packages
core 1.6.15, xen 4.1.0-7, template 1.3.6
2011-07-31 18:06:01 +02:00
Rafal Wojtczuk
3eda9af075 Import default rpm keys
...so that qubes-receive-updates can call rpm -K
2011-07-29 12:29:11 +02:00
Joanna Rutkowska
b93f736164 R1-Beta2-pre4 2011-07-24 19:39:19 +02:00
Joanna Rutkowska
a81db986ce Update qubes packages
core 1.6.11, manager 1.1.2, gui 1.3.4, template 1.3.5, kernel 2.6.38.3-7
2011-07-24 19:38:29 +02:00
Marek Marczykowski
fae554ff5f firstboot: hide option to setup NTP (#286)
NTP will be used anyway, but at this stage there is no network connection in
dom0 to verify setup.
2011-07-21 01:58:05 +02:00
Marek Marczykowski
dfd29e7561 firstboot: create AppVMs as newly created user (#284)
Required to create appmenus in proper place (user homedir, not /usr/local).
Username retrieved by enumerating qubes group intentional - in some rare cases
the user can be created outside of this firstboot instance (ex. firstboot
launched by hand).
2011-07-21 01:46:18 +02:00
Joanna Rutkowska
9afae5668a R1-Beta2-pre3 2011-07-17 14:53:43 +02:00
Joanna Rutkowska
545a4daf24 Update qubes packages
core 1.6.10, manager 1.1.1, gui 1.3.3, template 1.3.4, kernel 2.6.38.3-6, xen 4.1.0-5
2011-07-17 14:52:59 +02:00
Joanna Rutkowska
09593833d6 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2011-07-17 14:44:09 +02:00
Marek Marczykowski
bf57b2a3f5 anaconda: Regenerate initramfs at the installation end 2011-07-16 15:12:32 +02:00
Marek Marczykowski
a6f9e8b216 qubes-logos: Fix plymouth dependency 2011-07-15 12:25:57 +02:00
Marek Marczykowski
d0c648cbbb anaconda: update default kernel parameters
Do not blacklist aesni-intel.
Load pciback in initramfs, before network drivers.
2011-07-15 12:06:50 +02:00
Marek Marczykowski
ab89a6d8c8 nvidia-build: Fix kernel version checking 2011-07-15 10:07:33 +02:00
Marek Marczykowski
deb3a1cc25 nvidia: script for downloading and building nvidia driver (#270)
Based on rpmfusion packages. This script downloads needed packages and rebuild
kernel module for Qubes dom0.
2011-07-14 01:50:49 +02:00
Marek Marczykowski
c0d7a2b376 firstboot: copy ntp.conf to template root.img (#261) 2011-07-14 01:43:16 +02:00
Marek Marczykowski
85d4a3160d anaconda 13.42-2 2011-07-12 22:04:31 +02:00
Marek Marczykowski
fa11e21763 revisor 2.2-4 2011-07-12 22:03:48 +02:00
Joanna Rutkowska
777ecee640 R1-Beta2-pre2 2011-07-02 18:59:07 +02:00
Joanna Rutkowska
c481dfa4da Update to core 1.6.7-dom0 2011-07-02 18:58:28 +02:00
Joanna Rutkowska
8e837fbe26 R1-Beta2-pre1
core v1.6.6, gui v1.3.1, xen v4.1.0-4
2011-07-02 15:35:16 +02:00
Joanna Rutkowska
fab03e2a6d Makefile: use more generic dir name in rpm sigcheck script
We should avoid hardcoded dir names such as R1-Beta1, because each new build will use a different name (e.g. R1-Beta2pre1)
2011-07-02 15:35:16 +02:00
Joanna Rutkowska
ebd88386f9 Revert "anaconda: Remove unused variables to let compile with -Werror=unused-but-set-variable"
This reverts commit 3341ed2c5f.

This commit breaks build on F13...
2011-07-02 15:07:11 +02:00
Joanna Rutkowska
cce46d2328 firstboot: modify pre-defined AppVMs
Create 'untrsted' instead of 'red', also create 'banking', to show users that
two AppVMs might have the same color label, yet still me something different
2011-07-02 14:56:56 +02:00
Joanna Rutkowska
ba8b56c8cd Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer 2011-07-02 13:42:04 +02:00
Joanna Rutkowska
0c1e1898c7 qubes0-release: use Beta2 repos in yum conf 2011-07-02 13:41:32 +02:00
Marek Marczykowski
c61fc09716 Make 'Enter' accepts LUKS passphrase (#219) 2011-06-26 23:16:00 +02:00
Marek Marczykowski
4111aa2f47 Remove part of network packages from dom0 (#170)
This is only the first aproximation of desired state.
2011-06-23 23:42:24 +02:00
Marek Marczykowski
fe6bdefd7a Set 'Next' as default button in anaconda (#219) 2011-06-23 23:42:24 +02:00
Marek Marczykowski
6070224938 Fix package instalation order (plymouth before qubes-logos) 2011-06-23 23:42:23 +02:00
Marek Marczykowski
6527d73a6c Include logo in plymouth theme 2011-06-23 23:42:23 +02:00
Marek Marczykowski
fd08adaf55 Do not create two /boot (#184)
/boot will be automatically added to partitions list when required (in this
case: when / is on LVM). No need for explicit adding it.
2011-06-23 23:42:23 +02:00
Marek Marczykowski
35e7e4de35 Fix root account setup
Set password only when provided. In Qubes root account is locked, so no
password is provided by user...
2011-06-23 23:42:23 +02:00
Marek Marczykowski
12237ad630 Fix checking of rpms signature on DVD (#229) 2011-06-23 23:42:14 +02:00
Marek Marczykowski
c321043e39 Do not disable qubes_setupdvm at the end of instalation (#216) 2011-06-23 15:02:48 +02:00
Marek Marczykowski
96fc81d210 Qubes package list for dom0
Can be used as list for yumdownloader or simple cp.
2011-06-23 12:21:45 +02:00
Marek Marczykowski
2492505537 Verify packages downloaded by yumdownloader (#229) 2011-06-23 12:20:14 +02:00
Marek Marczykowski
3341ed2c5f anaconda: Remove unused variables to let compile with -Werror=unused-but-set-variable 2011-06-22 03:01:06 +02:00
Joanna Rutkowska
1a6956572e qubes-release: current-testing repo description 2011-05-09 23:55:54 +02:00
Joanna Rutkowska
f32b11be24 R1-Beta1 2011-04-11 23:44:37 +02:00
Joanna Rutkowska
eabaf3e830 R1-Beta1-pre10 2011-04-11 22:05:31 +02:00
Joanna Rutkowska
e329e0398c Update core (1.5.22) 2011-04-11 22:04:59 +02:00
Joanna Rutkowska
aacd697561 Revert "qubes-logo: plymouth is in /usr/bin"
This reverts commit 57ae82070d.

No, it's not.
2011-04-11 21:13:35 +02:00
Joanna Rutkowska
b50f32877f firstboot: missing spaces in EULA 2011-04-11 15:25:26 +02:00
Joanna Rutkowska
57ae82070d qubes-logo: plymouth is in /usr/bin 2011-04-11 13:24:31 +02:00
Joanna Rutkowska
dc4d9fac30 R1-Beta1-pre9 2011-04-10 23:35:11 +02:00
Joanna Rutkowska
923f0b215f Update core (1.5.21), template (1.2.10), and manager (1.0.10) 2011-04-10 23:35:11 +02:00
Joanna Rutkowska
93193606e6 Update xen packages to 3.4.3-8 2011-04-10 23:35:11 +02:00
Joanna Rutkowska
d0bc9daab8 anaconda: user message spelling correction 2011-04-10 23:35:11 +02:00
Joanna Rutkowska
919d7c8554 Use a simple License info in firstboot 2011-04-10 23:35:08 +02:00
Joanna Rutkowska
8d86dc11b3 R1-Beta1-pre8
* core-dom0 (1.5.20-dom0)
* fedora 14 x64 template (1.2.9)
2011-04-08 23:58:50 +02:00
Joanna Rutkowska
4a078818d8 Updates qubes-dom0 packages 2011-04-08 23:58:50 +02:00
Joanna Rutkowska
37744ee23e Qubes plymouth theme path correction 2011-04-08 23:45:01 +02:00
Joanna Rutkowska
99e926b792 Fix key path for fedora repo 2011-04-08 20:07:56 +02:00
Joanna Rutkowska
c0abeb7829 Fix qubes plymouth theme 2011-04-08 20:07:56 +02:00
Joanna Rutkowska
5854b9761d R1-Beta1-pre7
* Updated libdrm (2.4.21) and mesa* (7.8.2) packages for Dom0.

Apparently with the default F13 drm/mesa packages the Xorg crashes
every so often when OpenGL is enabled in KDE on Intel IGDs (Core i5).
This is a known issue and I remember having this problem on baremetal
F13 some months ago.
2011-04-08 20:07:56 +02:00
Joanna Rutkowska
01c4f4a7fd Add lists of rpms that we have in dom0-updates and qubes-dom0 repos 2011-04-08 20:07:56 +02:00
Joanna Rutkowska
7d9ec6afee qubes-logo: Qubes "own" plymouth theme, fix plymouth LUKS pass entry dialog 2011-04-08 20:07:22 +02:00
Joanna Rutkowska
4818a244b0 qubes-logo: plymouth: cutomize images 2011-04-08 15:11:17 +02:00
Joanna Rutkowska
d003f87943 Import plymouth-theme-script files 2011-04-08 15:08:29 +02:00
Joanna Rutkowska
a5b754f777 R1-Beta1-pre6 2011-04-08 12:46:01 +02:00
Joanna Rutkowska
bff1d274e2 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/smoku/installer 2011-04-08 12:44:39 +02:00
Tomasz Sterna
1cba868e2e Fixed CD isolinux.cfg generator.
Do not remove additional kernel commandline parameters.
2011-04-08 12:41:58 +02:00
867 changed files with 2983 additions and 787391 deletions

5
.gitignore vendored
View File

@ -1,3 +1,8 @@
po/*.mo
src/*.pyc
src/modules/*.pyc
pkgs/
installer
*~
build/
anaconda/widgets/src/gettext.h

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "qubes-release"]
path = qubes-release
url = https://github.com/QubesOS/qubes-qubes-release

20
.travis.yml Normal file
View File

@ -0,0 +1,20 @@
sudo: required
dist: bionic
language: generic
install: git clone https://github.com/QubesOS/qubes-builder ~/qubes-builder
script:
- ~/qubes-builder/scripts/travis-build
- travis_wait 45 $EXPECT_FAILURE make -C ~/qubes-builder iso BUILDERCONF=scripts/travis-builder.conf VERBOSE=0 COMPONENTS=installer-qubes-os
after_script:
- tail -n 100 ~/qubes-builder/build-logs/installer-qubes-os-iso-*.log
- ls -l ~/qubes-builder/iso
env:
- DIST_DOM0=fc31 INSTALLER_KICKSTART=/tmp/qubes-installer/conf/travis-iso-full.ks USE_QUBES_REPO_VERSION=4.1 USE_QUBES_REPO_TESTING=1 RPM_BUILD_DEFINES=--nocheck
- DIST_DOM0=fc31 INSTALLER_KICKSTART=/tmp/qubes-installer/conf/travis-iso-unsigned.ks USE_QUBES_REPO_VERSION=4.1 USE_QUBES_REPO_TESTING=1 EXPECT_FAILURE=./scripts/expected-failure
- DIST_DOM0=fc31 INSTALLER_KICKSTART=/tmp/qubes-installer/conf/travis-iso-unsigned2.ks USE_QUBES_REPO_VERSION=4.1 USE_QUBES_REPO_TESTING=1 EXPECT_FAILURE=./scripts/expected-failure
- DIST_DOM0=fc31 INSTALLER_KICKSTART=/tmp/qubes-installer/conf/travis-iso-unknown-key.ks USE_QUBES_REPO_VERSION=4.1 USE_QUBES_REPO_TESTING=1 EXPECT_FAILURE=./scripts/expected-failure
# don't build tags which are meant for code signing only
branches:
except:
- /.*_.*/

170
Makefile
View File

@ -2,6 +2,7 @@
# The Qubes OS Project, http://www.qubes-os.org
#
# Copyright (C) 2011 Tomasz Sterna <tomek@xiaoka.com>
# Copyright (C) 2019 Frédéric Pierret <frederic.pierret@qubes-os.org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -18,87 +19,128 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
#
DIST ?= fc31
DIST_VER = $(subst fc,,$(DIST))
TOP := $(shell pwd)
RPMBUILD_DEFINES := --define "_rpmdir rpm/" --define "_sourcedir $(TOP)/rpm/SOURCES"
INSTALLER_DIR ?= $(PWD)
spec_version = $(shell sed -n '/^Version:/s/.*:[ \t]\+//p' $(1))
package = $(shell \
cd rpm/SOURCES; \
rm -f $(1)-$(2)*; \
ln -s ../../$(1) $(1)-$(2); \
tar jcf $(1)-$(2).tar.bz2 --dereference --exclude-vcs $(1)-$(2); \
rm $(1)-$(2) )
ISO_INSTALLER ?= 1
INSTALLER_KICKSTART ?= $(INSTALLER_DIR)/conf/qubes-kickstart.cfg
ISO_LIVEUSB ?= 0
LIVE_KICKSTART ?= $(INSTALLER_DIR)/conf/liveusb.ks
CREATEREPO := $(shell which createrepo_c createrepo 2>/dev/null |head -1)
PUNGI := /usr/bin/pungi-gather
PUNGI_OPTS := --arch=x86_64 --greedy=none --exclude-debug --exclude-source
LORAX := /usr/sbin/lorax
LORAX_OPTS := --product "Qubes OS" --variant "qubes" --macboot --force --rootfs-size=4
LORAX_OPTS += --dracut-arg="--xz"
LORAX_OPTS += --dracut-arg="--install /.buildstamp"
LORAX_OPTS += --dracut-arg="--no-early-microcode"
LORAX_OPTS += --dracut-arg="--no-hostonly"
LORAX_OPTS += --dracut-arg="--debug"
LORAX_OPTS += --dracut-arg="--omit plymouth"
LORAX_OPTS += --dracut-arg="--add fips livenet dmsquash-live convertfs pollcdrom qemu qemu-net"
LORAX_OPTS += --dracut-arg="--add-drivers intel_lpss intel_lpss_pci spi_pxa2xx_platform spi_pxa2xx_pci applespi apple_ib_tb"
ifdef QUBES_RELEASE
ISO_VERSION := $(QUBES_RELEASE)
LORAX_OPTS += --isfinal
else
ISO_VERSION ?= $(shell date +%Y%m%d)
endif
ISO_NAME := Qubes-$(ISO_VERSION)-x86_64
ISO_VOLID := $(shell echo $(ISO_NAME) | tr a-z A-Z | tr -s -c [:alnum:]'\n' -)
BASE_DIR := $(INSTALLER_DIR)/work/$(ISO_VERSION)/x86_64
LORAX_OPTS += --version "$(ISO_VERSION)" --release "Qubes OS $(ISO_VERSION)" --volid $(ISO_VOLID)
LORAX_OPTS += --workdir $(INSTALLER_DIR)/work/work/x86_64 --logfile $(INSTALLER_DIR)/work/logs/lorax-x86_64.log
LORAX_OPTS += --repo $(INSTALLER_DIR)/conf/dnf-lorax.repo
MKISOFS := /usr/bin/xorriso -as mkisofs
# common mkisofs flags
MKISOFS_OPTS := -v -U -J --joliet-long -R -T -m repoview -m boot.iso
# x86 boot args
MKISOFS_OPTS += -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table
# efi boot args
MKISOFS_OPTS += -eltorito-alt-boot -e images/efiboot.img -no-emul-boot
ANACONDA_VERSION := $(call spec_version,anaconda/anaconda.spec)
FIRSTBOOT_VERSION := $(call spec_version,firstboot/firstboot.spec)
QBSLOGOS_VERSION := $(call spec_version,qubes-logos/qubes-logos.spec)
QBSRELEASE_VERSION := $(call spec_version,qubes-release/qubes-release.spec)
REVISOR_VERSION := $(call spec_version,revisor/revisor.spec)
help:
@echo "make rpms <--- make all rpms and sign them";\
echo "make rpms_anaconda <--- create binary rpms for Anaconda"; \
echo "make rpms_firstboot <--- create binary rpms for Firstboot"; \
echo "make rpms_logos <--- create binary rpms for Qubes Logos package"; \
echo "make rpms_release <--- create binary rpms for Qubes Release package"; \
echo "make rpms_revisor <--- create binary rpms for Revisor"; \
echo; \
echo "make update-repo <-- copy newly generated rpms to installer yum repo";\
echo "make iso <== \o/";\
@echo "make iso <== \o/";\
echo; \
echo "make clean";\
echo; \
exit 0;
.PHONY: rpms rpms_anaconda rpms_firstboot rpms_logos rpms_release rpms_revisor \
update-repo update-repo-testing clean
.PHONY: clean clean-repos iso iso-prepare iso-installer iso-liveusb
rpms: rpms_anaconda rpms_firstboot rpms_logos rpms_release rpms_revisor
rpm --addsign `ls -d rpm/x86_64/*.rpm rpm/i686/*.rpm rpm/noarch/*.rpm 2>/dev/null`
ifeq ($(ISO_INSTALLER),1)
iso: iso-installer
endif
ifeq ($(ISO_LIVEUSB),1)
iso: iso-liveusb
endif
rpm/SOURCES/anaconda-$(ANACONDA_VERSION).tar.bz2: anaconda anaconda/anaconda.spec
$(call package,anaconda,$(ANACONDA_VERSION))
iso-prepare:
rm -rf && mkdir work
ln -nsf $(INSTALLER_DIR) /tmp/qubes-installer
$(CREATEREPO) -q -g ../../conf/comps-qubes.xml --update yum/qubes-dom0
rpm/SOURCES/firstboot-$(FIRSTBOOT_VERSION).tar.bz2: firstboot firstboot/firstboot.spec
$(call package,firstboot,$(FIRSTBOOT_VERSION))
iso-installer-gather:
mkdir -p $(BASE_DIR)/os/Packages
umask 022; $(PUNGI) $(PUNGI_OPTS) --config $(INSTALLER_KICKSTART) --download-to=$(BASE_DIR)/os/Packages
pushd $(BASE_DIR)/os/ && $(CREATEREPO) -q -g $(INSTALLER_DIR)/conf/comps-qubes.xml .
rpm/SOURCES/qubes-logos-$(QBSLOGOS_VERSION).tar.bz2: qubes-logos qubes-logos/qubes-logos.spec
$(call package,qubes-logos,$(QBSLOGOS_VERSION))
iso-installer-lorax:
$(INSTALLER_DIR)/scripts/ksparser --ks $(INSTALLER_KICKSTART) --extract-repo-conf-to $(INSTALLER_DIR)/conf/dnf-lorax.repo
$(LORAX) $(LORAX_OPTS) $(BASE_DIR)/os
rpm/SOURCES/qubes-release-$(QBSRELEASE_VERSION).tar.bz2: qubes-release qubes-release/qubes-release.spec
$(call package,qubes-release,$(QBSRELEASE_VERSION))
iso-installer-mkisofs:
mkdir -p $(BASE_DIR)/iso/
chmod og+rX -R $(BASE_DIR)/os/
$(MKISOFS) $(MKISOFS_OPTS) -V $(ISO_VOLID) -o $(BASE_DIR)/iso/$(ISO_NAME).iso $(BASE_DIR)/os/
/usr/bin/isohybrid -u $(BASE_DIR)/iso/$(ISO_NAME).iso
/usr/bin/implantisomd5 $(BASE_DIR)/iso/$(ISO_NAME).iso
rpms_anaconda: rpm/SOURCES/anaconda-$(ANACONDA_VERSION).tar.bz2
rpmbuild $(RPMBUILD_DEFINES) -bb anaconda/anaconda.spec
iso-installer: iso-prepare iso-installer-gather iso-installer-lorax iso-installer-mkisofs
# Move result files to known-named directories
mkdir -p build/ISO/qubes-x86_64/iso
mv $(BASE_DIR)/iso/$(ISO_NAME).iso build/ISO/qubes-x86_64/iso/
echo $(ISO_VERSION) > build/ISO/qubes-x86_64/iso/build_latest
rm -rf build/work
mv work build/work
chown --reference=Makefile -R build yum
rm -rf work
rpms_firstboot: rpm/SOURCES/firstboot-$(FIRSTBOOT_VERSION).tar.bz2
rpmbuild $(RPMBUILD_DEFINES) -bb firstboot/firstboot.spec
iso-liveusb: $(LIVE_KICKSTART) iso-prepare
pushd work && $(INSTALLER_DIR)/scripts/livecd-creator-qubes --debug --product='Qubes OS' --title="Qubes OS $(ISO_VERSION)" --fslabel="Qubes-$(ISO_VERSION)-x86_64-LIVE" --config $(LIVE_KICKSTART) && popd
# Move result files to known-named directories
mkdir -p build/ISO/qubes-x86_64/iso build/work
mv work/*.iso build/ISO/qubes-x86_64/iso/
chown --reference=Makefile -R build yum
rm -rf work
rpms_logos: rpm/SOURCES/qubes-logos-$(QBSLOGOS_VERSION).tar.bz2
rpmbuild $(RPMBUILD_DEFINES) -bb qubes-logos/qubes-logos.spec
rpms_release: rpm/SOURCES/qubes-release-$(QBSRELEASE_VERSION).tar.bz2
rpmbuild $(RPMBUILD_DEFINES) -bb qubes-release/qubes-release.spec
rpms_revisor: revisor/revisor-$(REVISOR_VERSION).tar.gz revisor/revisor.spec
rpmbuild --define "_rpmdir rpm/" --define "_sourcedir $(TOP)/revisor" -bb revisor/revisor.spec
RPMS = rpm/noarch/qubes-logos-$(QBSLOGOS_VERSION)-*.rpm \
rpm/noarch/qubes-release-$(QBSRELEASE_VERSION)-*.rpm \
rpm/noarch/revisor*-$(REVISOR_VERSION)-*.rpm \
rpm/x86_64/anaconda-$(ANACONDA_VERSION)-*.rpm \
rpm/x86_64/firstboot-$(FIRSTBOOT_VERSION)-*.rpm
update-repo:
ln -f $(RPMS) yum/installer/rpm/
(cd yum && ./update_repo.sh)
iso:
ln -sf `pwd` /tmp/qubes-installer
revisor --cli --config=conf/qubes-install.conf --model=qubes-x86_64 --install-dvd
clean-repos:
@echo "--> Removing old rpms from the installer repos..."
@(cd yum && ./clean_repos.sh)
clean:
rm -fr rpm/SOURCES/*.bz2
rm -fr rpm/noarch/*.rpm
rm -fr rpm/x86_64/*.rpm
sudo rm -fr build/*
get-sources:
git submodule update --init --recursive
ifeq ($(ISO_LIVEUSB),1)
get-sources:
$(MAKE) -C livecd-tools get-sources
verify-sources:
$(MAKE) -C livecd-tools verify-sources
else
verify-sources:
@true
endif

22
Makefile.builder Normal file
View File

@ -0,0 +1,22 @@
ifeq ($(ISO_LIVEUSB),1)
RPM_SPEC_FILES.dom0 += \
livecd-tools/livecd-tools.spec \
live/qubes-live.spec
endif
RPM_SPEC_FILES := $(RPM_SPEC_FILES.$(PACKAGE_SET))
SOURCE_COPY_IN := $(RPM_SPEC_FILES.dom0)
$(RPM_SPEC_FILES.dom0): SPEC=$(notdir $@)
$(RPM_SPEC_FILES.dom0): PACKAGE=$(dir $@)
$(RPM_SPEC_FILES.dom0): SOURCE_ARCHIVE_NAME=$(notdir $(shell $(RPM_PLUGIN_DIR)/tools/spectool --list-files --source 0 $(CHROOT_DIR)/$(DIST_SRC)/$(PACKAGE)/$(SPEC) | cut -d' ' -f2))
$(RPM_SPEC_FILES.dom0):
# Create the archive for specific Qubes packages
[[ -e $(CHROOT_DIR)/$(DIST_SRC)/$(PACKAGE)/$(SOURCE_ARCHIVE_NAME) ]] \
|| $(BUILDER_DIR)/scripts/create-archive $(CHROOT_DIR)/$(DIST_SRC)/$(PACKAGE) $(SOURCE_ARCHIVE_NAME)
NO_ARCHIVE = 1
dist-package-build: RPM_SOURCE_DIR=$(dir $(DIST_SRC)/$(PACKAGE))
# vim: ft=make

View File

@ -1,56 +0,0 @@
# If $ANACONDA isn't set in the environment, skip all these rules.
ENV{ANACONDA}!="?*", GOTO="anaconda_end"
ACTION!="add|change", GOTO="anaconda_end"
SUBSYSTEM!="block", GOTO="anaconda_end"
# for device-mapper device we are supposed to only operate on "change" events
KERNEL=="dm-*", ACTION=="add", GOTO="anaconda_end"
ENV{ANACBIN}="/sbin"
TEST!="$env{ANACBIN}/dmsetup", ENV{ANACBIN}="/usr/sbin"
KERNEL=="dm-*", ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="anaconda_end"
KERNEL=="dm-*", ENV{DM_NAME}!="?*", GOTO="anaconda_end"
KERNEL=="dm-*", ENV{DM_SUSPENDED}=="1", GOTO="anaconda_end"
KERNEL=="dm-*", ENV{DM_SUSPENDED}=="Suspended", GOTO="anaconda_end"
IMPORT{program}="$env{ANACBIN}/blkid -o udev -p $tempnode"
LABEL="anaconda_mdraid"
KERNEL!="md*", GOTO="anaconda_mdraid_member"
# container devices have a metadata version of e.g. 'external:ddf' and
# never leave state 'inactive'
ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state"
TEST!="md/array_state", GOTO="anaconda_mdraid_member"
ATTR{md/array_state}=="|clear|inactive", GOTO="anaconda_mdraid_member"
LABEL="md_ignore_state"
IMPORT{program}="$env{ANACBIN}/mdadm --detail --export $tempnode"
ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace"
ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"
ENV{DEVTYPE}=="partition", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}-part%n", OPTIONS+="string_escape=replace"
ENV{DEVTYPE}=="partition", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}-part%n"
ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[^0-9]", SYMLINK+="md/$env{MD_DEVNAME}%n"
ENV{DEVTYPE}=="partition", ENV{MD_DEVNAME}=="*[0-9]", SYMLINK+="md/$env{MD_DEVNAME}p%n"
OPTIONS+="link_priority=100"
OPTIONS+="watch"
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
LABEL="anaconda_mdraid_member"
# probe raid metadata of mdraid member devices
ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="$env{ANACBIN}/mdadm --examine --export $tempnode"
ENV{ID_FS_TYPE}=="isw_raid_member", IMPORT{program}="$env{ANACBIN}/mdadm --examine --export $tempnode"
# probe metadata of LVM2 physical volumes
ENV{ID_FS_TYPE}=="LVM2_member", IMPORT{program}="$env{ANACBIN}/lvm pvs --ignorelockingfailure --units k --nosuffix --nameprefixes --rows --unquoted --noheadings -opv_name,pv_uuid,pv_size,vg_name,vg_uuid,pv_pe_count,pv_pe_alloc_count,pe_start $tempnode"
ENV{LVM2_VG_NAME}!="?*", GOTO="anaconda_end"
ENV{ID_FS_TYPE}=="LVM2_member", IMPORT{program}="$env{ANACBIN}/lvm vgs --ignorelockingfailure --units k --nosuffix --nameprefixes --rows --unquoted --noheadings -ouuid,size,free,extent_size,extent_count,free_count,pv_count $env{LVM2_VG_NAME}"
ENV{ID_FS_TYPE}=="LVM2_member", IMPORT{program}="$env{ANACBIN}/lvm lvs -a --ignorelockingfailure --units k --nosuffix --nameprefixes --rows --unquoted --noheadings -olv_name,lv_uuid,lv_size,lv_attr $env{LVM2_VG_NAME}"
LABEL="anaconda_end"

View File

@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@ -1,159 +0,0 @@
# Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = isys po loader booty storage textw utils scripts bootdisk \
installclasses iw command-stubs ui docs pixmaps tests fonts \
gptsync liveinst
EXTRA_DIST = config.rpath COPYING pychecker-false-positives \
pycheckrc-for-anaconda runpychecker.sh lang-table \
anaconda.spec.in
MAINTAINERCLEANFILES = Makefile.in config.guess config.h.in config.sub \
depcomp install-sh ltmain.sh missing ABOUT-NLS \
INSTALL aclocal.m4 configure *.pyc py-compile
CLEANFILES = *~ lang-names anaconda.spec
MOSTLYCLEANDIRS = m4
dist_noinst_DATA = $(PACKAGE_NAME).spec
bin_PROGRAMS = mini-wm
dist_sbin_SCRIPTS = anaconda
mini_wm_CFLAGS = $(X11_CFLAGS) $(XCOMPOSITE_CFLAGS) $(GTK_X11_CFLAGS)
mini_wm_LDFLAGS = $(X11_LIBS) $(XCOMPOSITE_LIBS) $(GTK_X11_LIBS)
mini_wm_SOURCES = mini-wm.c
udevdir = /lib/udev/rules.d
dist_udev_DATA = 70-anaconda.rules
langdir = $(libdir)/$(PACKAGE_NAME)
lang_DATA = lang-names
dist_lang_DATA = lang-table
pkgpyexecdir = $(libdir)/$(PACKAGE_NAME)
pkgpythondir = $(libdir)/$(PACKAGE_NAME)
pkgpyexec_LTLIBRARIES = xutils.la
xutils_la_CFLAGS = $(PYTHON_INCLUDES) $(GDK_CFLAGS) -fno-strict-aliasing
xutils_la_LDFLAGS = -module -avoid-version $(PYTHON_LDFLAGS) $(GDK_LDFLAGS)
xutils_la_LIBADD = $(PYTHON_LIBS) $(GDK_LIBS)
xutils_la_SOURCES = xutils.c
# anaconda Python code
anacondadir = $(libdir)/$(PACKAGE_NAME)
anaconda_PYTHON = *.py
PYCHECKERPATH = isys:textw:iw:installclasses:/usr/share/system-config-date
PYCHECKEROPTS = -F pycheckrc-for-anaconda
ARCHIVE_TAG = $(PACKAGE_NAME)-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE)
sed_verbose = $(sed_verbose_$(V))
sed_verbose_ = $(sed_verbose_$(AM_DEFAULT_VERBOSITY))
sed_verbose_0 = @echo " SED "$@;
$(PACKAGE_NAME).spec: $(PACKAGE_NAME).spec.in
$(sed_verbose)sed -e 's/#VERSION#/$(PACKAGE_VERSION)/' < $< > $@
lang-names: lang-table
PYTHONPATH="." $(PYTHON) scripts/getlangnames.py > lang-names
testiso: install
@if [ "$(REPO)" = "" ]; then echo "ERROR: Need a repo to pull packages from!" ; exit 1 ; fi
@pushd scripts ; sudo ./buildinstall --version $(PACKAGE_VERSION) --product $(PACKAGE_NAME) --release $(PACKAGE_NAME)-$(PACKAGE_VERSION) --output $(shell pwd)/outiso --updates $(DESTDIR) $(REPO) ; popd ; cp outiso/images/boot.iso ./boot.iso ; sudo rm -rf outiso
@echo
@echo "Test iso is located at ./boot.iso"
tag:
@git tag -s -a -m "Tag as $(ARCHIVE_TAG)" $(ARCHIVE_TAG)
@echo "Tagged as $(ARCHIVE_TAG)"
scratch:
$(MAKE) ARCHIVE_TAG=HEAD dist
archive:
$(MAKE) tag
$(MAKE) dist
git checkout -- po/$(PACKAGE_NAME).pot
( cd po ; for f in *.po ; do git checkout -- $$f 2>/dev/null ; done )
release: archive
src: archive
@rpmbuild -ts --nodeps $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.bz2 || exit 1
@rm -f $(PACKAGE_NAME)-$(PACKAGE_VERSION).tar.bz2
pycheck:
PYTHONPATH=$(PYCHECKERPATH) pychecker $(PYCHECKEROPTS) *.py textw/*.py iw/*.py installclasses/*.py storage/*.py | grep -v "__init__() not called"
pycheck-file:
PYTHONPATH=.:$(PYCHECKERPATH) pychecker $(PYCHECKEROPTS) $(CHECK) | grep -v "__init__() not called"
api:
doxygen docs/api.cfg
rpmlog:
@git log --pretty="format:- %s (%ae)" \
$(PACKAGE_NAME)-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE).. | \
sed -e 's/@.*)/)/' | sed -e 's/%/%%/g' | \
grep -v -- "- l10n: " | \
grep -v -- "- Merge commit "
bumpver:
@LAST=$$(echo $(PACKAGE_VERSION) | grep "\." -o | wc -l) ; \
FIELD=$$(($${LAST} + 1)) ; \
NEWSUBVER=$$((`echo $(PACKAGE_VERSION) | cut -d . -f $${FIELD}` + 1)) ; \
NEWVERSION="`echo $(PACKAGE_VERSION) | cut -d . -f 1-$${LAST}`.$$NEWSUBVER" ; \
DATELINE="* `date "+%a %b %d %Y"` `git config user.name` <`git config user.email`> - $$NEWVERSION-1" ; \
cl=`grep -n %changelog anaconda.spec.in |cut -d : -f 1` ; \
tail --lines=+$$(($$cl + 1)) anaconda.spec.in > speclog ; \
make --quiet rpmlog 2>/dev/null | fold -s -w 77 | while read line ; do \
if [ ! "$$(echo $$line | cut -c-2)" = "- " ]; then \
echo " $$line" ; \
else \
echo "$$line" ; \
fi ; \
done > newspeclog ; \
(head -n $$cl anaconda.spec.in ; echo "$$DATELINE" ; cat newspeclog ; echo ""; cat speclog) > anaconda.spec.in.new ; \
mv anaconda.spec.in.new anaconda.spec.in ; rm -f speclog ; rm -f newspeclog ; \
sed -i "s/AC_INIT(\[$(PACKAGE_NAME)\], \[$(PACKAGE_VERSION)\], \[$(PACKAGE_BUGREPORT\])/AC_INIT(\[$(PACKAGE_NAME)\], \[$$NEWVERSION\], \[$(PACKAGE_BUGREPORT\])/" configure.ac
$(MAKE) -C po $(PACKAGE_NAME).pot-update
install-buildrequires:
yum install $$(grep BuildRequires: anaconda.spec.in | cut -d ' ' -f 2)
# Generate an updates.img based on the changed files since the release
# was tagged. Updates are copied to ./updates-img and then the image is
# created. By default, the updates subdirectory is removed after the
# image is made, but if you want to keep it around, run:
# make updates.img KEEP=y
updates:
@opts="-c" ; \
keep="$$(echo $(KEEP) | cut -c1 | tr [a-z] [A-Z])" ; \
if [ "$${keep}" = "Y" ]; then \
opts="$${opts} -k" ; \
fi ; \
scripts/makeupdates $${opts}
# DEPRECATED TARGETS:
archive-no-tag: dist

File diff suppressed because it is too large Load Diff

9366
anaconda/aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,167 +0,0 @@
#
# anaconda_log.py: Support for logging to multiple destinations with log
# levels.
#
# Copyright (C) 2000, 2001, 2002, 2005 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Chris Lumens <clumens@redhat.com>
# Matt Wilson <msw@redhat.com>
# Michael Fulbright <msf@redhat.com>
#
import os
import signal
import sys
import logging
from logging.handlers import SysLogHandler, SYSLOG_UDP_PORT
import types
import iutil
DEFAULT_TTY_LEVEL = logging.INFO
ENTRY_FORMAT = "%(asctime)s,%(msecs)03d %(levelname)s %(name)s: %(message)s"
TTY_FORMAT = "%(levelname)s %(name)s: %(message)s"
STDOUT_FORMAT = "%(asctime)s %(message)s"
DATE_FORMAT = "%H:%M:%S"
MAIN_LOG_FILE = "/tmp/anaconda.log"
MAIN_LOG_TTY = "/dev/tty3"
PROGRAM_LOG_FILE = "/tmp/program.log"
ANACONDA_SYSLOG_FACILITY = SysLogHandler.LOG_LOCAL1
logLevelMap = {"debug": logging.DEBUG, "info": logging.INFO,
"warning": logging.WARNING, "error": logging.ERROR,
"critical": logging.CRITICAL}
# sets autoSetLevel for the given handler
def autoSetLevel(handler, value):
handler.autoSetLevel = value
# all handlers of given logger with autoSetLevel == True are set to level
def setHandlersLevel(logger, level):
map(lambda hdlr: hdlr.setLevel(level),
filter (lambda hdlr: hasattr(hdlr, "autoSetLevel") and hdlr.autoSetLevel, logger.handlers))
class AnacondaSyslogHandler(SysLogHandler):
def __init__(self,
address=('localhost', SYSLOG_UDP_PORT),
facility=SysLogHandler.LOG_USER,
tag=''):
self.tag = tag
SysLogHandler.__init__(self, address, facility)
def emit(self, record):
original_msg = record.msg
record.msg = '%s: %s' %(self.tag, original_msg)
SysLogHandler.emit(self, record)
record.msg = original_msg
class AnacondaLog:
def __init__ (self):
self.tty_loglevel = DEFAULT_TTY_LEVEL
self.remote_syslog = None
# Create the base of the logger hierarcy.
logger = logging.getLogger("anaconda")
logger.setLevel(logging.DEBUG)
self.addFileHandler(MAIN_LOG_FILE, logger,
minLevel=logging.DEBUG)
self.forwardToSyslog(logger)
# Log to tty3.
if not iutil.isS390() and os.access(MAIN_LOG_TTY, os.W_OK):
self.addFileHandler(MAIN_LOG_TTY, logger,
fmtStr=TTY_FORMAT,
autoLevel=True)
# External program output log
program_logger = logging.getLogger("program")
program_logger.setLevel(logging.DEBUG)
self.addFileHandler(PROGRAM_LOG_FILE, program_logger,
minLevel=logging.DEBUG)
self.forwardToSyslog(program_logger)
# Create a second logger for just the stuff we want to dup on
# stdout. Anything written here will also get passed up to the
# parent loggers for processing and possibly be written to the
# log.
stdoutLogger = logging.getLogger("anaconda.stdout")
stdoutLogger.setLevel(logging.INFO)
# Add a handler for the duped stuff. No fancy formatting, thanks.
self.addFileHandler(sys.stdout, stdoutLogger,
fmtStr=STDOUT_FORMAT, minLevel=logging.INFO)
# Stderr logger
stderrLogger = logging.getLogger("anaconda.stderr")
stderrLogger.setLevel(logging.INFO)
self.addFileHandler(sys.stderr, stderrLogger,
fmtStr=STDOUT_FORMAT, minLevel=logging.INFO)
# Add a simple handler - file or stream, depending on what we're given.
def addFileHandler (self, file, addToLogger, minLevel=DEFAULT_TTY_LEVEL,
fmtStr=ENTRY_FORMAT,
autoLevel=False):
if isinstance(file, types.StringTypes):
logfileHandler = logging.FileHandler(file)
else:
logfileHandler = logging.StreamHandler(file)
logfileHandler.setLevel(minLevel)
logfileHandler.setFormatter(logging.Formatter(fmtStr, DATE_FORMAT))
autoSetLevel(logfileHandler, autoLevel)
addToLogger.addHandler(logfileHandler)
# Add another logger to the hierarchy. For best results, make sure
# name falls under anaconda in the tree.
def addLogger (self, name, minLevel=DEFAULT_TTY_LEVEL):
newLogger = logging.getLogger(name)
newLogger.setLevel(minLevel)
# Add a handler for remote syslogs.
def addSysLogHandler (self, logger, host, port=SYSLOG_UDP_PORT,
minLevel=DEFAULT_TTY_LEVEL):
fmt = logging.Formatter("%(levelname)-8s %(message)s")
syslogHandler = SysLogHandler((host, port))
syslogHandler.setLevel(minLevel)
syslogHandler.setFormatter(fmt)
logger.addHandler(syslogHandler)
def forwardToSyslog(self, logger):
"""Forward everything that goes in the logger to the syslog daemon.
"""
syslogHandler = AnacondaSyslogHandler(
'/dev/log',
ANACONDA_SYSLOG_FACILITY,
logger.name)
syslogHandler.setLevel(logging.DEBUG)
logger.addHandler(syslogHandler)
def updateRemote(self, remote_syslog):
"""Updates the location of remote rsyslogd to forward to.
Requires updating rsyslogd config and sending SIGHUP to the daemon.
"""
PIDFILE = "/var/run/syslogd.pid"
CFGFILE = "/etc/rsyslog.conf"
TEMPLATE = "*.* @@%s\n"
self.remote_syslog = remote_syslog
with open(CFGFILE, 'a') as cfgfile:
forward_line = TEMPLATE % remote_syslog
cfgfile.write(forward_line)
with open(PIDFILE, 'r') as pidfile:
pid = int(pidfile.read())
os.kill(pid, signal.SIGHUP)
logger = AnacondaLog()

View File

@ -1,314 +0,0 @@
#
# backend.py: Interface for installation backends
#
# Copyright (C) 2005, 2006, 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Paul Nasrat <pnasrat@redhat.com>
# Jeremy Katz <katzj@redhat.com>
#
import glob
import shutil
import iutil
import os, sys
import logging
import backend_log
from constants import *
import isys
import kickstart
import packages
import storage
from flags import flags
log = logging.getLogger("anaconda")
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
class AnacondaBackend:
def __init__(self, anaconda):
"""Abstract backend class all backends should inherit from this
@param instPath: root path for the installation to occur"""
self.anaconda = anaconda
self.instPath = anaconda.rootPath
self.instLog = None
self.modeText = ""
# some backends may not support upgrading
self.supportsUpgrades = True
self.supportsPackageSelection = False
# some backends may have a special case for rootfs formatting
# FIXME: we should handle this a little more elegantly
self.skipFormatRoot = False
self.rootFsType = None
self._loopbackFile = None
def postAction(self, anaconda):
pass
def doPreSelection(self, intf, id, instPath):
pass
def doPostSelection(self, anaconda):
pass
def doPreInstall(self, anaconda):
self.initLog(anaconda.rootPath)
def copyFirmware(self, anaconda):
# Multiple driver disks may be loaded, so we need to glob for all
# the firmware files in the common DD firmware directory
for f in glob.glob(DD_EXTRACTED+"/lib/firmware/*"):
try:
shutil.copyfile(f, "%s/lib/firmware/" % anaconda.rootPath)
except IOError, e:
log.error("Could not copy firmware file %s: %s" % (f, e.strerror))
def doPostInstall(self, anaconda):
has_iscsi_disk = False
# See if we have an iscsi disk. If we do we rerun mkinitrd, as
# the initrd might need iscsi-initiator-utils, and chances are
# it was not installed yet the first time mkinitrd was run, as
# mkinitrd does not require it.
root = anaconda.storage.rootDevice
disks = anaconda.storage.devicetree.getDevicesByType("iscsi")
for disk in disks:
if root.dependsOn(disk):
has_iscsi_disk = True
break
#always copy the firmware files from DD
self.copyFirmware(anaconda)
if anaconda.extraModules or has_iscsi_disk:
for (n, arch, tag) in self.kernelVersionList(anaconda.rootPath):
packages.recreateInitrd(n, anaconda.rootPath)
#copy RPMS
for d in glob.glob(DD_RPMS):
shutil.copytree(d, anaconda.rootPath + "/root/" + os.path.basename(d))
#copy modules and firmware
if os.path.exists(DD_EXTRACTED):
try:
shutil.copytree(DD_EXTRACTED, anaconda.rootPath + "/root/DD")
except IOError, e:
pass
storage.writeEscrowPackets(anaconda)
sys.stdout.flush()
backend_log.log.stop()
def doInstall(self, anaconda):
log.warning("doInstall not implemented for backend!")
raise NotImplementedError
def initLog(self, instPath):
if not os.path.isdir(instPath + "/root"):
iutil.mkdirChain(instPath + "/root")
if self.anaconda.upgrade:
logname = '/root/upgrade.log'
else:
logname = '/root/install.log'
instLogName = instPath + logname
try:
shutil.rmtree (instLogName)
except OSError:
pass
self.instLog = open(instLogName, "w+")
syslogname = "%s%s.syslog" % (instPath, logname)
try:
shutil.rmtree (syslogname)
except OSError:
pass
backend_log.log.start(instPath, syslogname)
if self.anaconda.upgrade:
self.modeText = _("Upgrading %s\n")
else:
self.modeText = _("Installing %s\n")
def mountInstallImage(self, anaconda, installimg):
if self._loopbackFile and os.path.exists(self._loopbackFile):
return
# Copy the install.img to the filesystem and switch loopback devices
# to there. Otherwise we won't be able to unmount and swap media.
free = anaconda.storage.fsFreeSpace
self._loopbackFile = "%s%s/rhinstall-install.img" % (anaconda.rootPath,
free[-1][0])
try:
log.info("transferring install image to install target")
win = anaconda.intf.waitWindow(_("Copying File"),
_("Transferring install image to hard drive"))
shutil.copyfile(installimg, self._loopbackFile)
win.pop()
except Exception, e:
if win:
win.pop()
log.critical("error transferring install.img: %s" %(e,))
if isinstance(e, IOError) and e.errno == 5:
msg = _("An error occurred transferring the install image "
"to your hard drive. This is often cause by "
"damaged or low quality media.")
else:
msg = _("An error occurred transferring the install image "
"to your hard drive. You are probably out of disk "
"space.")
anaconda.intf.messageWindow(_("Error"), msg)
try:
os.unlink(self._loopbackFile)
except:
pass
return 1
isys.lochangefd("/dev/loop0", self._loopbackFile)
if os.path.ismount("/mnt/stage2"):
isys.umount("/mnt/stage2")
def removeInstallImage(self):
if self._loopbackFile:
try:
os.unlink(self._loopbackFile)
except SystemError:
pass
def freetmp(self, anaconda):
# installs that don't use /mnt/stage2 hold the install.img on
# a tmpfs, free this ram if things are tight.
stage2img = "/tmp/install.img"
if os.path.exists(stage2img):
# free up /tmp for more memory before yum is called,
if self.mountInstallImage(anaconda, stage2img):
return DISPATCH_BACK
try:
os.unlink(stage2img)
except SystemError:
log.info("clearing /tmp failed")
return DISPATCH_BACK
def kernelVersionList(self, rootPath="/"):
return []
def getMinimumSizeMB(self, part):
"""Return the minimal size for part in megabytes if we can."""
return 0
def doBackendSetup(self, anaconda):
log.warning("doBackendSetup not implemented for backend!")
raise NotImplementedError
def groupExists(self, group):
log.warning("groupExists not implemented for backend!")
raise NotImplementedError
def selectGroup(self, group, *args):
log.warning("selectGroup not implemented for backend!")
raise NotImplementedError
def deselectGroup(self, group, *args):
log.warning("deselectGroup not implemented for backend!")
raise NotImplementedError
def packageExists(self, pkg):
log.warning("packageExists not implemented for backend!")
raise NotImplementedError
def selectPackage(self, pkg, *args):
log.warning("selectPackage not implemented for backend!")
raise NotImplementedError
def deselectPackage(self, pkg, *args):
log.warning("deselectPackage not implemented for backend!")
raise NotImplementedError
def getDefaultGroups(self, anaconda):
log.warning("getDefaultGroups not implemented for backend!")
raise NotImplementedError
def resetPackageSelections(self):
# we just leave this one unimplemented if it's not needed
pass
# write out the %packages section of anaconda-ks.cfg
def writePackagesKS(self, f, anaconda):
log.warning("writePackagesKS not implemented for backend!")
raise NotImplementedError
# write out any config files that live on the installed system
# (e.g., /etc/yum.repos.d/* files)
def writeConfiguration(self):
log.warning("writeConfig not implemented for backend!")
raise NotImplementedError
# write out any other kickstart bits the backend requires - no warning
# here because this may not be needed
def writeKS(self, f):
pass
def getRequiredMedia(self):
log.warning("getRequiredMedia not implmented for backend!")
raise NotImplementedError
def complete(self, anaconda):
pass
def doBackendSetup(anaconda):
if anaconda.backend.doBackendSetup(anaconda) == DISPATCH_BACK:
return DISPATCH_BACK
if anaconda.upgrade:
anaconda.backend.checkSupportedUpgrade(anaconda)
iutil.writeRpmPlatform(anaconda.rootPath)
def doPostSelection(anaconda):
return anaconda.backend.doPostSelection(anaconda)
def doPreInstall(anaconda):
anaconda.backend.doPreInstall(anaconda)
def doPostInstall(anaconda):
anaconda.backend.doPostInstall(anaconda)
def doInstall(anaconda):
return anaconda.backend.doInstall(anaconda)
# does this need to be per-backend? we'll just leave here until it does :)
def doBasePackageSelect(anaconda):
if anaconda.ksdata:
anaconda.backend.resetPackageSelections()
kickstart.selectPackages(anaconda)
elif anaconda.displayMode != 't':
anaconda.backend.resetPackageSelections()
anaconda.instClass.setPackageSelection(anaconda)
anaconda.instClass.setGroupSelection(anaconda)
def writeConfiguration(anaconda):
log.info("Writing main configuration")
anaconda.write()
anaconda.backend.writeConfiguration()

View File

@ -1,88 +0,0 @@
# backend_log.py
# Logging infrastructure for Anaconda's backend.
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): Ales Kozumplik <akozumpl@redhat.com>
#
import logging
import os
import signal
import anaconda_log
import iutil
SYSLOG_PATH = '/sbin/rsyslogd'
SYSLOG_PIDFILE = '/var/run/rsyslog_backend.pid'
SYSLOG_CFGFILE = '/etc/rsyslog_backend.conf'
CFG_TEMPLATE = """
$ModLoad imuxsock
$InputUnixListenSocketHostName sysimage
$AddUnixListenSocket %(socket)s
+sysimage
*.* %(logfile)s;RSYSLOG_TraditionalFileFormat
%(remote_syslog)s
"""
global_log = logging.getLogger("anaconda")
class BackendSyslog:
def __init__(self):
pass
def build_cfg(self, root, log):
socket = "%s/dev/log" % (root, )
remote_syslog = ''
if anaconda_log.logger.remote_syslog:
remote_syslog = "*.* @@%s" % (anaconda_log.logger.remote_syslog, )
cfg = CFG_TEMPLATE % {
'socket' : socket,
'logfile' : log,
'remote_syslog' : remote_syslog
}
with open(SYSLOG_CFGFILE, 'w') as cfg_file:
cfg_file.write(cfg)
def start(self, root, log):
""" Start an rsyslogd instance dedicated for the sysimage.
Other possibility would be to change configuration and SIGHUP the
existing instance, but it could lose some of its internal queues and
give us problems with remote logging.
"""
self.build_cfg(root, log)
args = ['-c', '4',
'-f', SYSLOG_CFGFILE,
'-i', str(SYSLOG_PIDFILE)]
status = iutil.execWithRedirect(SYSLOG_PATH, args)
if status == 0:
global_log.info("Backend logger started.")
else:
global_log.error("Unable to start backend logger")
def stop(self):
try:
with open(SYSLOG_PIDFILE, 'r') as pidfile:
pid = int(pidfile.read())
os.kill(pid, signal.SIGKILL)
except:
return
global_log.info("Backend logger stopped.")
log = BackendSyslog()

View File

@ -1,92 +0,0 @@
# udev.py
# Python module for querying the udev database for device information.
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): Dave Lehman <dlehman@redhat.com>
# Chris Lumens <clumens@redhat.com>
#
import iutil
import os
import pyudev
global_udev = pyudev.Udev()
import logging
log = logging.getLogger("storage")
def udev_enumerate_devices(deviceClass="block"):
devices = global_udev.enumerate_devices(subsystem=deviceClass)
return [path[4:] for path in devices]
def udev_get_device(sysfs_path):
if not os.path.exists("/sys%s" % sysfs_path):
log.debug("%s does not exist" % sysfs_path)
return None
# XXX we remove the /sys part when enumerating devices,
# so we have to prepend it when creating the device
dev = global_udev.create_device("/sys" + sysfs_path)
if dev:
dev["name"] = dev.sysname
dev["sysfs_path"] = sysfs_path
# now add in the contents of the uevent file since they're handy
dev = udev_parse_uevent_file(dev)
return dev
def udev_get_devices(deviceClass="block"):
udev_settle()
entries = []
for path in udev_enumerate_devices(deviceClass):
entry = udev_get_device(path)
if entry:
entries.append(entry)
return entries
def udev_parse_uevent_file(dev):
path = os.path.normpath("/sys/%s/uevent" % dev['sysfs_path'])
if not os.access(path, os.R_OK):
return dev
with open(path) as f:
for line in f.readlines():
(key, equals, value) = line.strip().partition("=")
if not equals:
continue
dev[key] = value
return dev
def udev_settle():
# wait maximal 300 seconds for udev to be done running blkid, lvm,
# mdadm etc. This large timeout is needed when running on machines with
# lots of disks, or with slow disks
argv = ["settle", "--timeout=300"]
iutil.execWithRedirect("udevadm", argv, stderr="/dev/null")
def udev_trigger(subsystem=None, action="add"):
argv = ["trigger", "--action=%s" % action]
if subsystem:
argv.append("--subsystem-match=%s" % subsystem)
iutil.execWithRedirect("udevadm", argv, stderr="/dev/null")

View File

@ -1,22 +0,0 @@
# bootdisk/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
SUBDIRS = i386 ppc s390x x86_64
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,654 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# bootdisk/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = bootdisk
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-dvi-recursive install-exec-recursive \
install-html-recursive install-info-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = i386 ppc s390x x86_64
MAINTAINERCLEANFILES = Makefile.in
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bootdisk/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign bootdisk/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
install-am install-strip tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am check check-am clean clean-generic clean-libtool \
ctags ctags-recursive distclean distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,25 +0,0 @@
# bootdisk/i386/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
if IS_I386
bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
dist_boot_DATA = boot.msg grub.conf syslinux.cfg
endif
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,503 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# bootdisk/i386/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = bootdisk/i386
DIST_COMMON = $(am__dist_boot_DATA_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_boot_DATA_DIST = boot.msg grub.conf syslinux.cfg
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(bootdir)"
DATA = $(dist_boot_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@IS_I386_TRUE@bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
@IS_I386_TRUE@dist_boot_DATA = boot.msg grub.conf syslinux.cfg
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bootdisk/i386/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign bootdisk/i386/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_bootDATA: $(dist_boot_DATA)
@$(NORMAL_INSTALL)
test -z "$(bootdir)" || $(MKDIR_P) "$(DESTDIR)$(bootdir)"
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bootdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(bootdir)" || exit $$?; \
done
uninstall-dist_bootDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(bootdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bootdir)" && rm -f $$files
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(bootdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_bootDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_bootDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_bootDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-dist_bootDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,5 +0,0 @@
splash.lss
- Press the 01<ENTER>07 key to begin the installation process.

View File

@ -1,8 +0,0 @@
#debug --graphics
default=0
splashimage=@SPLASHPATH@
timeout 5
hiddenmenu
title @PRODUCT@ @VERSION@
kernel @KERNELPATH@
initrd @INITRDPATH@

View File

@ -1,33 +0,0 @@
default linux
prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to @PRODUCT@ @VERSION@!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install a new system or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff

View File

@ -1,26 +0,0 @@
# bootdisk/ppc/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
if IS_PPC
bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
dist_boot_DATA = magic ofboot.b yaboot.conf.in bootinfo.txt mapping \
yaboot.conf.3264
endif
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,506 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# bootdisk/ppc/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = bootdisk/ppc
DIST_COMMON = $(am__dist_boot_DATA_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_boot_DATA_DIST = magic ofboot.b yaboot.conf.in bootinfo.txt \
mapping yaboot.conf.3264
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(bootdir)"
DATA = $(dist_boot_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@IS_PPC_TRUE@bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
@IS_PPC_TRUE@dist_boot_DATA = magic ofboot.b yaboot.conf.in bootinfo.txt mapping \
@IS_PPC_TRUE@ yaboot.conf.3264
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bootdisk/ppc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign bootdisk/ppc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_bootDATA: $(dist_boot_DATA)
@$(NORMAL_INSTALL)
test -z "$(bootdir)" || $(MKDIR_P) "$(DESTDIR)$(bootdir)"
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bootdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(bootdir)" || exit $$?; \
done
uninstall-dist_bootDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(bootdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bootdir)" && rm -f $$files
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(bootdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_bootDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_bootDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_bootDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-dist_bootDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,169 +0,0 @@
<chrp-boot> <description>Linux</description>
<os-name>Linux</os-name>
<boot-script>boot &device;:\ppc\chrp\yaboot</boot-script>
<icon size=64,64 color-space=3,3,2>
<bitmap> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 </bitmap> </icon> </chrp-boot>

View File

@ -1,81 +0,0 @@
#
# Example magic file for mkhybrid
#
# The "message" for the offset MUST be 4 characters for the CREATOR
# and 4 characters for the TYPE - white space is optional between them.
# Any other characters on this line are ignored. Continuation lines (starting
# with '>') are also ignored i.e. only the initial offset lines are used.
#
# The continuation lines are given here, but they do not need to exist.
#
# James Pearson 20/5/98
# off type test message
# GIF
0 string GIF8 8BIM GIFf
>4 string 7a \b, version 8%s,
>4 string 9a \b, version 8%s,
>6 leshort >0 %hd x
>8 leshort >0 %hd,
#>10 byte &0x80 color mapped,
#>10 byte&0x07 =0x00 2 colors
#>10 byte&0x07 =0x01 4 colors
#>10 byte&0x07 =0x02 8 colors
#>10 byte&0x07 =0x03 16 colors
#>10 byte&0x07 =0x04 32 colors
#>10 byte&0x07 =0x05 64 colors
#>10 byte&0x07 =0x06 128 colors
#>10 byte&0x07 =0x07 256 colors
# JPEG images
#
0 ubeshort 0xffd8 8BIM JPEG image data
# StuffIt
#
0 string SIT! SIT!SIT!
# standard unix compress
0 string \037\235 LZIV ZIVU
>2 byte&0x80 >0 block compressed
>2 byte&0x1f x %d bits
# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
0 string \037\213 GNUz ZIVU gzip compressed data
>2 byte <8 \b, reserved method,
>2 byte 8 \b, deflated,
>3 byte &0x01 ASCII,
>3 byte &0x02 continuation,
>3 byte &0x04 extra field,
>3 byte &0x08 original filename,
>3 byte &0x10 comment,
>3 byte &0x20 encrypted,
>4 ledate x last modified: %s,
>8 byte 2 max compression,
>8 byte 4 max speed,
>9 byte =0x00 os: MS-DOS
>9 byte =0x01 os: Amiga
>9 byte =0x02 os: VMS
>9 byte =0x03 os: Unix
>9 byte =0x05 os: Atari
>9 byte =0x06 os: OS/2
>9 byte =0x07 os: MacOS
>9 byte =0x0A os: Tops/20
>9 byte =0x0B os: Win/32
# Postscript
0 string %! ASPSTEXT
>2 string PS-Adobe- conforming
>>11 string >\0 at level %.3s
>>>15 string EPS - type %s
>>>15 string Query - type %s
>>>15 string ExitServer - type %s
# Some PCs have the annoying habit of adding a ^D as a document separator
0 string \004%! ASPS TEXT PostScript document text
>3 string PS-Adobe- conforming
>>12 string >\0 at level %.3s
>>>16 string EPS - type %s
>>>16 string Query - type %s
>>>16 string ExitServer - type %s

View File

@ -1,27 +0,0 @@
# Example filename mapping file
#
# yaboot Raw 'UNIX' 'boot' "Bootstrap"
# vmlinux Raw 'UNIX' 'boot' "Bootstrap"
#
# EXTN XLate CREATOR TYPE Comment
COPYING Ascii 'ttxt' 'ttro' "Text File"
CREDITS Ascii 'ttxt' 'ttro' "Text File"
README Ascii 'ttxt' 'ttro' "Text File"
RPM-GPG-KEY Ascii 'ttxt' 'ttro' "Text File"
RELEASE_NOTES Ascii 'ttxt' 'ttro' "Text File"
.b Raw 'chrp' 'tbxi' "Macintosh Toolbox ROM file"
.gif Raw '8BIM' 'GIFf' "Gif File"
.jpg Raw '8BIM' 'JPEG' "Jpeg File"
.tif Raw '8BIM' 'TIFF' "Photoshop TIFF image"
.hqx Ascii 'BnHq' 'TEXT' "BinHex file"
.doc Raw 'MSWD' 'WDBN' "Word file"
.mov Raw 'TVOD' 'MooV' "QuickTime Movie"
.html Ascii 'MOSS' 'TEXT' "HTML File"
.htm Ascii 'MOSS' 'TEXT' "HTML File"
.conf Ascii 'ttxt' 'TEXT' "config file"
.txt Ascii 'ttxt' 'TEXT' "Text File"
.tbxi Raw 'chrp' 'tbxi' "Macintosh Toolbox ROM file"
.sea Raw 'aust' 'APPL' "Self Expanding Archive"
.sit Raw 'SIT!' 'SITD' "Stuffit Expander file"
* Raw '????' '????' "Unknown"

View File

@ -1,74 +0,0 @@
<CHRP-BOOT>
<COMPATIBLE>
MacRISC MacRISC3 MacRISC4
</COMPATIBLE>
<DESCRIPTION>
Boot Chooser
</DESCRIPTION>
<BOOT-SCRIPT>
" screen" output
load-base release-load-area
" /cpus/@0" find-package if
" 64-bit" rot get-package-property 0= if
2drop
" boot cd:,\ppc\mac\yaboot conf=cd:,\ppc\ppc64\yaboot.conf" eval
else
" boot cd:,\ppc\mac\yaboot conf=cd:,\ppc\ppc32\yaboot.conf" eval
then
then
</BOOT-SCRIPT>
<OS-BADGE-ICONS>
1010
000000000000F8FEACF6000000000000
0000000000F5FFFFFEFEF50000000000
00000000002BFAFEFAFCF70000000000
0000000000F65D5857812B0000000000
0000000000F5350B2F88560000000000
0000000000F6335708F8FE0000000000
00000000005600F600F5FD8100000000
00000000F9F8000000F5FAFFF8000000
000000008100F5F50000F6FEFE000000
000000F8F700F500F50000FCFFF70000
00000088F70000F50000F5FCFF2B0000
0000002F582A00F5000008ADE02C0000
00090B0A35A62B0000002D3B350A0000
000A0A0B0B3BF60000505E0B0A0B0A00
002E350B0B2F87FAFCF45F0B2E090000
00000007335FF82BF72B575907000000
000000000000ACFFFF81000000000000
000000000081FFFFFFFF810000000000
0000000000FBFFFFFFFFAC0000000000
000000000081DFDFDFFFFB0000000000
000000000081DD5F83FFFD0000000000
000000000081DDDF5EACFF0000000000
0000000000FDF981F981FFFF00000000
00000000FFACF9F9F981FFFFAC000000
00000000FFF98181F9F981FFFF000000
000000ACACF981F981F9F9FFFFAC0000
000000FFACF9F981F9F981FFFFFB0000
00000083DFFBF981F9F95EFFFFFC0000
005F5F5FDDFFFBF9F9F983DDDD5F0000
005F5F5F5FDD81F9F9E7DF5F5F5F5F00
0083DD5F5F83FFFFFFFFDF5F835F0000
000000FBDDDFACFBACFBDFDFFB000000
000000000000FFFFFFFF000000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFFFF00000000
00000000FFFFFFFFFFFFFFFFFF000000
00000000FFFFFFFFFFFFFFFFFF000000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFF000000
</OS-BADGE-ICONS>
</CHRP-BOOT>

View File

@ -1,14 +0,0 @@
init-message = "\nWelcome to the %PRODUCT% %VERSION% installer!\nUse 'linux32' for 32-bit kernel.\n\n"
timeout=6000
default=linux
image=/ppc/ppc64/vmlinuz
label=linux64
alias=linux
initrd=/ppc/ppc64/ramdisk.image.gz
read-only
image=/ppc/ppc32/vmlinuz
label=linux32
initrd=/ppc/ppc32/ramdisk.image.gz
read-only

View File

@ -1,8 +0,0 @@
init-message = "\nWelcome to the %BITS%-bit %PRODUCT% %VERSION% installer!\nHit <TAB> for boot options.\n\n"
timeout=6000
default=linux
image=/ppc/ppc%BITS%/vmlinuz
label=linux
initrd=/ppc/ppc%BITS%/ramdisk.image.gz
read-only

View File

@ -1,25 +0,0 @@
# bootdisk/s390x/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
if IS_S390
bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
dist_boot_DATA = generic.ins generic.prm redhat.exec
endif
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,503 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# bootdisk/s390x/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = bootdisk/s390x
DIST_COMMON = $(am__dist_boot_DATA_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_boot_DATA_DIST = generic.ins generic.prm redhat.exec
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(bootdir)"
DATA = $(dist_boot_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@IS_S390_TRUE@bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
@IS_S390_TRUE@dist_boot_DATA = generic.ins generic.prm redhat.exec
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bootdisk/s390x/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign bootdisk/s390x/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_bootDATA: $(dist_boot_DATA)
@$(NORMAL_INSTALL)
test -z "$(bootdir)" || $(MKDIR_P) "$(DESTDIR)$(bootdir)"
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bootdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(bootdir)" || exit $$?; \
done
uninstall-dist_bootDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(bootdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bootdir)" && rm -f $$files
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(bootdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_bootDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_bootDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_bootDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-dist_bootDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,5 +0,0 @@
* minimal lpar ins file
images/kernel.img 0x00000000
images/initrd.img 0x02000000
images/generic.prm 0x00010480
images/initrd.size 0x00010410

View File

@ -1 +0,0 @@
root=/dev/ram0 ro ip=off ramdisk_size=40000 cio_ignore=all,!0.0.0009

View File

@ -1,9 +0,0 @@
/* */
'CL RDR'
'PURGE RDR ALL'
'SPOOL PUNCH * RDR'
'PUNCH KERNEL IMG A (NOH'
'PUNCH GENERIC PRM A (NOH'
'PUNCH INITRD IMG A (NOH'
'CH RDR ALL KEEP NOHOLD'
'I 00C'

View File

@ -1,25 +0,0 @@
# bootdisk/x86_64/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
if IS_X86_64
bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
dist_boot_DATA = boot.msg grub.conf syslinux.cfg
endif
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,503 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# bootdisk/x86_64/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = bootdisk/x86_64
DIST_COMMON = $(am__dist_boot_DATA_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_boot_DATA_DIST = boot.msg grub.conf syslinux.cfg
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(bootdir)"
DATA = $(dist_boot_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@IS_X86_64_TRUE@bootdir = $(libdir)/$(PACKAGE_NAME)-runtime/boot
@IS_X86_64_TRUE@dist_boot_DATA = boot.msg grub.conf syslinux.cfg
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bootdisk/x86_64/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign bootdisk/x86_64/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_bootDATA: $(dist_boot_DATA)
@$(NORMAL_INSTALL)
test -z "$(bootdir)" || $(MKDIR_P) "$(DESTDIR)$(bootdir)"
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bootdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(bootdir)" || exit $$?; \
done
uninstall-dist_bootDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_boot_DATA)'; test -n "$(bootdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(bootdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bootdir)" && rm -f $$files
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(bootdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_bootDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_bootDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_bootDATA install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-dist_bootDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,5 +0,0 @@
splash.lss
- Press the 01<ENTER>07 key to begin the installation process.

View File

@ -1,8 +0,0 @@
#debug --graphics
default=0
splashimage=@SPLASHPATH@
timeout 5
hiddenmenu
title @PRODUCT@ @VERSION@
kernel @KERNELPATH@
initrd @INITRDPATH@

View File

@ -1,33 +0,0 @@
default linux
prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to @PRODUCT@ @VERSION@!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install a new system or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff

View File

@ -1,241 +0,0 @@
#
# bootloader.py: anaconda bootloader shims
#
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Erik Troan <ewt@redhat.com>
# Jeremy Katz <katzj@redhat.com>
#
import isys
import parted
import os, sys
import iutil
import string
from flags import flags
from constants import *
from storage.devices import devicePathToName
from storage import getReleaseString
from booty.util import getDiskPart
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
import logging
log = logging.getLogger("anaconda")
import booty
from booty import bootloaderInfo, checkbootloader
def isEfiSystemPartition(part):
if not part.active:
return False
return (part.disk.type == "gpt" and
part.name == "EFI System Partition" and
part.getFlag(parted.PARTITION_BOOT) and
part.fileSystem.type in ("fat16", "fat32") and
isys.readFSLabel(part.getDeviceNodeName()) != "ANACONDA")
def bootloaderSetupChoices(anaconda):
if anaconda.dir == DISPATCH_BACK:
rc = anaconda.intf.messageWindow(_("Warning"),
_("Filesystems have already been activated. You "
"cannot go back past this point.\n\nWould you like to "
"continue with the installation?"),
type="custom", custom_icon=["error","error"],
custom_buttons=[_("_Exit installer"), _("_Continue")])
if rc == 0:
sys.exit(0)
return DISPATCH_FORWARD
if anaconda.ksdata and anaconda.ksdata.bootloader.driveorder:
anaconda.bootloader.updateDriveList(anaconda.ksdata.bootloader.driveorder)
else:
#We want the selected bootloader drive to be preferred
pref = anaconda.bootloader.drivelist[:1]
anaconda.bootloader.updateDriveList(pref)
if iutil.isEfi() and not anaconda.bootloader.device:
bootPart = None
partitions = anaconda.storage.partitions
for part in partitions:
if part.partedPartition.active and isEfiSystemPartition(part.partedPartition):
bootPart = part.name
break
if bootPart:
anaconda.bootloader.setDevice(bootPart)
# iSeries bootloader on upgrades
if iutil.getPPCMachine() == "iSeries" and not anaconda.bootloader.device:
bootPart = None
partitions = anaconda.storage.partitions
for part in partitions:
if part.partedPartition.active and \
part.partedPartition.getFlag(parted.PARTITION_PREP):
bootPart = part.name
break
if bootPart:
anaconda.bootloader.setDevice(bootPart)
choices = anaconda.platform.bootloaderChoices(anaconda.bootloader)
if not choices and iutil.getPPCMachine() != "iSeries":
anaconda.dispatch.skipStep("instbootloader")
else:
anaconda.dispatch.skipStep("instbootloader", skip = 0)
# FIXME: ...
anaconda.bootloader.images.setup(anaconda.storage)
if anaconda.bootloader.defaultDevice != None and choices:
keys = choices.keys()
# there are only two possible things that can be in the keys
# mbr and boot. boot is ALWAYS present. so if the dev isn't
# listed, it was mbr and we should nicely fall back to boot
if anaconda.bootloader.defaultDevice not in keys:
log.warning("MBR not suitable as boot device; installing to partition")
anaconda.bootloader.defaultDevice = "boot"
anaconda.bootloader.setDevice(choices[anaconda.bootloader.defaultDevice][0])
elif choices and iutil.isMactel() and choices.has_key("boot"): # haccckkkk
anaconda.bootloader.setDevice(choices["boot"][0])
elif choices and choices.has_key("mbr"):
anaconda.bootloader.setDevice(choices["mbr"][0])
elif choices and choices.has_key("boot"):
anaconda.bootloader.setDevice(choices["boot"][0])
def fixedMdraidGrubTarget(anaconda, grubTarget):
# handle change made in F12 - before F12 mdX used to mean installation
# into mbrs of mdX members' disks
fixedGrubTarget = grubTarget
(product, version) = getReleaseString(anaconda.rootPath)
try:
if float(version) < 12:
stage1Devs = anaconda.bootloader.getPhysicalDevices(grubTarget)
fixedGrubTarget = getDiskPart(stage1Devs[0], anaconda.storage)[0]
log.info("Mdraid grub upgrade: %s -> %s" % (grubTarget,
fixedGrubTarget))
except ValueError:
log.warning("Can't decide mdraid grub upgrade fix, product: %s, version: %s" % (product, version))
return fixedGrubTarget
def writeBootloader(anaconda):
def dosync():
isys.sync()
isys.sync()
isys.sync()
if anaconda.bootloader.defaultDevice == -1:
return
if anaconda.bootloader.doUpgradeOnly:
(bootType, theDev) = checkbootloader.getBootloaderTypeAndBoot(anaconda.rootPath, storage=anaconda.storage)
anaconda.bootloader.doUpgradeonly = 1
if bootType == "GRUB":
if theDev.startswith('/dev/md'):
theDev = fixedMdraidGrubTarget(anaconda,
devicePathToName(theDev))
anaconda.bootloader.useGrubVal = 1
anaconda.bootloader.setDevice(devicePathToName(theDev))
else:
anaconda.bootloader.doUpgradeOnly = 0
w = anaconda.intf.waitWindow(_("Bootloader"), _("Installing bootloader."))
kernelList = []
otherList = []
# getDefault needs to return a device, but that's too invasive for now.
rootDev = anaconda.storage.rootDevice
if not anaconda.bootloader.images.getDefault():
defaultDev = None
else:
defaultDev = anaconda.storage.devicetree.getDeviceByName(anaconda.bootloader.images.getDefault())
kernelLabel = None
kernelLongLabel = None
for (dev, (label, longlabel, type)) in anaconda.bootloader.images.getImages().items():
if (rootDev is None and kernelLabel is None) or (dev == rootDev.name):
kernelLabel = label
kernelLongLabel = longlabel
elif (not defaultDev and not dev) or (defaultDev and dev == defaultDev.name):
otherList = [(label, longlabel, dev)] + otherList
else:
otherList.append((label, longlabel, dev))
if kernelLabel is None:
log.error("unable to find default image, bailing")
w.pop()
return
plainLabelUsed = 0
defkern = "kernel"
for (version, arch, nick) in \
anaconda.backend.kernelVersionList(anaconda.rootPath):
if plainLabelUsed:
kernelList.append(("%s-%s" %(kernelLabel, nick),
"%s-%s" %(kernelLongLabel, nick),
version))
else:
kernelList.append((kernelLabel, kernelLongLabel, version))
if nick != "base":
defkern = "kernel-%s" %(nick,)
plainLabelUsed = 1
f = open(anaconda.rootPath + "/etc/sysconfig/kernel", "w+")
f.write("# UPDATEDEFAULT specifies if new-kernel-pkg should make\n"
"# new kernels the default\n")
# only update the default if we're setting the default to linux (#156678)
if (not defaultDev and not rootDev) or (defaultDev and rootDev.name == defaultDev.name):
f.write("UPDATEDEFAULT=yes\n")
else:
f.write("UPDATEDEFAULT=no\n")
f.write("\n")
f.write("# DEFAULTKERNEL specifies the default kernel package type\n")
f.write("DEFAULTKERNEL=%s\n" %(defkern,))
f.close()
dosync()
try:
rc = anaconda.bootloader.write(anaconda.rootPath, anaconda.bootloader,
kernelList, otherList, defaultDev)
w.pop()
if rc and anaconda.intf:
anaconda.intf.messageWindow(_("Warning"),
_("There was an error installing the bootloader. "
"The system may not be bootable."))
except booty.BootyNoKernelWarning:
w.pop()
if anaconda.intf:
anaconda.intf.messageWindow(_("Warning"),
_("No kernel packages were installed on the "
"system. Bootloader configuration "
"will not be changed."))
dosync()
def hasWindows(bl):
foundWindows = False
for (k,v) in bl.images.getImages().iteritems():
if v[0].lower() == 'other' and v[2] in bootloaderInfo.dosFilesystems:
foundWindows = True
break
return foundWindows

View File

@ -1,23 +0,0 @@
# booty/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
bootydir = $(libdir)/$(PACKAGE_NAME)/booty
booty_PYTHON = *.py
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,519 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# booty/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = booty
DIST_COMMON = $(booty_PYTHON) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(bootydir)"
py_compile = $(top_srcdir)/py-compile
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
bootydir = $(libdir)/$(PACKAGE_NAME)/booty
booty_PYTHON = *.py
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign booty/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign booty/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-bootyPYTHON: $(booty_PYTHON)
@$(NORMAL_INSTALL)
test -z "$(bootydir)" || $(MKDIR_P) "$(DESTDIR)$(bootydir)"
@list='$(booty_PYTHON)'; dlist=; list2=; test -n "$(bootydir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
if test -f $$b$$p; then \
$(am__strip_dir) \
dlist="$$dlist $$f"; \
list2="$$list2 $$b$$p"; \
else :; fi; \
done; \
for file in $$list2; do echo $$file; done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bootydir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(bootydir)" || exit $$?; \
done || exit $$?; \
if test -n "$$dlist"; then \
if test -z "$(DESTDIR)"; then \
PYTHON=$(PYTHON) $(py_compile) --basedir "$(bootydir)" $$dlist; \
else \
PYTHON=$(PYTHON) $(py_compile) --destdir "$(DESTDIR)" --basedir "$(bootydir)" $$dlist; \
fi; \
else :; fi
uninstall-bootyPYTHON:
@$(NORMAL_UNINSTALL)
@list='$(booty_PYTHON)'; test -n "$(bootydir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
filesc=`echo "$$files" | sed 's|$$|c|'`; \
fileso=`echo "$$files" | sed 's|$$|o|'`; \
echo " ( cd '$(DESTDIR)$(bootydir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bootydir)" && rm -f $$files || exit $$?; \
echo " ( cd '$(DESTDIR)$(bootydir)' && rm -f" $$filesc ")"; \
cd "$(DESTDIR)$(bootydir)" && rm -f $$filesc || exit $$?; \
echo " ( cd '$(DESTDIR)$(bootydir)' && rm -f" $$fileso ")"; \
cd "$(DESTDIR)$(bootydir)" && rm -f $$fileso
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
for dir in "$(DESTDIR)$(bootydir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-bootyPYTHON
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-bootyPYTHON
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-bootyPYTHON install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-bootyPYTHON
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,52 +0,0 @@
#
# bootloader.py - generic boot loader handling backend for up2date and anaconda
#
# Jeremy Katz <katzj@redhat.com>
# Adrian Likins <alikins@redhat.com>
# Peter Jones <pjones@redhat.com>
#
# Copyright 2001-2005 Red Hat, Inc.
#
# This software may be freely redistributed under the terms of the GNU
# library public license.
#
# You should have received a copy of the GNU Library Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
"""Module for manipulation and creation of boot loader configurations"""
import iutil
from bootloaderInfo import *
from bootloader import *
class BootyNoKernelWarning(Exception):
def __init__ (self, value=""):
self.value = value
def __str__ (self):
return self.value
# return instance of the appropriate bootloader for our arch
def getBootloader(anaconda):
"""Get the bootloader info object for your architecture"""
if iutil.isX86():
import x86
return x86.x86BootloaderInfo(anaconda)
elif iutil.isIA64():
import ia64
return ia64.ia64BootloaderInfo(anaconda)
elif iutil.isS390():
import s390
return s390.s390BootloaderInfo(anaconda)
elif iutil.isAlpha():
import alpha
return alpha.alphaBootloaderInfo(anaconda)
elif iutil.isPPC():
import ppc
return ppc.ppcBootloaderInfo(anaconda)
elif iutil.isSparc():
import sparc
return sparc.sparcBootloaderInfo(anaconda)
else:
return bootloaderInfo(anaconda)

View File

@ -1,150 +0,0 @@
import os
import iutil
from booty import BootyNoKernelWarning
from bootloaderInfo import *
from util import getDiskPart
class alphaBootloaderInfo(bootloaderInfo):
def wholeDevice (self, path):
(device, foo) = getDiskPart(path, self.storage)
return device
def partitionNum (self, path):
# getDiskPart returns part numbers 0-based; we need it one based
# *sigh*
(foo, partitionNumber) = getDiskPart(path, self.storage)
return partitionNumber + 1
def writeAboot(self, instRoot, bl, kernelList,
chainList, defaultDev):
rootDevice = self.storage.rootDevice
try:
bootDevice = self.storage.mountpoints["/boot"]
except KeyError:
bootDevice = rootDevice
bootnotroot = bootDevice != rootDevice
confFile = instRoot + self.configfile
# If /etc/aboot.conf already exists we rename it
# /etc/aboot.conf.rpmsave.
if os.path.isfile(confFile):
os.rename (confFile, confFile + ".rpmsave")
# Then we create the necessary files. If the root device isn't
# the boot device, we create /boot/etc/ where the aboot.conf
# will live, and we create /etc/aboot.conf as a symlink to it.
if bootnotroot:
# Do we have /boot/etc ? If not, create one
if not os.path.isdir (instRoot + '/boot/etc'):
os.mkdir(instRoot + '/boot/etc', 0755)
# We install the symlink (/etc/aboot.conf has already been
# renamed in necessary.)
os.symlink("../boot" + self.configfile, confFile)
cfPath = instRoot + "/boot" + self.configfile
# Kernel path is set to / because a boot partition will
# be a root on its own.
kernelPath = '/'
# Otherwise, we just need to create /etc/aboot.conf.
else:
cfPath = confFile
kernelPath = self.kernelLocation
# If we already have an aboot.conf, rename it
if os.access (cfPath, os.R_OK):
self.perms = os.stat(cfPath)[0] & 0777
os.rename(cfPath, cfPath + '.rpmsave')
# Now we're going to create and populate cfPath.
f = open (cfPath, 'w+')
f.write ("# aboot default configurations\n")
if bootnotroot:
f.write ("# NOTICE: You have a /boot partition. This means that\n")
f.write ("# all kernel paths are relative to /boot/\n")
# bpn is the boot partition number.
bpn = self.partitionNum(bootDevice.path)
lines = 0
# We write entries line using the following format:
# <line><bpn><kernel-name> root=<rootdev> [options]
# We get all the kernels we need to know about in kernelList.
for (kernel, tag, version) in kernelList:
kernelTag = "-" + version
kernelFile = "%svmlinuz%s" %(kernelPath, kernelTag)
f.write("%d:%d%s" %(lines, bpn, kernelFile))
# See if we can come up with an initrd argument that exists
initrd = self.makeInitrd(kernelTag, instRoot)
if initrd:
f.write(" initrd=%s%s" %(kernelPath, initrd))
realroot = rootDevice.fstabSpec
f.write(" root=%s" %(realroot,))
args = self.args.get()
if args:
f.write(" %s" %(args,))
f.write("\n")
lines = lines + 1
# We're done writing the file
f.close ()
del f
# Now we're ready to write the relevant boot information. wbd
# is the whole boot device, bdpn is the boot device partition
# number.
wbd = self.wholeDevice (bootDevice.path)
bdpn = self.partitionNum (bootDevice.path)
# Calling swriteboot. The first argument is the disk to write
# to and the second argument is a path to the bootstrap loader
# file.
args = [("/dev/%s" % wbd), "/boot/bootlx"]
rc = iutil.execWithRedirect ('/sbin/swriteboot', args,
root = instRoot,
stdout = "/dev/tty5",
stderr = "/dev/tty5")
if rc:
return rc
# Calling abootconf to configure the installed aboot. The
# first argument is the disk to use, the second argument is
# the number of the partition on which aboot.conf resides.
# It's always the boot partition whether it's / or /boot (with
# the mount point being omitted.)
args = [("/dev/%s" % wbd), str (bdpn)]
rc = iutil.execWithRedirect ('/sbin/abootconf', args,
root = instRoot,
stdout = "/dev/tty5",
stderr = "/dev/tty5")
if rc:
return rc
return 0
def write(self, instRoot, bl, kernelList, chainList, defaultDev):
if len(kernelList) < 1:
raise BootyNoKernelWarning
return self.writeAboot(instRoot, bl, kernelList,
chainList, defaultDev)
def __init__(self, anaconda):
bootloaderInfo.__init__(self, anaconda)
self.useGrubVal = 0
self._configdir = "/etc"
self._configname = "aboot.conf"
# self.kernelLocation is already set to what we need.
self.password = None
self.pure = None

View File

@ -1,699 +0,0 @@
#
# bootloaderInfo.py - bootloader config object used in creation of new
# bootloader configs. Originally from anaconda
#
# Jeremy Katz <katzj@redhat.com>
# Erik Troan <ewt@redhat.com>
# Peter Jones <pjones@redhat.com>
#
# Copyright 2005-2008 Red Hat, Inc.
#
# This software may be freely redistributed under the terms of the GNU
# library public license.
#
# You should have received a copy of the GNU Library Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
import os, sys
import crypt
import random
import shutil
import string
import struct
from copy import copy
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
N_ = lambda x: x
from lilo import LiloConfigFile
from flags import flags
import iutil
import isys
from product import *
import booty
import checkbootloader
from util import getDiskPart
if not iutil.isS390():
import block
dosFilesystems = ('FAT', 'fat16', 'fat32', 'ntfs', 'hpfs')
def doesDualBoot():
if iutil.isX86():
return 1
return 0
def checkForBootBlock(device):
fd = os.open(device, os.O_RDONLY)
buf = os.read(fd, 512)
os.close(fd)
if len(buf) >= 512 and \
struct.unpack("H", buf[0x1fe: 0x200]) == (0xaa55,):
return True
return False
# hack and a half
# there's no guarantee that data is written to the disk and grub
# reads both the filesystem and the disk. suck.
def syncDataToDisk(dev, mntpt, instRoot = "/"):
isys.sync()
isys.sync()
isys.sync()
# and xfs is even more "special" (#117968)
if isys.readFSType(dev) == "xfs":
iutil.execWithRedirect("/usr/sbin/xfs_freeze",
["-f", mntpt],
stdout = "/dev/tty5",
stderr = "/dev/tty5",
root = instRoot)
iutil.execWithRedirect("/usr/sbin/xfs_freeze",
["-u", mntpt],
stdout = "/dev/tty5",
stderr = "/dev/tty5",
root = instRoot)
def rootIsDevice(dev):
if dev.startswith("LABEL=") or dev.startswith("UUID="):
return False
return True
class KernelArguments:
def getDracutStorageArgs(self, devices):
args = []
types = {}
for device in devices:
for d in self.anaconda.storage.devices:
if d is not device and not device.dependsOn(d):
continue
s = d.dracutSetupString()
types[s.split("=")[0]] = True
if s not in args:
args.append(s)
import storage
if isinstance(d, storage.devices.NetworkStorageDevice):
s = self.anaconda.network.dracutSetupString(d)
if s not in args:
args.append(s)
for i in [ [ "rd_LUKS_UUID", "rd_NO_LUKS" ],
[ "rd_LVM_LV", "rd_NO_LVM" ],
[ "rd_MD_UUID", "rd_NO_MD" ],
[ "rd_DM_UUID", "rd_NO_DM" ] ]:
if not types.has_key(i[0]):
args.append(i[1])
return args
def get(self):
args = ""
bootArgs = []
rootDev = self.anaconda.storage.rootDevice
neededDevs = [ rootDev ]
if flags.cmdline.get("fips") == "1":
bootDev = self.anaconda.storage.mountpoints.get("/boot", rootDev)
bootArgs = [ "boot=%s" % bootDev.fstabSpec ]
if bootDev is not rootDev:
neededDevs = [ rootDev, bootDev ]
if self.anaconda.storage.fsset.swapDevices:
neededDevs.append(self.anaconda.storage.fsset.swapDevices[0])
for s in bootArgs + \
self.getDracutStorageArgs(neededDevs) + [
self.anaconda.instLanguage.dracutSetupString(),
self.anaconda.keyboard.dracutSetupString(),
self.args,
self.appendArgs ]:
s = s.strip()
if not s:
continue
if args:
args += " "
args += s
return args
def set(self, args):
self.args = args
self.appendArgs = ""
def getNoDracut(self):
args = self.args.strip() + " " + self.appendArgs.strip()
return args.strip()
def chandevget(self):
return self.cargs
def chandevset(self, args):
self.cargs = args
def append(self, args):
# don't duplicate the addition of an argument (#128492)
if self.args.find(args) != -1:
return
if self.appendArgs.find(args) != -1:
return
if self.appendArgs:
self.appendArgs += " "
self.appendArgs += args
def __init__(self, anaconda):
newArgs = []
cfgFilename = "/tmp/install.cfg"
self.anaconda = anaconda
if iutil.isS390():
self.cargs = []
f = open(cfgFilename)
for line in f:
try:
(vname,vparm) = line.split('=', 1)
vname = vname.strip()
vparm = vparm.replace('"','')
vparm = vparm.strip()
if vname == "CHANDEV":
self.cargs.append(vparm)
if vname == "QETHPARM":
self.cargs.append(vparm)
except Exception, e:
pass
f.close()
# look for kernel arguments we know should be preserved and add them
ourargs = ["speakup_synth", "apic", "noapic", "apm", "ide", "noht",
"acpi", "video", "pci", "nodmraid", "nompath", "nomodeset",
"noiswmd"]
if iutil.isS390():
ourargs.append("cio_ignore")
for arg in ourargs:
if not flags.cmdline.has_key(arg):
continue
val = flags.cmdline.get(arg, "")
if val:
newArgs.append("%s=%s" % (arg, val))
else:
newArgs.append(arg)
self.args = " ".join(newArgs)
self.appendArgs = ""
class BootImages:
"""A collection to keep track of boot images available on the system.
Examples would be:
('linux', 'Red Hat Linux', 'ext2'),
('Other', 'Other', 'fat32'), ...
"""
def __init__(self):
self.default = None
self.images = {}
def getImages(self):
"""returns dictionary of (label, longlabel, devtype) pairs
indexed by device"""
# return a copy so users can modify it w/o affecting us
return copy(self.images)
def setDefault(self, default):
# default is a device
self.default = default
def getDefault(self):
return self.default
# Construct a dictionary mapping device names to (OS, product, type)
# tuples.
def setup(self, storage):
devices = {}
bootDevs = self.availableBootDevices(storage)
for (dev, type) in bootDevs:
devices[dev.name] = 1
# These partitions have disappeared
for dev in self.images.keys():
if not devices.has_key(dev):
del self.images[dev]
# These have appeared
for (dev, type) in bootDevs:
if not self.images.has_key(dev.name):
if type in dosFilesystems and doesDualBoot():
self.images[dev.name] = ("Other", "Other", type)
elif type in ("hfs", "hfs+") and iutil.getPPCMachine() == "PMac":
self.images[dev.name] = ("Other", "Other", type)
else:
self.images[dev.name] = (None, None, type)
if not self.images.has_key(self.default):
self.default = storage.rootDevice.name
(label, longlabel, type) = self.images[self.default]
if not label:
self.images[self.default] = ("linux", productName, type)
# Return a list of (storage.Device, string) tuples that are bootable
# devices. The string is the type of the device, which is just a string
# like "vfat" or "swap" or "lvm".
def availableBootDevices(self, storage):
import parted
retval = []
foundDos = False
foundAppleBootstrap = False
for part in [p for p in storage.partitions if p.exists]:
# Skip extended, metadata, freespace, etc.
if part.partType not in (parted.PARTITION_NORMAL, parted.PARTITION_LOGICAL) or not part.format:
continue
type = part.format.type
if type in dosFilesystems and not foundDos and doesDualBoot() and \
not part.getFlag(parted.PARTITION_DIAG):
try:
bootable = checkForBootBlock(part.path)
retval.append((part, type))
foundDos = True
except:
pass
elif type in ["ntfs", "hpfs"] and not foundDos and \
doesDualBoot() and not part.getFlag(parted.PARTITION_DIAG):
retval.append((part, type))
# maybe questionable, but the first ntfs or fat is likely to
# be the correct one to boot with XP using ntfs
foundDos = True
elif type == "appleboot" and iutil.getPPCMachine() == "PMac" and part.bootable:
foundAppleBootstrap = True
elif type in ["hfs", "hfs+"] and foundAppleBootstrap:
# questionable for same reason as above, but on mac this time
retval.append((part, type))
rootDevice = storage.rootDevice
if not rootDevice or not rootDevice.format:
raise ValueError, ("Trying to pick boot devices but do not have a "
"sane root partition. Aborting install.")
retval.append((rootDevice, rootDevice.format.type))
retval.sort()
return retval
class bootloaderInfo(object):
def getConfigFileName(self):
if not self._configname:
raise NotImplementedError
return self._configname
configname = property(getConfigFileName, None, None, \
"bootloader config file name")
def getConfigFileDir(self):
if not self._configdir:
raise NotImplementedError
return self._configdir
configdir = property(getConfigFileDir, None, None, \
"bootloader config file directory")
def getConfigFilePath(self):
return "%s/%s" % (self.configdir, self.configname)
configfile = property(getConfigFilePath, None, None, \
"full path and name of the real config file")
def setUseGrub(self, val):
pass
def useGrub(self):
return self.useGrubVal
def setPassword(self, val, isCrypted = 1):
pass
def getPassword(self):
pass
def getDevice(self):
return self.device
def setDevice(self, device):
self.device = device
(dev, part) = getDiskPart(device, self.storage)
if part is None:
self.defaultDevice = "mbr"
else:
self.defaultDevice = "partition"
def makeInitrd(self, kernelTag, instRoot):
initrd = "initrd%s.img" % kernelTag
if os.access(instRoot + "/boot/" + initrd, os.R_OK):
return initrd
initrd = "initramfs%s.img" % kernelTag
if os.access(instRoot + "/boot/" + initrd, os.R_OK):
return initrd
return None
def getBootloaderConfig(self, instRoot, bl, kernelList,
chainList, defaultDev):
images = bl.images.getImages()
confFile = instRoot + self.configfile
# on upgrade read in the lilo config file
lilo = LiloConfigFile ()
self.perms = 0600
if os.access (confFile, os.R_OK):
self.perms = os.stat(confFile)[0] & 0777
lilo.read(confFile)
os.rename(confFile, confFile + ".rpmsave")
# if it's an absolute symlink, just get it out of our way
elif (os.path.islink(confFile) and os.readlink(confFile)[0] == '/'):
os.rename(confFile, confFile + ".rpmsave")
# Remove any invalid entries that are in the file; we probably
# just removed those kernels.
for label in lilo.listImages():
(fsType, sl, path, other) = lilo.getImage(label)
if fsType == "other": continue
if not os.access(instRoot + sl.getPath(), os.R_OK):
lilo.delImage(label)
lilo.addEntry("prompt", replace = 0)
lilo.addEntry("timeout", self.timeout or "20", replace = 0)
rootDev = self.storage.rootDevice
if rootDev.name == defaultDev.name:
lilo.addEntry("default", kernelList[0][0])
else:
lilo.addEntry("default", chainList[0][0])
for (label, longlabel, version) in kernelList:
kernelTag = "-" + version
kernelFile = self.kernelLocation + "vmlinuz" + kernelTag
try:
lilo.delImage(label)
except IndexError, msg:
pass
sl = LiloConfigFile(imageType = "image", path = kernelFile)
initrd = self.makeInitrd(kernelTag, instRoot)
sl.addEntry("label", label)
if initrd:
sl.addEntry("initrd", "%s%s" %(self.kernelLocation, initrd))
sl.addEntry("read-only")
append = "%s" %(self.args.get(),)
realroot = rootDev.fstabSpec
if rootIsDevice(realroot):
sl.addEntry("root", rootDev.path)
else:
if len(append) > 0:
append = "%s root=%s" %(append,realroot)
else:
append = "root=%s" %(realroot,)
if len(append) > 0:
sl.addEntry('append', '"%s"' % (append,))
lilo.addImage (sl)
for (label, longlabel, device) in chainList:
if ((not label) or (label == "")):
continue
try:
(fsType, sl, path, other) = lilo.getImage(label)
lilo.delImage(label)
except IndexError:
sl = LiloConfigFile(imageType = "other",
path = "/dev/%s" %(device))
sl.addEntry("optional")
sl.addEntry("label", label)
lilo.addImage (sl)
# Sanity check #1. There could be aliases in sections which conflict
# with the new images we just created. If so, erase those aliases
imageNames = {}
for label in lilo.listImages():
imageNames[label] = 1
for label in lilo.listImages():
(fsType, sl, path, other) = lilo.getImage(label)
if sl.testEntry('alias'):
alias = sl.getEntry('alias')
if imageNames.has_key(alias):
sl.delEntry('alias')
imageNames[alias] = 1
# Sanity check #2. If single-key is turned on, go through all of
# the image names (including aliases) (we just built the list) and
# see if single-key will still work.
if lilo.testEntry('single-key'):
singleKeys = {}
turnOff = 0
for label in imageNames.keys():
l = label[0]
if singleKeys.has_key(l):
turnOff = 1
singleKeys[l] = 1
if turnOff:
lilo.delEntry('single-key')
return lilo
def write(self, instRoot, bl, kernelList, chainList, defaultDev):
rc = 0
if len(kernelList) >= 1:
config = self.getBootloaderConfig(instRoot, bl,
kernelList, chainList,
defaultDev)
rc = config.write(instRoot + self.configfile, perms = self.perms)
else:
raise booty.BootyNoKernelWarning
return rc
def getArgList(self):
args = []
if self.defaultDevice is None:
args.append("--location=none")
return args
args.append("--location=%s" % (self.defaultDevice,))
args.append("--driveorder=%s" % (",".join(self.drivelist)))
if self.args.getNoDracut():
args.append("--append=\"%s\"" %(self.args.getNoDracut()))
return args
def writeKS(self, f):
f.write("bootloader")
for arg in self.getArgList():
f.write(" " + arg)
f.write("\n")
def updateDriveList(self, sortedList=[]):
# bootloader is unusual in that we only want to look at disks that
# have disklabels -- no partitioned md or unpartitioned disks
disks = self.storage.disks
partitioned = self.storage.partitioned
self._drivelist = [d.name for d in disks if d in partitioned]
self._drivelist.sort(self.storage.compareDisks)
# If we're given a sort order, make sure the drives listed in it
# are put at the head of the drivelist in that order. All other
# drives follow behind in whatever order they're found.
if sortedList != []:
revSortedList = sortedList
revSortedList.reverse()
for i in revSortedList:
try:
ele = self._drivelist.pop(self._drivelist.index(i))
self._drivelist.insert(0, ele)
except:
pass
def _getDriveList(self):
if self._drivelist is not None:
return self._drivelist
self.updateDriveList()
return self._drivelist
def _setDriveList(self, val):
self._drivelist = val
drivelist = property(_getDriveList, _setDriveList)
def __init__(self, anaconda):
self.args = KernelArguments(anaconda)
self.images = BootImages()
self.device = None
self.defaultDevice = None # XXX hack, used by kickstart
self.useGrubVal = 0 # only used on x86
self._configdir = None
self._configname = None
self.kernelLocation = "/boot/"
self.password = None
self.pure = None
self.above1024 = 0
self.timeout = None
self.storage = anaconda.storage
# this has somewhat strange semantics. if 0, act like a normal
# "install" case. if 1, update lilo.conf (since grubby won't do that)
# and then run lilo or grub only.
# XXX THIS IS A HACK. implementation details are only there for x86
self.doUpgradeOnly = 0
self.kickstart = 0
self._drivelist = None
if flags.serial != 0:
options = ""
device = ""
console = flags.cmdline.get("console", "")
# the options are everything after the comma
comma = console.find(",")
if comma != -1:
options = console[comma:]
device = console[:comma]
else:
device = console
if not device and iutil.isIA64():
self.serialDevice = "ttyS0"
self.serialOptions = ""
else:
self.serialDevice = device
# don't keep the comma in the options
self.serialOptions = options[1:]
if self.serialDevice:
self.args.append("console=%s%s" %(self.serialDevice, options))
self.serial = 1
self.timeout = 5
else:
self.serial = 0
self.serialDevice = None
self.serialOptions = None
if flags.virtpconsole is not None:
if flags.virtpconsole.startswith("/dev/"):
con = flags.virtpconsole[5:]
else:
con = flags.virtpconsole
self.args.append("console=%s" %(con,))
class efiBootloaderInfo(bootloaderInfo):
def getBootloaderName(self):
return self._bootloader
bootloader = property(getBootloaderName, None, None, \
"name of the bootloader to install")
# XXX wouldn't it be nice to have a real interface to use efibootmgr from?
def removeOldEfiEntries(self, instRoot):
p = os.pipe()
rc = iutil.execWithRedirect('/usr/sbin/efibootmgr', [],
root = instRoot, stdout = p[1])
os.close(p[1])
if rc:
return rc
c = os.read(p[0], 1)
buf = c
while (c):
c = os.read(p[0], 1)
buf = buf + c
os.close(p[0])
lines = string.split(buf, '\n')
for line in lines:
fields = string.split(line)
if len(fields) < 2:
continue
if string.join(fields[1:], " ") == productName:
entry = fields[0][4:8]
rc = iutil.execWithRedirect('/usr/sbin/efibootmgr',
["-b", entry, "-B"],
root = instRoot,
stdout="/dev/tty5", stderr="/dev/tty5")
if rc:
return rc
return 0
def addNewEfiEntry(self, instRoot):
try:
bootdev = self.storage.mountpoints["/boot/efi"].name
except:
bootdev = "sda1"
link = "%s%s/%s" % (instRoot, "/etc/", self.configname)
if not os.access(link, os.R_OK):
os.symlink("../%s" % (self.configfile), link)
ind = len(bootdev)
try:
while (bootdev[ind-1] in string.digits):
ind = ind - 1
except IndexError:
ind = len(bootdev) - 1
bootdisk = bootdev[:ind]
bootpart = bootdev[ind:]
if (bootdisk.startswith('ida/') or bootdisk.startswith('cciss/') or
bootdisk.startswith('rd/') or bootdisk.startswith('sx8/')):
bootdisk = bootdisk[:-1]
argv = [ "/usr/sbin/efibootmgr", "-c" , "-w", "-L",
productName, "-d", "/dev/%s" % bootdisk,
"-p", bootpart, "-l", "\\EFI\\redhat\\" + self.bootloader ]
rc = iutil.execWithRedirect(argv[0], argv[1:], root = instRoot,
stdout = "/dev/tty5",
stderr = "/dev/tty5")
return rc
def installGrub(self, instRoot, bootDev, grubTarget, grubPath, cfPath):
if not iutil.isEfi():
raise EnvironmentError
rc = self.removeOldEfiEntries(instRoot)
if rc:
return rc
return self.addNewEfiEntry(instRoot)
def __init__(self, anaconda, initialize = True):
if initialize:
bootloaderInfo.__init__(self, anaconda)
else:
self.storage = anaconda.storage
if iutil.isEfi():
self._configdir = "/boot/efi/EFI/redhat"
self._configname = "grub.conf"
self._bootloader = "grub.efi"
self.useGrubVal = 1
self.kernelLocation = ""

View File

@ -1,207 +0,0 @@
#!/usr/bin/python
#
# Check to see whether it looks like GRUB or LILO is the boot loader
# being used on the system.
#
# Jeremy Katz <katzj@redhat.com>
# Peter Jones <pjones@redhat.com>
#
# Copyright 2001,2005 Red Hat, Inc.
#
# This software may be freely redistributed under the terms of the GNU
# library public license.
#
# You should have received a copy of the GNU Library Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
import os
import string
from util import getDiskPart
import iutil
grubConfigFile = "/etc/grub.conf"
liloConfigFile = "/etc/lilo.conf"
yabootConfigFile = "/etc/yaboot.conf"
siloConfigFile = "/etc/silo.conf"
def getRaidDisks(raidDevice, storage, raidLevel=None, stripPart=1):
rc = []
if raidLevel is not None:
try:
raidLevel = "raid%d" % (int(raidLevel),)
except ValueError:
pass
try:
f = open("/proc/mdstat", "r")
lines = f.readlines()
f.close()
except:
return rc
for line in lines:
fields = string.split(line, ' ')
if fields[0] == raidDevice:
if raidLevel is not None and fields[3] != raidLevel:
continue
for field in fields[4:]:
if string.find(field, "[") == -1:
continue
dev = string.split(field, '[')[0]
if len(dev) == 0:
continue
if stripPart:
disk = getDiskPart(dev, storage)[0]
rc.append(disk)
else:
rc.append(dev)
return rc
def getBootBlock(bootDev, instRoot, storage, seekBlocks=0):
"""Get the boot block from bootDev. Return a 512 byte string."""
block = " " * 512
if bootDev is None:
return block
# get the devices in the raid device
if bootDev[5:7] == "md":
bootDevs = getRaidDisks(bootDev[5:], storage)
bootDevs.sort()
else:
bootDevs = [ bootDev[5:] ]
# FIXME: this is kind of a hack
# look at all of the devs in the raid device until we can read the
# boot block for one of them. should do this better at some point
# by looking at all of the drives properly
for dev in bootDevs:
try:
fd = os.open("%s/dev/%s" % (instRoot, dev), os.O_RDONLY)
if seekBlocks > 0:
os.lseek(fd, seekBlocks * 512, 0)
block = os.read(fd, 512)
os.close(fd)
return block
except:
pass
return block
# takes a line like #boot=/dev/hda and returns /dev/hda
# also handles cases like quoted versions and other nonsense
def getBootDevString(line):
dev = string.split(line, '=')[1]
dev = string.strip(dev)
dev = string.replace(dev, '"', '')
dev = string.replace(dev, "'", "")
return dev
def getBootDevList(line):
devs = string.split(line, '=')[1]
rets = []
for dev in devs:
dev = getBootDevString("=%s" % (dev,))
rets.append(dev)
return string.join(rets)
def getBootloaderTypeAndBoot(instRoot, storage):
haveGrubConf = 1
haveLiloConf = 1
haveYabootConf = 1
haveSiloConf = 1
bootDev = None
# make sure they have the config file, otherwise we definitely can't
# use that bootloader
if not os.access(instRoot + grubConfigFile, os.R_OK):
haveGrubConf = 0
if not os.access(instRoot + liloConfigFile, os.R_OK):
haveLiloConf = 0
if not os.access(instRoot + yabootConfigFile, os.R_OK):
haveYabootConf = 0
if not os.access(instRoot + siloConfigFile, os.R_OK):
haveSiloConf = 0
if haveGrubConf:
bootDev = None
for (fn, stanza) in [ ("/etc/sysconfig/grub", "boot="),
(grubConfigFile, "#boot=") ]:
try:
f = open(instRoot + fn, "r")
except:
continue
# the following bits of code are straight from checkbootloader.py
lines = f.readlines()
f.close()
for line in lines:
if line.startswith(stanza):
bootDev = getBootDevString(line)
break
if bootDev is not None:
break
if iutil.isEfi():
return ("GRUB", bootDev)
if bootDev is not None:
block = getBootBlock(bootDev, instRoot, storage)
# XXX I don't like this, but it's what the maintainer suggested :(
if string.find(block, "GRUB") >= 0:
return ("GRUB", bootDev)
if haveLiloConf:
f = open(instRoot + liloConfigFile, "r")
lines = f.readlines()
for line in lines:
if line[0:5] == "boot=":
bootDev = getBootDevString(line)
break
block = getBootBlock(bootDev, instRoot, storage)
# this at least is well-defined
if block[6:10] == "LILO":
return ("LILO", bootDev)
if haveYabootConf:
f = open(instRoot + yabootConfigFile, "r")
lines = f.readlines()
for line in lines:
if line[0:5] == "boot=":
bootDev = getBootDevList(line)
if bootDev:
return ("YABOOT", bootDev)
if haveSiloConf:
bootDev = None
# We've never done the /etc/sysconfig/silo thing, but maybe
# we should start...
for (fn, stanza) in [ ("/etc/sysconfig/silo", "boot="),
(grubConfigFile, "#boot=") ]:
try:
f = open(instRoot + fn, "r")
except:
continue
lines = f.readlines()
f.close()
for line in lines:
if line.startswith(stanza):
bootDev = getBootDevString(line)
break
if bootDev is not None:
break
if bootDev is not None:
# XXX SILO sucks just like grub.
if getDiskPart(bootDev, storage)[1] != 3:
block = getBootBlock(bootDev, instRoot, storage, 1)
if block[24:28] == "SILO":
return ("SILO", bootDev)
return (None, None)

View File

@ -1,38 +0,0 @@
from booty import BootyNoKernelWarning
from bootloaderInfo import *
class ia64BootloaderInfo(efiBootloaderInfo):
def getBootloaderConfig(self, instRoot, bl, kernelList,
chainList, defaultDev):
config = bootloaderInfo.getBootloaderConfig(self, instRoot,
bl, kernelList, chainList,
defaultDev)
# altix boxes need relocatable (#120851)
config.addEntry("relocatable")
return config
def writeLilo(self, instRoot, bl, kernelList,
chainList, defaultDev):
config = self.getBootloaderConfig(instRoot, bl,
kernelList, chainList, defaultDev)
return config.write(instRoot + self.configfile, perms = 0755)
def write(self, instRoot, bl, kernelList, chainList, defaultDev):
if len(kernelList) >= 1:
rc = self.writeLilo(instRoot, bl, kernelList,
chainList, defaultDev)
if rc:
return rc
else:
raise BootyNoKernelWarning
rc = self.removeOldEfiEntries(instRoot)
if rc:
return rc
return self.addNewEfiEntry(instRoot)
def __init__(self, anaconda):
efiBootloaderInfo.__init__(self, anaconda)
self._configname = "elilo.conf"
self._bootloader = "elilo.efi"

View File

@ -1,308 +0,0 @@
#!/usr/bin/python
#
# Module for manipulation of lilo.conf files. Original found
# in the anaconda installer
# Copyright (c) 1999-2001 Red Hat, Inc. Distributed under GPL.
#
# Author: Matt Wilson <msw@redhat.com>
# Eric Troan <ewt@redhat.com>
# Adrian Likins <alikins@redhat.com>
"""Module for manipulation of lilo.conf files."""
import string
import os
from UserDict import UserDict
class UserDictCase(UserDict):
"""A dictionary with case insensitive keys"""
def __init__(self, data = {}):
UserDict.__init__(self)
# if we are passed a dictionary transfer it over...
for k in data.keys():
kl = string.lower(k)
self.data[kl] = data[k]
# some methods used to make the class work as a dictionary
def __setitem__(self, key, value):
key = string.lower(key)
self.data[key] = value
def __getitem__(self, key):
key = string.lower(key)
if not self.data.has_key(key):
return None
return self.data[key]
get = __getitem__
def __delitem__(self, key):
key = string.lower(key)
del self.data[key]
def has_key(self, key):
key = string.lower(key)
return self.data.has_key(key)
# return this data as a real hash
def get_hash(self):
return self.data
# return the data for marshalling
def __getstate__(self):
return self.data
# we need a setstate because of the __getstate__ presence screws up deepcopy
def __setstate__(self, state):
self.__init__(state)
# get a dictionary out of this instance ({}.update doesn't get instances)
def dict(self):
return self.data
class LiloConfigFile:
"""class representing a lilo.conf lilo configuration file. Used to
manipulate the file directly"""
def __repr__ (self, tab = 0):
s = ""
for n in self.order:
if (tab):
s = s + '\t'
if n[0] == '#':
s = s + n[1:]
else:
s = s + n
if self.items[n]:
s = s + "=" + self.items[n]
s = s + '\n'
for count in range(len(self.diskRemaps)):
s = s + "disk = %s\n" % self.diskRemaps[count][1]
s = s + "\tbios = %s\n" % self.biosRemaps[count][1]
for cl in self.images:
s = s + "\n%s=%s\n" % (cl.imageType, cl.path)
s = s + cl.__repr__(1)
return s
def addEntry(self, item, val = None, replace = 1):
if not self.items.has_key(item):
self.order.append(item)
elif not replace:
return
if (val):
self.items[item] = str(val)
else:
self.items[item] = None
def getEntry(self, item):
if self.items.has_key(item):
return self.items[item]
else:
return None
def delEntry(self, item):
newOrder = []
for i in self.order:
if item != i: newOrder.append(i)
self.order = newOrder
del self.items[item]
def listEntries(self):
foo = self.items
return foo
def testEntry(self, item):
if self.items.has_key(item):
return 1
else:
return 0
def getImage(self, label):
for config in self.images:
# sanity check
if label is None:
break
if config.getEntry('label'):
if string.lower(config.getEntry('label')) == string.lower(label):
return (config.imageType, config, config.path, config.other)
if config.getEntry('alias'):
if string.lower(config.getEntry('alias')) == string.lower(label):
return (config.imageType, config, config.path, config.other)
raise IndexError, "unknown image %s" % (label)
def addImage (self, config,first=None):
# make sure the config has a valid label
config.getEntry('label')
if not config.path or not config.imageType:
raise ValueError, "subconfig missing path or image type"
if first:
self.images = [config] + self.images
else:
self.images.append(config)
def delImage (self, label):
for config in self.images:
# sanity check
if label is None:
break
if config.getEntry('label'):
if string.lower(config.getEntry('label')) == string.lower(label):
self.images.remove (config)
return
raise IndexError, "unknown image %s" % (label,)
def getDefault (self):
default = None
try:
default = self.getEntry("default")
except:
pass
if not default:
default = self.listImages()[0]
theDefault = self.getImage(default)
return theDefault[1]
def getDefaultLinux (self):
defaultIsOther = None
# XXX ick... this code badly needs work =\
theDefault = self.getDefault()
if theDefault.other:
defaultIsOther = 1
# if the default is other, look for the first linux image
if theDefault.other:
for image_label in self.listImages():
image = self.getImage(image_label)[1]
if not image.other:
theDefault = image
break
# if we get here and are *still* an other, then we have no linux
# images. ick
if theDefault.other:
return None
else:
return theDefault
def listImages (self):
l = []
for config in self.images:
l.append(config.getEntry('label'))
return l
def listAliases (self):
l = []
for config in self.images:
if config.getEntry('alias'):
l.append(config.getEntry('alias'))
return l
def getPath (self):
return self.path
def write(self, file, perms = 0644):
f = open(file, "w")
f.write(self.__repr__())
f.close()
os.chmod(file, perms)
def read (self, file):
f = open(file, "r")
image = None
for l in f.readlines():
l = l[:-1]
orig = l
while (l and (l[0] == ' ' or l[0] == '\t')):
l = l[1:]
if not l:
continue
if l[0] == '#' and not image:
self.order.append('#' + orig)
continue
fields = string.split(l, '=', 1)
if l[0] == '#' and image:
args = ('#' + l,)
elif (len(fields) == 2):
f0 = string.strip (fields [0])
f1 = string.strip (fields [1])
if (f0 != "append"):
# people are silly and put quotes brokenly in their
# lilo.conf but you have to use them for append. ARGH!
f1 = string.replace(f1, '"', '')
f1 = string.replace(f1, "'", "")
if (f0 == "image" or f0 == "other"):
if image: self.addImage(image)
image = LiloConfigFile(imageType = f0,
path = f1)
if (f0 == "other"):
image.other = 1
args = None
else:
args = (f0, f1)
if (f0 == "disk"):
self.diskRemaps.append((f0,f1))
args = None
if (f0 == "bios"):
self.biosRemaps.append((f0,f1))
args = None
else:
args = (string.strip (l),)
if (args and image):
apply(image.addEntry, args)
elif args:
apply(self.addEntry, args)
if image: self.addImage(image)
f.close()
def __init__(self, imageType = None, path = None):
self.imageType = imageType
self.path = path
self.order = []
self.images = []
self.other = None
self.items = UserDictCase()
self.biosRemaps = []
self.diskRemaps = []
self.unsupported = []
if __name__ == "__main__":
import sys
#sys.path.append("")
config = LiloConfigFile ()
config.read ('/etc/lilo.conf')
print config
print "image list", config.listImages()
config.delImage ('linux')
print '----------------------------------'
config = LiloConfigFile ()
config.read ('/etc/lilo.conf')
print config
print '----------------------------------'
print '----------------------------------'
print "list images"
print config.listImages()
print config.getImage('linux')
print "----------------------------------"
print "addimage (testlinux)"
blip = """
read-only
blippy-blob=sdfsdf
append=\"sdfasdfasdf\"
root=/dev/hda6
"""
sl = LiloConfigFile(imageType = "image", path="/boot/somevmlinuz-2.4.0")
sl.addEntry("label", "newkernel")
sl.addEntry("initrd", "blipppy")
config.addImage(sl)
print '-------------------------------------'
print "writing out /tmp/lilo.conf"
print config.write("/tmp/lilo.conf")
print config

View File

@ -1,180 +0,0 @@
import string
import os
from booty import BootyNoKernelWarning
from util import getDiskPart
from bootloaderInfo import *
import iutil
class ppcBootloaderInfo(bootloaderInfo):
def getBootDevs(self, bl):
import parted
retval = []
machine = iutil.getPPCMachine()
if machine == 'pSeries':
for dev in self.storage.fsset.devices:
if dev.format.type == "prepboot":
retval.append(dev.path)
elif machine == 'PMac':
for dev in self.storage.fsset.devices:
if dev.format.type == "hfs" and dev.format.bootable:
retval.append(dev.path)
if len(retval) == 0:
# Try to get a boot device; bplan OF understands ext3
if machine == 'Pegasos' or machine == 'Efika':
try:
device = self.storage.mountpoints["/boot"]
except KeyError:
# Try / if we don't have this we're not going to work
device = self.storage.rootDevice
retval.append(device.path)
else:
if bl.getDevice():
d = bl.getDevice()
retval.append(self.storage.devicetree.getDeviceByName(d).path)
return retval
def writeYaboot(self, instRoot, bl, kernelList,
chainList, defaultDev):
yabootTarget = string.join(self.getBootDevs(bl))
try:
bootDev = self.storage.mountpoints["/boot"]
cf = "/boot/etc/yaboot.conf"
cfPath = ""
if not os.path.isdir(instRoot + "/boot/etc"):
os.mkdir(instRoot + "/boot/etc")
except KeyError:
bootDev = self.storage.rootDevice
cfPath = "/boot"
cf = "/etc/yaboot.conf"
f = open(instRoot + cf, "w+")
f.write("# yaboot.conf generated by anaconda\n\n")
f.write("boot=%s\n" %(yabootTarget,))
f.write("init-message=\"Welcome to %s!\\nHit <TAB> for boot options\"\n\n"
% productName)
f.write("partition=%s\n" % bootDev.partedPartition.number)
f.write("timeout=%s\n" % (self.timeout or 80))
f.write("install=/usr/lib/yaboot/yaboot\n")
f.write("delay=5\n")
f.write("enablecdboot\n")
f.write("enableofboot\n")
f.write("enablenetboot\n")
yabootProg = "/sbin/mkofboot"
if iutil.getPPCMachine() == "PMac":
# write out the first hfs/hfs+ partition as being macosx
for (label, longlabel, device) in chainList:
if ((not label) or (label == "")):
continue
f.write("macosx=/dev/%s\n" %(device,))
break
f.write("magicboot=/usr/lib/yaboot/ofboot\n")
elif iutil.getPPCMachine() == "pSeries":
f.write("nonvram\n")
f.write("fstype=raw\n")
else: # Default non-destructive case for anything else.
f.write("nonvram\n")
f.write("mntpoint=/boot/yaboot\n")
f.write("usemount\n")
if not os.access(instRoot + "/boot/yaboot", os.R_OK):
os.mkdir(instRoot + "/boot/yaboot")
yabootProg = "/sbin/ybin"
if self.password:
f.write("password=%s\n" %(self.password,))
f.write("restricted\n")
f.write("\n")
rootDev = self.storage.rootDevice
for (label, longlabel, version) in kernelList:
kernelTag = "-" + version
kernelFile = "%s/vmlinuz%s" %(cfPath, kernelTag)
f.write("image=%s\n" %(kernelFile,))
f.write("\tlabel=%s\n" %(label,))
f.write("\tread-only\n")
initrd = self.makeInitrd(kernelTag, instRoot)
if initrd:
f.write("\tinitrd=%s/%s\n" %(cfPath, initrd))
append = "%s" %(self.args.get(),)
realroot = rootDev.fstabSpec
if rootIsDevice(realroot):
f.write("\troot=%s\n" %(realroot,))
else:
if len(append) > 0:
append = "%s root=%s" %(append,realroot)
else:
append = "root=%s" %(realroot,)
if len(append) > 0:
f.write("\tappend=\"%s\"\n" %(append,))
f.write("\n")
f.close()
os.chmod(instRoot + cf, 0600)
# FIXME: hack to make sure things are written to disk
import isys
isys.sync()
isys.sync()
isys.sync()
ybinargs = [ yabootProg, "-f", "-C", cf ]
rc = iutil.execWithRedirect(ybinargs[0],
ybinargs[1:],
stdout = "/dev/tty5",
stderr = "/dev/tty5",
root = instRoot)
if rc:
return rc
if (not os.access(instRoot + "/etc/yaboot.conf", os.R_OK) and
os.access(instRoot + "/boot/etc/yaboot.conf", os.R_OK)):
os.symlink("../boot/etc/yaboot.conf",
instRoot + "/etc/yaboot.conf")
return 0
def setPassword(self, val, isCrypted = 1):
# yaboot just handles the password and doesn't care if its crypted
# or not
self.password = val
def write(self, instRoot, bl, kernelList, chainList, defaultDev):
if len(kernelList) >= 1:
rc = self.writeYaboot(instRoot, bl, kernelList,
chainList, defaultDev)
if rc:
return rc
else:
raise BootyNoKernelWarning
return 0
def __init__(self, anaconda):
bootloaderInfo.__init__(self, anaconda)
self.useYabootVal = 1
self.kernelLocation = "/boot"
self._configdir = "/etc"
self._configname = "yaboot.conf"

View File

@ -1,178 +0,0 @@
import os
from bootloaderInfo import *
import iutil
class s390BootloaderInfo(bootloaderInfo):
def getBootloaderConfig(self, instRoot, bl, kernelList,
chainList, defaultDev):
# on upgrade read in the lilo config file
lilo = LiloConfigFile ()
self.perms = 0600
confFile = instRoot + self.configfile
if os.access (confFile, os.R_OK):
self.perms = os.stat(confFile)[0] & 0777
lilo.read(confFile)
os.rename(confFile, confFile + ".rpmsave")
# Remove any invalid entries that are in the file; we probably
# just removed those kernels.
for label in lilo.listImages():
(fsType, sl, path, other) = lilo.getImage(label)
if fsType == "other": continue
if not os.access(instRoot + sl.getPath(), os.R_OK):
lilo.delImage(label)
rootDev = self.storage.rootDevice
if rootDev.name == defaultDev.name:
lilo.addEntry("default", kernelList[0][0])
else:
lilo.addEntry("default", chainList[0][0])
for (label, longlabel, version) in kernelList:
kernelTag = "-" + version
kernelFile = self.kernelLocation + "vmlinuz" + kernelTag
try:
lilo.delImage(label)
except IndexError, msg:
pass
sl = LiloConfigFile(imageType = "image", path = kernelFile)
initrd = self.makeInitrd(kernelTag, instRoot)
sl.addEntry("label", label)
if initrd:
sl.addEntry("initrd", "%s%s" %(self.kernelLocation, initrd))
sl.addEntry("read-only")
sl.addEntry("root", rootDev.path)
sl.addEntry("ipldevice", rootDev.path[:-1])
if self.args.get():
sl.addEntry('append', '"%s"' % self.args.get())
lilo.addImage (sl)
for (label, longlabel, device) in chainList:
if ((not label) or (label == "")):
continue
try:
(fsType, sl, path, other) = lilo.getImage(label)
lilo.delImage(label)
except IndexError:
sl = LiloConfigFile(imageType = "other",
path = "/dev/%s" %(device))
sl.addEntry("optional")
sl.addEntry("label", label)
lilo.addImage (sl)
# Sanity check #1. There could be aliases in sections which conflict
# with the new images we just created. If so, erase those aliases
imageNames = {}
for label in lilo.listImages():
imageNames[label] = 1
for label in lilo.listImages():
(fsType, sl, path, other) = lilo.getImage(label)
if sl.testEntry('alias'):
alias = sl.getEntry('alias')
if imageNames.has_key(alias):
sl.delEntry('alias')
imageNames[alias] = 1
# Sanity check #2. If single-key is turned on, go through all of
# the image names (including aliases) (we just built the list) and
# see if single-key will still work.
if lilo.testEntry('single-key'):
singleKeys = {}
turnOff = 0
for label in imageNames.keys():
l = label[0]
if singleKeys.has_key(l):
turnOff = 1
singleKeys[l] = 1
if turnOff:
lilo.delEntry('single-key')
return lilo
def writeChandevConf(self, bl, instroot): # S/390 only
cf = "/etc/chandev.conf"
self.perms = 0644
if bl.args.chandevget():
fd = os.open(instroot + "/etc/chandev.conf",
os.O_WRONLY | os.O_CREAT)
os.write(fd, "noauto\n")
for cdev in bl.args.chandevget():
os.write(fd,'%s\n' % cdev)
os.close(fd)
return ""
def writeZipl(self, instRoot, bl, kernelList, chainList,
defaultDev, justConfigFile):
rootDev = self.storage.rootDevice
cf = '/etc/zipl.conf'
self.perms = 0600
if os.access (instRoot + cf, os.R_OK):
self.perms = os.stat(instRoot + cf)[0] & 0777
os.rename(instRoot + cf,
instRoot + cf + '.rpmsave')
f = open(instRoot + cf, "w+")
f.write('[defaultboot]\n')
f.write('default=' + kernelList[0][0] + '\n')
f.write('target=%s\n' % (self.kernelLocation))
cfPath = "/boot/"
for (label, longlabel, version) in kernelList:
kernelTag = "-" + version
kernelFile = "%svmlinuz%s" % (cfPath, kernelTag)
initrd = self.makeInitrd(kernelTag, instRoot)
f.write('[%s]\n' % (label))
f.write('\timage=%s\n' % (kernelFile))
if initrd:
f.write('\tramdisk=%s%s\n' %(self.kernelLocation, initrd))
realroot = rootDev.fstabSpec
f.write('\tparameters="root=%s' %(realroot,))
if bl.args.get():
f.write(' %s' % (bl.args.get()))
f.write('"\n')
f.close()
if not justConfigFile:
rc = iutil.execWithRedirect("/sbin/zipl", [], root = instRoot,
stdout = "/dev/stdout",
stderr = "/dev/stderr")
if rc:
return rc
return 0
def write(self, instRoot, bl, kernelList, chainList,
defaultDev):
rc = self.writeZipl(instRoot, bl, kernelList,
chainList, defaultDev,
not self.useZiplVal)
if rc:
return rc
return self.writeChandevConf(bl, instRoot)
def __init__(self, anaconda):
bootloaderInfo.__init__(self, anaconda)
self.useZiplVal = 1 # only used on s390
self.kernelLocation = "/boot/"
self._configdir = "/etc"
self._configname = "zipl.conf"

View File

@ -1,128 +0,0 @@
import os
from booty import BootyNoKernelWarning
from bootloaderInfo import *
class sparcBootloaderInfo(bootloaderInfo):
def writeSilo(self, instRoot, bl, kernelList,
chainList, defaultDev):
try:
bootDev = self.storage.mountpoints["/boot"]
mf = '/silo.message'
cf = "/boot/silo.conf"
mfdir = '/boot'
cfPath = ""
if not os.path.isdir(instRoot + "/boot"):
os.mkdir(instRoot + "/boot")
except KeyError:
bootDev = self.storage.rootDevice
cf = "/etc/silo.conf"
mfdir = '/etc'
cfPath = "/boot"
f = open(instRoot + mfdir + mf, "w+")
f.write("Welcome to %s!\nHit <TAB> for boot options\n\n" % productName)
f.close()
os.chmod(instRoot + mfdir + mf, 0600)
f = open(instRoot + cf, "w+")
f.write("# silo.conf generated by anaconda\n\n")
f.write("#boot=%s\n" % (bootDev.path,))
f.write("message=%s\n" % (mf,))
f.write("timeout=%s\n" % (self.timeout or 50))
(name, partNum) = getDiskPart(bootDev, self.storage)
partno = partNum + 1
f.write("partition=%s\n" % (partno,))
if self.password:
f.write("password=%s\n" % (self.password,))
f.write("restricted\n")
f.write("default=%s\n" % (kernelList[0][0],))
f.write("\n")
rootDev = self.storage.rootDevice
for (label, longlabel, version) in kernelList:
kernelTag = "-" + version
kernelFile = "%s/vmlinuz%s" % (cfPath, kernelTag)
f.write("image=%s\n" % (kernelFile,))
f.write("\tlabel=%s\n" % (label,))
f.write("\tread-only\n")
initrd = self.makeInitrd(kernelTag, instRoot)
if initrd:
f.write("\tinitrd=%s/%s\n" % (cfPath, initrd))
append = "%s" % (self.args.get(),)
realroot = rootDev.fstabSpec
if rootIsDevice(realroot):
f.write("\troot=%s\n" % (realroot,))
else:
if len(append) > 0:
append = "%s root=%s" % (append, realroot)
else:
append = "root=%s" % (realroot,)
if len(append) > 0:
f.write("\tappend=\"%s\"\n" % (append,))
f.write("\n")
f.close()
os.chmod(instRoot + cf, 0600)
# FIXME: hack to make sure things are written to disk
import isys
isys.sync()
isys.sync()
isys.sync()
backup = "%s/backup.b" % (cfPath,)
sbinargs = ["/sbin/silo", "-f", "-C", cf, "-S", backup]
# TODO!!! FIXME!!! XXX!!!
# butil is not defined!!! - assume this is in rhpl now?
if butil.getSparcMachine() == "sun4u":
sbinargs += ["-u"]
else:
sbinargs += ["-U"]
rc = iutil.execWithRedirect(sbinargs[0],
sbinargs[1:],
stdout = "/dev/tty5",
stderr = "/dev/tty5",
root = instRoot)
if rc:
return rc
if (not os.access(instRoot + "/etc/silo.conf", os.R_OK) and
os.access(instRoot + "/boot/etc/silo.conf", os.R_OK)):
os.symlink("../boot/etc/silo.conf",
instRoot + "/etc/silo.conf")
return 0
def setPassword(self, val, isCrypted = 1):
# silo just handles the password unencrypted
self.password = val
def write(self, instRoot, bl, kernelList, chainList,
defaultDev):
if len(kernelList) >= 1:
return self.writeSilo(instRoot, bl, kernelList, chainList,
defaultDev)
else:
raise BootyNoKernelWarning
def __init__(self, anaconda):
bootloaderInfo.__init__(self, anaconda)
self.useSiloVal = 1
self.kernelLocation = "/boot"
self._configdir = "/etc"
self._configname = "silo.conf"

View File

@ -1,33 +0,0 @@
import string
from flags import flags
def getDiskPart(dev, storage):
path = storage.devicetree.getDeviceByName(dev).path[5:]
cut = len(dev)
if dev[-1] in string.digits:
if (path.startswith('rd/') or path.startswith('ida/') or
path.startswith('cciss/') or path.startswith('sx8/') or
path.startswith('mapper/') or path.startswith('mmcblk') or
path.startswith('md')):
if dev[-2] == 'p':
cut = -2
elif dev[-3] == 'p' and dev[-2] in string.digits:
cut = -3
else:
if dev[-2] in string.digits:
cut = -2
else:
cut = -1
name = dev[:cut]
if cut < 0:
part = dev[cut:]
if part[0] == 'p':
part = part[1:]
partNum = int(part) - 1
else:
partNum = None
return (name, partNum)

View File

@ -1,555 +0,0 @@
import os
import string
from booty import BootyNoKernelWarning
from util import getDiskPart
from bootloaderInfo import *
from flags import flags
import checkbootloader
import iutil
class x86BootloaderInfo(efiBootloaderInfo):
def setPassword(self, val, isCrypted = 1):
if not val:
self.password = val
self.pure = val
return
if isCrypted and self.useGrubVal == 0:
self.pure = None
return
elif isCrypted:
self.password = val
self.pure = None
else:
salt = "$1$"
saltLen = 8
saltchars = string.letters + string.digits + './'
for i in range(saltLen):
salt += random.choice(saltchars)
self.password = crypt.crypt(val, salt)
self.pure = val
def getPassword (self):
return self.pure
def setUseGrub(self, val):
self.useGrubVal = val
def getPhysicalDevices(self, device):
# This finds a list of devices on which the given device name resides.
# Accepted values for "device" are raid1 md devices (i.e. "md0"),
# physical disks ("hda"), and real partitions on physical disks
# ("hda1"). Volume groups/logical volumes are not accepted.
dev = self.storage.devicetree.getDeviceByName(device)
path = dev.path[5:]
if device in map (lambda x: x.name, self.storage.lvs + self.storage.vgs):
return []
if path.startswith("mapper/luks-"):
return []
if dev.type == "mdarray":
bootable = 0
parts = checkbootloader.getRaidDisks(device, self.storage,
raidLevel=1, stripPart=0)
parts.sort()
return parts
return [device]
def runGrubInstall(self, instRoot, bootDev, cmds, cfPath):
if cfPath == "/":
syncDataToDisk(bootDev, "/boot", instRoot)
else:
syncDataToDisk(bootDev, "/", instRoot)
# copy the stage files over into /boot
rc = iutil.execWithRedirect("/sbin/grub-install",
["--just-copy"],
stdout = "/dev/tty5", stderr = "/dev/tty5",
root = instRoot)
if rc:
return rc
# really install the bootloader
for cmd in cmds:
p = os.pipe()
os.write(p[1], cmd + '\n')
os.close(p[1])
# FIXME: hack to try to make sure everything is written
# to the disk
if cfPath == "/":
syncDataToDisk(bootDev, "/boot", instRoot)
else:
syncDataToDisk(bootDev, "/", instRoot)
rc = iutil.execWithRedirect('/sbin/grub' ,
[ "--batch", "--no-floppy",
"--device-map=/boot/grub/device.map" ],
stdin = p[0],
stdout = "/dev/tty5", stderr = "/dev/tty5",
root = instRoot)
os.close(p[0])
if rc:
return rc
def matchingBootTargets(self, stage1Devs, bootDevs):
matches = []
for stage1Dev in stage1Devs:
for mdBootPart in bootDevs:
if getDiskPart(stage1Dev, self.storage)[0] == getDiskPart(mdBootPart, self.storage)[0]:
matches.append((stage1Dev, mdBootPart))
return matches
def addMemberMbrs(self, matches, bootDevs):
updatedMatches = list(matches)
bootDevsHavingStage1Dev = [match[1] for match in matches]
for mdBootPart in bootDevs:
if mdBootPart not in bootDevsHavingStage1Dev:
updatedMatches.append((getDiskPart(mdBootPart, self.storage)[0], mdBootPart))
return updatedMatches
def installGrub(self, instRoot, bootDev, grubTarget, grubPath, cfPath):
if iutil.isEfi():
return efiBootloaderInfo.installGrub(self, instRoot, bootDev, grubTarget,
grubPath, cfPath)
args = "--stage2=/boot/grub/stage2 "
stage1Devs = self.getPhysicalDevices(grubTarget)
bootDevs = self.getPhysicalDevices(bootDev.name)
installs = [(None,
self.grubbyPartitionName(stage1Devs[0]),
self.grubbyPartitionName(bootDevs[0]))]
if bootDev.type == "mdarray":
matches = self.matchingBootTargets(stage1Devs, bootDevs)
# If the stage1 target disk contains member of boot raid array (mbr
# case) or stage1 target partition is member of boot raid array
# (partition case)
if matches:
# 1) install stage1 on target disk/partiton
stage1Dev, mdMemberBootPart = matches[0]
installs = [(None,
self.grubbyPartitionName(stage1Dev),
self.grubbyPartitionName(mdMemberBootPart))]
firstMdMemberDiskGrubbyName = self.grubbyDiskName(getDiskPart(mdMemberBootPart, self.storage)[0])
# 2) and install stage1 on other members' disks/partitions too
# NOTES:
# - the goal is to be able to boot after a members' disk removal
# - so we have to use grub device names as if after removal
# (i.e. the same disk name (e.g. (hd0)) for both member disks)
# - if member partitions have different numbers only removal of
# specific one of members will work because stage2 containing
# reference to config file is shared and therefore can contain
# only one value
# if target is mbr, we want to install also to mbr of other
# members, so extend the matching list
matches = self.addMemberMbrs(matches, bootDevs)
for stage1Target, mdMemberBootPart in matches[1:]:
# prepare special device mapping corresponding to member removal
mdMemberBootDisk = getDiskPart(mdMemberBootPart, self.storage)[0]
# It can happen due to ks --driveorder option, but is it ok?
if not mdMemberBootDisk in self.drivelist:
continue
mdRaidDeviceRemap = (firstMdMemberDiskGrubbyName,
mdMemberBootDisk)
stage1TargetGrubbyName = self.grubbyPartitionName(stage1Target)
rootPartGrubbyName = self.grubbyPartitionName(mdMemberBootPart)
# now replace grub disk name part according to special device
# mapping
old = self.grubbyDiskName(mdMemberBootDisk).strip('() ')
new = firstMdMemberDiskGrubbyName.strip('() ')
rootPartGrubbyName = rootPartGrubbyName.replace(old, new)
stage1TargetGrubbyName = stage1TargetGrubbyName.replace(old, new)
installs.append((mdRaidDeviceRemap,
stage1TargetGrubbyName,
rootPartGrubbyName))
# This is needed for case when /boot member partitions have
# different numbers. Shared stage2 can contain only one reference
# to grub.conf file, so let's ensure that it is reference to partition
# on disk which we will boot from - that is, install grub to
# this disk as last so that its reference is not overwritten.
installs.reverse()
cmds = []
for mdRaidDeviceRemap, stage1Target, rootPart in installs:
if mdRaidDeviceRemap:
cmd = "device (%s) /dev/%s\n" % tuple(mdRaidDeviceRemap)
else:
cmd = ''
cmd += "root %s\n" % (rootPart,)
cmd += "install %s%s/stage1 d %s %s/stage2 p %s%s/grub.conf" % \
(args, grubPath, stage1Target, grubPath, rootPart, grubPath)
cmds.append(cmd)
return self.runGrubInstall(instRoot, bootDev.name, cmds, cfPath)
def writeGrub(self, instRoot, bl, kernelList, chainList,
defaultDev, upgrade=False):
rootDev = self.storage.rootDevice
grubTarget = bl.getDevice()
try:
bootDev = self.storage.mountpoints["/boot"]
grubPath = "/grub"
cfPath = "/"
except KeyError:
bootDev = rootDev
grubPath = "/boot/grub"
cfPath = "/boot/"
if not upgrade:
self.writeGrubConf(instRoot, bootDev, rootDev, defaultDev, kernelList,
chainList, grubTarget, grubPath, cfPath)
# keep track of which devices are used for the device.map
usedDevs = set()
usedDevs.update(self.getPhysicalDevices(grubTarget))
usedDevs.update(self.getPhysicalDevices(rootDev.name))
usedDevs.update(self.getPhysicalDevices(bootDev.name))
usedDevs.update([dev for (label, longlabel, dev) in chainList if longlabel])
if not upgrade:
self.writeDeviceMap(instRoot, usedDevs, upgrade)
self.writeSysconfig(instRoot, grubTarget, upgrade)
return self.installGrub(instRoot, bootDev, grubTarget, grubPath, cfPath)
def writeGrubConf(self, instRoot, bootDev, rootDev, defaultDev, kernelList,
chainList, grubTarget, grubPath, cfPath):
bootDevs = self.getPhysicalDevices(bootDev.name)
# XXX old config file should be read here for upgrade
cf = "%s%s" % (instRoot, self.configfile)
self.perms = 0600
if os.access (cf, os.R_OK):
self.perms = os.stat(cf)[0] & 0777
os.rename(cf, cf + '.rpmsave')
f = open(cf, "w+")
f.write("# grub.conf generated by anaconda\n")
f.write("#\n")
f.write("# Note that you do not have to rerun grub "
"after making changes to this file\n")
if grubPath == "/grub":
f.write("# NOTICE: You have a /boot partition. This means "
"that\n")
f.write("# all kernel and initrd paths are relative "
"to /boot/, eg.\n")
else:
f.write("# NOTICE: You do not have a /boot partition. "
"This means that\n")
f.write("# all kernel and initrd paths are relative "
"to /, eg.\n")
f.write('# root %s\n' % self.grubbyPartitionName(bootDevs[0]))
f.write("# kernel %svmlinuz-version ro root=%s\n" % (cfPath, rootDev.path))
f.write("# initrd %sinitrd-[generic-]version.img\n" % (cfPath))
f.write("#boot=/dev/%s\n" % (grubTarget))
# get the default image to boot... we have to walk and find it
# since grub indexes by where it is in the config file
if defaultDev.name == rootDev.name:
default = 0
else:
# if the default isn't linux, it's the first thing in the
# chain list
default = len(kernelList)
f.write('default=%s\n' % (default))
if self.serial == 1:
# Set the global timeout in serial case
f.write('timeout=%d\n' % (self.timeout or 5))
# grub the 0-based number of the serial console device
unit = self.serialDevice[-1]
# and we want to set the speed too
speedend = 0
for char in self.serialOptions:
if char not in string.digits:
break
speedend = speedend + 1
if speedend != 0:
speed = self.serialOptions[:speedend]
else:
# reasonable default
speed = "9600"
f.write("serial --unit=%s --speed=%s\n" %(unit, speed))
f.write("terminal --timeout=%s serial console\n" % (self.timeout or 5))
else:
# Default to 0 timeout in the non-serial case
f.write('timeout=%d\n' % (self.timeout or 0))
# we only want splashimage if they're not using a serial console
if os.access("%s/boot/grub/splash.xpm.gz" %(instRoot,), os.R_OK):
f.write('splashimage=%s%sgrub/splash.xpm.gz\n'
% (self.grubbyPartitionName(bootDevs[0]), cfPath))
f.write("hiddenmenu\n")
if self.password:
f.write('password --md5 %s\n' %(self.password))
for (label, longlabel, version) in kernelList:
kernelTag = "-" + version
kernelFile = "%svmlinuz%s" % (cfPath, kernelTag)
initrd = self.makeInitrd(kernelTag, instRoot)
f.write('title %s (%s)\n' % (longlabel, version))
f.write('\troot %s\n' % self.grubbyPartitionName(bootDevs[0]))
realroot = " root=%s" % rootDev.fstabSpec
if version.endswith("xen0") or (version.endswith("xen") and not os.path.exists("/proc/xen")):
# hypervisor case
sermap = { "ttyS0": "com1", "ttyS1": "com2",
"ttyS2": "com3", "ttyS3": "com4" }
if self.serial and sermap.has_key(self.serialDevice) and \
self.serialOptions:
hvs = "%s=%s" %(sermap[self.serialDevice],
self.serialOptions)
else:
hvs = ""
if version.endswith("xen0"):
hvFile = "%sxen.gz-%s %s" %(cfPath,
version.replace("xen0", ""),
hvs)
else:
hvFile = "%sxen.gz-%s %s" %(cfPath,
version.replace("xen", ""),
hvs)
f.write('\tkernel %s\n' %(hvFile,))
f.write('\tmodule %s ro%s' %(kernelFile, realroot))
if self.args.get():
f.write(' %s' % self.args.get())
f.write('\n')
if initrd:
f.write('\tmodule %s%s\n' % (cfPath, initrd))
elif version.find("xenlinux") >= 0:
# Qubes kernel
hvFile = "%sxen.gz" %(cfPath)
f.write('\tkernel %s\n' %(hvFile,))
f.write('\tmodule %s ro%s' %(kernelFile, realroot))
if self.args.get():
f.write(' %s' % self.args.get())
f.write(' max_loop=255 rdblacklist=aesni-intel')
f.write('\n')
if initrd:
f.write('\tmodule %s%s\n' % (cfPath, initrd))
else: # normal kernel
f.write('\tkernel %s ro%s' % (kernelFile, realroot))
if self.args.get():
f.write(' %s' % self.args.get())
f.write('\n')
if initrd:
f.write('\tinitrd %s%s\n' % (cfPath, initrd))
for (label, longlabel, device) in chainList:
if ((not longlabel) or (longlabel == "")):
continue
f.write('title %s\n' % (longlabel))
f.write('\trootnoverify %s\n' % self.grubbyPartitionName(device))
# f.write('\tmakeactive\n')
f.write('\tchainloader +1')
f.write('\n')
f.close()
if not "/efi/" in cf:
os.chmod(cf, self.perms)
try:
# make symlink for menu.lst (default config file name)
menulst = "%s%s/menu.lst" % (instRoot, self.configdir)
if os.access (menulst, os.R_OK):
os.rename(menulst, menulst + ".rpmsave")
os.symlink("./grub.conf", menulst)
except:
pass
try:
# make symlink for /etc/grub.conf (config files belong in /etc)
etcgrub = "%s%s" % (instRoot, "/etc/grub.conf")
if os.access (etcgrub, os.R_OK):
os.rename(etcgrub, etcgrub + ".rpmsave")
os.symlink(".." + self.configfile, etcgrub)
except:
pass
def writeDeviceMap(self, instRoot, usedDevs, upgrade=False):
if os.access(instRoot + "/boot/grub/device.map", os.R_OK):
# For upgrade, we want also e.g. devs that has been added
# to file during install for chainloading.
if upgrade:
f = open(instRoot + "/boot/grub/device.map", "r")
for line in f:
if line.startswith('(hd'):
(grubdisk, dev) = line.split()[:2]
dev = dev[5:]
if dev in self.drivelist:
usedDevs.add(dev)
f.close()
os.rename(instRoot + "/boot/grub/device.map",
instRoot + "/boot/grub/device.map.rpmsave")
f = open(instRoot + "/boot/grub/device.map", "w+")
f.write("# this device map was generated by anaconda\n")
usedDiskDevs = set()
for dev in usedDevs:
drive = getDiskPart(dev, self.storage)[0]
usedDiskDevs.add(drive)
devs = list(usedDiskDevs)
devs.sort()
for drive in devs:
# XXX hack city. If they're not the sort of thing that'll
# be in the device map, they shouldn't still be in the list.
dev = self.storage.devicetree.getDeviceByName(drive)
if not dev.type == "mdarray":
f.write("(%s) %s\n" % (self.grubbyDiskName(drive), dev.path))
f.close()
def writeSysconfig(self, instRoot, grubTarget, upgrade):
sysconf = '/etc/sysconfig/grub'
if os.access (instRoot + sysconf, os.R_OK):
if upgrade:
return
self.perms = os.stat(instRoot + sysconf)[0] & 0777
os.rename(instRoot + sysconf,
instRoot + sysconf + '.rpmsave')
# if it's an absolute symlink, just get it out of our way
elif (os.path.islink(instRoot + sysconf) and
os.readlink(instRoot + sysconf)[0] == '/'):
if upgrade:
return
os.rename(instRoot + sysconf,
instRoot + sysconf + '.rpmsave')
f = open(instRoot + sysconf, 'w+')
f.write("boot=/dev/%s\n" %(grubTarget,))
f.write("forcelba=0\n")
f.close()
def grubbyDiskName(self, name):
return "hd%d" % self.drivelist.index(name)
def grubbyPartitionName(self, dev):
(name, partNum) = getDiskPart(dev, self.storage)
if partNum != None:
return "(%s,%d)" % (self.grubbyDiskName(name), partNum)
else:
return "(%s)" %(self.grubbyDiskName(name))
def getBootloaderConfig(self, instRoot, bl, kernelList,
chainList, defaultDev):
config = bootloaderInfo.getBootloaderConfig(self, instRoot,
bl, kernelList, chainList,
defaultDev)
liloTarget = bl.getDevice()
config.addEntry("boot", '/dev/' + liloTarget, replace = 0)
config.addEntry("map", "/boot/map", replace = 0)
config.addEntry("install", "/boot/boot.b", replace = 0)
message = "/boot/message"
if self.pure is not None and not self.useGrubVal:
config.addEntry("restricted", replace = 0)
config.addEntry("password", self.pure, replace = 0)
if self.serial == 1:
# grab the 0-based number of the serial console device
unit = self.serialDevice[-1]
# FIXME: we should probably put some options, but lilo
# only supports up to 9600 baud so just use the defaults
# it's better than nothing :(
config.addEntry("serial=%s" %(unit,))
else:
# message screws up serial console
if os.access(instRoot + message, os.R_OK):
config.addEntry("message", message, replace = 0)
if not config.testEntry('lba32'):
if bl.above1024 and not iutil.isX86(bits=32):
config.addEntry("lba32", replace = 0)
return config
def write(self, instRoot, bl, kernelList, chainList,
defaultDev):
if self.timeout is None and chainList:
self.timeout = 5
# XXX HACK ALERT - see declaration above
if self.doUpgradeOnly:
if self.useGrubVal:
return self.writeGrub(instRoot, bl, kernelList,
chainList, defaultDev,
upgrade = True)
return 0
if len(kernelList) < 1:
raise BootyNoKernelWarning
rc = self.writeGrub(instRoot, bl, kernelList,
chainList, defaultDev,
not self.useGrubVal)
if rc:
return rc
# XXX move the lilo.conf out of the way if they're using GRUB
# so that /sbin/installkernel does a more correct thing
if self.useGrubVal and os.access(instRoot + '/etc/lilo.conf', os.R_OK):
os.rename(instRoot + "/etc/lilo.conf",
instRoot + "/etc/lilo.conf.anaconda")
return 0
def getArgList(self):
args = bootloaderInfo.getArgList(self)
if self.password:
args.append("--md5pass=%s" %(self.password))
return args
def __init__(self, anaconda):
bootloaderInfo.__init__(self, anaconda)
# these have to be set /before/ efiBootloaderInfo.__init__(), or
# they'll be overwritten.
self._configdir = "/boot/grub"
self._configname = "grub.conf"
efiBootloaderInfo.__init__(self, anaconda, initialize=False)
# XXX use checkbootloader to determine what to default to
self.useGrubVal = 1
self.kernelLocation = "/boot/"
self.password = None
self.pure = None

View File

@ -1,221 +0,0 @@
#
# cmdline.py - non-interactive, very very simple frontend to anaconda
#
# Copyright (C) 2003, 2004, 2005, 2006, 2007 Red Hat, Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Jeremy Katz <katzj@redhat.com
#
import time
import signal
import parted
from constants import *
from flags import flags
from iutil import strip_markup
from installinterfacebase import InstallInterfaceBase
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
import logging
log = logging.getLogger("anaconda")
stepToClasses = { "install" : "setupProgressDisplay" }
class WaitWindow:
def pop(self):
pass
def refresh(self):
pass
def __init__(self, title, text):
print(text)
class ProgressWindow:
def pop(self):
print("")
def pulse(self):
pass
def set(self, amount):
if amount == self.total:
print(_("Completed"))
def refresh(self):
pass
def __init__(self, title, text, total, updpct = 0.05, pulse = False):
self.total = total
print(text)
print(_("In progress"))
class InstallInterface(InstallInterfaceBase):
def __init__(self):
InstallInterfaceBase.__init__(self)
# signal.signal(signal.SIGINT, signal.SIG_IGN)
signal.signal(signal.SIGTSTP, signal.SIG_DFL)
self.instProgress = None
def __del__(self):
pass
def shutdown(self):
pass
def suspend(self):
pass
def resume(self):
pass
def progressWindow(self, title, text, total, updpct = 0.05, pulse = False):
return ProgressWindow(title, text, total, updpct, pulse)
def kickstartErrorWindow(self, text):
s = _("The following error was found while parsing the "
"kickstart configuration file:\n\n%s") %(text,)
print(s)
while 1:
time.sleep(5)
def messageWindow(self, title, text, type="ok", default = None,
custom_icon = None, custom_buttons = []):
if type == "ok":
print(text)
else:
print(_("Command line mode requires all choices to be specified in a kickstart configuration file."))
print(title)
print(text)
print(type, custom_buttons)
# don't exit
while 1:
time.sleep(5)
def detailedMessageWindow(self, title, text, longText=None, type="ok",
default=None, custom_buttons=None,
custom_icon=None):
if longText:
text += "\n\n%s" % longText
self.messageWindow(title, text, type=type, default=default,
custom_buttons=custom_buttons, custom_icon=custom_icon)
def passphraseEntryWindow(self, device):
print(_("Can't have a question in command line mode!"))
print("(passphraseEntryWindow: '%s')" % device)
# don't exit
while 1:
time.sleep(5)
def getLUKSPassphrase(self, passphrase = "", isglobal = False):
print(_("Can't have a question in command line mode!"))
print("(getLUKSPassphrase)")
# don't exit
while 1:
time.sleep(5)
def enableNetwork(self):
print(_("Can't have a question in command line mode!"))
print("(enableNetwork)")
# don't exit
while 1:
time.sleep(5)
def resetInitializeDiskQuestion(self):
pass
def questionInitializeDisk(self, path, description, size, details=""):
print(_("Can't have a question in command line mode!"))
print("(questionInitializeDisk)")
# don't exit
while 1:
time.sleep(5)
def resetReinitInconsistentLVMQuestion(self):
pass
def questionReinitInconsistentLVM(self, pv_names=None, lv_name=None, vg_name=None):
print(_("Can't have a question in command line mode!"))
print("(questionReinitInconsistentLVM)")
# don't exit
while 1:
time.sleep(5)
def mainExceptionWindow(self, shortText, longTextFile):
print(shortText)
def waitWindow(self, title, text):
return WaitWindow(title, text)
def beep(self):
pass
def run(self, anaconda):
(step, instance) = anaconda.dispatch.currentStep()
while step:
if stepToClasses.has_key(step):
s = "nextWin = %s" %(stepToClasses[step],)
exec s
nextWin(instance)
else:
print("In interactive step %s, can't continue" %(step,))
while 1:
time.sleep(1)
anaconda.dispatch.gotoNext()
(step, instance) = anaconda.dispatch.currentStep()
def setInstallProgressClass(self, c):
self.instProgress = c
def setSteps(self, anaconda):
pass
class progressDisplay:
def __init__(self):
self.pct = 0
self.display = ""
def __del__(self):
pass
def processEvents(self):
pass
def setShowPercentage(self, val):
pass
def get_fraction(self):
return self.pct
def set_fraction(self, pct):
self.pct = pct
def set_text(self, txt):
pass
def set_label(self, txt):
stripped = strip_markup(txt)
if stripped != self.display:
self.display = stripped
print(self.display)
def setupProgressDisplay(anaconda):
if anaconda.dir == DISPATCH_BACK:
anaconda.intf.setInstallProgressClass(None)
return DISPATCH_BACK
else:
anaconda.intf.setInstallProgressClass(progressDisplay())
return DISPATCH_FORWARD

View File

@ -1,23 +0,0 @@
# command-stubs/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
commandstubsdir = $(libdir)/$(PACKAGE_NAME)
dist_commandstubs_SCRIPTS = *-stub
MAINTAINERCLEANFILES = Makefile.in

View File

@ -1,517 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# command-stubs/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = command-stubs
DIST_COMMON = $(dist_commandstubs_SCRIPTS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(commandstubsdir)"
SCRIPTS = $(dist_commandstubs_SCRIPTS)
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
commandstubsdir = $(libdir)/$(PACKAGE_NAME)
dist_commandstubs_SCRIPTS = *-stub
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign command-stubs/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign command-stubs/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-dist_commandstubsSCRIPTS: $(dist_commandstubs_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(commandstubsdir)" || $(MKDIR_P) "$(DESTDIR)$(commandstubsdir)"
@list='$(dist_commandstubs_SCRIPTS)'; test -n "$(commandstubsdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(commandstubsdir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(commandstubsdir)$$dir" || exit $$?; \
} \
; done
uninstall-dist_commandstubsSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(dist_commandstubs_SCRIPTS)'; test -n "$(commandstubsdir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(commandstubsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(commandstubsdir)" && rm -f $$files
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(SCRIPTS)
installdirs:
for dir in "$(DESTDIR)$(commandstubsdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_commandstubsSCRIPTS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_commandstubsSCRIPTS
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_commandstubsSCRIPTS \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am uninstall uninstall-am \
uninstall-dist_commandstubsSCRIPTS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,39 +0,0 @@
#!/usr/bin/python
#
# scan system for harddrives and output device name/size
#
# Copyright (C) 2007, 2009 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import sys
import parted
def main(argv):
lst = set()
for dev in filter(lambda d: d.type != parted.DEVICE_DM, parted.getAllDevices()):
disk = parted.Disk(dev)
for part in disk.partitions:
lst.add("%s %s" % (part.path, int(part.getSize())))
lst = list(lst)
lst.sort()
for entry in lst:
print entry
if __name__ == "__main__":
main(sys.argv)

View File

@ -1,47 +0,0 @@
#!/usr/bin/python
#
# loadkeys-stub
#
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import sys
# for testing
if (os.path.exists('isys')):
sys.path.append('isys')
sys.path.append('/usr/lib/anaconda')
import isys
def usage():
print "usage: %s keymap" %(sys.argv[0],)
sys.exit(1)
def main():
if len(sys.argv) != 2:
usage()
try:
isys.loadKeymap(sys.argv[1])
except SystemError:
pass
sys.exit(0)
if __name__ == "__main__":
main()

View File

@ -1,56 +0,0 @@
#!/usr/bin/python
#
# losetup-stub
#
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import sys
# for testing
if (os.path.exists('isys')):
sys.path.append('isys')
sys.path.append('/usr/lib/anaconda')
import isys
from sys import argv
def usage():
print "usage: losetup [-d] /dev/loopN [image]"
sys.exit(1)
if len(argv) < 3:
usage()
if argv[1] == "-d" and len(argv[2]) > 4 and argv[2][-5:-1] == "loop":
try:
isys.unlosetup(argv[2])
except SystemError, (errno, msg):
print msg
sys.exit (1)
sys.exit(0)
if len(argv[1]) > 4 and argv[1][-5:-1] == "loop":
try:
isys.losetup(argv[1], argv[2])
except SystemError, (errno, msg):
print msg
sys.exit (1)
sys.exit(0)
usage()

View File

@ -1,58 +0,0 @@
#!/usr/bin/python
#
# mknod-stub
#
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import sys, os
sys.path.append('/usr/lib/anaconda')
import isys
import string
import stat
import os
def usage():
sys.stderr.write("Usage: %s <path> [b|c] <major> <minor>\n" %(sys.argv[0],))
sys.exit(1)
def main():
if len(sys.argv) < 2:
usage()
if (sys.argv[1] == '-h') or (sys.argv[1] == '--help'):
usage()
path = sys.argv[1]
if len(sys.argv) < 5:
usage()
if (sys.argv[2] == 'b'):
type = stat.S_IFBLK
elif (sys.argv[2] == 'c'):
type = stat.S_IFCHR
else:
usage()
major = int(sys.argv[3])
minor = int(sys.argv[4])
path = sys.argv[1]
os.mknod(path, 0644 | type, os.makedev(major, minor))
if __name__ == "__main__":
main()

View File

@ -1,57 +0,0 @@
#!/usr/bin/python
#
# raidstart-stub
#
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import sys
# for testing
if (os.path.exists('rpmmodule')):
sys.path.append('rpmmodule')
sys.path.append('libfdisk')
sys.path.append('balkan')
sys.path.append('gnome-map')
sys.path.append('isys')
sys.path.append('/usr/lib/anaconda')
import anaconda_log
import fsset
import raid
import isys
from sys import argv
if len(argv) != 2 or argv[1][:7] != "/dev/md":
print "usage: raidstart /dev/md[minornum]"
sys.exit(1)
targMinor = int(argv[1][7:])
drives = isys.hardDriveDict().keys()
drives.sort (isys.compareDrives)
raidDevices = raid.scanForRaid(drives)
for (minor, devices, level, totalDisks) in raidDevices:
if targMinor == minor:
devName = "md%d" % (minor,)
isys.raidstart(devName, devices[0])
sys.exit(0)
print "could not find devices associated with raid device md%d" % targMinor
sys.exit(1)

View File

@ -1,44 +0,0 @@
#!/usr/bin/python
#
# raidstop-stub
#
# Copyright (C) 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import sys
# for testing
if (os.path.exists('rpmmodule')):
sys.path.append('rpmmodule')
sys.path.append('libfdisk')
sys.path.append('balkan')
sys.path.append('gnome-map')
sys.path.append('isys')
sys.path.append('/usr/lib/anaconda')
import anaconda_log
import fsset
import raid
import isys
from sys import argv
if len(argv) != 2 or argv[1][:7] != "/dev/md":
print "usage: raidstop /dev/md[minornum]"
sys.exit(1)
isys.raidstop(argv[1][5:])

View File

@ -1,69 +0,0 @@
#
# compssort.py
#
# Copyright (C) 2005, 2006, 2007 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
def _getDefaultLangs():
languages = []
for envar in ('LANGUAGE', 'LC_ALL', 'LC_MESSAGES', 'LANG'):
val = os.environ.get(envar)
if val:
languages = val.split(':')
break
if 'C' not in languages:
languages.append('C')
# now normalize and expand the languages
nelangs = []
for lang in languages:
for nelang in gettext._expand_lang(lang):
if nelang not in nelangs:
nelangs.append(nelang)
return nelangs
# kind of lame caching of translations so we don't always have
# to do all the looping
strs = {}
def xmltrans(base, thedict):
if strs.has_key(base):
return strs[base]
langs = _getDefaultLangs()
for l in langs:
if thedict.has_key(l):
strs[base] = thedict[l]
return strs[base]
strs[base] = base
return base
def ui_comps_sort(one, two):
if one.display_order > two.display_order:
return 1
elif one.display_order < two.display_order:
return -1
elif xmltrans(one.name, one.translated_name) > \
xmltrans(two.name, two.translated_name):
return 1
elif xmltrans(one.name, one.translated_name) < \
xmltrans(two.name, two.translated_name):
return -1
return 0

1501
anaconda/config.guess vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,390 +0,0 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* Date of anaconda build */
#undef BUILD_DATE
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define to 1 if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#undef HAVE_ARPA_NAMESER_H
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT
/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
/* Define to 1 if your system has a working `chown' function. */
#undef HAVE_CHOWN
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the `dup2' function. */
#undef HAVE_DUP2
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `fdatasync' function. */
#undef HAVE_FDATASYNC
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE
/* Define to 1 if you have the `getcwd' function. */
#undef HAVE_GETCWD
/* Define to 1 if you have the `gethostbyname' function. */
#undef HAVE_GETHOSTBYNAME
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define if you have the iconv() function and it works. */
#undef HAVE_ICONV
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `lchown' function. */
#undef HAVE_LCHOWN
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
/* Define to 1 if you have the `selinux' library (-lselinux). */
#undef HAVE_LIBSELINUX
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
to 0 otherwise. */
#undef HAVE_MALLOC
/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H
/* Define to 1 if you have the `memmove' function. */
#undef HAVE_MEMMOVE
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `mkdir' function. */
#undef HAVE_MKDIR
/* Define to 1 if you have the `mkfifo' function. */
#undef HAVE_MKFIFO
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define to 1 if you have the `munmap' function. */
#undef HAVE_MUNMAP
/* Define to 1 if you have the <netdb.h> header file. */
#undef HAVE_NETDB_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if your system has a GNU libc compatible `realloc' function,
and to 0 otherwise. */
#undef HAVE_REALLOC
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
/* Define to 1 if you have the <resolv.h> header file. */
#undef HAVE_RESOLV_H
/* Define to 1 if you have the `select' function. */
#undef HAVE_SELECT
/* Define to 1 if you have the `setenv' function. */
#undef HAVE_SETENV
/* Define to 1 if you have the `sethostname' function. */
#undef HAVE_SETHOSTNAME
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET
/* Define to 1 if you have the <stddef.h> header file. */
#undef HAVE_STDDEF_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strcspn' function. */
#undef HAVE_STRCSPN
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define to 1 if you have the `strndup' function. */
#undef HAVE_STRNDUP
/* Define to 1 if you have the `strrchr' function. */
#undef HAVE_STRRCHR
/* Define to 1 if you have the `strstr' function. */
#undef HAVE_STRSTR
/* Define to 1 if you have the `strtol' function. */
#undef HAVE_STRTOL
/* Define to 1 if you have the `strtoul' function. */
#undef HAVE_STRTOUL
/* Define to 1 if `st_rdev' is a member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_RDEV
/* Define to 1 if you have the `strverscmp' function. */
#undef HAVE_STRVERSCMP
/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
/* Define to 1 if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/vfs.h> header file. */
#undef HAVE_SYS_VFS_H
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if you have the `uname' function. */
#undef HAVE_UNAME
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `utime' function. */
#undef HAVE_UTIME
/* Define to 1 if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
/* Define to 1 if you have the `wcwidth' function. */
#undef HAVE_WCWIDTH
/* Define to 1 if `fork' works. */
#undef HAVE_WORKING_FORK
/* Define to 1 if `vfork' works. */
#undef HAVE_WORKING_VFORK
/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LT_OBJDIR
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
#undef MAJOR_IN_MKDEV
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
#undef MAJOR_IN_SYSMACROS
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION
/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT32_T
/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT64_T
/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
#define below would cause a syntax error. */
#undef _UINT8_T
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to the type of a signed integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef int32_t
/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc
/* Define to `int' if <sys/types.h> does not define. */
#undef mode_t
/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to rpl_realloc if the replacement function should be used. */
#undef realloc
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define to the type of an unsigned integer type of width exactly 16 bits if
such a type exists and the standard includes do not define it. */
#undef uint16_t
/* Define to the type of an unsigned integer type of width exactly 32 bits if
such a type exists and the standard includes do not define it. */
#undef uint32_t
/* Define to the type of an unsigned integer type of width exactly 64 bits if
such a type exists and the standard includes do not define it. */
#undef uint64_t
/* Define to the type of an unsigned integer type of width exactly 8 bits if
such a type exists and the standard includes do not define it. */
#undef uint8_t
/* Define as `fork' if `vfork' does not work. */
#undef vfork

View File

@ -1,666 +0,0 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2007 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
# Code taken from libtool.m4's _LT_CC_BASENAME.
for cc_temp in $CC""; do
case $cc_temp in
compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
\-*) ;;
*) break;;
esac
done
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix*)
wl='-Wl,'
;;
darwin*)
case $cc_basename in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | cygwin* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux* | k*bsd*-gnu)
case $cc_basename in
icc* | ecc*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
*)
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*)
wl='-Wl,'
;;
esac
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
rdos*)
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3*)
wl='-Wl,'
;;
sysv4*MP*)
;;
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
wl='-Wl,'
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
interix*)
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
interix[3-9]*)
hardcode_direct=no
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
gnu* | linux* | k*bsd*-gnu)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
case `$LD -v 2>&1` in
*\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
ld_shlibs=no
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
else
ld_shlibs=no
fi
;;
esac
;;
sunos4*)
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = no; then
hardcode_libdir_flag_spec=
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
;;
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
:
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
;;
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case $cc_basename in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd* | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
hpux10*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
fi
;;
hpux11*)
if test "$with_gnu_ld" = no; then
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
case $host_cpu in
hppa*64*|ia64*)
hardcode_direct=no
;;
*)
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
else
ld_shlibs=no
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
sysv4)
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
fi
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
;;
sysv5* | sco3.2v5* | sco5v6*)
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
hardcode_libdir_separator=':'
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
# only about the one the linker finds when passed -lNAME. This is the last
# element of library_names_spec in libtool.m4, or possibly two of them if the
# linker has special search rules.
library_names_spec= # the last element of library_names_spec in libtool.m4
libname_spec='lib$name'
case "$host_os" in
aix3*)
library_names_spec='$libname.a'
;;
aix4* | aix5*)
library_names_spec='$libname$shrext'
;;
amigaos*)
library_names_spec='$libname.a'
;;
beos*)
library_names_spec='$libname$shrext'
;;
bsdi[45]*)
library_names_spec='$libname$shrext'
;;
cygwin* | mingw* | pw32*)
shrext=.dll
library_names_spec='$libname.dll.a $libname.lib'
;;
darwin* | rhapsody*)
shrext=.dylib
library_names_spec='$libname$shrext'
;;
dgux*)
library_names_spec='$libname$shrext'
;;
freebsd1*)
;;
freebsd* | dragonfly*)
case "$host_os" in
freebsd[123]*)
library_names_spec='$libname$shrext$versuffix' ;;
*)
library_names_spec='$libname$shrext' ;;
esac
;;
gnu*)
library_names_spec='$libname$shrext'
;;
hpux9* | hpux10* | hpux11*)
case $host_cpu in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
library_names_spec='$libname$shrext'
;;
interix[3-9]*)
library_names_spec='$libname$shrext'
;;
irix5* | irix6* | nonstopux*)
library_names_spec='$libname$shrext'
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
linux* | k*bsd*-gnu)
library_names_spec='$libname$shrext'
;;
knetbsd*-gnu)
library_names_spec='$libname$shrext'
;;
netbsd*)
library_names_spec='$libname$shrext'
;;
newsos6)
library_names_spec='$libname$shrext'
;;
nto-qnx*)
library_names_spec='$libname$shrext'
;;
openbsd*)
library_names_spec='$libname$shrext$versuffix'
;;
os2*)
libname_spec='$name'
shrext=.dll
library_names_spec='$libname.a'
;;
osf3* | osf4* | osf5*)
library_names_spec='$libname$shrext'
;;
rdos*)
;;
solaris*)
library_names_spec='$libname$shrext'
;;
sunos4*)
library_names_spec='$libname$shrext$versuffix'
;;
sysv4 | sysv4.3*)
library_names_spec='$libname$shrext'
;;
sysv4*MP*)
library_names_spec='$libname$shrext'
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
library_names_spec='$libname$shrext'
;;
uts4*)
library_names_spec='$libname$shrext'
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
# Static library suffix (normally "a").
libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Format of library name prefix.
libname_spec="$escaped_libname_spec"
# Library names that the linker finds when passed -lNAME.
library_names_spec="$escaped_library_names_spec"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct="$hardcode_direct"
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
EOF

1705
anaconda/config.sub vendored

File diff suppressed because it is too large Load Diff

18958
anaconda/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,279 +0,0 @@
# configure.ac for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
m4_define(python_required_version, 2.5)
AC_PREREQ([2.63])
AC_INIT([anaconda], [13.42], [anaconda-devel-list@redhat.com])
AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2])
AC_CONFIG_SRCDIR([loader/loader.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AC_DEFINE_UNQUOTED([BUILD_DATE], ["`date +%m%d%Y`"], [Date of anaconda build])
AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
# Checks for programs.
AC_PROG_AWK
AC_PROG_GREP
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
AM_GNU_GETTEXT([external])
# Checks for libraries.
AC_CHECK_LIB([X11], [XGetWindowAttributes],
[AC_SUBST(X11_LIBS, [-lX11])],
[AC_MSG_FAILURE([*** libX11 not usable.])])
AC_CHECK_LIB([audit], [audit_open],
[AC_SUBST(AUDIT_LIBS, [-laudit])],
[AC_MSG_FAILURE([*** libaudit not usable.])])
AC_CHECK_LIB([blkid], [blkid_get_cache],
[AC_SUBST(BLKID_LIBS, [-lblkid])],
[AC_MSG_FAILURE([*** libblkid not usable.])])
AC_CHECK_LIB([checkisomd5], [mediaCheckFile],
[AC_SUBST(CHECKISOMD5_LIBS, [-lcheckisomd5])],
[AC_MSG_FAILURE([*** libcheckisomd5 not usable.])])
AC_CHECK_LIB([ext2fs], [ext2fs_initialize],
[AC_SUBST(EXT2FS_LIBS, [-lext2fs])],
[AC_MSG_FAILURE([*** libext2fs not usable.])])
AC_CHECK_LIB([iscsi], [libiscsi_get_firmware_network_config],
[AC_SUBST(ISCSI_LIBS, [-liscsi])],
[AC_MSG_FAILURE([*** libiscsi not usable.])])
AC_CHECK_LIB([newt], [newtInit],
[AC_SUBST(NEWT_LIBS, [-lnewt])],
[AC_MSG_FAILURE([*** libnewt not usable.])])
AC_CHECK_LIB([slang], [SLang_get_int_size],
[AC_SUBST(SLANG_LIBS, [-lslang])],
[AC_MSG_FAILURE([*** libslang not usable.])])
AC_CHECK_LIB([z], [zlibVersion],
[AC_SUBST(ZLIB_LIBS, [-lz])],
[AC_MSG_FAILURE([*** libz not usable.])])
# Checks for header files.
AC_PATH_X
AC_FUNC_ALLOCA
AC_HEADER_RESOLV
AC_HEADER_MAJOR
AC_CHECK_HEADERS([argz.h arpa/inet.h fcntl.h inttypes.h libintl.h limits.h \
malloc.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h \
string.h strings.h sys/ioctl.h sys/mount.h sys/param.h \
sys/socket.h sys/time.h sys/vfs.h syslog.h termios.h \
unistd.h utime.h wchar.h],
[],
[AC_MSG_FAILURE([*** Header file $ac_header not found.])],
[])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_UID_T
AC_C_INLINE
AC_TYPE_INT32_T
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_CHECK_MEMBERS([struct stat.st_rdev])
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
# Checks for library functions.
AC_FUNC_CHOWN
AC_FUNC_ERROR_AT_LINE
AC_FUNC_FORK
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
AC_FUNC_MALLOC
AC_FUNC_MMAP
AC_FUNC_REALLOC
AC_CHECK_FUNCS([dup2 fdatasync ftruncate getcwd gethostbyname gettimeofday \
lchown memmove memset mkdir mkfifo munmap realpath select \
setenv sethostname socket strcasecmp strchr strcspn strdup \
strerror strncasecmp strndup strrchr strstr strtol strtoul \
strverscmp uname utime wcwidth],
[],
[AC_MSG_FAILURE([*** Required function $ac_func not found.])])
AM_PATH_PYTHON(python_required_version)
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers or library)])
# Check for libraries we need that provide pkg-config scripts
PKG_PROG_PKG_CONFIG([0.23])
PKG_CHECK_MODULES([X11], [x11 >= 1.3])
PKG_CHECK_MODULES([XCOMPOSITE], [xcomposite >= 0.4.1])
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.16.1])
PKG_CHECK_MODULES([GTK_X11], [gtk+-x11-2.0 >= 2.16.1])
PKG_CHECK_MODULES([GDK], [gdk-2.0 >= 2.16.1])
PKG_CHECK_MODULES([NETWORKMANAGER], [NetworkManager >= 0.7.1])
PKG_CHECK_MODULES([LIBNL], [libnl-1 >= 1.0])
PKG_CHECK_MODULES([LIBNM_GLIB], [libnm-glib >= 0.7.1 libnm-util >= 0.7.1])
PKG_CHECK_MODULES([DEVMAPPER], [devmapper >= 1.02.17])
PKG_CHECK_MODULES([LIBCURL], [libcurl >= 7.19.5])
PKG_CHECK_MODULES([RPM], [rpm >= 4.8.0])
PKG_CHECK_MODULES([LIBARCHIVE], [libarchive >= 2.7.902a])
# Set $RPM_OPT_FLAGS if we don't have it
if test -z $RPM_OPT_FLAGS ; then
CFLAGS="$CFLAGS -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions"
else
CFLAGS="$CFLAGS $RPM_OPT_FLAGS"
fi
# SELinux support can be enabled or disabled
AC_ARG_ENABLE(selinux,
AC_HELP_STRING([--enable-selinux],
[enable SELinux support (default is yes)]),
[selinux=$enableval],
[selinux=yes])
if test x$selinux = xyes ; then
AC_CHECK_LIB([selinux], [matchpathcon], [],
[AC_MSG_FAILURE([*** libselinux not usable.])])
AC_CHECK_LIB([selinux], [lsetfilecon], [],
[AC_MSG_FAILURE([*** libselinux not usable.])])
selinux_libs="-lselinux -laudit"
AC_SUBST(SELINUX_CFLAGS, [-DUSESELINUX=1])
AC_SUBST(SELINUX_LIBS, [$selinux_libs])
fi
# NFS support can, in theory, be enabled or disabled
AC_ARG_ENABLE(nfs,
AC_HELP_STRING([--enable-nfs],
[enable NFS support (default is yes)]),
[nfs=$enableval],
[nfs=yes])
if test x$selinux = xyes ; then
AC_SUBST(NFS_CFLAGS, [-DHAVE_NFS])
fi
# IPv6 support can be enabled or disabled
AC_ARG_ENABLE(ipv6,
AC_HELP_STRING([--enable-ipv6],
[enable IPv6 support (default is yes)]),
[ipv6=$enableval],
[ipv6=yes])
if test x$ipv6 = xyes ; then
AC_SUBST(IPV6_CFLAGS, [-DENABLE_IPV6])
fi
# Add remaining compiler flags we want to use
CFLAGS="$CFLAGS -Wall -Werror -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
# Filter CFLAGS (remove duplicate flags)
cflags_filter() {
have=
first=1
for flag in $* ; do
if test -z "`echo $have | grep -- $flag`" ; then
if test x$first == x1 ; then
first=2
else
echo -n " "
fi
echo -n $flag
have="$have $flag"
fi
done
}
CFLAGS="`cflags_filter $CFLAGS`"
# Unset $(LIBS) because different programs and libraries will have different
# lists of libraries to link with, we don't want everything linking against
# all libraries we checked for.
LIBS=
# Get the release number from the spec file
rel="`awk '/Release:/ { split($2, r, "%"); print r[[1]] }' anaconda.spec.in`"
AC_SUBST(PACKAGE_RELEASE, [$rel])
# Set $(ARCH) and arch-related tests
s_arch="`uname -m | sed -e s/i.86/i386/ -e s/sparc.*/sparc/ -e s/ppc.*/ppc/`"
AC_SUBST(ARCH, [$s_arch])
AM_CONDITIONAL(IS_FONT_ARCH,
[test x$s_arch != xs390 && test x$s_arch != xs390x])
AM_CONDITIONAL(IS_LIVEINST_ARCH,
[test x$s_arch == xppc || test x$s_arch == xi386 || test x$s_arch == xx86_64])
AM_CONDITIONAL(IS_GPTSYNC_ARCH,
[test x$s_arch == xi386 || test x$s_arch == xx86_64])
AM_CONDITIONAL(IS_KEYMAPS_OVERRIDE_ARCH,
[test x$s_arch == xi386 || test x$s_arch == xppc || test x$s_arch == xx86_64])
AM_CONDITIONAL(IS_I386,
[test x$s_arch == xi386])
AM_CONDITIONAL(IS_PPC,
[test x$s_arch == xppc])
AM_CONDITIONAL(IS_S390,
[test x$s_arch == xs390 || test x$s_arch == xs390x])
AM_CONDITIONAL(IS_X86_64,
[test x$s_arch == xx86_64])
AM_CONDITIONAL(IS_SPARC,
[test x$s_arch == xsparc || test x$s_arch == xsparc64])
AC_CONFIG_FILES([Makefile
bootdisk/Makefile
bootdisk/i386/Makefile
bootdisk/ppc/Makefile
bootdisk/s390x/Makefile
bootdisk/x86_64/Makefile
booty/Makefile
command-stubs/Makefile
docs/Makefile
fonts/Makefile
gptsync/Makefile
installclasses/Makefile
isys/Makefile
iw/Makefile
liveinst/Makefile
liveinst/console.apps/Makefile
liveinst/pam.d/Makefile
loader/Makefile
pixmaps/Makefile
po/Makefile.in
scripts/Makefile
storage/Makefile
storage/devicelibs/Makefile
storage/formats/Makefile
tests/Makefile
tests/storage/Makefile
tests/storage/devicelibs/Makefile
textw/Makefile
ui/Makefile
utils/Makefile])
AC_OUTPUT

View File

@ -1,89 +0,0 @@
#
# constants.py: anaconda constants
#
# Copyright (C) 2001 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Erik Troan <ewt@redhat.com>
#
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
N_ = lambda x: x
BETANAG = 0
SELINUX_DEFAULT = 1
DISPATCH_BACK = -1
DISPATCH_FORWARD = 1
DISPATCH_NOOP = None
EXN_OK = 0
EXN_DEBUG = 1
EXN_SAVE = 2
EXN_CANCEL = 3
# different types of partition requests
# REQUEST_PREEXIST is a placeholder for a pre-existing partition on the system
# REQUEST_NEW is a request for a partition which will be automatically
# created based on various constraints on size, drive, etc
# REQUEST_RAID is a request for a raid device
# REQUEST_PROTECTED is a preexisting partition which can't change
# (harddrive install, harddrive with the isos on it)
#
REQUEST_PREEXIST = 1
REQUEST_NEW = 2
REQUEST_RAID = 4
REQUEST_PROTECTED = 8
REQUEST_VG = 16 # volume group
REQUEST_LV = 32 # logical volume
# XXX this is made up and used by the size spinner; should just be set with
# a callback
MAX_PART_SIZE = 1024*1024*1024
# install key related constants
SKIP_KEY = -50
# pull in kickstart constants as well
from pykickstart.constants import *
# common string needs to be easy to change
import product
productName = product.productName
productVersion = product.productVersion
productArch = product.productArch
productPath = product.productPath
bugzillaUrl = product.bugUrl
lvmErrorOutput = "/tmp/lvmout"
exceptionText = _("An unhandled exception has occurred. This "
"is most likely a bug. Please save a copy of "
"the detailed exception and file a bug report")
if not bugzillaUrl:
# this string will be combined with "An unhandled exception"...
# the leading space is not a typo.
exceptionText += _(" with the provider of this software.")
else:
# this string will be combined with "An unhandled exception"...
# the leading space is not a typo.
exceptionText += _(" against anaconda at %s") %(bugzillaUrl,)
# DriverDisc Paths
DD_EXTRACTED = "/tmp/DD"
DD_RPMS = "/tmp/DD-*"

View File

@ -1,630 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2009-04-28.21; # UTC
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u="sed s,\\\\\\\\,/,g"
depmode=msvisualcpp
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no eat=no
for arg
do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" "
for arg
do
case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@ -1,71 +0,0 @@
#
# desktop.py - install data for default desktop and run level
#
# Copyright (C) 2001, 2002 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Matt Wilson <msw@redhat.com>
#
import string
from simpleconfig import SimpleConfigFile
import logging
log = logging.getLogger("anaconda")
class Desktop (SimpleConfigFile):
#
# This class represents the default desktop to run and the default runlevel
# to start in
#
def setDefaultRunLevel(self, runlevel):
if str(runlevel) != "3" and str(runlevel) != "5":
raise RuntimeError, "Desktop::setDefaultRunLevel() - Must specify runlevel as 3 or 5!"
self.runlevel = runlevel
def getDefaultRunLevel(self):
return self.runlevel
def setDefaultDesktop(self, desktop):
self.info["DESKTOP"] = desktop
def getDefaultDesktop(self):
return self.get("DESKTOP")
def __init__ (self):
SimpleConfigFile.__init__ (self)
self.runlevel = 3
def write (self, instPath):
try:
inittab = open (instPath + '/etc/inittab', 'r')
except IOError:
log.warning ("there is no inittab, bad things will happen!")
return
lines = inittab.readlines ()
inittab.close ()
inittab = open (instPath + '/etc/inittab', 'w')
for line in lines:
if len (line) > 3 and line[:3] == "id:":
fields = string.split (line, ':')
fields[1] = str (self.runlevel)
line = string.join (fields, ':')
inittab.write (line)
inittab.close ()
if self.getDefaultDesktop():
f = open(instPath + "/etc/sysconfig/desktop", "w")
f.write(str (self))
f.close()

View File

@ -1,251 +0,0 @@
#
# dispatch.py: install/upgrade master flow control
#
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Erik Troan <ewt@redhat.com>
#
import string
from types import *
from constants import *
from packages import writeKSConfiguration, turnOnFilesystems
from packages import doPostAction
from packages import copyAnacondaLogs
from packages import firstbootConfiguration
from packages import betaNagScreen
from packages import setupTimezone
from packages import setFileCons
from storage import storageInitialize
from storage import storageComplete
from storage.partitioning import doAutoPartition
from bootloader import writeBootloader, bootloaderSetupChoices
from flags import flags
from upgrade import upgradeMountFilesystems
from upgrade import upgradeSwapSuggestion, upgradeMigrateFind
from upgrade import findRootParts, queryUpgradeContinue
from installmethod import doMethodComplete
from kickstart import runPostScripts
from backend import doPostSelection, doBackendSetup, doBasePackageSelect
from backend import doPreInstall, doPostInstall, doInstall
from backend import writeConfiguration
from packages import doReIPL
import logging
log = logging.getLogger("anaconda")
# These are all of the install steps, in order. Note that upgrade and
# install steps are the same thing! Upgrades skip install steps, while
# installs skip upgrade steps.
#
# items are one of
#
# ( name )
# ( name, Function )
#
# in the second case, the function is called directly from the dispatcher
# All install steps take the anaconda object as their sole argument. This
# gets passed in when we call the function.
installSteps = [
("welcome", ),
("language", ),
("keyboard", ),
("betanag", betaNagScreen, ),
("filtertype", ),
("filter", ),
("storageinit", storageInitialize, ),
("findrootparts", findRootParts, ),
("findinstall", ),
("network", ),
("timezone", ),
("accounts", ),
("setuptime", setupTimezone, ),
("parttype", ),
("cleardiskssel", ),
("autopartitionexecute", doAutoPartition, ),
("partition", ),
("upgrademount", upgradeMountFilesystems, ),
("upgradecontinue", queryUpgradeContinue, ),
("upgradeswapsuggestion", upgradeSwapSuggestion, ),
("addswap", ),
("upgrademigfind", upgradeMigrateFind, ),
("upgrademigratefs", ),
("storagedone", storageComplete, ),
("enablefilesystems", turnOnFilesystems, ),
("upgbootloader", ),
("bootloadersetup", bootloaderSetupChoices, ),
("bootloader", ),
("reposetup", doBackendSetup, ),
("tasksel", ),
("basepkgsel", doBasePackageSelect, ),
("group-selection", ),
("postselection", doPostSelection, ),
("reipl", doReIPL, ),
("install", ),
("preinstallconfig", doPreInstall, ),
("installpackages", doInstall, ),
("postinstallconfig", doPostInstall, ),
("writeconfig", writeConfiguration, ),
("firstboot", firstbootConfiguration, ),
("instbootloader", writeBootloader, ),
("writeksconfig", writeKSConfiguration, ),
("setfilecon", setFileCons, ),
("copylogs", copyAnacondaLogs, ),
("methodcomplete", doMethodComplete, ),
("postscripts", runPostScripts, ),
("dopostaction", doPostAction, ),
("complete", ),
]
class Dispatcher(object):
def gotoPrev(self):
self._setDir(DISPATCH_BACK)
self.moveStep()
def gotoNext(self):
self._setDir(DISPATCH_FORWARD)
self.moveStep()
def canGoBack(self):
# begin with the step before this one. If all steps are skipped,
# we can not go backwards from this screen
i = self.step - 1
while i >= self.firstStep:
if not self.stepIsDirect(i) and not self.skipSteps.has_key(installSteps[i][0]):
return True
i = i - 1
return False
def setStepList(self, *steps):
# only remove non-permanently skipped steps from our skip list
for step, state in self.skipSteps.items():
if state == 1:
del self.skipSteps[step]
stepExists = {}
for step in installSteps:
name = step[0]
if not name in steps:
self.skipSteps[name] = 1
stepExists[name] = 1
for name in steps:
if not stepExists.has_key(name):
#XXX: hack for yum support
#raise KeyError, ("step %s does not exist" % name)
log.warning("step %s does not exist", name)
def stepInSkipList(self, step):
if type(step) == type(1):
step = installSteps[step][0]
return self.skipSteps.has_key(step)
def skipStep(self, stepToSkip, skip = 1, permanent = 0):
for step in installSteps:
name = step[0]
if name == stepToSkip:
if skip:
if permanent:
self.skipSteps[name] = 2
elif not self.skipSteps.has_key(name):
self.skipSteps[name] = 1
elif self.skipSteps.has_key(name):
# if marked as permanent then dont change
if self.skipSteps[name] != 2:
del self.skipSteps[name]
return
#raise KeyError, ("unknown step %s" % stepToSkip)
log.warning("step %s does not exist", name)
def stepIsDirect(self, step):
"""Takes a step number"""
if len(installSteps[step]) == 2:
return True
else:
return False
def moveStep(self):
if self.step == None:
self.step = self.firstStep
else:
log.info("leaving (%d) step %s" %(self._getDir(), installSteps[self.step][0]))
self.step = self.step + self._getDir()
if self.step >= len(installSteps):
return None
while self.step >= self.firstStep and self.step < len(installSteps) \
and (self.stepInSkipList(self.step) or self.stepIsDirect(self.step)):
if self.stepIsDirect(self.step) and not self.stepInSkipList(self.step):
(stepName, stepFunc) = installSteps[self.step]
log.info("moving (%d) to step %s" %(self._getDir(), stepName))
log.debug("%s is a direct step" %(stepName,))
rc = stepFunc(self.anaconda)
if rc in [DISPATCH_BACK, DISPATCH_FORWARD]:
self._setDir(rc)
log.info("leaving (%d) step %s" %(self._getDir(), stepName))
# if anything else, leave self.dir alone
self.step = self.step + self._getDir()
if self.step == len(installSteps):
return None
if (self.step < 0):
# pick the first step not in the skip list
self.step = 0
while self.skipSteps.has_key(installSteps[self.step][0]):
self.step = self.step + 1
elif self.step >= len(installSteps):
self.step = len(installSteps) - 1
while self.skipSteps.has_key(installSteps[self.step][0]):
self.step = self.step - 1
log.info("moving (%d) to step %s" %(self._getDir(), installSteps[self.step][0]))
def currentStep(self):
if self.step == None:
self.gotoNext()
elif self.step >= len(installSteps):
return (None, None)
stepInfo = installSteps[self.step]
step = stepInfo[0]
return (step, self.anaconda)
def __init__(self, anaconda):
self.anaconda = anaconda
self.anaconda.dir = DISPATCH_FORWARD
self.step = None
self.skipSteps = {}
self.firstStep = 0
def _getDir(self):
return self.anaconda.dir
def _setDir(self, dir):
self.anaconda.dir = dir
dir = property(_getDir,_setDir)

View File

@ -1,29 +0,0 @@
# docs/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
EXTRA_DIST = install-methods.txt mediacheck.txt anaconda-release-notes.txt \
lvm_sanity_checks.txt rescue-mode api.cfg making-screenshots \
threads.txt command-line.txt gettext.txt
CLEANFILES = api *.xml
MAINTAINERCLEANFILES = Makefile.in command-line.txt
command-line.txt:
curl -4 -A "anaconda-build" -o command-line.txt "http://fedoraproject.org/w/index.php?title=Anaconda_Boot_Options&action=raw"

View File

@ -1,460 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# docs/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = docs
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = install-methods.txt mediacheck.txt anaconda-release-notes.txt \
lvm_sanity_checks.txt rescue-mode api.cfg making-screenshots \
threads.txt command-line.txt gettext.txt
CLEANFILES = api *.xml
MAINTAINERCLEANFILES = Makefile.in command-line.txt
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign docs/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
command-line.txt:
curl -4 -A "anaconda-build" -o command-line.txt "http://fedoraproject.org/w/index.php?title=Anaconda_Boot_Options&action=raw"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,199 +0,0 @@
Anaconda Release Notes
----------------------
Last update: Mar 26 2002
Contents
- Overview
- Install mechanism summary
- Patching/updating installer
- Invocation options
- Troubleshooting
- More info
Overview
--------
Anaconda is the name of the install program used by Red Hat Linux.
It is python-based with some custom modules written in C. Being
written in a scripting language makes development quicker, and it is
easier to distribute updates in a non-binary form. The anaconda
installer works on a wide variety of Linux-based computing
architectures (ia32, Itanium, Alpha, S/390, PowerPC), and is designed to make
it easy to add platforms.
The first stage of the installer is a loader program written in C.
This program is responsible for loading all the kernel modules
required to mount the second stage of the installer, which has a
fairly complete Linux runtime environment. The loader is designed to
be small to fit within the constraints of bootable media (floppies are
small by modern standards). Once the loader has mounted the second
stage image, the python installer is started up, and optionally, a
graphical X Windows based environment.
The loader can install from local media (harddrive or CDROM), or
from a network source, via FTP, HTTP, or NFS. The installer can pull
updates for bugs or features via several sources as well. Finally, the
installer has an auto-install mechanism called kickstart that allows
installs to be scripted. The script can even be pulls from an HTTP
source that can create kickstart configurations dynamically based on
the machine which is requesting the script. This allows endless
possibilities in automating large sets of servers.
This document's purpose is to go over technical details that will
make using and customizing the installer, and the distribution, much
easier. The anaconda installer arguably is one of the most flexible
and powerful installers available, and hopefully this document will
allow users to take advantage of this potential.
Install Mechanism Summary
-------------------------
The document 'install-methods.txt', which is distributed with the
anaconda package, goes over the various ways the installer can be
used. Essentially, the installer needs to access the contents of the
CD images distributed with the product. The installer can either work
with the CD images one at a time, or else from a single directory (the
install 'tree') which has the contents of all the CD images copied
into it. The later is useful if you are customizing the packages in
the distribution. The first stage of the installation process (the
'loader') is responsible for getting the system to the point it can
access the installation source, whether CD image or installation tree based.
For CDROM-based installs the loader detects the presence of a CD in a
drive in the system with a distribution on it and jumps straight to the
second stage. For other interactive (non-kickstart) installation methods the
user is prompted for the installation source. For kickstart-based installs
the installation source is specified in the kickstart file, and the user is
not required to be present unless necessary information is missing from the
kickstart script.
For NFS-based installs the installer mounts the directory specified
and looks for a set of ISO images, or an installation tree. If
present then a filesystem image is loopback-mounted and the second
stage installer is run from this image. For FTP and HTTP installs a
smaller (no graphical install options) second stage image is
downloaded into memory, mounted, and the second stage installer run
from this. On harddrive based installs a similar small second stage
image is put into memory and the second stage installer run from it.
This is necessary because for partitioning to suceed the installer can
not have partitions on the harddrive mounted in order for the kernel
to be able to acknowledge partition table changes.
The bootable installation images are as follow:
boot.img - boot image containing kernel modules for installing
on most systems from a CDROM or harddrive.
bootnet.img - boot iamge containing kernel modules for
installing on most systems from a network source.
pcmcia.img - boot image for installing on PCMCIA based systems
from a local or network source.
Requires pcmciadd.img driver disk.
The supplemental driver disk images are:
drvblock.img - block device drivers (for example, SCSI controllers).
drvnet.img - extra network device drivers.
oldcdrom.img - device drivers for non-SCSI, non-ATAPI cdroms.
Patching The Installer
----------------------
At times there are bugfixes or feature enhancements available for
the installer. These are typically replacement python source files
which override the versions distributed with the release. Python has
a mechanism similar to the command line shell search path for
executables. The installer can be updated by putting patched files in
a location earlier in the search path Python uses to find modules.
The 'install-methods.txt' document describes all the various ways the
installer can be told where to find the updating source files.
Typcially this is done from an 'update disk', which is a floppy with
an ext2 filesytem on it. The updated python source files are put in
the main directory of the floppy. The installer is invoked with an
'updates' option from the boot command line, and the user is prompted
to insert the update disk. The files are copied off into a ramdisk
location which Python has been instructed to look at first of modules.
If one is customizing the distribution and the installer then installing
over NFS is the fastest way to work.
The installer will also use an 'updates.img' file to get patched
source files. This is particularly useful for FTP and HTTP based installs.
When the second stage image is retrieved from the server, a download of
the updates.img is also attempted. This file must be an ext2 filesystem image.
It is mounted loopback, then the contents are copied to the ramdisk location
that Python is setup to look at for module updates. This update image will
also work with all the other installation mechanisms, although the exact
location where it is expected does vary. The 'install-methods.txt' file
has the details on this.
Invocation Options
------------------
The documentation file 'command-line.txt' has a quick summary of all the
command line options anaconda accepts.
Troubleshooting
---------------
- Cannot get graphical installer working
On some video hardware (laptops in particular) the graphical
installer will not work. The installer attempts to run at
800x600, and some hardware does not work in this mode, or the
output looks poor when scaled to this mode. This can be worked
around by specifying the 'vga=xxx' option on the command line when
booting the installer. Here 'xxx' is the VESA mode number for the
video mode which will work on your hardware, and can be one of the
following:
| 640x480 800x600 1024x768 1280x1024 <-Resolution
----+-------------------------------------
256 | 769 771 773 775
32k | 784 787 790 793
64k | 785 788 791 794
16M | 786 789 792 795
^
|
Number of colors
Find the row with the number of colors and the column with the resolution
and then use the number at the intersection. For example, to run at
1024x768 with 64k colors, use 'vga=791'
Alternately, you can specify "resolution=<mode>", where mode is:
640x480
800x600
1024x768
1152x864
1280x1024
1400x1050
1600x1200
and the installer will start up in graphical mode in the resolution
specified.
More Info
---------
For more info, goto the kickstart-list and anaconda-devel mailing lists
hosted by Red Hat. You can find these at:
anaconda-devel-list -
https://listman.redhat.com/mailman/listinfo/anaconda-devel-list
kickstart-list -
https://listman.redhat.com/mailman/listinfo/kickstart-list
<end of document>

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://fedoraproject.org/w/index.php?title=Anaconda_Boot_Options&amp;action=raw">here</a>.</p>
<hr>
<address>Apache/2.2.3 (Red Hat) Server at fedoraproject.org Port 80</address>
</body></html>

View File

@ -1,56 +0,0 @@
gettext, i18n, and the po/ subdirectory
05-Jun-2009
David Cantrell <dcantrell@redhat.com>
---------------------------------------
I have attempted to clean up our po/ subdirectory and bring it in to
conformance with GNU gettext tools as well as hook it in to GNU autoconf and
GNU automake. The gettext software has templates set up for this already,
so I'm just using those.
From time to time, we may have to update our gettext template files and or
expand or reduce the information in the files. How do you know what files
do what? Here's an explanation:
m4/gettext.m4
m4/iconv.m4
m4/lib-ld.m4
m4/lib-link.m4
m4/lib-prefix.m4
m4/nls.m4
m4/po.m4
m4/progtest.m4
po/Makefile.in.in
po/Rules-quot
po/boldquot.sed
po/en@boldquot.header
po/en@quot.header
po/insert-header.sin
po/quot.sed
po/remove-potcdate.sin
These files are copied in when 'gettextize' is run on the source
project. When we need to update to a newer minimum version of
gettext, these files will be replaced. In general, we should never
need to touch these files.
po/Makevars
Should be updated when we update gettext files with a new gettextize
run. A file called po/Makevars.template will appear and we can move
over our values to the new file and commit it. We do not need to
change this file on a regular basis.
po/POTFILES.in
This file contains a listing of all source files in the project that
have translatable strings.
po/LINGUAS
Space-delimited list of languages available. If a new language is
added, it should be added to this file.
po/*.po
Actual translated strings, as maintained by the translation team(s).

View File

@ -1,137 +0,0 @@
11-07-2006
----------
Contents
--------
1) Description of install methods
2) Extra notes on install methods
1)Description of Anaconda Install Methods (and ways of updating it)
-------------------------------------------------------------------
Notes:
------------
- "fully exploded tree" - this is a tree which in the root has every
directory with .rpm files from every CD image merged into one directory
with the same name.
(So everything from cd's Client directories goes to Client directory and
likewise for Server, VT, Workstation ... dirs)
- "ISO" - the ISO image for a CD image.
- "anaconda updates" - patches for anaconda to fix bugs/etc.
- "anaconda updates=[http://url|ftp://url]" - patches for anaconda to fix
bugs/etc. that can be downloaded from the specified remote location.
The image is the same format as an updates.img as specified below.
- all paths without a leading '/' are relative to directory specified
to installer containing install source.
- 'updates.img' is a ext2 filesystem containing the updated python
sources and modules for anaconda.
Current Installation Methods:
-----------------------------
- CDROM / DVD
-------------
Summary:
This is pretty self-explanatory. Mounts the disc and installs packages,
prompts user to switch discs when the next disc is required.
Update Options:
- floppy or USB key drive.
- 'updates.img' file in 'images/' directory of disc #1 image.
- remote updates.img downloaded via FTP or HTTP.
- NFS (from a fully exploded tree)
----------------------------------
Summary:
Mounts directory from NFS server.
Update Options:
- floppy or USB key drive.
- 'updates.img' file in 'images/' directory.
- remote updates.img downloaded via FTP or HTTP.
- NFS (from a directory of ISOs)
--------------------------------
Summary:
Loopback mounts ISO images from NFS server.
Update Options:
- floppy or USB key drive.
- 'updates.img' file in 'images/' directory.
- remote updates.img downloaded via FTP or HTTP.
- FTP/HTTP (from a fully exploded tree)
---------------------------------------
Summary:
Pulls files from tree via FTP or HTTP.
Update Options:
- floppy or USB key drive.
- 'updates.img' file in 'images/' directory.
- remote updates.img downloaded via FTP or HTTP.
- FTP/HTTP (from a directory of loopback-mounted ISOs)
------------------------------------------------------
Summary:
Pulls files from tree via FTP or HTTP. Looks in 'disc1/' directory
to contain files from disc #1, 'disc2/' for disc #2, etc. These can be
created on the server by loopback mounting the ISO images into these
directories under the directory made available to ftp.
Update Options:
- floppy or USB key drive.
- 'updates.img' file in 'images/' directory in ISO image for disc #1.
- remote updates.img downloaded via FTP or HTTP.
Hard Drive from ISOs
--------------------
Summary:
Similar to NFS ISO-based method - loopback mounts ISOs in directory
specified by user. The ISOs must be on an ext2 or vfat partition,
not a logical volume.
Update Options:
- floppy or USB key drive.
- 'updates.img' file in 'images/' directory of ISO image for CD #1.
- remote updates.img downloaded via FTP or HTTP.
2)Extra Notes:
--------------
By default NFS, harddrive, and CDROM/DVD-based installs are graphical,
unless the 'text' option is passed on the boot command line.
FTP and HTTP are text-based, unless 'graphical' is passed on the command
line. For a graphical FTP or HTTP install to occur, one of the following
must be true:
- the file 'RedHat/base/stage2.img' must exist on the install server. In
this case this file is downloaded int RAM, taking about 64MB to store.
It is recommended to only use this option on machines with more than
192MB of RAM.
or:
- the rescue CD is in the CD drive, in which case the stage2.img file
will be mounted from the rescue CD. The packages will still be
downloaded from the FTP/HTTP server. No additional memory is required
because the second stage of the installer is mounted from the CD.
You can also specify 'graphical' or 'text' as kickstart directives in
the kickstart config file you use, and this has the same affect as if you
put the directive on the boot command line.

View File

@ -1,13 +0,0 @@
Updated June 11, 2002
---------------------
Current list of things we check for (good for regression testing):
- That selected PE is smaller than any PV in VG.
- That size requests for LV are a multiple of the PE.
- That maximum LV for a given PE is bigger than any currently defined LV in VG.
- That if you change the PE, all the reclamped LV will fit in VG.
- That VG_name+LV_name is unique for all VG.
- That mount points are used only once.
- Give warning if more than 10% of a PV is lost because of the PE selected.
- That the bootable partition is not a LV.

View File

@ -1,15 +0,0 @@
How to make screenshots:
This will only currently work for graphical installs.
During a graphical installation, you can now press SHIFT-Print Screen
and a screenshot of the current installation screen will be taken.
These are stored in the following directory:
/root/anaconda-screenshots/
The screenshots can be accessed once the newly-installed system is rebooted.

View File

@ -1,25 +0,0 @@
Mediacheck documentation
October, 2008
Mediacheck is a tool we use to test the integrity of ISO images. The
ISO9660 specification allows for a 512 byte region which is for
application use. We use it to store a checksum of the ISO image. Of
couse putting the checksum into this region will change the checksum
of the final ISO image, so when we verify the checksum later we have
to fill in this 512 region with the original contents before the
implantation. It is set to all ASCII 32 decimal spaces.
If you have a set of ISO images you can implant the checksum data with
this command:
implantmd5iso <isoname>
NOTE: You cannot re-implant an ISO once its been implanted.
To check a ISO image you can use this command line:
checkisomd5 <isoname>
The tools are in the isomd5sum package.

View File

@ -1,16 +0,0 @@
Rescue mode
-----------
1/4/1999 Michael Fulbright
Rescue mode is implemented via a bootable CDROM currently. The user
specifies 'linux rescue' at the syslinux prompt when the CDROM boots.
Then the kernel and an initial ramdisk is loaded. The installer is
run and the user is dropped into bash.
The upd-instroot script in the anaconda/ source toplevel directory
is responsible for creating the instimage which is used as the
root for the rescue environment. It is located in /mnt/cdrom/Redhat/instimage
when the CDROM is mounted under /mnt/cdrom.

View File

@ -1,106 +0,0 @@
Threads in anaconda? No!
David Cantrell <dcantrell@redhat.com>
INTRODUCTION
Threads make a lot of people run screaming. That's entirely
understandable because thread concurrency can be a pain. In this short
document, I want to explain why threads are in anaconda and how to work
with them in the code.
MISCONCEPTIONS
Just to make sure everyone is on the same page, threads are similar to
processes. The big advantage we get is easier shared data structures.
Threads can communicate over more methods than just signals. But,
multithreaded does not mean that we are taking every operation out to
a separate thread.
ANACONDA THREADS
The idea for anaconda threads is to simplify life for things that can
or need to run parallel to other operations. So we will reserve the
use of threads for tasks that fit in to this category well (the logging
system, for instance) and keep the bulk of the installer in the main
thread.
THREADS AND PYTHON
Python has a nice model for threading. Threads in Python extend the
threading.Thread class. So an easy way to identify something that will
run or can be run as a thread is seeing a class definition like this:
class SomeClass(threading.Thread):
You still have your __init__ method for the constructor, but threads
also have a run() method and a join() method (there are others, but
I will just discuss these).
The run() method is called when you start the thread. This is where
you want to do the work. Normally this happens in the class
constructor, but in threads we need that separated out to a different
method.
The join() method is to block execution of other threads. Whatever you
put in the join() method will run and other threads will be blocked
while it runs. Now, this method is only run when you call it explicitly
from another thread, so think of it as similar to waitpid().
Python has the thread and threading modules. Use threading as it's
built on top of thread and provides a threading system similar to the
POSIX thread model.
More information:
http://docs.python.org/lib/module-threading.html
THREAD NAMES
Threads have names in Python. They are automatically assigned or you
can specify the name. For anaconda it probably makes more sense to
name our threads since we won't be launching more than one for the
same task.
The convention I'm using is: NameThr
For example: RelNotesThr
The name is arbitrary, but we should probably have some sort of
consistency.
PYGTK AND THREADS
GTK+ presents the biggest challenge for threads, but it's not
impossible. We will be allowing GTK+ calls from any thread, so we
have to call threads_init() in gui.py as the first thing:
gtk.gdk.threads_init()
After this, you can use Python threads as you normally would. When
you call gtk.main(), you need to call it like this:
gtk.threads_enter()
gtk.main()
gtk.threads_leave()
Calls to PyGTK methods or fiddling with GTK objects...all that has to
be wrapped in threads_enter/threads_leave calls. The suggested syntax
is:
gtk.threads_enter()
try:
# do stuff
finally:
gtk.threads_leave()
Suggested reading:
http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq20.006.htp
http://developer.gnome.org/doc/API/2.0/gdk/gdk-Threads.html
I will try to expand this document as I move through more threading code.
Email me if you have any questions.
--
David Cantrell
<dcantrell@redhat.com>

View File

@ -1,159 +0,0 @@
#
# errors.py: exception classes used throughout anaconda
#
# Copyright (C) 2002, 2007, 2008 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Peter Jones <pjones@redhat.com>
# Chris Lumens <clumens@redhat.com>
# Matt Wilson <msw@redhat.com>
# Jeremy Katz <katzj@redhat.com>
# Mike Fulbright <msf@redhat.com>
#
import string
import os
from constants import lvmErrorOutput
# Exceptions for use in lvm operations.
class LvmError(Exception):
"""An error occurred with lvm."""
def __init__(self, command, name=None):
self.command = command
self.name = name
self.log = self.getLvmOutput()
def getLvmOutput(self):
if not os.access(lvmErrorOutput, os.R_OK):
return ""
f = open(lvmErrorOutput, "r")
lines = reduce(lambda x,y: x + [string.strip(y),], f.readlines(), [])
lines = string.join(reduce(lambda x,y: x + [" %s" % (y,)], \
lines, []), "\n")
return lines
def __str__(self):
s = ""
if not self.name is None:
s = " for device %s" % (self.name,)
return "%s failed%s\nLog:\n%s" % (self.command, s, self.log)
class LVCreateError(LvmError):
def __init__(self, vgname, lvname, size):
self.vgname = vgname
self.lvname = lvname
self.size = size
self.log = self.getLvmOutput()
def __str__(self):
return "lvcreate of %d Megabyte lv \"%s\" on vg \"%s\" failed\n" \
"Log:\n%s" % ( \
self.size, self.lvname, self.vgname, self.log)
class LVRemoveError(LvmError):
def __init__(self, vgname, lvname):
self.vgname = vgname
self.lvname = lvname
self.log = self.getLvmOutput()
def __str__(self):
return "lvremove of lv \"%s\" from vg \"%s\" failed\nLog:\n%s" % ( \
self.lvname, self.vgname, self.log)
class LVResizeError(LvmError):
def __init__(self, vgname, lvname):
self.vgname = vgname
self.lvname = lvname
self.log = self.getLvmOutput()
def __str__(self):
return "lvresize of lv \"%s\" from vg \"%s\" failed\nLog:\n%s" % ( \
self.lvname, self.vgname, self.log)
class VGCreateError(LvmError):
def __init__(self, vgname, PESize, nodes):
self.vgname = vgname
self.PESize = PESize
self.nodes = nodes
self.log = self.getLvmOutput()
def __str__(self):
nodes = string.join(self.nodes, ' ')
return "vgcreate failed creating vg \"%s\" (PESize=%dkB) on PVs: %s\n" \
"Log:\n%s" % ( \
self.vgname, self.PESize, nodes, self.log)
class VGRemoveError(LvmError):
def __init__(self, vgname):
self.vgname = vgname
self.log = self.getLvmOutput()
def __str__(self):
return "vgremove of vg \"%s\" failed\nLog:\n%s" % ( \
self.vgname, self.log)
class PVRemoveError(LvmError):
def __init__(self, pvname):
self.pvname = pvname
self.log = self.getLvmOutput()
def __str__(self):
return "pvremove of pv \"%s\" failed\nLog:\n%s" % ( \
self.pvname, self.log)
class PVCreateError(LvmError):
def __init__(self, pvname):
self.pvname = pvname
self.log = self.getLvmOutput()
def __str__(self):
return "pvcreate of pv \"%s\" failed\nLog:\n%s" % ( \
self.pvname, self.log)
# Exceptions for use in partitioning.
class PartitioningError(Exception):
"""A critical error which must be resolved to continue the installation."""
def __init__(self, message=""):
self.message = str(message)
def __str__ (self):
return self.message
class PartitioningWarning(Exception):
"""A warning which may be ignored and still complete the installation."""
def __init__(self, message=""):
self.message = str(message)
def __str__ (self):
return self.message
class LabelError(Exception):
"""The device could not be labeled."""
def __init__(self, message=""):
self.message = str(message)
def __str__(self):
return self.message
# Exceptions for use in package selection.
class NoSuchGroup(Exception):
def __init__ (self, value):
self.value = value
def __str__ (self):
return self.value

View File

@ -1,133 +0,0 @@
#
# exception.py - general exception formatting and saving
#
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Matt Wilson <msw@redhat.com>
# Erik Troan <ewt@redhat.com>
# Chris Lumens <clumens@redhat.com>
#
from meh.handler import *
from meh.dump import *
import isys
import sys
import os
import shutil
import signal
from flags import flags
import kickstart
import logging
log = logging.getLogger("anaconda")
class AnacondaExceptionHandler(ExceptionHandler):
def postWriteHook(self, (ty, value, tb), anaconda):
# See if /mnt/sysimage is present and put exception there as well
if os.access("/mnt/sysimage/root", os.X_OK):
try:
dest = "/mnt/sysimage/root/%s" % os.path.basename(self.exnFile)
shutil.copyfile(self.exnFile, dest)
except:
log.error("Failed to copy %s to /mnt/sysimage/root" % self.exnFile)
pass
# run kickstart traceback scripts (if necessary)
try:
if anaconda.ksdata:
kickstart.runTracebackScripts(anaconda)
except:
pass
def runDebug(self, (ty, value, tb)):
# vtActivate does not work on certain ppc64 machines, so just skip
# that and continue with the rest of the debugger setup.
try:
isys.vtActivate(1)
except SystemError:
pass
self.intf.__del__ ()
pidfl = "/tmp/vncshell.pid"
if os.path.exists(pidfl) and os.path.isfile(pidfl):
pf = open(pidfl, "r")
for pid in pf.readlines():
if not int(pid) == os.getpid():
os.kill(int(pid), signal.SIGKILL)
pf.close()
os.open("/dev/console", os.O_RDWR) # reclaim stdin
os.dup2(0, 1) # reclaim stdout
os.dup2(0, 2) # reclaim stderr
# ^
# |
# +------ dup2 is magic, I tells ya!
# bring back the echo
import termios
si = sys.stdin.fileno()
attr = termios.tcgetattr(si)
attr[3] = attr[3] & termios.ECHO
termios.tcsetattr(si, termios.TCSADRAIN, attr)
print("\nEntering debugger...")
import pdb
pdb.post_mortem (tb)
os.kill(os.getpid(), signal.SIGKILL)
def initExceptionHandling(anaconda):
fileList = [ "/tmp/anaconda.log", "/tmp/lvmout", "/tmp/resize.out",
"/tmp/program.log", "/tmp/storage.log", "/tmp/yum.log",
anaconda.rootPath + "/root/install.log",
anaconda.rootPath + "/root/upgrade.log", "/proc/cmdline" ]
if flags.livecdInstall:
fileList.extend(["/var/log/dmesg"])
else:
fileList.extend(["/tmp/syslog"])
conf = Config(programName="anaconda",
programVersion=isys.getAnacondaVersion(),
bugFiler=anaconda.instClass.bugFiler,
attrSkipList=[ "backend.ayum",
"backend.dlpkgs",
"accounts",
"bootloader.password",
"comps",
"dispatch",
"hdList",
"ksdata",
"instLanguage.font",
"instLanguage.kbd",
"instLanguage.info",
"instLanguage.localeInfo",
"instLanguage.nativeLangNames",
"instLanguage.tz",
"keyboard._mods._modelDict",
"keyboard.modelDict",
"storage.encryptionPassphrase",
"users.rootPassword",
"tmpData",
"intf.icw.buff",
"intf.icw.currentWindow.storage.encryptionPassphrase",
"intf.icw.stockButtons",
],
localSkipList=[ "passphrase", "password" ],
fileList=fileList)
handler = AnacondaExceptionHandler(conf, anaconda.intf, ReverseExceptionDump)
handler.install(anaconda)
return conf

View File

@ -1,93 +0,0 @@
#
# firewall.py - firewall install data and installation
#
# Copyright (C) 2004 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author(s): Bill Nottingham <notting@redhat.com>
# Jeremy Katz <katzj@redhat.com>
#
import iutil
import os.path
from flags import flags
from constants import *
import gettext
_ = lambda x: gettext.ldgettext("anaconda", x)
import logging
log = logging.getLogger("anaconda")
class Firewall:
def __init__ (self):
self.enabled = 1
self.trustdevs = []
self.portlist = []
self.servicelist = []
def writeKS(self, f):
f.write("firewall")
if self.enabled:
for arg in self.getArgList():
f.write(" " + arg)
else:
f.write(" --disabled")
f.write("\n")
def getArgList(self):
args = []
if not self.enabled:
args.append("--disabled")
return args
if not "ssh" in self.servicelist and not "22:tcp" in self.portlist:
args += ["--service=ssh"]
for dev in self.trustdevs:
args = args + [ "--trust=%s" %(dev,) ]
for port in self.portlist:
args = args + [ "--port=%s" %(port,) ]
for service in self.servicelist:
args = args + [ "--service=%s" % (service,) ]
return args
def write (self, instPath):
args = [ "--quiet", "--nostart", "-f" ] + self.getArgList()
try:
if not os.path.exists("%s/etc/sysconfig/iptables" %(instPath,)):
iutil.execWithRedirect("/usr/sbin/lokkit", args,
root=instPath, stdout="/dev/null",
stderr="/dev/null")
else:
log.error("would have run %s", args)
except RuntimeError, msg:
log.error ("lokkit run failed: %s", msg)
except OSError as e:
log.error ("lokkit run failed: %s", e.strerror)
else:
f = open(instPath +
'/etc/sysconfig/system-config-firewall', 'w')
f.write("# system-config-firewall config written out by anaconda\n\n")
for arg in args[3:]:
f.write("%s\n" %(arg,))
f.close()

View File

@ -1,113 +0,0 @@
#
# flags.py: global anaconda flags
#
# Copyright (C) 2001 Red Hat, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
import shlex
from constants import *
# A lot of effort, but it only allows a limited set of flags to be referenced
class Flags:
def __getattr__(self, attr):
if self.__dict__['flags'].has_key(attr):
return self.__dict__['flags'][attr]
raise AttributeError, attr
def __setattr__(self, attr, val):
if self.__dict__['flags'].has_key(attr):
self.__dict__['flags'][attr] = val
else:
raise AttributeError, attr
def get(self, attr, val=None):
if self.__dict__['flags'].has_key(attr):
return self.__dict__['flags'][attr]
else:
return val
def createCmdlineDict(self):
cmdlineDict = {}
cmdline = open("/proc/cmdline", "r").read().strip()
# if the BOOT_IMAGE contains a space, pxelinux will strip one of the
# quotes leaving one at the end that shlex doesn't know what to do
# with
if cmdline.find("BOOT_IMAGE=") and cmdline.endswith('"'):
cmdline = cmdline.replace("BOOT_IMAGE=", "BOOT_IMAGE=\"")
lst = shlex.split(cmdline)
for i in lst:
try:
(key, val) = i.split("=", 1)
except:
key = i
val = None
cmdlineDict[key] = val
return cmdlineDict
def __init__(self):
self.__dict__['flags'] = {}
self.__dict__['flags']['test'] = 0
self.__dict__['flags']['livecdInstall'] = 0
self.__dict__['flags']['dlabel'] = 0
self.__dict__['flags']['ibft'] = 1
self.__dict__['flags']['iscsi'] = 0
self.__dict__['flags']['serial'] = 0
self.__dict__['flags']['autostep'] = 0
self.__dict__['flags']['autoscreenshot'] = 0
self.__dict__['flags']['usevnc'] = 0
self.__dict__['flags']['vncquestion'] = True
self.__dict__['flags']['mpath'] = 1
self.__dict__['flags']['dmraid'] = 1
self.__dict__['flags']['selinux'] = SELINUX_DEFAULT
self.__dict__['flags']['debug'] = 0
self.__dict__['flags']['targetarch'] = None
self.__dict__['flags']['cmdline'] = self.createCmdlineDict()
self.__dict__['flags']['useIPv4'] = True
self.__dict__['flags']['useIPv6'] = True
self.__dict__['flags']['sshd'] = 1
# for non-physical consoles like some ppc and sgi altix,
# we need to preserve the console device and not try to
# do things like bogl on them. this preserves what that
# device is
self.__dict__['flags']['virtpconsole'] = None
for x in ['selinux','sshd']:
if self.__dict__['flags']['cmdline'].has_key(x):
if self.__dict__['flags']['cmdline'][x]:
self.__dict__['flags'][x] = 1
else:
self.__dict__['flags'][x] = 0
if self.__dict__['flags']['cmdline'].has_key("debug"):
self.__dict__['flags']['debug'] = self.__dict__['flags']['cmdline']['debug']
if self.__dict__['flags']['cmdline'].has_key("rpmarch"):
self.__dict__['flags']['targetarch'] = self.__dict__['flags']['cmdline']['rpmarch']
if not os.path.exists("/selinux/load"):
self.__dict__['flags']['selinux'] = 0
global flags
flags = Flags()

View File

@ -1,39 +0,0 @@
# fonts/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
if IS_FONT_ARCH
fontsdir = $(libdir)/$(PACKAGE_NAME)-runtime
dist_fonts_DATA = screenfont-$(ARCH).gz
endif
EXTRA_DIST = screenfont-*.gz updfonts
MAINTAINERCLEANFILES = Makefile.in
i386:
./updfonts i386
alpha:
./updfonts alpha
sparc:
./updfonts sparc
ia64:
./updfonts ia64

View File

@ -1,516 +0,0 @@
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# fonts/Makefile.am for anaconda
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = fonts
DIST_COMMON = $(am__dist_fonts_DATA_DIST) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/python.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo " GEN " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__dist_fonts_DATA_DIST = screenfont-$(ARCH).gz
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(fontsdir)"
DATA = $(dist_fonts_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
ARCH = @ARCH@
AUDIT_LIBS = @AUDIT_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BLKID_LIBS = @BLKID_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHECKISOMD5_LIBS = @CHECKISOMD5_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEVMAPPER_CFLAGS = @DEVMAPPER_CFLAGS@
DEVMAPPER_LIBS = @DEVMAPPER_LIBS@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXT2FS_LIBS = @EXT2FS_LIBS@
FGREP = @FGREP@
GDK_CFLAGS = @GDK_CFLAGS@
GDK_LIBS = @GDK_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTK_X11_CFLAGS = @GTK_X11_CFLAGS@
GTK_X11_LIBS = @GTK_X11_LIBS@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
IPV6_CFLAGS = @IPV6_CFLAGS@
ISCSI_LIBS = @ISCSI_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@
LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@
LIBCURL_CFLAGS = @LIBCURL_CFLAGS@
LIBCURL_LIBS = @LIBCURL_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBNL_CFLAGS = @LIBNL_CFLAGS@
LIBNL_LIBS = @LIBNL_LIBS@
LIBNM_GLIB_CFLAGS = @LIBNM_GLIB_CFLAGS@
LIBNM_GLIB_LIBS = @LIBNM_GLIB_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NETWORKMANAGER_CFLAGS = @NETWORKMANAGER_CFLAGS@
NETWORKMANAGER_LIBS = @NETWORKMANAGER_LIBS@
NEWT_LIBS = @NEWT_LIBS@
NFS_CFLAGS = @NFS_CFLAGS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_RELEASE = @PACKAGE_RELEASE@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POSUB = @POSUB@
PYTHON = @PYTHON@
PYTHON_EMBED_LIBS = @PYTHON_EMBED_LIBS@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_INCLUDES = @PYTHON_INCLUDES@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RPM_CFLAGS = @RPM_CFLAGS@
RPM_LIBS = @RPM_LIBS@
SED = @SED@
SELINUX_CFLAGS = @SELINUX_CFLAGS@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SLANG_LIBS = @SLANG_LIBS@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@IS_FONT_ARCH_TRUE@fontsdir = $(libdir)/$(PACKAGE_NAME)-runtime
@IS_FONT_ARCH_TRUE@dist_fonts_DATA = screenfont-$(ARCH).gz
EXTRA_DIST = screenfont-*.gz updfonts
MAINTAINERCLEANFILES = Makefile.in
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign fonts/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign fonts/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-dist_fontsDATA: $(dist_fonts_DATA)
@$(NORMAL_INSTALL)
test -z "$(fontsdir)" || $(MKDIR_P) "$(DESTDIR)$(fontsdir)"
@list='$(dist_fonts_DATA)'; test -n "$(fontsdir)" || list=; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(fontsdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(fontsdir)" || exit $$?; \
done
uninstall-dist_fontsDATA:
@$(NORMAL_UNINSTALL)
@list='$(dist_fonts_DATA)'; test -n "$(fontsdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(fontsdir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(fontsdir)" && rm -f $$files
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(fontsdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-dist_fontsDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-dist_fontsDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dist_fontsDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am install-ps \
install-ps-am install-strip installcheck installcheck-am \
installdirs maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am uninstall uninstall-am uninstall-dist_fontsDATA
i386:
./updfonts i386
alpha:
./updfonts alpha
sparc:
./updfonts sparc
ia64:
./updfonts ia64
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More