[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#770897: unblock: vnc4/4.1.1+X4.3.0-37.4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package vnc4

This fixes build failures on arm64 and powerpc (and nothing else).

The arm64 fix (#769490) has been runtime tested by starting up a session and
remotely running iceweasel under an icewm desktop. All of the changes are
under architecture-specific ifdefs, so risk of regression on other
architectures is minimal.

The NMU that added arm64 support failed to build on powerpc. The root cause of
this failure was a toolchain change (introduced in gcc-4.7), and unrelated
to the arm64 build. This release also fixes that build failure (#769976). The
solution there is also implemented within an architecture-specific ifdef so,
again, the risk of regression on other architectures is minimal.

In between these two releases, there was an upload to sid that fixed a normal
severity bug. After coordination with both the developer behind this upload and
the Debian maintainer, I have reverted this fix for the current release to
comply with the freeze policy with the intent of reincorporating the fix
after these porting fixes have managed to enter testing.

unblock vnc4/4.1.1+X4.3.0-37.4

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
arm64

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -u vnc4-4.1.1+X4.3.0/debian/changelog vnc4-4.1.1+X4.3.0/debian/changelog
--- vnc4-4.1.1+X4.3.0/debian/changelog
+++ vnc4-4.1.1+X4.3.0/debian/changelog
@@ -1,3 +1,25 @@
+vnc4 (4.1.1+X4.3.0-37.4) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Temporarily revert fix for #769891 to qualify for jessie unblock.
+  * powerpc-undef-pixel.patch: Fix FTBFS on powerpc (Closes: #769976).
+
+ -- dann frazier <dannf@debian.org>  Mon, 24 Nov 2014 15:44:08 -0700
+
+vnc4 (4.1.1+X4.3.0-37.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Strip vnc:// prefix from server name to support URIs (Closes: #769891)
+
+ -- Benjamin Drung <benjamin.drung@profitbricks.com>  Mon, 17 Nov 2014 11:47:55 +0100
+
+vnc4 (4.1.1+X4.3.0-37.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * arm64-support.patch: Add arm64 support (Closes: #769490)
+
+ -- dann frazier <dannf@debian.org>  Fri, 14 Nov 2014 15:50:34 -0700
+
 vnc4 (4.1.1+X4.3.0-37.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -u vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h
--- vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h
+++ vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h
@@ -58,7 +58,8 @@
 #ifdef CRAY
 #define WORD64				/* 64-bit architecture */
 #endif
-#if defined(__alpha) || defined(__alpha__) || \
+#if defined (__aarch64__) || \
+    defined(__alpha) || defined(__alpha__) || \
     defined(__ia64__) || defined(ia64) || \
     defined(__sparc64__) || defined(__powerpc64__) || \
     defined(__s390x__) || \
diff -u vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf
--- vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf
+++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf
@@ -748,6 +748,17 @@
 # define VendorHasX11R6_3libXext	YES	/* XC or XFree86 >= 3.3.1 */
 #endif
 
+#ifdef Aarch64Architecture
+/* Cargoculted from Arm32Architecture w/ -D_XSERVER64 added */
+# define DefaultCCOptions	-fsigned-char
+# ifndef OptimizedCDebugFlags
+#  define OptimizedCDebugFlags	-O3
+# endif
+# define LinuxMachineDefines	-D__aarch64__
+# define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
+# define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* Aarch64Architecture */
+
 #ifdef AlphaArchitecture
 # ifndef OptimizedCDebugFlags
 #  define OptimizedCDebugFlags	DefaultGcc2AxpOpt
only in patch2:
unchanged:
--- vnc4-4.1.1+X4.3.0.orig/debian/patches/arm64-support.patch
+++ vnc4-4.1.1+X4.3.0/debian/patches/arm64-support.patch
@@ -0,0 +1,96 @@
+Description: Add arm64 support
+Author: dann frazier <dannf@debian.org>
+Bug-Debian: http://bugs.debian.org/769490
+Last-Update: 2014-11-13
+
+diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf
+--- vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf	2003-02-18 16:51:45.000000000 +0000
++++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf	2014-11-13 22:56:20.646494516 +0000
+@@ -211,6 +211,10 @@ XCOMM $XFree86: xc/config/cf/Imake.cf,v
+ #   define PpcArchitecture
+ #   undef __powerpc__
+ # endif
++# ifdef __aarch64__
++#   define Aarch64Architecture
++#   undef __powerpc__
++# endif
+ #endif /* NetBSD */
+ 
+ #ifdef __FreeBSD__
+@@ -727,6 +731,10 @@ XCOMM Keep cpp from replacing path eleme
+ #   define s390Architecture
+ #  undef __s390__
+ # endif /* s390 */
++# ifdef __aarch64__
++#  define Aarch64Architecture
++#  undef __aarch64__
++# endif
+ # ifdef __alpha
+ #  define AlphaArchitecture
+ #  undef __alpha
+diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/linux.cf vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf
+--- vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/linux.cf	2014-11-13 23:52:53.000000000 +0000
++++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf	2014-11-13 23:00:43.786494516 +0000
+@@ -748,6 +748,17 @@ InstallNamedTargetNoClobber(install,file
+ # define VendorHasX11R6_3libXext	YES	/* XC or XFree86 >= 3.3.1 */
+ #endif
+ 
++#ifdef Aarch64Architecture
++/* Cargoculted from Arm32Architecture w/ -D_XSERVER64 added */
++# define DefaultCCOptions	-fsigned-char
++# ifndef OptimizedCDebugFlags
++#  define OptimizedCDebugFlags	-O3
++# endif
++# define LinuxMachineDefines	-D__aarch64__
++# define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DPART_NET
++# define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
++#endif /* Aarch64Architecture */
++
+ #ifdef AlphaArchitecture
+ # ifndef OptimizedCDebugFlags
+ #  define OptimizedCDebugFlags	DefaultGcc2AxpOpt
+diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/include/Xmd.h vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h
+--- vnc4-4.1.1+X4.3.0.orig/unix/xc/include/Xmd.h	2014-11-13 23:52:53.000000000 +0000
++++ vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h	2014-11-13 23:02:10.936494516 +0000
+@@ -58,7 +58,8 @@ SOFTWARE.
+ #ifdef CRAY
+ #define WORD64				/* 64-bit architecture */
+ #endif
+-#if defined(__alpha) || defined(__alpha__) || \
++#if defined (__aarch64__) || \
++    defined(__alpha) || defined(__alpha__) || \
+     defined(__ia64__) || defined(ia64) || \
+     defined(__sparc64__) || defined(__powerpc64__) || \
+     defined(__s390x__) || \
+diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/programs/Xserver/include/servermd.h vnc4-4.1.1+X4.3.0/unix/xc/programs/Xserver/include/servermd.h
+--- vnc4-4.1.1+X4.3.0.orig/unix/xc/programs/Xserver/include/servermd.h	2002-05-31 18:46:04.000000000 +0000
++++ vnc4-4.1.1+X4.3.0/unix/xc/programs/Xserver/include/servermd.h	2014-11-13 23:16:54.886494516 +0000
+@@ -132,6 +132,28 @@ SOFTWARE.
+ 
+ #endif /* vax */
+ 
++#ifdef __aarch64__
++/* Heavily cargo-culted from arm32 */
++#define IMAGE_BYTE_ORDER        LSBFirst
++
++# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
++#  define BITMAP_BIT_ORDER      MSBFirst
++# else
++#  define BITMAP_BIT_ORDER      LSBFirst
++# endif
++
++# if defined(XF86MONOVGA) || defined(XF86VGA16)
++#  define BITMAP_SCANLINE_UNIT  8
++# endif
++
++#define GLYPHPADBYTES           4
++#define GETLEFTBITS_ALIGNMENT   1
++#define LARGE_INSTRUCTION_CACHE
++#define AVOID_MEMORY_READ
++#define PLENTIFUL_REGISTERS
++
++#endif /* __aarch64__ */
++
+ #ifdef __arm32__
+ 
+ #define IMAGE_BYTE_ORDER        LSBFirst
only in patch2:
unchanged:
--- vnc4-4.1.1+X4.3.0.orig/debian/patches/powerpc-undef-pixel.patch
+++ vnc4-4.1.1+X4.3.0/debian/patches/powerpc-undef-pixel.patch
@@ -0,0 +1,23 @@
+Description: undefine 'pixel' on powerpc platforms
+ gcc 4.7 on Debian/powerpc comes with the "pixel" keyword predefined:
+  $ gcc -dM -E - < /dev/null | grep pixel
+  #define pixel pixel
+  #define __pixel __attribute__((altivec(pixel__))) unsigned short
+ .
+ This causes Imake to barf with error messages like:
+   error: detected recursion whilst expanding macro "pixel"
+Author: dann frazier <dannf@debian.org>
+Bug-Debian: http://bugs.debian.org/769976
+Last-Update: 2014-11-24
+
+diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf
+--- vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf	2014-11-24 15:35:34.000000000 -0700
++++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf	2014-11-24 15:37:08.427456955 -0700
+@@ -764,6 +764,7 @@ XCOMM Keep cpp from replacing path eleme
+ #   define PpcArchitecture
+ #  endif
+ #  undef __powerpc__
++#  undef pixel /* gcc >= 4.7 defines this, causing macro recursion w/ Imake */
+ # endif
+ # ifdef sparc
+ #  define SparcArchitecture
only in patch2:
unchanged:
--- vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf
+++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf
@@ -211,6 +211,10 @@
 #   define PpcArchitecture
 #   undef __powerpc__
 # endif
+# ifdef __aarch64__
+#   define Aarch64Architecture
+#   undef __powerpc__
+# endif
 #endif /* NetBSD */
 
 #ifdef __FreeBSD__
@@ -727,6 +731,10 @@
 #   define s390Architecture
 #  undef __s390__
 # endif /* s390 */
+# ifdef __aarch64__
+#  define Aarch64Architecture
+#  undef __aarch64__
+# endif
 # ifdef __alpha
 #  define AlphaArchitecture
 #  undef __alpha
@@ -756,6 +764,7 @@
 #   define PpcArchitecture
 #  endif
 #  undef __powerpc__
+#  undef pixel /* gcc >= 4.7 defines this, causing macro recursion w/ Imake */
 # endif
 # ifdef sparc
 #  define SparcArchitecture
only in patch2:
unchanged:
--- vnc4-4.1.1+X4.3.0.orig/unix/xc/programs/Xserver/include/servermd.h
+++ vnc4-4.1.1+X4.3.0/unix/xc/programs/Xserver/include/servermd.h
@@ -132,6 +132,28 @@
 
 #endif /* vax */
 
+#ifdef __aarch64__
+/* Heavily cargo-culted from arm32 */
+#define IMAGE_BYTE_ORDER        LSBFirst
+
+# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
+#  define BITMAP_BIT_ORDER      MSBFirst
+# else
+#  define BITMAP_BIT_ORDER      LSBFirst
+# endif
+
+# if defined(XF86MONOVGA) || defined(XF86VGA16)
+#  define BITMAP_SCANLINE_UNIT  8
+# endif
+
+#define GLYPHPADBYTES           4
+#define GETLEFTBITS_ALIGNMENT   1
+#define LARGE_INSTRUCTION_CACHE
+#define AVOID_MEMORY_READ
+#define PLENTIFUL_REGISTERS
+
+#endif /* __aarch64__ */
+
 #ifdef __arm32__
 
 #define IMAGE_BYTE_ORDER        LSBFirst

Reply to: