rev 7018 - trunk/packages/qt4-x11/debian

Sune Vuorela pusling-guest at alioth.debian.org
Thu Aug 9 10:19:34 UTC 2007


Author: pusling-guest
Date: 2007-08-09 10:19:33 +0000 (Thu, 09 Aug 2007)
New Revision: 7018

Added:
   trunk/packages/qt4-x11/debian/readdir-hppa-test.c
Modified:
   trunk/packages/qt4-x11/debian/changelog
   trunk/packages/qt4-x11/debian/rules
Log:
add a test for broken hppa getdents


Modified: trunk/packages/qt4-x11/debian/changelog
===================================================================
--- trunk/packages/qt4-x11/debian/changelog	2007-08-09 09:34:39 UTC (rev 7017)
+++ trunk/packages/qt4-x11/debian/changelog	2007-08-09 10:19:33 UTC (rev 7018)
@@ -1,5 +1,6 @@
 qt4-x11 (4.3.1-1) unstable; urgency=low
 
+  [ Fathi Boudra ]
   * New upstream release.
   * Switch to quilt patch system.
   * Update copyright. Add Trolltech GPL Exception.
@@ -17,8 +18,12 @@
   * Disable 0172-prefer-xrandr-over-xinerama patch. (Closes: #433931)
   * Enable 0182-argb-visuals-default patch.
 
- -- Fathi Boudra <fboudra at free.fr>  Wed, 08 Aug 2007 15:08:11 +0200
+  [ Sune Vuorela ]
+  * Add a quick and dirty test to make build on hppa fail if a current
+    getdents kernel bug is detected.
 
+ -- Sune Vuorela <debian at pusling.com>  Thu, 09 Aug 2007 12:17:01 +0200
+
 qt4-x11 (4.3.0-5) unstable; urgency=low
 
   [Fathi Boudra]

Added: trunk/packages/qt4-x11/debian/readdir-hppa-test.c
===================================================================
--- trunk/packages/qt4-x11/debian/readdir-hppa-test.c	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/readdir-hppa-test.c	2007-08-09 10:19:33 UTC (rev 7018)
@@ -0,0 +1,25 @@
+#include <sys/types.h>
+#include <dirent.h>
+#include <errno.h>
+#include <stdio.h>
+
+main() {
+  int return_code;
+  DIR *dir;
+  struct dirent entry;
+  struct dirent *result;
+
+  if ((dir = opendir(".")) == NULL)
+    perror("opendir() error");
+  else {
+ //   puts("contents of .:");
+    for (return_code = readdir_r(dir, &entry, &result);
+         result != NULL && return_code == 0;
+         return_code = readdir_r(dir, &entry, &result))
+      printf("%s\n", entry.d_name);
+    if (return_code != 0)
+      perror("readdir_r() error");
+    closedir(dir);
+  }
+}
+

Modified: trunk/packages/qt4-x11/debian/rules
===================================================================
--- trunk/packages/qt4-x11/debian/rules	2007-08-09 09:34:39 UTC (rev 7017)
+++ trunk/packages/qt4-x11/debian/rules	2007-08-09 10:19:33 UTC (rev 7018)
@@ -36,6 +36,19 @@
 endif
 
 common-configure-arch::
+ifeq ($(DEB_HOST_ARCH),hppa)
+       mkdir -p debian/hppa-tmp
+       echo "Testing wether getdents kernel bug is present on this buildd - see #433768"
+       gcc -o debian/hppa-tmp/hppa-test-program debian/readdir-hppa-test.c
+       cd $(CURDIR)/doc/html && $(CURDIR)/debian/hppa-tmp/hppa-test-program | sort > $(CURDIR)/debian/hppa-tmp/readdir_r-out
+       cd $(CURDIR)/doc/html && ls -a | sort > $(CURDIR)/debian/hppa-tmp/ls-a-out
+       @if ! diff -q $(CURDIR)/debian/hppa-tmp/readdir_r-out $(CURDIR)/debian/hppa-tmp/ls-a-out ; \
+       then  \
+               echo "Kernel bug present. This will misbuild qt4 if proceeding. Failing" ; \
+               echo "Please update kernel and test again" ; \
+               exit 5 ; \
+       fi
+endif
 	# Create mkspecs/glibc-g++ from mkspecs/linux-g++, needed by GNU/kFreeBSD
 	# we cannot use directly linux-g++ due to src/corelib/io/io.pri
 	rm -rf mkspecs/glibc-g++
@@ -94,6 +107,9 @@
 
 	rm -rf lib/ plugins/ mkspecs/glibc-g++
 
+	#cleaning up after hppa tests
+	rm -rf debian/hppa-tmp
+
 	find bin/ config.tests/ qmake/ -exec file {} \; | grep ELF | sed 's/:.*//'  | xargs rm -f
 
 	find include/ -type l -print0 | xargs -0r rm -f




More information about the pkg-kde-commits mailing list