[PLUG] yum update, exclude single files?
Daniel Hedlund
daniel at digitree.org
Wed Mar 2 17:53:05 UTC 2011
On Wed, Mar 2, 2011 at 07:42, Keith Lofstrom <keithl at kl-ic.com> wrote:
> In this case, /etc/X11/xorg.conf . I am using the fglrx driver,
> which although closed source (sigh) is about 20x faster (glxgears)
> than the open source r500 driver for ATI graphics chips.
> The update package for x11 wants to update xorg.conf for me,
> and force me to use r500, bless its pointy little head.
The only pre/post install script I see that would get executed when
Xorg is upgraded via yum/rpm is in the xorg-x11-server-Xorg package.
The package includes code that could overwrite your xorg.conf file
with an older XF86Config* config file, but only if the permissions on
the xorg.conf file are messed up, specifically if it's modded 000 or
066 (an [ -r xorg.conf ] test would return false and trigger a
subsequent copy operation, see below):
$> rpm --scripts -qp
http://ftp.scientificlinux.org/linux/scientific/5x/i386/updates/fastbugs/xorg-x11-server-Xorg-1.1.1-48.76.el5_5.2.i386.rpm
warning: http://ftp.scientificlinux.org/linux/scientific/5x/i386/updates/fastbugs/xorg-x11-server-Xorg-1.1.1-48.76.el5_5.2.i386.rpm:
Header V3 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
preinstall scriptlet (using /bin/sh):
{
# Install/Upgrade section
pushd /etc/X11
# Migrate any pre-existing XFree86 4.x config file to xorg.conf if it
# doesn't already exist, and rename any remaining XFree86 4.x config files
# to have .obsoleted file extensions, to help avoid end user confusion for
# people unaware of the config file name change between server
# implementations, and avoid bug reports. If this turns out to confuse
# users, I can modify it to add comments to the top of the obsoleted files
# to point users to xorg.conf <mharris at redhat.com>
for configfile in XF86Config XF86Config-4 ; do
if [ -r $configfile ]; then
if [ -r xorg.conf ]; then
mv -f $configfile $configfile.obsoleted
else
mv -f $configfile xorg.conf
fi
fi
done
# Massage pre-existing config files to work properly with X.org X11
# - Remove xie and pex5 modules from the config files, as they are long
# since obsolete, and not provided since XFree86 4.2.0
# - Remove Option "XkbRules" "xfree86" to help work around upgrade problems
# such as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=120858
# for configfile in xorg.conf ; do
configfile="xorg.conf"
OLD_MODULEPATH="/usr/X11R6/lib/modules"
if [ -r $configfile -a -w $configfile ]; then
# Remove module load lines from the config file for obsolete modules
perl -p -i -e 's/^.*Load.*"(pex5|xie|xtt).*\n$"//gi' $configfile
# Change the keyboard configuration from the deprecated "keyboard"
# driver, to the newer "kbd" driver.
perl -p -i -e 's/^\s*Driver(.*)"keyboard"/Driver\1"kbd"/gi' $configfile
# Remove any Options "XkbRules" lines that may be present
perl -p -i -e
's/^.*Option.*"XkbRules".*"(xfree86|xorg)".*\n$//gi' $configfile
# Remove RgbPath specifications from the config file as they are
# unnecessary, and break upgrades from monolithic to modular X.
# Fixes bugs (#173036, 173435, 173453, 173428)
perl -p -i -e 's#^\s*RgbPath.*$##gi' $configfile
# If ModulePath is specified in the config file, check for the old
# monolithic module path, and replace it with the new one.
perl -p -i -e "m,^\s*ModulePath.*\"${OLD_MODULEPATH}\".*$,;
s,${OLD_MODULEPATH},/usr/lib/xorg/modules," $configfile
fi
# done
popd
} &> /dev/null || :
Cheers,
Daniel Hedlund
daniel at digitree.org
More information about the PLUG
mailing list