diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-12-25 18:51:06 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-12-25 18:51:06 +0000 |
commit | 5145c0af57a6220fa3200152c3296717c8d56919 (patch) | |
tree | f2ef997ce16ccee6ce54c962655c7ad67da2dbcc /x11-base | |
parent | remove (diff) | |
download | gentoo-2-5145c0af57a6220fa3200152c3296717c8d56919.tar.gz gentoo-2-5145c0af57a6220fa3200152c3296717c8d56919.tar.bz2 gentoo-2-5145c0af57a6220fa3200152c3296717c8d56919.zip |
misc fixes
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xfree/ChangeLog | 19 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.1-r2/Xsession | 2 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.1-r2/startDM.sh | 6 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.1-r2/xfs.config | 1 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.1-r2/xfs.start | 160 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.99.3-r1/Xsession | 2 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.99.3-r1/startDM.sh | 6 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.99.3-r1/xfs.config | 1 | ||||
-rw-r--r-- | x11-base/xfree/files/4.2.99.3-r1/xfs.start | 136 |
9 files changed, 231 insertions, 102 deletions
diff --git a/x11-base/xfree/ChangeLog b/x11-base/xfree/ChangeLog index 7f2ab16bb7ac..3cb13de12774 100644 --- a/x11-base/xfree/ChangeLog +++ b/x11-base/xfree/ChangeLog @@ -1,6 +1,23 @@ # ChangeLog for x11-base/xfree # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.77 2002/12/24 18:44:25 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.78 2002/12/25 18:51:05 azarah Exp $ + + 25 Dec 2002; Martin Schlemmer <azarah@gentoo.org> xfs.start, xfs.config, + Xsession : + + Changes to xfs.start of xfree-4.2.1-r2: + - Update to that of xfree-4.2.99.3-r1 where we only run fc-cache if + something changed. + Changes to xfs.start of xfree-4.2.1-r2 and xfree-4.2.99.3-r1: + - Replace some code for xfs.start with awk versions to increase speed. + - Fix a bug where it did not drop duplicate font directories. + - Also consider changes to fonts.scale and encodings.dir as reason to + re-index that font directory. + Changes to xfs.config of xfree-4.2.1-r2 and xfree-4.2.99.3-r1: + - Remove a duplicate font directory entry. + Changes to Xsession of xfree-4.2.1-r2 and xfree-4.2.99.3-r1: + - Change the shell to '/bin/bash --login' to at least for xdm fix + the environment problem. 24 Dec 2002; Martin Schlemmer <azarah@gentoo.org> xfree-4.2.1-r2.ebuild, xfree-4.2.99.3-r1.ebuild : diff --git a/x11-base/xfree/files/4.2.1-r2/Xsession b/x11-base/xfree/files/4.2.1-r2/Xsession index fd9fe83e2cde..ffeef4c87420 100644 --- a/x11-base/xfree/files/4.2.1-r2/Xsession +++ b/x11-base/xfree/files/4.2.1-r2/Xsession @@ -1,4 +1,4 @@ -#!/bin/sh --login +#!/bin/bash --login # # $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $ # diff --git a/x11-base/xfree/files/4.2.1-r2/startDM.sh b/x11-base/xfree/files/4.2.1-r2/startDM.sh index 0b1710e4e53d..a70074ae0e41 100644 --- a/x11-base/xfree/files/4.2.1-r2/startDM.sh +++ b/x11-base/xfree/files/4.2.1-r2/startDM.sh @@ -2,7 +2,7 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.1-r2/startDM.sh,v 1.1 2002/12/05 22:35:11 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.1-r2/startDM.sh,v 1.2 2002/12/25 18:51:06 azarah Exp $ source /etc/init.d/functions.sh @@ -10,6 +10,10 @@ source /etc/init.d/functions.sh # bug #10190. source /etc/profile +# Great new Gnome2 feature, AA +# We enable this by default +export GDK_USE_XFT=1 + if [ -e ${svcdir}/options/xdm/service ] then retval=0 diff --git a/x11-base/xfree/files/4.2.1-r2/xfs.config b/x11-base/xfree/files/4.2.1-r2/xfs.config index feed6319bd88..e594a25183eb 100644 --- a/x11-base/xfree/files/4.2.1-r2/xfs.config +++ b/x11-base/xfree/files/4.2.1-r2/xfs.config @@ -26,7 +26,6 @@ catalogue = /usr/X11R6/lib/X11/fonts/75dpi, /usr/X11R6/lib/X11/fonts/Speedo, /usr/X11R6/lib/X11/fonts/CID, /usr/X11R6/lib/X11/fonts/util, - /usr/X11R6/lib/X11/fonts/Type1, /usr/X11R6/lib/X11/fonts/local, /usr/X11R6/lib/X11/fonts/Speedo, /usr/X11R6/lib/X11/fonts/truetype, diff --git a/x11-base/xfree/files/4.2.1-r2/xfs.start b/x11-base/xfree/files/4.2.1-r2/xfs.start index f0f900a15348..bb905023da40 100644 --- a/x11-base/xfree/files/4.2.1-r2/xfs.start +++ b/x11-base/xfree/files/4.2.1-r2/xfs.start @@ -2,7 +2,7 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.1-r2/xfs.start,v 1.1 2002/12/05 22:35:11 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.1-r2/xfs.start,v 1.2 2002/12/25 18:51:06 azarah Exp $ #NB: Config is in /etc/conf.d/xfs @@ -32,10 +32,8 @@ check_changed() { fi # Create a list of all non known config files in the font dir - fontlist="$(find $1/ -type f -maxdepth 1)" - fontlist="$(echo "${fontlist}" | egrep -v 'fonts\..*')" - fontlist="$(echo "${fontlist}" | egrep -v '*.\.dir')" - fontlist="$(echo "${fontlist}" | egrep -v 'XftCache')" + fontlist="$(find $1/ -type f -maxdepth 1 | \ + gawk '$0 !~ /fonts\..*$|^.*\.dir$|XftCache/ {print}')" if [ ! -f $1/fonts.list ] then @@ -74,11 +72,13 @@ check_changed() { if [ "${retval}" -ne 0 ] then local changed_list="" - - changed_list="$(find $1 -type f -cnewer $1/fonts.dir)" - changed_list="$(echo "${changed_list}" | egrep -v 'fonts\..*')" - changed_list="$(echo "${changed_list}" | egrep -v '*.\.dir')" - changed_list="$(echo "${changed_list}" | egrep -v 'XftCache')" + +# It should be more consistant if we consider a change to fonts.scale, or +# encodings.dir files as a need for an update as well ... +# changed_list="$(find $1/ -type f -cnewer $1/fonts.dir | \ +# gawk '$0 !~ /fonts\..*$|^.*\.dir$|XftCache/ {print}')" + changed_list="$(find $1/ -type f -cnewer $1/fonts.dir | \ + gawk '$0 !~ /fonts\.(list|cache-1)$|XftCache/ {print}')" if [ -n "${changed_list}" ] then @@ -99,62 +99,105 @@ check_changed() { return 1 } -# This is a brain dead function to extract font dirs from +# This is a function to extract font dirs from # the xfs config file (/etc/X11/fs/config). get_fontdir_list() { - local dowrite=1 - - set -f + [ ! -r /etc/X11/fs/config ] && return 0 - (awk '!/^#|^\t+#/ { print $0 }' /etc/X11/fs/config) | while read line - do - if [ "${line/catalogue}" != "${line}" ] - then - dowrite=0; - fi - - if [ "${dowrite}" -eq 0 ] - then - # Do not print the 'catalogue = ' bit, or any ',' - echo "${line/catalogue*=}" | sed -e 's:,::g' - - if [ "$(echo ${line} | sed -e 's:,::g')" = "${line}" ] - then - dowrite=1 - fi - fi - done + gawk ' + BEGIN { + + while((getline xfsconf_data < ("/etc/X11/fs/config")) > 0) { + + # Strip any comments + if (xfsconf_data !~ /^[[:space:]]*#/) { + + # Dont bother if its a blank line + if (xfsconf_data == "") continue + + # If we have a line that contain 'catalogue=', we + # should be where the list of font dirs are + if (xfsconf_data ~ /catalogue[[:space:]]*=/) + DO_WRITE = 1 + + # Ok, we got our que, so start + if (DO_WRITE) { + + # Strip any leading spaces and tabs + sub(/^[[:space:]]*/, "", xfsconf_data) + # Strip the 'catalogue=' part + sub(/catalogue[[:space:]]*=[[:space:]]*/, "", xfsconf_data) + + # The last font dir will not have a ',', so this will + # be the last line we read ... + if (xfsconf_data !~ /,$/) { + + DO_WRITE = 0 + DONE = 1 + } + + # Strip the ending ',' ... + sub(/,$/, "", xfsconf_data) + + # If we have a valid font path, print it + if (xfsconf_data != "") { + + have_dup = 0 + + # Check for duplicates ... + for (x in DIRLIST) + if (DIRLIST[x] == xfsconf_data) { - set +f + have_dup = 1 + break + } + + if (!have_dup) { + print xfsconf_data + DIRLIST[++i] = xfsconf_data + } + } + } + + # No need to continue reading the file ... + if (DONE) break + } + } + + close("/etc/X11/fs/config") + }' + + return 0 } # This is the main beast for setting up the font dirs setup_font_dirs() { local x="" local pending_fontdirs="" + local changed="no" umask 022 - # While we at it, update fontconfig's cache as well - if [ -x /usr/bin/fc-cache ] + if [ ! -x /usr/X11R6/bin/mkfontdir -o ! -x /usr/X11R6/bin/ttmkfdir ] then - ebegin "Updating FC cache" - /usr/bin/fc-cache - eend 0 + ewarn "Could not find the mkfontdir or ttmkfdir binaries!" + return 0 fi - if [ ! -x /usr/X11R6/bin/mkfontdir -o ! -x /usr/X11R6/bin/ttmkfdir ] + if [ ! -d /usr/X11R6/lib/X11/fonts/encodings ] then - ewarn "Could not find mkfontdir or ttmkfdir binary!" + ewarn "Encodings directory are missing!" + ewarn "Please restore /usr/X11R6/lib/X11/fonts/encodings ..." return 0 fi - + + # Generate the encodings.dir ... /usr/X11R6/bin/mkfontdir -n \ -e /usr/X11R6/lib/X11/fonts/encodings \ -e /usr/X11R6/lib/X11/fonts/encodings/large \ -- /usr/X11R6/lib/X11/fonts/encodings - - ebegin "Scanning font dirs" + + ebegin "Scanning font directories" for x in $(get_fontdir_list) do if test -d ${x} && check_changed ${x} @@ -171,37 +214,48 @@ setup_font_dirs() { if [ -n "${pending_fontdirs}" ] then - ebegin "Indexing font dirs" + ebegin "Indexing font directories" for x in ${pending_fontdirs} do ebegin " ${x}" - # Only generate .scale files if there are - # truetype fonts present ... + + # Only generate .scale files if there are truetype fonts present ... if [ "${x/encodings}" = "${x}" -a \ - -n "$(find ${x} -iname '*.tt[cf]' -print)" ] + -n "$(find ${x} -iname '*.[otps][pft][cfad]' -print)" ] then - /usr/X11R6/bin/ttmkfdir \ + /usr/X11R6/bin/ttmkfdir -x 2 \ -e /usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ - -o ${x}/fonts.scale -d ${x} &> /dev/null + -o ${x}/fonts.scale -d ${x} > /dev/null fi - + + # Now generate fonts.dir files ... if [ "${x/encodings}" = "${x}" ] then /usr/X11R6/bin/mkfontdir \ -e /usr/X11R6/lib/X11/fonts/encodings \ -e /usr/X11R6/lib/X11/fonts/encodings/large \ - -- ${x} &> /dev/null + -- ${x} > /dev/null fi if [ "${x/encodings}" = "${x}" -a -x /usr/X11R6/bin/xftcache ] && \ - [ -n "$(find ${x} -iname '*.tt[cf]' -print)" -o \ - -n "$(find ${x} -iname '*.pf[ab]' -print)" ] + [ -n "$(find ${x} -iname '*.[otps][pft][cfad]' -print)" ] then + # xftcache is broken, but run it anyhow ... /usr/X11R6/bin/xftcache ${x} &> /dev/null fi eend 0 + + changed="yes" done fi + + # While we at it, update fontconfig's cache as well + if [ -x /usr/bin/fc-cache -a "${changed}" = "yes" ] + then + ebegin "Updating FC cache" + HOME="/root" /usr/bin/fc-cache -f + eend 0 + fi } start() { diff --git a/x11-base/xfree/files/4.2.99.3-r1/Xsession b/x11-base/xfree/files/4.2.99.3-r1/Xsession index fd9fe83e2cde..ffeef4c87420 100644 --- a/x11-base/xfree/files/4.2.99.3-r1/Xsession +++ b/x11-base/xfree/files/4.2.99.3-r1/Xsession @@ -1,4 +1,4 @@ -#!/bin/sh --login +#!/bin/bash --login # # $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $ # diff --git a/x11-base/xfree/files/4.2.99.3-r1/startDM.sh b/x11-base/xfree/files/4.2.99.3-r1/startDM.sh index 18235dfc8065..b6b62e286c16 100644 --- a/x11-base/xfree/files/4.2.99.3-r1/startDM.sh +++ b/x11-base/xfree/files/4.2.99.3-r1/startDM.sh @@ -2,7 +2,7 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3-r1/startDM.sh,v 1.1 2002/12/23 04:52:09 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3-r1/startDM.sh,v 1.2 2002/12/25 18:51:06 azarah Exp $ source /etc/init.d/functions.sh @@ -10,6 +10,10 @@ source /etc/init.d/functions.sh # bug #10190. source /etc/profile +# Great new Gnome2 feature, AA +# We enable this by default +export GDK_USE_XFT=1 + if [ -e ${svcdir}/options/xdm/service ] then retval=0 diff --git a/x11-base/xfree/files/4.2.99.3-r1/xfs.config b/x11-base/xfree/files/4.2.99.3-r1/xfs.config index feed6319bd88..e594a25183eb 100644 --- a/x11-base/xfree/files/4.2.99.3-r1/xfs.config +++ b/x11-base/xfree/files/4.2.99.3-r1/xfs.config @@ -26,7 +26,6 @@ catalogue = /usr/X11R6/lib/X11/fonts/75dpi, /usr/X11R6/lib/X11/fonts/Speedo, /usr/X11R6/lib/X11/fonts/CID, /usr/X11R6/lib/X11/fonts/util, - /usr/X11R6/lib/X11/fonts/Type1, /usr/X11R6/lib/X11/fonts/local, /usr/X11R6/lib/X11/fonts/Speedo, /usr/X11R6/lib/X11/fonts/truetype, diff --git a/x11-base/xfree/files/4.2.99.3-r1/xfs.start b/x11-base/xfree/files/4.2.99.3-r1/xfs.start index 1767b05ba61a..aac04614ca9b 100644 --- a/x11-base/xfree/files/4.2.99.3-r1/xfs.start +++ b/x11-base/xfree/files/4.2.99.3-r1/xfs.start @@ -2,7 +2,7 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Author: Martin Schlemmer <azarah@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3-r1/xfs.start,v 1.2 2002/12/24 18:44:25 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3-r1/xfs.start,v 1.3 2002/12/25 18:51:06 azarah Exp $ #NB: Config is in /etc/conf.d/xfs @@ -32,10 +32,8 @@ check_changed() { fi # Create a list of all non known config files in the font dir - fontlist="$(find $1/ -type f -maxdepth 1)" - fontlist="$(echo "${fontlist}" | egrep -v 'fonts\..*')" - fontlist="$(echo "${fontlist}" | egrep -v '*.\.dir')" - fontlist="$(echo "${fontlist}" | egrep -v 'XftCache')" + fontlist="$(find $1/ -type f -maxdepth 1 | \ + gawk '$0 !~ /fonts\..*$|^.*\.dir$|XftCache/ {print}')" if [ ! -f $1/fonts.list ] then @@ -74,11 +72,13 @@ check_changed() { if [ "${retval}" -ne 0 ] then local changed_list="" - - changed_list="$(find $1 -type f -cnewer $1/fonts.dir)" - changed_list="$(echo "${changed_list}" | egrep -v 'fonts\..*')" - changed_list="$(echo "${changed_list}" | egrep -v '*.\.dir')" - changed_list="$(echo "${changed_list}" | egrep -v 'XftCache')" + +# It should be more consistant if we consider a change to fonts.scale, or +# encodings.dir files as a need for an update as well ... +# changed_list="$(find $1/ -type f -cnewer $1/fonts.dir | \ +# gawk '$0 !~ /fonts\..*$|^.*\.dir$|XftCache/ {print}')" + changed_list="$(find $1/ -type f -cnewer $1/fonts.dir | \ + gawk '$0 !~ /fonts\.(list|cache-1)$|XftCache/ {print}')" if [ -n "${changed_list}" ] then @@ -99,33 +99,75 @@ check_changed() { return 1 } -# This is a brain dead function to extract font dirs from +# This is a function to extract font dirs from # the xfs config file (/etc/X11/fs/config). get_fontdir_list() { - local dowrite=1 - - set -f + [ ! -r /etc/X11/fs/config ] && return 0 - (awk '!/^#|^\t+#/ { print $0 }' /etc/X11/fs/config) | while read line - do - if [ "${line/catalogue}" != "${line}" ] - then - dowrite=0; - fi - - if [ "${dowrite}" -eq 0 ] - then - # Do not print the 'catalogue = ' bit, or any ',' - echo "${line/catalogue*=}" | sed -e 's:,::g' - - if [ "$(echo ${line} | sed -e 's:,::g')" = "${line}" ] - then - dowrite=1 - fi - fi - done + gawk ' + BEGIN { + + while((getline xfsconf_data < ("/etc/X11/fs/config")) > 0) { + + # Strip any comments + if (xfsconf_data !~ /^[[:space:]]*#/) { + + # Dont bother if its a blank line + if (xfsconf_data == "") continue + + # If we have a line that contain 'catalogue=', we + # should be where the list of font dirs are + if (xfsconf_data ~ /catalogue[[:space:]]*=/) + DO_WRITE = 1 + + # Ok, we got our que, so start + if (DO_WRITE) { - set +f + # Strip any leading spaces and tabs + sub(/^[[:space:]]*/, "", xfsconf_data) + # Strip the 'catalogue=' part + sub(/catalogue[[:space:]]*=[[:space:]]*/, "", xfsconf_data) + + # The last font dir will not have a ',', so this will + # be the last line we read ... + if (xfsconf_data !~ /,$/) { + + DO_WRITE = 0 + DONE = 1 + } + + # Strip the ending ',' ... + sub(/,$/, "", xfsconf_data) + + # If we have a valid font path, print it + if (xfsconf_data != "") { + + have_dup = 0 + + # Check for duplicates ... + for (x in DIRLIST) + if (DIRLIST[x] == xfsconf_data) { + + have_dup = 1 + break + } + + if (!have_dup) { + print xfsconf_data + DIRLIST[++i] = xfsconf_data + } + } + } + + # No need to continue reading the file ... + if (DONE) break + } + } + + close("/etc/X11/fs/config") + }' + + return 0 } # This is the main beast for setting up the font dirs @@ -138,16 +180,24 @@ setup_font_dirs() { if [ ! -x /usr/X11R6/bin/mkfontdir -o ! -x /usr/X11R6/bin/ttmkfdir ] then - ewarn "Could not find mkfontdir or ttmkfdir binary!" + ewarn "Could not find the mkfontdir or ttmkfdir binaries!" return 0 fi - + + if [ ! -d /usr/X11R6/lib/X11/fonts/encodings ] + then + ewarn "Encodings directory are missing!" + ewarn "Please restore /usr/X11R6/lib/X11/fonts/encodings ..." + return 0 + fi + + # Generate the encodings.dir ... /usr/X11R6/bin/mkfontdir -n \ -e /usr/X11R6/lib/X11/fonts/encodings \ -e /usr/X11R6/lib/X11/fonts/encodings/large \ -- /usr/X11R6/lib/X11/fonts/encodings - - ebegin "Scanning font dirs" + + ebegin "Scanning font directories" for x in $(get_fontdir_list) do if test -d ${x} && check_changed ${x} @@ -164,7 +214,7 @@ setup_font_dirs() { if [ -n "${pending_fontdirs}" ] then - ebegin "Indexing font dirs" + ebegin "Indexing font directories" for x in ${pending_fontdirs} do ebegin " ${x}" @@ -175,20 +225,22 @@ setup_font_dirs() { then /usr/X11R6/bin/ttmkfdir -x 2 \ -e /usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ - -o ${x}/fonts.scale -d ${x} &> /dev/null + -o ${x}/fonts.scale -d ${x} > /dev/null fi - + + # Now generate fonts.dir files ... if [ "${x/encodings}" = "${x}" ] then /usr/X11R6/bin/mkfontdir \ -e /usr/X11R6/lib/X11/fonts/encodings \ -e /usr/X11R6/lib/X11/fonts/encodings/large \ - -- ${x} &> /dev/null + -- ${x} > /dev/null fi if [ "${x/encodings}" = "${x}" -a -x /usr/X11R6/bin/xftcache ] && \ [ -n "$(find ${x} -iname '*.[otps][pft][cfad]' -print)" ] then + # xftcache is broken, but run it anyhow ... /usr/X11R6/bin/xftcache ${x} &> /dev/null fi eend 0 @@ -198,7 +250,7 @@ setup_font_dirs() { fi # While we at it, update fontconfig's cache as well - if [ -x /usr/bin/fc-cache -a "${changed}" == "yes" ] + if [ -x /usr/bin/fc-cache -a "${changed}" = "yes" ] then ebegin "Updating FC cache" HOME="/root" /usr/bin/fc-cache -f |