[SM-Commit] GIT changes to master grimoire by Andraž Levstik (969d3e201a693f9ce72cac0fbeacaa3fb1eb9dfc)

Andraž Levstik scm at sourcemage.org
Mon Feb 9 08:41:54 EST 2009


GIT changes to master grimoire by Andraž Levstik <ruskie at codemages.net>:

 .glselect/ati-filelist                   |   11 -
 .glselect/mesa-filelist                  |   14 --
 .glselect/nvidia-filelist                |    9 -
 ChangeLog                                |    6 -
 glselect.function                        |  156 +++++++++++---------------
 smgl/smgl-gl_select/DETAILS              |    2 
 smgl/smgl-gl_select/HISTORY              |    5 
 smgl/smgl-gl_select/INSTALL              |    6 -
 smgl/smgl-gl_select/ati-filelist         |   11 -
 smgl/smgl-gl_select/mesa-filelist        |   14 --
 smgl/smgl-gl_select/nvidia-filelist      |    9 -
 smgl/smgl-gl_select/smgl-gl_select       |  184 ++++++++++++++++---------------
 xorg-xserver/xorg-server/HISTORY         |    1 
 xorg-xserver/xorg-server/gl_select.patch |   26 ----
 14 files changed, 180 insertions(+), 274 deletions(-)

New commits:
commit 30d1ea3dd275e0a6cf6ddc56a4e88d4d0dbef0d2
Author: Andraž 'ruskie' Levstik <ruskie at codemages.net>
Commit: Andraž 'ruskie' Levstik <ruskie at codemages.net>

    smgl-gl_select: updated to v2.0.1

commit c619770ff5c91679956caa670188c2fd77e09d08
Author: Andraž 'ruskie' Levstik <ruskie at codemages.net>
Commit: Andraž 'ruskie' Levstik <ruskie at codemages.net>

    glselect.function: updated

commit 43b7fb666f162e8365f2e68bd9c0f85d8cd440a5
Author: Andraž 'ruskie' Levstik <ruskie at codemages.net>
Commit: Andraž 'ruskie' Levstik <ruskie at codemages.net>

    smgl-gl_select: update to v2.0.0

commit 9319707a71efd2b0edb7cbc140d0ebfa022db362
Author: Andraž 'ruskie' Levstik <ruskie at codemages.net>
Commit: Andraž 'ruskie' Levstik <ruskie at codemages.net>

    glselect.function: updated to not need lists

commit f42c7122a9c5ce953a54780bc54ed0d573b314ba
Author: Andraž 'ruskie' Levstik <ruskie at codemages.net>
Commit: Andraž 'ruskie' Levstik <ruskie at codemages.net>

    xorg-server: libwfb is always on

