Package: release.debian.org Severity: normal User: release.debian....@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 <da...@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.dr...@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 <da...@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 <da...@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 <da...@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