Bug#646761: libncurses5-dev: header files differ across architectures

2011-10-27 Thread Sven Joachim
On 2011-10-26 23:31 +0200, Thomas E. Dickey wrote:

 Quoting Sven Joachim svenj...@gmx.de:

 Package: libncurses5-dev
 Version: 5.9-2
 Severity: normal
 User: debian-d...@lists.debian.org
 Usertags: multiarch

 When I marked the -dev packages as Multi-Arch: same, I naively assumed
 that the header files would be identical across architectures.  A check
 of libncurses5-dev:kfreebsd-i386 and libncurses5-dev:i386 reveals that
 this is actually not the case:

 ...the generated-by stuff is a build-artifact that doesn't really matter,
 but the termio/termios stuff is hard to eliminate, since it in turn is
 eliminating some work by the applications that use the header files.

This is certainly true from your upstream perspective, however in Debian
the difference is currently non-functional since it's in an #else branch
that is not reached.

OTOH, it's not impossible that somebody ports Debian to an architecture
where this is not the case, although that seems unlikely to me, since
such a system would probably not be very POSIX compliant.

The safe action would be to move term.h to the multiarch include paths.
We then need compatibility symlinks in the lib{32,64}*-dev packages.

 The alternative would be to make the generated config.h (ncurses_cfg.h)
 included by each of the public header files, and to include that from
 another place (architecture-dependent).

That would be good since it frees us from the burden to check all the
header files.

In any case, since -dev packages with header files in multiarch include
directories are currently not allowed¹ to be Multi-Arch:same anyway,
my proposal would be to just remove the Multi-Arch field from the -dev
packages for now and only worry about a solution when libc6-dev becomes
Multi-Arch:same.

Cheers,
   Sven


¹ 
http://wiki.debian.org/Multiarch/Implementation#Issues_to_be_aware_of_when_converting



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#646761: libncurses5-dev: header files differ across architectures

2011-10-26 Thread Sven Joachim
Package: libncurses5-dev
Version: 5.9-2
Severity: normal
User: debian-d...@lists.debian.org
Usertags: multiarch

When I marked the -dev packages as Multi-Arch: same, I naively assumed
that the header files would be identical across architectures.  A check
of libncurses5-dev:kfreebsd-i386 and libncurses5-dev:i386 reveals that
this is actually not the case:

--8---cut here---start-8---
diff -ur kfreebsd-i386/usr/include/curses.h i386/usr/include/curses.h
--- kfreebsd-i386/usr/include/curses.h  2011-09-30 15:56:42.0 +0200
+++ i386/usr/include/curses.h   2011-09-30 15:46:23.0 +0200
@@ -1384,7 +1384,7 @@
 #define KEY_SRESET 0530/* Soft (partial) reset (unreliable) */
 #define KEY_RESET  0531/* Reset or hard reset (unreliable) */
 /*
- * These definitions were generated by 
/build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/MKkey_defs.sh
 /build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/Caps
+ * These definitions were generated by 
/build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/MKkey_defs.sh 
/build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/Caps
  */
 #define KEY_DOWN   0402/* down-arrow key */
 #define KEY_UP 0403/* up-arrow key */
diff -ur kfreebsd-i386/usr/include/ncurses.h i386/usr/include/ncurses.h
--- kfreebsd-i386/usr/include/ncurses.h 2011-09-30 15:56:42.0 +0200
+++ i386/usr/include/ncurses.h  2011-09-30 15:46:23.0 +0200
@@ -1384,7 +1384,7 @@
 #define KEY_SRESET 0530/* Soft (partial) reset (unreliable) */
 #define KEY_RESET  0531/* Reset or hard reset (unreliable) */
 /*
- * These definitions were generated by 
/build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/MKkey_defs.sh
 /build/buildd-ncurses_5.9-2-kfreebsd-i386-Td4uCR/ncurses-5.9/include/Caps
+ * These definitions were generated by 
/build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/MKkey_defs.sh 
/build/buildd-ncurses_5.9-2-i386-YPcYXp/ncurses-5.9/include/Caps
  */
 #define KEY_DOWN   0402/* down-arrow key */
 #define KEY_UP 0403/* up-arrow key */
diff -ur kfreebsd-i386/usr/include/term.h i386/usr/include/term.h
--- kfreebsd-i386/usr/include/term.h2011-09-30 15:56:42.0 +0200
+++ i386/usr/include/term.h 2011-09-30 15:46:23.0 +0200
@@ -83,7 +83,7 @@
 #else /* !HAVE_TERMIOS_H */
 
 /* #if HAVE_TERMIO_H */
-#if 0
+#if 1
 
 #undef  TERMIOS
 #define TERMIOS 1
Only in kfreebsd-i386/usr/lib: i386-kfreebsd-gnu
Only in i386/usr/lib: i386-linux-gnu
--8---cut here---end---8---

I suppose it should not be too difficult to eliminate these differences,
but it needs some investigation.


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (101, 'experimental')
Architecture: i386 (x86_64)

Kernel: Linux 3.1.0-nouveau (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libncurses5-dev depends on:
ii  libc6-dev [libc-dev]  2.13-21
ii  libncurses5   5.9-2  
ii  libtinfo-dev  5.9-2  
ii  ncurses-bin   5.9-2  

libncurses5-dev recommends no packages.

Versions of packages libncurses5-dev suggests:
ii  ncurses-doc  5.9-2

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#646761: libncurses5-dev: header files differ across architectures

2011-10-26 Thread Thomas E. Dickey

Quoting Sven Joachim svenj...@gmx.de:


Package: libncurses5-dev
Version: 5.9-2
Severity: normal
User: debian-d...@lists.debian.org
Usertags: multiarch

When I marked the -dev packages as Multi-Arch: same, I naively assumed
that the header files would be identical across architectures.  A check
of libncurses5-dev:kfreebsd-i386 and libncurses5-dev:i386 reveals that
this is actually not the case:


...the generated-by stuff is a build-artifact that doesn't really matter,
but the termio/termios stuff is hard to eliminate, since it in turn is
eliminating some work by the applications that use the header files.


 #define KEY_UP 0403/* up-arrow key */
diff -ur kfreebsd-i386/usr/include/term.h i386/usr/include/term.h
--- kfreebsd-i386/usr/include/term.h2011-09-30 15:56:42.0 +0200
+++ i386/usr/include/term.h 2011-09-30 15:46:23.0 +0200
@@ -83,7 +83,7 @@
 #else /* !HAVE_TERMIOS_H */

 /* #if HAVE_TERMIO_H */
-#if 0
+#if 1

 #undef  TERMIOS
 #define TERMIOS 1
Only in kfreebsd-i386/usr/lib: i386-kfreebsd-gnu
Only in i386/usr/lib: i386-linux-gnu
--8---cut here---end---8---

I suppose it should not be too difficult to eliminate these differences,
but it needs some investigation.


The alternative would be to make the generated config.h (ncurses_cfg.h)
included by each of the public header files, and to include that from
another place (architecture-dependent).

--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org