summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog25
-rw-r--r--anaconda.spec11
-rw-r--r--installclass.py29
-rw-r--r--kickstart.py2
-rw-r--r--kickstartData.py4
-rw-r--r--kickstartParser.py3
-rw-r--r--packages.py4
-rwxr-xr-xscripts/mk-images35
-rwxr-xr-xscripts/upd-instroot8
-rwxr-xr-xutils/checkcards.py66
-rwxr-xr-xutils/trimmodalias23
-rw-r--r--utils/trimmodmap43
-rwxr-xr-xutils/trimpciids29
-rwxr-xr-xutils/trimpcitable21
-rwxr-xr-xutils/trimusbmap16
-rw-r--r--xsetup.py2
16 files changed, 99 insertions, 222 deletions
diff --git a/ChangeLog b/ChangeLog
index e59e1dc04..71297cf12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2005-09-09 Bill Nottingham <notting@redhat.com>
+
+ * anaconda.spec: Bump version, tweak requirements
+ * installclass.py (setVideoCard, configureX): Adapt to new rhpl
+ X setup code
+ * kickstart.py (doXConfig): Likewise
+ * kickstartData.py (__init__): Likewise
+ * kickstartParser.py (doXConfig): Likewise
+ * packages.py (writeXConfiguration): Likewise
+ * xsetup.py (getArgList): Likewise
+ * scripts/mk-images: Remove modules.pcimap, modules.usbmap,
+ pcitable, from images, and associated trimmer scripts from
+ files used. Add modules.alias, videoaliases. Trim modules.alias
+ using trimmodalias.
+ * scripts/upd-instroot: Don't keep Cards, but keep videoaliases.
+ Don't run checkcards.py
+ * utils/trimmodalias: New script, trim modules.alias file to
+ match modules in the first/second stage
+ * utils/trimpciids: Trim pci.ids based on modules.alias and
+ videoaliases, not pcitable and modules.pcimap
+ * utils/checkcards.py: Remove now obsolete script
+ * utils/trimmodmap: Likewise
+ * utils/trimpcitable: Likewise
+ * utils/trimusbmap: Likewise
+
2005-09-08 Paul Nasrat <pnasrat@redhat.com>
* scripts/pkgorder: Neuter pkgorder
diff --git a/anaconda.spec b/anaconda.spec
index 1f9bd1335..65c710c61 100644
--- a/anaconda.spec
+++ b/anaconda.spec
@@ -1,12 +1,12 @@
Name: anaconda
-Version: 10.3.0.12
+Version: 10.3.0.13
Release: 1
License: GPL
Summary: Graphical system installer
Group: Applications/System
Source: anaconda-%{PACKAGE_VERSION}.tar.bz2
-BuildPreReq: pump-devel >= 0.8.20, kudzu-devel >= 1.1.52, pciutils-devel, bzip2-devel, e2fsprogs-devel, python-devel gtk2-devel rpm-python >= 4.2-0.61, newt-devel, rpm-devel, gettext >= 0.11, rhpl, booty, libxml2-python, zlib-devel, bogl-devel >= 0:0.1.9-17, bogl-bterm >= 0:0.1.9-17, elfutils-devel, beecrypt-devel, libselinux-devel >= 1.6, xorg-x11-devel, intltool >= 0.31.2-3, python-urlgrabber
-Requires: rpm-python >= 4.2-0.61, rhpl > 0.63, parted >= 1.6.3-7, booty, kudzu
+BuildPreReq: pump-devel >= 0.8.20, kudzu-devel >= 1.2.0, pciutils-devel, bzip2-devel, e2fsprogs-devel, python-devel gtk2-devel rpm-python >= 4.2-0.61, newt-devel, rpm-devel, gettext >= 0.11, rhpl, booty, libxml2-python, zlib-devel, bogl-devel >= 0:0.1.9-17, bogl-bterm >= 0:0.1.9-17, elfutils-devel, beecrypt-devel, libselinux-devel >= 1.6, xorg-x11-devel, intltool >= 0.31.2-3, python-urlgrabber
+Requires: rpm-python >= 4.2-0.61, rhpl > 0.170, parted >= 1.6.3-7, booty, kudzu > 1.2.0
Requires: pyparted, libxml2-python, python-urlgrabber
Requires: anaconda-help, system-logos
Obsoletes: anaconda-images <= 10
@@ -69,6 +69,11 @@ rm -rf $RPM_BUILD_ROOT
/sbin/chkconfig --del reconfig >/dev/null 2>&1 || :
%changelog
+* Fri Sep 09 2005 Bill Nottingham <notting@redhat.com> 10.3.0.13-1
+- adapt to new X driver model in kudzu and associated rhpl changes
+- pcitable/modules.pcimap/modules.usbmap are no longer used in probing;
+ remove support for them and add modules.alias usage
+
* Wed Sep 07 2005 Paul Nasrat <pnasrat@redhat.com> 10.3.0.12-1
- yum backend selinux file_context
- Start using new kickstart code (clumens)
diff --git a/installclass.py b/installclass.py
index f36f4b686..212a68763 100644
--- a/installclass.py
+++ b/installclass.py
@@ -423,24 +423,16 @@ class BaseInstallClass:
id.xsetup.xhwstate.set_vsync(vsync)
id.xsetup.xhwstate.recalc_mode()
- def setVideoCard(self, id, server = None, card = None, videoRam = None):
- # oh suck. if on ppc, bail because nothing other than fbdev is
- # going to work all that well
- if iutil.getArch() == "ppc":
- return
+ def setVideoCard(self, id, driver = None, videoRam = None):
primary = id.videocard.primaryCard()
- if card:
- db = id.videocard.cardsDB()
- if db.has_key(card):
- vcdata = db[card]
- primary.setCardData(vcdata)
- primary.setDevID(vcdata["NAME"])
- primary.setDescription(vcdata["NAME"])
-
- id.xsetup.xhwstate.set_videocard_name(vcdata["NAME"])
- id.xsetup.xhwstate.set_videocard_card(vcdata["NAME"])
+ if driver:
+ db = rhpl.videocard.drivers
+ if db.has_key(driver):
+ primary.setDriver(driver)
+ id.xsetup.xhwstate.set_videocard_name(primary.getDescription())
+ id.xsetup.xhwstate.set_videocard_driver(driver)
else:
raise RuntimeError, "Unknown videocard specified: %s" %(card,)
@@ -449,12 +441,9 @@ class BaseInstallClass:
id.videocard.primaryCard().setVideoRam(str(videoRam))
id.xsetup.xhwstate.set_videocard_ram(int(videoRam))
- if server is not None:
- log.error("unable to really do anything with server right now")
-
- def configureX(self, id, server = None, card = None, videoRam = None, monitorName = None, hsync = None, vsync = None, resolution = None, depth = None, noProbe = 0, startX = 0):
- self.setVideoCard(id, server, card, videoRam)
+ def configureX(self, id, driver = None, videoRam = None, monitorName = None, hsync = None, vsync = None, resolution = None, depth = None, noProbe = 0, startX = 0):
+ self.setVideoCard(id, driver, videoRam)
self.setMonitor(id, hsync, vsync, monitorName)
if startX:
diff --git a/kickstart.py b/kickstart.py
index 644753d25..0202765ba 100644
--- a/kickstart.py
+++ b/kickstart.py
@@ -483,7 +483,7 @@ class AnacondaKSHandlers(KickstartHandlers):
KickstartHandlers.doXConfig(self, args)
dict = self.ksdata.xconfig
- id.instClass.configureX(id, dict["server"], dict["card"],
+ id.instClass.configureX(id, dict["driver"],
dict["videoRam"], dict["monitor"],
dict["hsync"], dict["vsync"],
dict["resolution"], dict["depth"],
diff --git a/kickstartData.py b/kickstartData.py
index d10d11b94..4e7bcbcaf 100644
--- a/kickstartData.py
+++ b/kickstartData.py
@@ -41,9 +41,9 @@ class KickstartData:
self.timezone = {"isUtc": False, "timezone": ""}
self.upgrade = False
self.vnc = {"enabled": False, "password": "", "host": "", "port": ""}
- self.xconfig = {"card": "", "defaultdesktop": "", "depth": 0,
+ self.xconfig = {"driver": "", "defaultdesktop": "", "depth": 0,
"hsync": "", "monitor": "", "probe": True,
- "resolution": "", "server": "", "startX": False,
+ "resolution": "", "startX": False,
"videoRam": "", "vsync": ""}
self.zerombr = False
self.zfcp = {"devnum": "", "fcplun": "", "scsiid": "", "scsilun": "",
diff --git a/kickstartParser.py b/kickstartParser.py
index a32bb55f6..4c367e350 100644
--- a/kickstartParser.py
+++ b/kickstartParser.py
@@ -591,7 +591,7 @@ class KickstartHandlers:
def doXConfig(self, args):
op = KSOptionParser()
- op.add_option("--card", dest="card")
+ op.add_option("--driver", dest="driver")
op.add_option("--defaultdesktop", dest="defaultdesktop")
op.add_option("--depth", dest="depth", action="store", type="int",
nargs=1)
@@ -600,7 +600,6 @@ class KickstartHandlers:
op.add_option("--noprobe", dest="probe", action="store_false",
default=True)
op.add_option("--resolution", dest="resolution")
- op.add_option("--server", dest="server")
op.add_option("--startxonboot", dest="startX", action="store_true",
default=False)
op.add_option("--videoram", dest="videoRam")
diff --git a/packages.py b/packages.py
index 6cb9e0d42..6efbbf5cc 100644
--- a/packages.py
+++ b/packages.py
@@ -119,8 +119,8 @@ def writeXConfiguration(id, instPath):
if id.xsetup.skipx:
return
- xserver = id.videocard.primaryCard().getXServer()
- if not xserver:
+ card = id.videocard.primaryCard()
+ if not card:
return
log.info("Writing X configuration")
diff --git a/scripts/mk-images b/scripts/mk-images
index 476a64ed7..808c7ec44 100755
--- a/scripts/mk-images
+++ b/scripts/mk-images
@@ -42,8 +42,7 @@ TOPDIR=$(cd $TOPDIR; pwd)
IMGPATH=$4
KERNELBASE=/tmp/updboot.kernel.$$
MODDEPS=$KERNELBASE/moddeps
- MODMAPS=$KERNELBASE/modules.pcimap
- USBMAPS=$KERNELBASE/modules.usbmap
+ MODALIAS=$KERNELBASE/modules.alias
BUILDARCH=$5
KERNELNAME=vmlinuz
@@ -93,10 +92,8 @@ TOPDIR=$(cd $TOPDIR; pwd)
mkdir -p $INSTIMGPATH
# Stuff that we need
- TRIMPCITABLE=$IMGPATH/usr/lib/anaconda-runtime/trimpcitable
- TRIMMODMAP=$IMGPATH/usr/lib/anaconda-runtime/trimmodmap
+ TRIMMODALIAS=$IMGPATH/usr/lib/anaconda-runtime/trimmodalias
TRIMPCIIDS=$IMGPATH/usr/lib/anaconda-runtime/trimpciids
- TRIMUSBMAP=$IMGPATH/usr/lib/anaconda-runtime/trimusbmap
GETKEYMAPS=$IMGPATH/usr/lib/anaconda-runtime/getkeymaps
KEYMAPS=/tmp/keymaps-$BUILDARCH.$$
SCREENFONT=$IMGPATH/usr/lib/anaconda-runtime/screenfont-${BASEARCH}.gz
@@ -107,15 +104,15 @@ TOPDIR=$(cd $TOPDIR; pwd)
LOADERBINDIR=$IMGPATH/usr/lib/anaconda-runtime/loader
BOOTDISKDIR=$IMGPATH/usr/lib/anaconda-runtime/boot
LANGTABLE=$IMGPATH/usr/lib/anaconda/lang-table
- PCITABLE=$IMGPATH/usr/share/hwdata/pcitable
PCIIDS=$IMGPATH/usr/share/hwdata/pci.ids
+ XDRIVERS=$IMGPATH=/usr/share/hwdata/videoaliases
CACHE=$KERNELBASE/.cache
MODULESUSED=$KERNELBASE/modules-used
touch $MODULESUSED
- REQUIREMENTS="$TRIMPCITABLE $TRIMMODMAP $TRIMPCIIDS $PCITABLE $PCIIDS $GETMODDEPS $MODINFO
- $FILTERMODDEPS $LANGTABLE $GETKEYMAPS $TRIMUSBMAP"
+ REQUIREMENTS="$TRIMMODALIAS $TRIMPCIIDS $PCIIDS $XDRIVERS $GETMODDEPS $MODINFO
+ $FILTERMODDEPS $LANGTABLE $GETKEYMAPS"
dieLater=
for n in $REQUIREMENTS; do
@@ -181,8 +178,7 @@ rundepmod () {
$FAKEARCH /sbin/depmod -a -F $KERNELROOT/boot/System.map-$version \
-b $KERNELROOT $version
- mv $KERNELROOT/lib/modules/$version/modules.pcimap $MODMAPS
- mv $KERNELROOT/lib/modules/$version/modules.usbmap $USBMAPS
+ mv $KERNELROOT/lib/modules/$version/modules.alias $MODALIAS
cat $KERNELROOT/lib/modules/$version/modules.dep | $FILTERMODDEPS > $final
}
@@ -300,7 +296,7 @@ makemoduleball() {
MMB_DIR=$1
MMB_MODULESET=$(resdeps $2)
- rm -rf $MMB_DIR/modules $MMB_DIR/$MMB_NAME $MMB_DIR/modules.dep \
+ rm -rf $MMB_DIR/modules $MMB_DIR/$MMB_NAME $MMB_DIR/modules.dep $MMB_DIR/modules.alias \
$MMB_DIR/modules.pcimap $MMB_DIR/pcitable $MMB_DIR/$MMB_MODINFO \
$MMB_DIR/pci.ids
mkdir -p $MMB_DIR/modules
@@ -314,21 +310,12 @@ makemoduleball() {
getmoddeps "$(find . -name *.ko)" ../modules.dep
- # create the pcitable
- $TRIMPCITABLE ignore $(find . -name *.ko -exec basename {} \;) < $PCITABLE > ../pcitable
+ # create the modules.alias file
+ $TRIMMODALIAS $(find . -name *.ko -exec basename {} \;) < $MODALAIS > ../modules.alias
- # create the modules.pcimap
- $TRIMMODMAP $PCITABLE $(find . -name *.ko -exec basename {} \;) < $MODMAPS > ../modules.pcimap
-
- # create the modules.usbmap
- $TRIMUSBMAP $(find . -name *.ko -exec basename {} \;) < $USBMAPS > ../modules.usbmap
- # remove a zero-byte modules.usbmap
- if [ "$(ls -s ../modules.usbmap |cut -f 1 -d ' ')" = "0" ]; then
- rm -f ../modules.usbmap
- fi
- # create the pci.ids
+ # create the pci.ids, from modules.alias and the X driver aliases
awk '!/^(\t\t|#)/ { print ;if ($0 == "ffff Illegal Vendor ID") nextfile; }' < $PCIIDS | \
- $TRIMPCIIDS ../pcitable ../modules.pcimap > ../pci.ids
+ $TRIMPCIIDS ../modules.alias $XDRIVERS > ../pci.ids
if [ -n "$MMB_DD" ]; then
echo $MMB_DD > $MMB_DIR/rhdd
diff --git a/scripts/upd-instroot b/scripts/upd-instroot
index e919888a0..fdd65a8d7 100755
--- a/scripts/upd-instroot
+++ b/scripts/upd-instroot
@@ -420,9 +420,8 @@ usr/share/terminfo/b/bterm
usr/share/terminfo/l/linux
usr/share/terminfo/v/vt100
usr/share/terminfo/v/vt100-nav
-usr/share/hwdata/pcitable
usr/share/hwdata/pci.ids
-usr/share/hwdata/Cards
+usr/share/hwdata/videoaliases
usr/share/hwdata/MonitorsDB
usr/share/rhpl/extramodes
usr/share/rhpl/vesamodes
@@ -1257,9 +1256,4 @@ if [ "$ARCH" != "s390" -a "$ARCH" != "s390x" ]; then
rm -rf $DESTGR/usr/X11R6/lib/X11/xkb/compiled
ln -s /tmp $DESTGR/usr/X11R6/lib/X11/xkb/compiled
fi
-
- if [ -n "$NEEDGR" ]; then
- cd $ORIGDIR
- $DESTGR/usr/lib/anaconda-runtime/checkcards.py $DESTGR/usr/share/hwdata/pcitable $DESTGR/usr/share/hwdata/Cards
- fi
fi
diff --git a/utils/checkcards.py b/utils/checkcards.py
deleted file mode 100755
index 6ac81755b..000000000
--- a/utils/checkcards.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/python
-import sys
-import string
-
-def usage():
- print "Usage: checkcards.py [pcitable] [Cards]"
-
-if len(sys.argv) < 2:
- usage ()
- sys.exit (1)
-
-pcifile = sys.argv[1]
-cardsfile = sys.argv[2]
-
-def getcards (cardsfile):
- cards = {}
- db = open (cardsfile)
- lines = db.readlines ()
- db.close ()
- card = {}
- name = None
- for line in lines:
- line = string.strip (line)
- if not line and name:
- cards[name] = card
- card = {}
- name = None
- continue
-
- if line and line[0] == '#':
- continue
-
- if len (line) > 4 and line[0:4] == 'NAME':
- name = line[5:]
-
- info = string.splitfields (line, ' ')
- if card.has_key (info[0]):
- card[info[0]] = card[info[0]] + '\n' + (string.joinfields (info[1:], ' '))
- else:
- card[info[0]] = string.joinfields (info[1:], ' ')
-
- return cards
-
-pcitable = open (pcifile, 'r')
-lines = pcitable.readlines()
-cards = []
-for line in lines:
- if line[0] == '#':
- continue
- fields = string.split(line, '\t')
- if len (fields) < 4:
- continue
- card = fields[2]
- if card[1:6] == "Card:":
- cards.append (card[6:-1])
-
-carddb = getcards (cardsfile)
-
-rc = 0
-for card in cards:
- if not carddb.has_key(card):
- print "*** pcitable error *** Card not found:", card
- rc = 1
-
-sys.exit(rc)
-
diff --git a/utils/trimmodalias b/utils/trimmodalias
new file mode 100755
index 000000000..f8dad21f0
--- /dev/null
+++ b/utils/trimmodalias
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+
+import os
+import sys
+import string
+
+modules = []
+
+args = sys.argv[1:]
+
+for arg in args:
+ arg = os.path.basename(arg)
+ arg = arg.replace('.ko','')
+ modules.append(arg)
+
+f = sys.stdin.readline()
+
+while f:
+ f = f.strip()
+ for mod in modules:
+ if f.endswith(' %s' % (mod,)):
+ print f
+ f = sys.stdin.readline()
diff --git a/utils/trimmodmap b/utils/trimmodmap
deleted file mode 100644
index 0d87114c8..000000000
--- a/utils/trimmodmap
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/perl
-
-open (F, $ARGV[0]);
-@ents = (<F>);
-close (F);
-
-shift @ARGV;
-
-foreach $n (@ARGV) {
- $n =~ s/\.ko$//;
- $mods{"$n"} = $n;
-}
-
-
-while (<STDIN>) {
- chop;
- $line = $_;
- s/0x0000/0x/g;
- @a = split;
- if ($mods{$a[0]}) {
- if ($a[1] ne "0xffffffff" && $a[2] ne "0xffffffff") {
- if ($a[3] eq "0xffffffff" && $a[4] eq "0xffffffff") {
- @res = grep (/^$a[1]\t$a[2]\t"$a[0]"/, @ents);
- if (length(@res) != 0 && ! $res[0]) {
- print $line."\n";
- }
- } else {
- @res = grep (/^$a[1]\t$a[2]\t"$a[0]"/, @ents);
- if ($res[0]) {
- @b = split "\t",$res[0];
- if ($b[2] ne "\"$a[0]\"") {
- print $line."\n";
- }
- } else {
- @res = grep (/^$a[1]\t$a[2]\t$a[3]\t$a[4]\t"$a[0]"/, @ents);
- if (!$res[0]) {
- print $line."\n";
- }
- }
- }
- }
- }
-}
diff --git a/utils/trimpciids b/utils/trimpciids
index 3274dc2cf..2d177acc7 100755
--- a/utils/trimpciids
+++ b/utils/trimpciids
@@ -12,27 +12,28 @@ if f:
pcitable = f.readlines()
f.close()
for line in pcitable:
- if not line.startswith("0x"):
+ if not line.startswith("alias pci:"):
continue
- fields = line.split('\t')
- if fields[0] not in vendors:
- vendors.append(fields[0])
- if (fields[0], fields[1]) not in devices:
- devices.append( (fields[0],fields[1]))
+ vend = "0x%s" % (line[15:19],)
+ dev = "0x%s" % (line[24:28],)
+ if vend not in vendors:
+ vendors.append(vend)
+ if (vend, dev) not in devices:
+ devices.append( (vend, dev) )
+
f = open(sys.argv[2])
if f:
- pcimap = f.readlines()
+ pcitable = f.readlines()
f.close()
- for line in pcimap:
- if line.startswith("#"):
+ for line in pcitable:
+ if not line.startswith("alias pcivideo:"):
continue
- ( trash, vend, dev, trash, trash, trash , trash, trash ) = line.split()
- vend = vend.replace("0x0000","0x",1)
- dev = dev.replace("0x0000","0x",1)
+ vend = "0x%s" % (line[20:24],)
+ dev = "0x%s" % (line[29:33],)
if vend not in vendors:
vendors.append(vend)
- if (vend,dev) not in devices:
- devices.append( (vend, dev))
+ if (vend, dev) not in devices:
+ devices.append( (vend, dev) )
pciids = sys.stdin.readlines()
current_vend = 0
diff --git a/utils/trimpcitable b/utils/trimpcitable
deleted file mode 100755
index c2cbe425e..000000000
--- a/utils/trimpcitable
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/perl
-
-foreach $n (@ARGV) {
- $n =~ s/\.ko$//;
- $mods{"\"$n\""} = $n;
-}
-
-while (<STDIN>) {
- chop;
- @a = split;
- if ($mods{$a[2]} || $mods{$a[4]}) {
- print "$_\n";
- } elsif ($_ =~ /Card:Intel.*81[05]/) {
- print "$_\n";
- } elsif ($a[4] =~ /\"ignore\"/) {
- print "$_\n";
- } elsif ($a[4] =~ /\"unknown\"/) {
- print "$_\n";
- }
-
-}
diff --git a/utils/trimusbmap b/utils/trimusbmap
deleted file mode 100755
index ece40a705..000000000
--- a/utils/trimusbmap
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/perl
-
-foreach $n (@ARGV) {
- $n =~ s/\.ko$//;
- $mods{"$n"} = $n;
-}
-
-
-while (<STDIN>) {
- chop;
- $line = $_;
- @a = split;
- if ($mods{$a[0]}) {
- print $line."\n";
- }
-}
diff --git a/xsetup.py b/xsetup.py
index b1a0d603d..96847b08c 100644
--- a/xsetup.py
+++ b/xsetup.py
@@ -93,7 +93,7 @@ class XSetup:
monitor = self.xhwstate.monitor
vc = self.xhwstate.videocard
- args = args + [ "--card", '"' + vc.primaryCard().shortDescription() + '"' ]
+ args = args + [ "--driver", '"' + vc.primaryCard().getDriver() + '"' ]
vram = vc.primaryCard().getVideoRam()
if vram is not None:
args = args + [ "--videoram", vram]