diff --git a/.glselect/ati-filelist b/.glselect/ati-filelist
deleted file mode 100644
index 007df47..0000000
--- a/.glselect/ati-filelist
+++ /dev/null
@@ -1,11 +0,0 @@
-/usr/lib/ati/libGL.so
-/usr/lib/ati/libGL.so.1.2
-/usr/lib/xorg/modules/extensions/ati/libdri.so
-/usr/lib/xorg/modules/extensions/ati/libglx.so
-/usr/lib/xorg/modules/mesa/libwfb.la
-/usr/lib/xorg/modules/mesa/libwfb.so
-/usr/include/GL/mesa/gl.h
-/usr/include/GL/mesa/glext.h
-/usr/include/GL/mesa/glx.h
-/usr/include/GL/mesa/glxext.h
-
diff --git a/.glselect/mesa-filelist b/.glselect/mesa-filelist
deleted file mode 100644
index 3e0a4dc..0000000
--- a/.glselect/mesa-filelist
+++ /dev/null
@@ -1,14 +0,0 @@
-/usr/include/GL/mesa/gl.h
-/usr/include/GL/mesa/glext.h
-/usr/include/GL/mesa/glx.h
-/usr/include/GL/mesa/glxext.h
-/usr/lib/mesa/libGL.so
-/usr/lib/mesa/libGL.so.1
-/usr/lib/mesa/libGL.so.1.2
-/usr/lib/xorg/modules/extensions/mesa/libdri.la
-/usr/lib/xorg/modules/extensions/mesa/libdri.so
-/usr/lib/xorg/modules/extensions/mesa/libglx.la
-/usr/lib/xorg/modules/extensions/mesa/libglx.so
-/usr/lib/xorg/modules/mesa/libwfb.la
-/usr/lib/xorg/modules/mesa/libwfb.so
-
diff --git a/.glselect/nvidia-filelist b/.glselect/nvidia-filelist
deleted file mode 100644
index 9557cc0..0000000
--- a/.glselect/nvidia-filelist
+++ /dev/null
@@ -1,9 +0,0 @@
-/usr/include/GL/nvidia/gl.h
-/usr/include/GL/nvidia/glext.h
-/usr/include/GL/nvidia/glx.h
-/usr/include/GL/nvidia/glxext.h
-/usr/lib/nvidia/libGL.so
-/usr/lib/nvidia/libGL.so.1
-/usr/lib/xorg/modules/extensions/nvidia/libglx.so
-/usr/lib/xorg/modules/mesa/libwfb.so
-
diff --git a/ChangeLog b/ChangeLog
index 1b038f7..574b055 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,8 @@
 2009-02-09 Andraž "ruskie" Levstik <ruskie at mages.ath.cx>
-	* .glselect/{nvidia,ati,mesa}-filelist: added from gl_select
-	* glselect.function: gl_select as a function
+	* .glselect/{nvidia,ati,mesa}-filelist: added from gl_select, removed
+	* glselect.function: gl_select as a function, updated, updated
 	* FUNCTIONS: source glselect.function
-	* .glselect/nvidia-filelist: updated
+	* .glselect/nvidia-filelist: updated, removed
 
 2009-02-08 Julien "_kaze" ROZO <julien at rozo.org>
 	* graphics-libs/qzion: new spell, a canvas abstraction used by and
diff --git a/glselect.function b/glselect.function
index d075850..00690b8 100755
--- a/glselect.function
+++ b/glselect.function
@@ -10,116 +10,98 @@
 #---
 
 function glselect(){
-  # get all available GL providers
-  local gl_libs="$(ls -1 --color=none ${TRACK_ROOT}/usr/lib/*/libGL.so \
-                   | awk -F"/" '{print $4}' 2> /dev/null )"
-  # where to store the filelists
-  local gl_filelist_dir="$GRIMOIRE/.glselect"
-  local orig_file new_file
+  local file_list="
+                    /usr/lib/libGL.so
+                    /usr/lib/libGL.so.*
+                    /usr/lib/xorg/modules/extensions/libdri.la
+                    /usr/lib/xorg/modules/extensions/libdri.so
+                    /usr/lib/xorg/modules/extensions/libglx.la
+                    /usr/lib/xorg/modules/extensions/libglx.so*
+                    /usr/include/GL/gl.h
+                    /usr/include/GL/glext.h
+                    /usr/include/GL/glx.h
+                    /usr/include/GL/glxext.h
+                   "
+  local dir_list=( \
+                  "/usr/lib/ati" \
+                  "/usr/lib/nvidia" \
+                  "/usr/lib/mesa" \
+                  "/usr/include/GL/ati" \
+                  "/usr/include/GL/nvidia" \
+                  "/usr/include/GL/mesa" \
+                  "/usr/lib/xorg/modules/extensions/ati" \
+                  "/usr/lib/xorg/modules/extensions/nvidia" \
+                  "/usr/lib/xorg/modules/extensions/mesa" \
+                 )
+  local rm_file orig_dir
   local gl_lib=$1
-  if ! grep -q "$gl_lib" <<< "$gl_libs"
-  then
-    message "Error $gl_lib is not a valid GL Library"
-    exit 1
-  fi
   message "Selecting $gl_lib as the default system GL library"
   if [[ -L ${INSTALL_ROOT}/usr/lib/libGL.so ]] ||
      [[ ! -e ${INSTALL_ROOT}/usr/lib/libGL.so ]]
   then
     message "Cleaning all previous GL providers..."
-    for orig_file in $(grep "/ati" $gl_filelist_dir/ati-filelist)
+    for rm_file in $file_list
     do
-      new_file=${orig_file/\/ati}
-      rm -f $new_file
+      rm -f $rm_file
       echo -n "."
     done
     echo -n "."
-    orig_file=""
-    for orig_file in $(grep "/mesa" $gl_filelist_dir/mesa-filelist)
-    do
-      new_file=${orig_file/\/mesa}
-      rm -f $new_file
-      echo -n "."
-    done
-    echo -n "."
-    orig_file=""
-    for orig_file in $(grep "/nvidia" $gl_filelist_dir/nvidia-filelist)
-    do
-      new_file=${orig_file/\/nvidia}
-      rm -f $new_file
-      echo -n "."
-    done
-    orig_file=""
     echo ""
     message "Done."
     message "Setting up new GL provider $gl_lib..."
     case "$1" in
-       ati)
-            for orig_file in $(grep "/mesa" $gl_filelist_dir/ati-filelist)
-            do
-              new_file=${orig_file/\/mesa}
-              ln -sf ${INSTALL_ROOT}${orig_file} \
-                     ${INSTALL_ROOT}${new_file} 2>/dev/null
-              echo -n "."
-            done
-            orig_file=""
-            for orig_file in $(grep "/ati" $gl_filelist_dir/ati-filelist)
-            do
-              new_file=${orig_file/\/ati}
-              ln -sf ${INSTALL_ROOT}${orig_file} \
-                     ${INSTALL_ROOT}${new_file} 2>/dev/null
-              echo -n "."
-            done
-            ;;
-      mesa) 
-            for orig_file in $(cat $gl_filelist_dir/mesa-filelist)
-            do
-              new_file=${orig_file/\/mesa}
-              ln -sf ${INSTALL_ROOT}${orig_file} \
-                     ${INSTALL_ROOT}${new_file} 2>/dev/null
-              echo -n "."
-            done
-            ;;
-    nvidia) 
-            for orig_file in $(grep "/mesa" $gl_filelist_dir/nvidia-filelist)
-            do
-              new_file=${orig_file/\/mesa}
-              ln -sf ${INSTALL_ROOT}${orig_file} \
-                     ${INSTALL_ROOT}${new_file} 2>/dev/null
-              echo -n "."
-            done
-            orig_file=""
-            for orig_file in $(grep "/nvidia" $gl_filelist_dir/nvidia-filelist)
-            do
-              new_file=${orig_file/\/nvidia}
-              ln -sf ${INSTALL_ROOT}${orig_file} \
-                     ${INSTALL_ROOT}${new_file} 2>/dev/null
-              echo -n "."
-            done
-            ;;
-         *) message "Unknown secondary files so I only linked the libGL.so"
-            for orig_file in $(cat $gl_filelist_dir/mesa-filelist)
-            do
-              new_file=${orig_file/\/mesa}
-              ln -sf ${INSTALL_ROOT}${orig_file} \
-                     ${INSTALL_ROOT}${new_file} 2>/dev/null
-              echo -n "."
-            done
-            ln -fs ${INSTALL_ROOT}/usr/lib/$gl_lib/libGL.so* \
-                   ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
-            ;;
+   ati) 
+        [[ -e ${INSTALL_ROOT}${dir_list[0]}/libGL.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[0]}/* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[3]}/gl.h ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[3]}/* \
+               ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[6]}/libglx.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[6]}/* \
+               ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null
+        echo -n "."
+        ;;
+  mesa) 
+        [[ -e ${INSTALL_ROOT}${dir_list[2]}/libGL.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[2]}/* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[5]}/gl.h ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[5]}/* \
+               ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[8]}/libglx.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[8]}/* \
+               ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null
+        echo -n "."
+        ;;
+nvidia) 
+        [[ -e ${INSTALL_ROOT}${dir_list[1]}/libGL.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[1]}/* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[4]}/gl.h ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[4]}/* \
+               ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[7]}/libglx.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[7]}/* \
+               ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null
+        echo -n "."
+        ;;
+     *) message "Unknown secondary files so I only linked the libGL.so"
+        ln -fs ${INSTALL_ROOT}/usr/lib/$gl_lib/libGL.so* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        ;;
       esac
     echo -e "\nDone."
     message "You can manage the libGL providers at runtime by using"
     message "either smgl-gl_select or manually by symlinking the files"
     message "from their respective directories i.e.:"
     message "/usr/lib/[nvidia|ati|mesa]/libGL.so"
-    message "/usr/xorg/modules/extensions/[nvidia,ati,mesa]/lib{glx,dri}.so"
-    message "/usr/include/GL/[nvidia|mesa]/gl{x,xext,ext}.h"
+    message "/usr/lib/xorg/modules/extensions/[nvidia,ati,mesa]/lib{glx,dri}.so"
+    message "/usr/include/GL/[nvidia|ati|mesa]/gl{x,xext,ext}.h"
     message ""
     message "To:"
     message "/usr/lib/libGL.so"
-    message "/usr/xorg/modules/extensions/lib{glx,dri}.so"
+    message "/usr/lib/xorg/modules/extensions/lib{glx,dri}.so"
     message "/usr/include/GL/gl{x,xext,ext}.h"
     message ""
     return 0
diff --git a/smgl/smgl-gl_select/DETAILS b/smgl/smgl-gl_select/DETAILS
index b1d8514..96b58f1 100755
--- a/smgl/smgl-gl_select/DETAILS
+++ b/smgl/smgl-gl_select/DETAILS
@@ -1,5 +1,5 @@
            SPELL=smgl-gl_select
-         VERSION=1.0.3
+         VERSION=2.0.1
         WEB_SITE=http://www.sourcemage.org
          ENTERED=20061014
       LICENSE[0]=GPL
diff --git a/smgl/smgl-gl_select/HISTORY b/smgl/smgl-gl_select/HISTORY
index 5fc31ee..a1e2a1f 100644
--- a/smgl/smgl-gl_select/HISTORY
+++ b/smgl/smgl-gl_select/HISTORY
@@ -1,3 +1,8 @@
+2009-02-09 Andraž "ruskie" Levstik <ruskie at mages.ath.cx>
+	* smgl-gl_select: v2, rewrite, 2.0.1
+	* *-filelist: removed
+	* DETAILS: v2.0.0, v2.0.1
+
 2009-02-08 Andraž "ruskie" Levstik <ruskie at mages.ath.cx>
 	* ati-filelist: ati filelist
 	* gl_select: config file
diff --git a/smgl/smgl-gl_select/INSTALL b/smgl/smgl-gl_select/INSTALL
index 2c5409d..3890a78 100755
--- a/smgl/smgl-gl_select/INSTALL
+++ b/smgl/smgl-gl_select/INSTALL
@@ -1,6 +1,2 @@
 cp -v $SPELL_DIRECTORY/smgl-gl_select /usr/sbin  &&
-chmod +x $INSTALL_ROOT/usr/sbin/smgl-gl_select &&
-mkdir -vp $INSTALL_ROOT/usr/share/gl_select/ &&
-cp -v $SPELL_DIRECTORY/*-filelist $INSTALL_ROOT/usr/share/gl_select/ &&
-install_config_file $SPELL_DIRECTORY/gl_select \
-                    $INSTALL_ROOT/etc/sysconfig/gl_select
+chmod +x $INSTALL_ROOT/usr/sbin/smgl-gl_select
diff --git a/smgl/smgl-gl_select/ati-filelist b/smgl/smgl-gl_select/ati-filelist
deleted file mode 100644
index 007df47..0000000
--- a/smgl/smgl-gl_select/ati-filelist
+++ /dev/null
@@ -1,11 +0,0 @@
-/usr/lib/ati/libGL.so
-/usr/lib/ati/libGL.so.1.2
-/usr/lib/xorg/modules/extensions/ati/libdri.so
-/usr/lib/xorg/modules/extensions/ati/libglx.so
-/usr/lib/xorg/modules/mesa/libwfb.la
-/usr/lib/xorg/modules/mesa/libwfb.so
-/usr/include/GL/mesa/gl.h
-/usr/include/GL/mesa/glext.h
-/usr/include/GL/mesa/glx.h
-/usr/include/GL/mesa/glxext.h
-
diff --git a/smgl/smgl-gl_select/mesa-filelist b/smgl/smgl-gl_select/mesa-filelist
deleted file mode 100644
index 3e0a4dc..0000000
--- a/smgl/smgl-gl_select/mesa-filelist
+++ /dev/null
@@ -1,14 +0,0 @@
-/usr/include/GL/mesa/gl.h
-/usr/include/GL/mesa/glext.h
-/usr/include/GL/mesa/glx.h
-/usr/include/GL/mesa/glxext.h
-/usr/lib/mesa/libGL.so
-/usr/lib/mesa/libGL.so.1
-/usr/lib/mesa/libGL.so.1.2
-/usr/lib/xorg/modules/extensions/mesa/libdri.la
-/usr/lib/xorg/modules/extensions/mesa/libdri.so
-/usr/lib/xorg/modules/extensions/mesa/libglx.la
-/usr/lib/xorg/modules/extensions/mesa/libglx.so
-/usr/lib/xorg/modules/mesa/libwfb.la
-/usr/lib/xorg/modules/mesa/libwfb.so
-
diff --git a/smgl/smgl-gl_select/nvidia-filelist b/smgl/smgl-gl_select/nvidia-filelist
deleted file mode 100644
index 9557cc0..0000000
--- a/smgl/smgl-gl_select/nvidia-filelist
+++ /dev/null
@@ -1,9 +0,0 @@
-/usr/include/GL/nvidia/gl.h
-/usr/include/GL/nvidia/glext.h
-/usr/include/GL/nvidia/glx.h
-/usr/include/GL/nvidia/glxext.h
-/usr/lib/nvidia/libGL.so
-/usr/lib/nvidia/libGL.so.1
-/usr/lib/xorg/modules/extensions/nvidia/libglx.so
-/usr/lib/xorg/modules/mesa/libwfb.so
-
diff --git a/smgl/smgl-gl_select/smgl-gl_select b/smgl/smgl-gl_select/smgl-gl_select
index 7493d90..eb510b2 100755
--- a/smgl/smgl-gl_select/smgl-gl_select
+++ b/smgl/smgl-gl_select/smgl-gl_select
@@ -6,9 +6,8 @@
 # Minor - new GL provider added/removed
 # Point - bugfixes/filelist changes and so on
 #
-GL_SELECT_VERSION="1.0.1"
+GL_SELECT_VERSION="2.0.1"
 GL_LIBS="$(ls ${TRACK_ROOT}/usr/lib/*/libGL.so | awk -F"/" '{print $4}' 2> /dev/null )"
