pkgsrc-Bugs archive

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

pkg/29033: security/openssh build failed on Interix



>Number:         29033
>Category:       pkg
>Synopsis:       security/openssh build failed on Interix
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 21 02:38:00 +0000 2005
>Originator:     HIRAMATSU Yoshifumi
>Release:        SFU 3.5
>Organization:
>Environment:
Interix nile 3.5 SP-8.0.1969.1 x86 AMD_x86_Family15_Model12_Stepping0
>Description:
security/openssh cannot be built on Interix because...

1. __dead is already defined as __volatile in sys/cdefs.h, so declarations like:

void       cleanup_exit(int) __dead;

is parsed as syntax error.

2. lacks -lcrypt option although ssh uses crypt().
>How-To-Repeat:
cd /usr/pkgsrc/security/openssh
bmake

>Fix:
unconditionally define __dead as  __attribute__((noreturn)) on 
Interix(patch-ac).
Added -lcrypt option by specifying check_for_libcrypt_before=1 same as 
netbsd(patch-aa, patch-ab).

diff -buNr openssh.orig/distinfo openssh/distinfo
--- openssh.orig/distinfo       Fri Jan 21 10:37:44 2005
+++ openssh/distinfo    Fri Jan 21 10:34:20 2005
@@ -4,9 +4,9 @@
 Size (openssh-3.9p1.tar.gz) = 854027 bytes
 SHA1 (openssh-3.9p1-hpn.diff) = 1821c590b9b5effa3750ebf0166fe3f22d00faad
 Size (openssh-3.9p1-hpn.diff) = 8387 bytes
-SHA1 (patch-aa) = 5d0b1cf5cf92e0d314e6458b225074a73f35f857
-SHA1 (patch-ab) = 662440f96d38e43b0c8de7bef260f82d8b7ab737
-SHA1 (patch-ac) = 3ad72f42b066ef1f48e276bccd438da2d6fde980
+SHA1 (patch-aa) = 1391c23b7ab5b2e2be2b349b22f64a81a591e55b
+SHA1 (patch-ab) = def6774a571fa10af9e3981d20d2341aa32b194f
+SHA1 (patch-ac) = 378428b566ed1e2bac039b07c82a36e06cdea5cd
 SHA1 (patch-ad) = 6a0c4edd2217f22f7c9622fb38124287e93c5fc8
 SHA1 (patch-ae) = fece020b1c2432f4ac5b62104be808aa3f70ea22
 SHA1 (patch-af) = 444fadaafdb45adc1008cbf106cd28c075700616
diff -buNr openssh.orig/patches/patch-aa openssh/patches/patch-aa
--- openssh.orig/patches/patch-aa       Fri Jan 21 10:37:44 2005
+++ openssh/patches/patch-aa    Fri Jan 21 10:34:20 2005
@@ -1,16 +1,17 @@
 $NetBSD$
 
---- configure.orig     2004-08-17 14:54:53.000000000 +0200
-+++ configure
-@@ -6101,8 +6101,18 @@ _ACEOF
+--- configure.orig     Tue Aug 17 21:54:53 2004
++++ configure  Thu Jan 20 23:02:25 2005
+@@ -6101,8 +6101,19 @@
  _ACEOF
  
        ;;
 +
 +*-*-interix3)
-+      cat >>confdefs.h <<\EOF
++      check_for_libcrypt_before=1
++      cat >>confdefs.h <<\_ACEOF
 +#define MISSING_HOWMANY 1
-+EOF
++_ACEOF
 +
 +      ;;
  esac
@@ -21,53 +22,63 @@
  # Allow user to specify flags
  
  # Check whether --with-cflags or --without-cflags was given.
-@@ -23790,12 +23800,19 @@ fi
+@@ -23790,12 +23801,20 @@
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  if test -z "$conf_utmpx_location"; then
        if test x"$system_utmpx_path" = x"no" ; then
--              cat >>confdefs.h <<\_ACEOF
 +              for f in /var/run/utmpx; do
 +                      if test -f $f ; then
 +                              conf_utmpx_location=$f
 +                      fi
 +              done
 +              if test -z "$conf_utmpx_location"; then
-+                      cat >>confdefs.h <<\_ACEOF
+               cat >>confdefs.h <<\_ACEOF
  #define DISABLE_UTMPX 1
  _ACEOF
--
-+              fi
+ 
        fi
 -else
++      fi
 +fi
 +if test -n "$conf_utmpx_location"; then
        cat >>confdefs.h <<_ACEOF
  #define CONF_UTMPX_FILE "$conf_utmpx_location"
  _ACEOF
-@@ -23864,12 +23881,20 @@ fi
+@@ -23864,12 +23883,20 @@
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  if test -z "$conf_wtmpx_location"; then
        if test x"$system_wtmpx_path" = x"no" ; then
--              cat >>confdefs.h <<\_ACEOF
 +              for f in /var/log/wtmpx; do
 +                      if test -f $f ; then
 +                              conf_wtmpx_location=$f
 +                      fi
 +              done
 +              if test -z "$conf_wtmpx_location"; then
-+                      cat >>confdefs.h <<\_ACEOF
+               cat >>confdefs.h <<\_ACEOF
  #define DISABLE_WTMPX 1
  _ACEOF
-+              fi
  
        fi
 -else
++      fi
 +fi
 +if test -n "$conf_wtmpx_location"; then
        cat >>confdefs.h <<_ACEOF
  #define CONF_WTMPX_FILE "$conf_wtmpx_location"
  _ACEOF
