Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package nvclock It fixes some segfaults if used with newer graphics cards and newer versions of the proprietary driver. #671135 Furthermore enables building for armhf. #684490 The debdiff contains the addition of fix-CFLAGS.diff, but this patch is *not enabled* in the series file. Andreas unblock nvclock/0.8b4+cvs20100914-3
diffstat for nvclock-0.8b4+cvs20100914 nvclock-0.8b4+cvs20100914 changelog | 9 +++++++++ control | 8 ++++---- patches/fix-CFLAGS.diff | 16 ++++++++++++++++ patches/fix-segfault.diff | 40 ++++++++++++++++++++++++++++++++++++++++ patches/series | 1 + 5 files changed, 70 insertions(+), 4 deletions(-) diff -Nru nvclock-0.8b4+cvs20100914/debian/changelog nvclock-0.8b4+cvs20100914/debian/changelog --- nvclock-0.8b4+cvs20100914/debian/changelog 2012-02-16 20:00:20.000000000 +0100 +++ nvclock-0.8b4+cvs20100914/debian/changelog 2012-08-16 17:45:56.000000000 +0200 @@ -1,3 +1,12 @@ +nvclock (0.8b4+cvs20100914-3) unstable; urgency=low + + * Build binary packages for armhf, since it should have similar hardware + availability to armel. (Closes: #684490) + * fix-segfaults.diff: New patch to fix segmentation faults with newer GPUs + and newer Nvidia drivers. (Closes: #671135) + + -- Andreas Beckmann <deb...@abeckmann.de> Thu, 16 Aug 2012 17:45:56 +0200 + nvclock (0.8b4+cvs20100914-2) unstable; urgency=low [ Andreas Beckmann ] diff -Nru nvclock-0.8b4+cvs20100914/debian/control nvclock-0.8b4+cvs20100914/debian/control --- nvclock-0.8b4+cvs20100914/debian/control 2012-02-16 19:59:06.000000000 +0100 +++ nvclock-0.8b4+cvs20100914/debian/control 2012-08-15 11:25:36.000000000 +0200 @@ -22,7 +22,7 @@ Vcs-Browser: http://svn.debian.org/wsvn/pkg-nvidia/packages/nvclock/ Package: nvclock -Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc +Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: smartdimmer Suggests: ${nvidia:Suggests} @@ -35,7 +35,7 @@ versions. Package: nvclock-gtk -Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc +Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: ${nvidia:Suggests} Description: Overclock an NVIDIA card (GTK+ interface) @@ -47,7 +47,7 @@ for the console version. Package: nvclock-qt -Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc +Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: ${nvidia:Suggests} Description: Overclock an NVIDIA card (Qt interface) @@ -59,7 +59,7 @@ for the console version. Package: smartdimmer -Architecture: alpha amd64 armel hppa i386 ia64 powerpc sparc +Architecture: alpha amd64 armel armhf hppa i386 ia64 powerpc sparc Depends: ${shlibs:Depends}, ${misc:Depends} Breaks: nvclock (<< 0.8b4+cvs20100914-2~) Replaces: nvclock (<< 0.8b4+cvs20100914-2~) diff -Nru nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff --- nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4+cvs20100914/debian/patches/fix-CFLAGS.diff 2012-08-16 17:39:49.000000000 +0200 @@ -0,0 +1,16 @@ +--- a/src/backend/Makefile.in ++++ b/src/backend/Makefile.in +@@ -1,11 +1,11 @@ +-CC=@CC@ -O0 ++CC=@CC@ + AR=ar + RANLIB=@RANLIB@ + + system=@system@ + HAVE_NVCONTROL=@HAVE_NVCONTROL@ + OBJECTS=backend.o bios.o config.o error.o nv30.o nv40.o nv50.o info.o overclock.o utils.o i2c.o xf86i2c.o adt7473.o f75375.o lm99.o w83781d.o w83l785r.o libc_wrapper.o +-CFLAGS=@X11_CFLAGS@ -I../.. -I../nvcontrol ++CFLAGS=@CFLAGS@ @X11_CFLAGS@ -I../.. -I../nvcontrol -O0 + + ifeq ($(system), FreeBSD) + OBJECTS+=back_bsd.o diff -Nru nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff --- nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff 1970-01-01 01:00:00.000000000 +0100 +++ nvclock-0.8b4+cvs20100914/debian/patches/fix-segfault.diff 2012-08-16 17:39:28.000000000 +0200 @@ -0,0 +1,40 @@ +Author: Andreas Beckmann <deb...@abeckmann.de> +Subject: fix segmentation faults with newer driver and GPUs + fix device mask to exclude new devices + error out if mmap()ing PMC failed +Bug-Debian: http://bugs.debian.org/671135 + +--- a/src/backend/utils.c ++++ b/src/backend/utils.c +@@ -88,7 +88,7 @@ + int get_gpu_arch(int device_id) + { + int arch; +- switch(device_id & 0xff0) ++ switch(device_id & 0xfff0) + { + case 0x20: + arch = NV5; +--- a/src/backend/back_linux.c ++++ b/src/backend/back_linux.c +@@ -270,6 +270,8 @@ + + base = mmap((caddr_t)0, Size + alignOff, PROT_READ|PROT_WRITE, + mapflags, dev->fd, (off_t)realBase); ++ if (base == MAP_FAILED) ++ return NULL; + return (void *) ((char *)base + alignOff); + } + +--- a/src/backend/backend.c ++++ b/src/backend/backend.c +@@ -41,6 +41,9 @@ + nv_card->PFB = map_dev_mem(fd, nv_card->reg_address + 0x100000, 0x1000); + /* normally pmc is till 0x2000 but extended it for nv40 */ + nv_card->PMC = map_dev_mem(fd, nv_card->reg_address + 0x000000, 0x2ffff); ++ if (!nv_card->PMC) ++ set_error_str("failed to mmap PMC"); ++ return 0; + nv_card->PCIO = map_dev_mem(fd, nv_card->reg_address + 0x601000, 0x2000); + nv_card->PDISPLAY = map_dev_mem(fd, nv_card->reg_address + NV_PDISPLAY_OFFSET, NV_PDISPLAY_SIZE); + nv_card->PRAMDAC = map_dev_mem(fd, nv_card->reg_address + 0x680000, 0x2000); diff -Nru nvclock-0.8b4+cvs20100914/debian/patches/series nvclock-0.8b4+cvs20100914/debian/patches/series --- nvclock-0.8b4+cvs20100914/debian/patches/series 2012-02-16 19:58:44.000000000 +0100 +++ nvclock-0.8b4+cvs20100914/debian/patches/series 2012-08-16 17:07:20.000000000 +0200 @@ -4,3 +4,4 @@ desktop-fixes.diff qt4.diff multiarch.diff +fix-segfault.diff