-GL_FILELIST_DIR="${TRACK_ROOT}/usr/share/gl_select/"
 . /etc/sysconfig/gl_select
 
 . /var/lib/sorcery/modules/libmedia
@@ -19,104 +18,117 @@ function message() {
 
 function gl_list() {
   message "Available GL Libraries on the system"
-  /bin/ls -1 --color=none ${TRACK_ROOT}/usr/lib/*/libGL.so \
+  ls -1 --color=none ${TRACK_ROOT}/usr/lib/*/libGL.so \
              | awk -F"/" '{print $4}' 2> /dev/null
   exit 0
 }
 
 function gl_pick() {
-  local i ii
   local gl_lib=$1
-  if ! grep -q "$gl_lib" <<< "$GL_LIBS"
-  then
-    message "Error $gl_lib is not a valid GL Library"
-    exit 1
-  fi
+  local file_list="
+                    /usr/lib/libGL.so
+                    /usr/lib/libGL.so.*
+                    /usr/lib/xorg/modules/extensions/libdri.la
+                    /usr/lib/xorg/modules/extensions/libdri.so
+                    /usr/lib/xorg/modules/extensions/libglx.la
+                    /usr/lib/xorg/modules/extensions/libglx.so*
+                    /usr/include/GL/gl.h
+                    /usr/include/GL/glext.h
+                    /usr/include/GL/glx.h
+                    /usr/include/GL/glxext.h
+                   "
+  local dir_list=( \
+                  "/usr/lib/ati" \
+                  "/usr/lib/nvidia" \
+                  "/usr/lib/mesa" \
+                  "/usr/include/GL/ati" \
+                  "/usr/include/GL/nvidia" \
+                  "/usr/include/GL/mesa" \
+                  "/usr/lib/xorg/modules/extensions/ati" \
+                  "/usr/lib/xorg/modules/extensions/nvidia" \
+                  "/usr/lib/xorg/modules/extensions/mesa" \
+                 )
+  local rm_file orig_dir
+  local gl_lib=$1
   message "Selecting $gl_lib as the default system GL library"
   if [[ -L ${INSTALL_ROOT}/usr/lib/libGL.so ]] ||
      [[ ! -e ${INSTALL_ROOT}/usr/lib/libGL.so ]]
   then
-  message "Cleaning all previous GL providers..."
-  for i in $(grep "/ati" $GL_FILELIST_DIR/ati-filelist)
-  do
-    ii=${i/\/ati}
-    rm -f $ii
+    message "Cleaning all previous GL providers..."
+    for rm_file in $file_list
+    do
+      rm -f $rm_file
+      echo -n "."
+    done
     echo -n "."
-  done
-  echo -n "."
-  unset i ii
-  for i in $(grep "/mesa" $GL_FILELIST_DIR/mesa-filelist)
-  do
-    ii=${i/\/mesa}
-    rm -f $ii
-    echo -n "."
-  done
-  echo -n "."
-  unset i ii
-  for i in $(grep "/nvidia" $GL_FILELIST_DIR/nvidia-filelist)
-  do
-    ii=${i/\/nvidia}
-    rm -f $ii
-    echo -n "."
-  done
-  unset i ii
-  echo ""
-  message "Done."
-  message "Setting up new GL provider $gl_lib..."
+    echo ""
+    message "Done."
+    message "Setting up new GL provider $gl_lib..."
     case "$1" in
-       ati)
-            for i in $(grep "/mesa" $GL_FILELIST_DIR/ati-filelist)
-            do
-              ii=${i/\/mesa}
-              ln -sf ${INSTALL_ROOT}${i} ${INSTALL_ROOT}${ii} 2>/dev/null
-              echo -n "."
-            done
-            for i in $(grep "/ati" $GL_FILELIST_DIR/ati-filelist)
-            do
-              ii=${i/\/ati}
-              ln -sf ${INSTALL_ROOT}${i} ${INSTALL_ROOT}${ii} 2>/dev/null
-              echo -n "."
-            done
-            ;;
-      mesa) 
-            for i in $(cat $GL_FILELIST_DIR/mesa-filelist)
-            do
-              ii=${i/\/mesa}
-              ln -sf ${INSTALL_ROOT}${i} ${INSTALL_ROOT}${ii} 2>/dev/null
-              echo -n "."
-            done
-            ;;
-    nvidia) 
-            for i in $(grep "/mesa" $GL_FILELIST_DIR/nvidia-filelist)
-            do
-              ii=${i/\/mesa}
-              ln -sf ${INSTALL_ROOT}${i} ${INSTALL_ROOT}${ii} 2>/dev/null
-              echo -n "."
-            done
-            for i in $(grep "/nvidia" $GL_FILELIST_DIR/nvidia-filelist)
-            do
-              ii=${i/\/nvidia}
-              ln -sf ${INSTALL_ROOT}${i} ${INSTALL_ROOT}${ii} 2>/dev/null
-              echo -n "."
-            done
-            ;;
-         *) message "Unknown secondary files so I only linked the libGL.so"  &&
-            for i in $(cat $GL_FILELIST_DIR/mesa-filelist)
-            do
-              ii=${i/\/mesa}
-              ln -sf ${INSTALL_ROOT}${i} ${INSTALL_ROOT}${ii} 2>/dev/null
-              echo -n "."
-            done
-            ln -fs ${TRACK_ROOT}/usr/lib/$gl_lib/libGL.so*                  \
-                    ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
-            ;;
-    esac
+   ati) 
+        [[ -e ${INSTALL_ROOT}${dir_list[0]}/libGL.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[0]}/* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[3]}/gl.h ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[3]}/* \
+               ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[6]}/libglx.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[6]}/* \
+               ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null
+        echo -n "."
+        ;;
+  mesa) 
+        [[ -e ${INSTALL_ROOT}${dir_list[2]}/libGL.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[2]}/* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[5]}/gl.h ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[5]}/* \
+               ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[8]}/libglx.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[8]}/* \
+               ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null
+        echo -n "."
+        ;;
+nvidia) 
+        [[ -e ${INSTALL_ROOT}${dir_list[1]}/libGL.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[1]}/* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[4]}/gl.h ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[4]}/* \
+               ${INSTALL_ROOT}/usr/include/GL/ 2>/dev/null
+        [[ -e ${INSTALL_ROOT}${dir_list[7]}/libglx.so ]] &&
+        ln -sf ${INSTALL_ROOT}${dir_list[7]}/* \
+               ${INSTALL_ROOT}/usr/lib/xorg/modules/extensions/ 2>/dev/null
+        echo -n "."
+        ;;
+     *) message "Unknown secondary files so I only linked the libGL.so"
+        ln -fs ${INSTALL_ROOT}/usr/lib/$gl_lib/libGL.so* \
+               ${INSTALL_ROOT}/usr/lib/ 2>/dev/null
+        ;;
+      esac
     echo -e "\nDone."
-    exit 0
+    message "You can manage the libGL providers at runtime by using"
+    message "either smgl-gl_select or manually by symlinking the files"
+    message "from their respective directories i.e.:"
+    message "/usr/lib/[nvidia|ati|mesa]/libGL.so"
+    message "/usr/xorg/modules/extensions/[nvidia,ati,mesa]/lib{glx,dri}.so"
+    message "/usr/include/GL/[nvidia|ati|mesa]/gl{x,xext,ext}.h"
+    message ""
+    message "To:"
+    message "/usr/lib/libGL.so"
+    message "/usr/xorg/modules/extensions/lib{glx,dri}.so"
+    message "/usr/include/GL/gl{x,xext,ext}.h"
+    message ""
+    return 0
   else
-    message "Error ${INSTALL_ROOT}/usr/lib/libGL.so is not a symlink unable to procede!!!"
-    message "Please recast X and whatever GL driver you use."
-    exit 1
+    message "Error ${INSTALL_ROOT}/usr/lib/libGL.so is not a symlink"
+    message "unable to proceed!!!"
+    message "Please recast:"
+    message "mesalib, xorg-server and whatever GL driver you use."
+    message ""
+    message "If this continues to happen please file a bug."
+    message ""
+    return 1
   fi
 }
 
diff --git a/xorg-xserver/xorg-server/HISTORY b/xorg-xserver/xorg-server/HISTORY
index 4a1ca4e..2a11bce 100644
--- a/xorg-xserver/xorg-server/HISTORY
+++ b/xorg-xserver/xorg-server/HISTORY
@@ -3,6 +3,7 @@
 	* DEPENDS: no longer use smgl-gl_select
 	* FINAL: use glselect
 	* POST_RESURRECT: restore mesa
+	* gl_select.patch: libwfb is always on
 
 2009-02-08 Andraž "ruskie" Levstik <ruskie at mages.ath.cx>
 	* PRE_BUILD: added smgl-gl_select patch, and run it before building,
diff --git a/xorg-xserver/xorg-server/gl_select.patch b/xorg-xserver/xorg-server/gl_select.patch
index 931ba5f..4f21bc9 100644
--- a/xorg-xserver/xorg-server/gl_select.patch
+++ b/xorg-xserver/xorg-server/gl_select.patch
@@ -1,14 +1,7 @@
 diff -Nuar xorg-server-1.5.3.orig.orig/hw/xfree86/dixmods/Makefile.in xorg-server-1.5.3.orig/hw/xfree86/dixmods/Makefile.in
 --- xorg-server-1.5.3.orig.orig/hw/xfree86/dixmods/Makefile.in	2009-02-08 22:58:50.000000000 +0000
 +++ xorg-server-1.5.3.orig/hw/xfree86/dixmods/Makefile.in	2009-02-08 23:49:07.000000000 +0000
-@@ -512,14 +512,12 @@
- module_LTLIBRARIES = $(AFBMOD) \
-                      $(CFBMOD) \
-                      libfb.la \
--                     libwfb.la \
-                      $(MFBMOD) \
-                      libshadow.la
- 
+@@ -519,7 +519,6 @@
  extsmoduledir = $(moduledir)/extensions
  extsmodule_LTLIBRARIES = $(RECORDMOD) \
  			 $(DBEMOD) \
@@ -31,27 +24,12 @@ diff -Nuar xorg-server-1.5.3.orig.orig/hw/xfree86/dixmods/Makefile.in xorg-serve
  	@list='$(extsmodule_LTLIBRARIES)'; for p in $$list; do \
  	  if test -f $$p; then \
  	    f=$(am__strip_dir) \
-@@ -666,6 +672,14 @@
- install-moduleLTLIBRARIES: $(module_LTLIBRARIES)
- 	@$(NORMAL_INSTALL)
- 	test -z "$(moduledir)" || $(MKDIR_P) "$(DESTDIR)$(moduledir)"
-+	$(MKDIR_P) "$(DESTDIR)$(moduledir)/mesa"
-+	@lst='libwfb.la'; for r in $$lst; do \
-+	  if test -f $$r; then \
-+	    h=$(am__strip_dir) \
-+	    echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$r' '$(DESTDIR)$(moduledir)/mesa/$$h'"; \
-+	    $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(moduleLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$r" "$(DESTDIR)$(moduledir)/mesa/$$h"; \
-+	  else :; fi; \
-+	done
- 	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
- 	  if test -f $$p; then \
- 	    f=$(am__strip_dir) \
 @@ -990,7 +1004,7 @@
  	done
  check-am: all-am
  check: check-recursive
 -all-am: Makefile $(LTLIBRARIES)
-+all-am: Makefile $(LTLIBRARIES) libwfb.la $(GLXMODS)
++all-am: Makefile $(LTLIBRARIES) $(GLXMODS)
  installdirs: installdirs-recursive
  installdirs-am:
  	for dir in "$(DESTDIR)$(extsmoduledir)" "$(DESTDIR)$(fontsmoduledir)" "$(DESTDIR)$(moduledir)"; do \



More information about the SM-Commit mailing list