-@@ -25091,7 +25116,7 @@ echo "OpenSSH has been configured with t
+@@ -24249,9 +24276,9 @@
+ exec 5>>config.log
+ {
+   echo
+-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<BOXI_EOF
++  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+ ## Running $as_me. ##
+-BOXI_EOF
++_ASBOX
+ } >&5
+ cat >&5 <<_CSEOF
+ 
+@@ -25091,7 +25118,7 @@
  echo "                     User binaries: $B"
  echo "                   System binaries: $C"
  echo "               Configuration files: $D"
diff -buNr openssh.orig/patches/patch-ab openssh/patches/patch-ab
--- openssh.orig/patches/patch-ab       Fri Jan 21 10:37:43 2005
+++ openssh/patches/patch-ab    Fri Jan 21 10:34:20 2005
@@ -1,13 +1,14 @@
 $NetBSD$
 
---- configure.ac.orig  2004-08-16 15:12:06.000000000 +0200
-+++ configure.ac
-@@ -469,8 +469,15 @@ mips-sony-bsd|mips-sony-newsos4)
+--- configure.ac.orig  Mon Aug 16 22:12:06 2004
++++ configure.ac       Thu Jan 20 23:02:13 2005
+@@ -469,8 +469,16 @@
        AC_DEFINE(MISSING_HOWMANY)
        AC_DEFINE(MISSING_FD_MASK)
        ;;
 +
 +*-*-interix3)
++      check_for_libcrypt_before=1
 +      AC_DEFINE(MISSING_HOWMANY)
 +      ;;
  esac
@@ -18,47 +19,45 @@
  # Allow user to specify flags
  AC_ARG_WITH(cflags,
        [  --with-cflags           Specify additional flags to pass to 
compiler],
-@@ -2885,9 +2892,17 @@ AC_TRY_COMPILE([
+@@ -2885,9 +2893,17 @@
  )
  if test -z "$conf_utmpx_location"; then
        if test x"$system_utmpx_path" = x"no" ; then
--              AC_DEFINE(DISABLE_UTMPX)
 +              for f in /var/run/utmpx; do
 +                      if test -f $f ; then
 +                              conf_utmpx_location=$f
 +                      fi
 +              done
 +              if test -z "$conf_utmpx_location"; then
-+                      AC_DEFINE(DISABLE_UTMPX)
-+              fi
+               AC_DEFINE(DISABLE_UTMPX)
        fi
 -else
++      fi
 +fi
 +if test -n "$conf_utmpx_location"; then
        AC_DEFINE_UNQUOTED(CONF_UTMPX_FILE, "$conf_utmpx_location")
  fi    
  
-@@ -2910,9 +2925,17 @@ AC_TRY_COMPILE([
+@@ -2910,9 +2926,17 @@
  )
  if test -z "$conf_wtmpx_location"; then
        if test x"$system_wtmpx_path" = x"no" ; then
--              AC_DEFINE(DISABLE_WTMPX)
 +              for f in /var/log/wtmpx; do
 +                      if test -f $f ; then
 +                              conf_wtmpx_location=$f
 +                      fi
 +              done
 +              if test -z "$conf_wtmpx_location"; then
-+                      AC_DEFINE(DISABLE_WTMPX)
-+              fi
+               AC_DEFINE(DISABLE_WTMPX)
        fi
 -else
++      fi
 +fi
 +if test -n "$conf_wtmpx_location"; then
        AC_DEFINE_UNQUOTED(CONF_WTMPX_FILE, "$conf_wtmpx_location")
  fi    
  
-@@ -2953,7 +2976,7 @@ echo "OpenSSH has been configured with t
+@@ -2953,7 +2977,7 @@
  echo "                     User binaries: $B"
  echo "                   System binaries: $C"
  echo "               Configuration files: $D"
diff -buNr openssh.orig/patches/patch-ac openssh/patches/patch-ac
--- openssh.orig/patches/patch-ac       Fri Jan 21 10:37:43 2005
+++ openssh/patches/patch-ac    Fri Jan 21 10:34:20 2005
@@ -1,11 +1,23 @@
 $NetBSD$
 
---- defines.h.orig     2004-06-22 05:27:16.000000000 +0200
-+++ defines.h
-@@ -591,6 +591,24 @@ struct winsize {
- #    endif
- #  endif
+--- defines.h.orig     Tue Jun 22 12:27:16 2004
++++ defines.h  Thu Jan 20 23:07:00 2005
+@@ -424,7 +424,7 @@
+ # define __attribute__(x)
+ #endif /* !defined(__GNUC__) || (__GNUC__ < 2) */
+ 
+-#ifndef __dead
++#if !defined(__dead) || defined(__INTERIX)
+ # define __dead       __attribute__((noreturn))
  #endif
+ 
+@@ -588,6 +588,24 @@
+ #  else
+ #    ifdef CONF_WTMP_FILE
+ #      define WTMP_FILE CONF_WTMP_FILE
++#    endif
++#  endif
++#endif
 +#ifndef UTMPX_FILE
 +#  ifdef _PATH_UTMPX
 +#    define UTMPX_FILE _PATH_UTMPX
@@ -21,9 +33,6 @@
 +#  else
 +#    ifdef CONF_WTMPX_FILE
 +#      define WTMPX_FILE CONF_WTMPX_FILE
-+#    endif
-+#  endif
-+#endif
- /* pick up the user's location for lastlog if given */
- #ifndef LASTLOG_FILE
- #  ifdef _PATH_LASTLOG
+ #    endif
+ #  endif
+ #endif




Home | Main Index | Thread Index | Old Index