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

Bug#665757: FTBFS on kfreebsd (IUTF8 termio is not POSIX) patch attached



Package: mosh
Version: 1.1-1
Severity: important
Tags: patch
User: debian-bsd@lists.debian.org
Usertags: kfreebsd

the IUTF8 termio constant isn't POSIX and isn't used on freebsd. We
still have UTF-8 enabled terminals though. Find below a patch I used
to make it build&work on Debian GNU/kFreeBSD

Regards

    Christoph

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

Kernel: kFreeBSD 9.0-1-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mosh depends on:
ii  libc0.1         2.13-27
ii  libgcc1         1:4.7.0-1
ii  libio-pty-perl  1:1.08-1+b2
ii  libncurses5     5.9-4
ii  libprotobuf7    2.4.1-1
ii  libstdc++6      4.7.0-1
ii  libtinfo5       5.9-4
ii  libutempter0    1.1.5-4
ii  openssh-client  1:5.9p1-4
ii  zlib1g          1:1.2.6.dfsg-2

mosh recommends no packages.

mosh suggests no packages.

-- no debconf information
Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 mosh (1.1-1) unstable; urgency=low
 .
   * Version 1.1 released
Author: Keith Winstein <keithw@mit.edu>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>

--- mosh-1.1.orig/src/examples/parse.cc
+++ mosh-1.1/src/examples/parse.cc
@@ -72,10 +72,12 @@ int main( int argc __attribute__((unused
 
   child_termios = saved_termios;
 
+#ifdef __linux__
   if ( !(child_termios.c_iflag & IUTF8) ) {
     fprintf( stderr, "Warning: Locale is UTF-8 but termios IUTF8 flag not set. Setting IUTF8 flag.\n" );
     child_termios.c_iflag |= IUTF8;
   }
+#endif
 
   pid_t child = forkpty( &master, NULL, &child_termios, NULL );
 
--- mosh-1.1.orig/src/examples/termemu.cc
+++ mosh-1.1/src/examples/termemu.cc
@@ -81,10 +81,12 @@ int main( void )
 
   child_termios = saved_termios;
 
+#ifdef __linux__
   if ( !(child_termios.c_iflag & IUTF8) ) {
     fprintf( stderr, "Warning: Locale is UTF-8 but termios IUTF8 flag not set. Setting IUTF8 flag.\n" );
     child_termios.c_iflag |= IUTF8;
   }
+#endif
 
   pid_t child = forkpty( &master, NULL, &child_termios, NULL );
 
--- mosh-1.1.orig/src/frontend/mosh-server.cc
+++ mosh-1.1/src/frontend/mosh-server.cc
@@ -273,11 +273,13 @@ int run_server( const char *desired_ip,
 
   int master;
 
+#ifdef __linux__
   if ( !(child_termios.c_iflag & IUTF8) ) {
     /* SSH should also convey IUTF8 across connection. */
     //    fprintf( stderr, "Warning: Locale is UTF-8 but termios IUTF8 flag not set. Setting IUTF8 flag.\n" );
     child_termios.c_iflag |= IUTF8;
   }
+#endif
 
   /* Fork child process */
   pid_t child = forkpty( &master, NULL, &child_termios, &window_size );
--- mosh-1.1.orig/src/frontend/stmclient.cc
+++ mosh-1.1/src/frontend/stmclient.cc
@@ -66,11 +66,13 @@ void STMClient::init( void )
 
   /* Put terminal driver in raw mode */
   raw_termios = saved_termios;
+#ifdef __linux__
   if ( !(raw_termios.c_iflag & IUTF8) ) {
     /* SSH should also convey IUTF8 across connection. */
     //    fprintf( stderr, "Warning: Locale is UTF-8 but termios IUTF8 flag not set. Setting IUTF8 flag.\n" );
     raw_termios.c_iflag |= IUTF8;
   }
+#endif
 
   cfmakeraw( &raw_termios );
 

Reply to: