debian/changelog                                  |    7 ++++++
 debian/patches/02_savage_check_ShadowVirtual.diff |   23 ++++++++++++++++++++++
 debian/patches/series                             |    1 
 debian/xsfbs/xsfbs.mk                             |   23 +++++++++++++---------
 4 files changed, 45 insertions(+), 9 deletions(-)

New commits:
commit 61b5026e8e47b80d96f87918b824e16216171ef8
Author: Brice Goglin <[EMAIL PROTECTED]>
Date:   Wed Jul 11 19:05:49 2007 +0200

    Add 02_savage_check_ShadowVirtual.diff

diff --git a/debian/changelog b/debian/changelog
index f5cf7d5..cba288c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+xserver-xorg-video-savage (1:2.1.2-6) UNRELEASED; urgency=low
+
+  * Add 02_savage_check_ShadowVirtual.diff, thanks Tormod Volden
+    (closes: #428089).
+
+ -- Brice Goglin <[EMAIL PROTECTED]>  Wed, 11 Jul 2007 19:04:31 +0200
+
 xserver-xorg-video-savage (1:2.1.2-5) unstable; urgency=low
 
   [ Timo Aaltonen ]
diff --git a/debian/patches/02_savage_check_ShadowVirtual.diff 
b/debian/patches/02_savage_check_ShadowVirtual.diff
new file mode 100644
index 0000000..7c5ee49
--- /dev/null
+++ b/debian/patches/02_savage_check_ShadowVirtual.diff
@@ -0,0 +1,23 @@
+Fixes #428089
+
+https://bugs.freedesktop.org/show_bug.cgi?id=11237
+
+This is a workaround, that keeps the server from crashing and borking the
+consoles. It returns from ShadowWait if there is no ShadowVirtual pointer. 
+But I think ShadowWait should not have been called in the first place.
+
+Index: xserver-xorg-video-savage-2.1.2/src/savage_driver.c
+===================================================================
+--- xserver-xorg-video-savage-2.1.2.orig/src/savage_driver.c   2007-07-07 
11:22:06.000000000 +0200
++++ xserver-xorg-video-savage-2.1.2/src/savage_driver.c        2007-07-07 
11:28:35.000000000 +0200
+@@ -549,6 +549,10 @@
+     if( !psav->NoPCIRetry )
+       return 0;
+ 
++    /* in case we should not have been here */
++    if( !psav->ShadowVirtual )
++      return 0;
++
+     psav->ShadowCounter = (psav->ShadowCounter + 1) & 0xffff;
+     if (psav->ShadowCounter == 0)
+       psav->ShadowCounter++; /* 0 is reserved for the BIOS
diff --git a/debian/patches/series b/debian/patches/series
index aca27e7..edbcf00 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 01_savage_driver_disable_randr_on_rotation.diff
+02_savage_check_ShadowVirtual.diff

commit e29b56820909668b062fdba72458ee9483a4ae44
Author: Brice Goglin <[EMAIL PROTECTED]>
Date:   Mon Jul 9 21:50:47 2007 +0200

    Minor fixes in the patching system.
    
     * Fix debian/rules to not be confused by ~/.quiltrc or QUILT_PATCHES (as 
in #369920).
     * Display which patches are applied and removed instead of just the first 
one (for #428090).

diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
index 2930c1e..5f13302 100755
--- a/debian/xsfbs/xsfbs.mk
+++ b/debian/xsfbs/xsfbs.mk
@@ -21,6 +21,11 @@
 # Pass $(DH_OPTIONS) into the environment for debhelper's benefit.
 export DH_OPTIONS
 
+# force quilt to not use ~/.quiltrc
+QUILT = quilt --quiltrc /dev/null
+# force QUILT_PATCHES to the default in case it is exported in the environment
+QUILT_PATCHES = patches/
+
 # Set up parameters for the upstream build environment.
 
 # Determine (source) package name from Debian changelog.
@@ -140,9 +145,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
                echo "Couldn't find quilt. Please install it or add it to the 
build-depends for this package."; \
                exit 1; \
        fi; \
-       if quilt next >/dev/null 2>&1; then \
+       if $(QUILT) next >/dev/null 2>&1; then \
          echo -n "Applying patches..."; \
-         if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
+         if $(QUILT) push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
            echo "successful."; \
          else \
            echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
@@ -159,7 +164,7 @@ unpatch:
        rm -f $(STAMP_DIR)/patch
        @echo -n "Unapplying patches..."; \
        if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
-         if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
+         if $(QUILT) pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
            echo "successful."; \
          else \
            echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \
@@ -295,17 +300,17 @@ patch-audit: prepare unpatch
        @echo -n "Auditing patches..."; \
        >$(STAMP_DIR)/log/patch; \
        FUZZY=; \
-       while [ -n "$$(quilt next)" ]; do \
-         RESULT=$$(quilt push -v | tee -a $(STAMP_DIR)/log/patch | grep ^Hunk 
| sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
+       while [ -n "$$($(QUILT) next)" ]; do \
+         RESULT=$$($(QUILT) push -v | tee -a $(STAMP_DIR)/log/patch | grep 
^Hunk | sed 's/^Hunk.*\(succeeded\|FAILED\).*/\1/');\
          case "$$RESULT" in \
            succeeded) \
-             echo "fuzzy patch: $$(quilt top)" \
-               | tee -a $(STAMP_DIR)/log/$$(quilt top); \
+             echo "fuzzy patch: $$($(QUILT) top)" \
+               | tee -a $(STAMP_DIR)/log/$$($(QUILT) top); \
              FUZZY=yes; \
              ;; \
            FAILED) \
-             echo "broken patch: $$(quilt next)" \
-               | tee -a $(STAMP_DIR)/log/$$(quilt next); \
+             echo "broken patch: $$($(QUILT) next)" \
+               | tee -a $(STAMP_DIR)/log/$$($(QUILT) next); \
              exit 1; \
              ;; \
          esac; \

commit 16d97b30b91da02d5a3edc2b895cbd4a1995f62d
Author: Brice Goglin <[EMAIL PROTECTED]>
Date:   Mon Jul 9 19:06:05 2007 +0200

    Fix displaying of patches applied by quilt.
    
    As requested in bug #428090, we silence the output of quilt next
    and display the output of quilt push/pop.

diff --git a/debian/xsfbs/xsfbs.mk b/debian/xsfbs/xsfbs.mk
index 63dde45..2930c1e 100755
--- a/debian/xsfbs/xsfbs.mk
+++ b/debian/xsfbs/xsfbs.mk
@@ -140,9 +140,9 @@ $(STAMP_DIR)/patch: $(STAMP_DIR)/prepare
                echo "Couldn't find quilt. Please install it or add it to the 
build-depends for this package."; \
                exit 1; \
        fi; \
-       if quilt next; then \
+       if quilt next >/dev/null 2>&1; then \
          echo -n "Applying patches..."; \
-         if quilt push -a -v >$(STAMP_DIR)/log/patch 2>&1; then \
+         if quilt push -a -v 2>&1 | tee $(STAMP_DIR)/log/patch; then \
            echo "successful."; \
          else \
            echo "failed! (check $(STAMP_DIR)/log/patch for details)"; \
@@ -159,7 +159,7 @@ unpatch:
        rm -f $(STAMP_DIR)/patch
        @echo -n "Unapplying patches..."; \
        if [ -e $(STAMP_DIR)/patches/applied-patches ]; then \
-         if quilt pop -a -v >$(STAMP_DIR)/log/unpatch 2>&1; then \
+         if quilt pop -a -v 2>&1 | tee $(STAMP_DIR)/log/unpatch; then \
            echo "successful."; \
          else \
            echo "failed! (check $(STAMP_DIR)/log/unpatch for details)"; \


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to