NetBSD Problem Report #45042

From www@NetBSD.org  Fri Jun 10 14:30:29 2011
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 3050963BEFB
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 10 Jun 2011 14:30:29 +0000 (UTC)
Message-Id: <20110610143027.4030F63B970@www.NetBSD.org>
Date: Fri, 10 Jun 2011 14:30:27 +0000 (UTC)
From: linuxgeek@gmail.com
Reply-To: linuxgeek@gmail.com
To: gnats-bugs@NetBSD.org
Subject: devel/bmake minix support
X-Send-Pr-Version: www-1.0

>Number:         45042
>Category:       pkg
>Synopsis:       devel/bmake minix support
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    joerg
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 10 14:35:00 +0000 2011
>Closed-Date:    Fri Mar 01 00:21:58 +0000 2013
>Last-Modified:  Sat Mar 23 23:30:06 +0000 2013
>Originator:     Thomas Cort
>Release:        N/A
>Organization:
Minix3
>Environment:
Minix 192.168.122.210 3.2.0 i686
>Description:
bmake doesn't compile on Minix because Minix lacks support for setpgid() and setrlimit().
>How-To-Repeat:
Try to compile bmake on Minix.
>Fix:
diff --git a/devel/bmake/files/config.h.in b/devel/bmake/files/config.h.in
index f0a3152..4a317f0 100644
--- a/devel/bmake/files/config.h.in
+++ b/devel/bmake/files/config.h.in
@@ -74,6 +74,9 @@
 /* Define to 1 if you have the `setenv' function. */
 #undef HAVE_SETENV

+/* Define to 1 if you have the `setpgid' function. */
+#undef HAVE_SETPGID
+
 /* Define to 1 if you have the `sigaction' function. */
 #undef HAVE_SIGACTION

@@ -89,6 +92,9 @@
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H

+/* Define to 1 if you have the `setrlimit' function. */
+#undef HAVE_SETRLIMIT
+
 /* Define to 1 if you have the `strerror' function. */
 #undef HAVE_STRERROR

diff --git a/devel/bmake/files/configure b/devel/bmake/files/configure
index ebf085d..c005d6a 100755
--- a/devel/bmake/files/configure
+++ b/devel/bmake/files/configure
@@ -1,12 +1,14 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for bmake 20100414.
+# Generated by GNU Autoconf 2.65 for bmake 20100414.
 #
 # Report bugs to <sjg@NetBSD.org>.
 #
+#
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
-# Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+#
 #
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
@@ -527,7 +529,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


-exec 7<&0 </dev/null 6>&1
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1

 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@@ -1310,7 +1313,7 @@ Some influential environment variables:
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor

@@ -1381,7 +1384,7 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 bmake configure 20100414
-generated by GNU Autoconf 2.64
+generated by GNU Autoconf 2.65

 Copyright (C) 2009 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
@@ -1428,7 +1431,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 	ac_retval=1
 fi
   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  as_fn_set_status $ac_retval

 } # ac_fn_c_try_compile

@@ -1465,7 +1468,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
     ac_retval=1
 fi
   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  as_fn_set_status $ac_retval

 } # ac_fn_c_try_cpp

@@ -1600,7 +1603,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  as_fn_set_status $ac_retval

 } # ac_fn_c_try_run

@@ -1677,7 +1680,7 @@ fi
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
   eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  return $ac_retval
+  as_fn_set_status $ac_retval

 } # ac_fn_c_try_link

@@ -1902,7 +1905,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.

 It was created by bmake $as_me 20100414, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.65.  Invocation command line was

   $ $0 $@

@@ -2155,7 +2158,7 @@ fi
 for ac_site_file in "$ac_site_file1" "$ac_site_file2"
 do
   test "x$ac_site_file" = xNONE && continue
-  if test -r "$ac_site_file"; then
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
@@ -2164,9 +2167,9 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
 done

 if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
 $as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
@@ -2589,32 +2592,30 @@ $as_echo "$ac_try_echo"; } >&5
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done

 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdio.h>
+
 int
 main ()
 {
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;

   ;
   return 0;
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`

 # The possible output files:
@@ -2676,10 +2677,10 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
 else
   ac_file=''
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
 if test -z "$ac_file"; then :
-  $as_echo "$as_me: failed program was:" >&5
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5

 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
@@ -2687,51 +2688,18 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 { as_fn_set_status 77
 as_fn_error "C compiler cannot create executables
 See \`config.log' for more details." "$LINENO" 5; }; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext

-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
 $as_echo_n "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
@@ -2764,13 +2732,72 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error "cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." "$LINENO" 5; }
 fi
-rm -f conftest$ac_cv_exeext
+rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
 $as_echo "$ac_cv_exeext" >&6; }

 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
 if test "${ac_cv_objext+set}" = set; then :
@@ -3816,8 +3843,8 @@ $as_echo "$ac_try_echo"; } >&5
 ... rest of stderr output deleted ...
          10q' conftest.err >conftest.er1
     cat conftest.er1 >&5
-    rm -f conftest.er1 conftest.err
   fi
+  rm -f conftest.er1 conftest.err
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
@@ -5368,6 +5395,8 @@ for ac_func in \
 	putenv \
 	select \
 	setenv \
+	setpgid \
+	setrlimit \
 	sigaction \
 	sigvec \
 	snprintf \
@@ -5679,7 +5708,7 @@ force_machine=
 if test "${with_force_machine+set}" = set; then :
   withval=$with_force_machine; case "${withval}" in
 yes)   force_machine=FORCE_;;
-no)    ;;
+no)    force_machine=NOFORCE_;;
 *)     force_machine=FORCE_; machine=$with_force_machine;;
 esac
 fi
@@ -6302,7 +6331,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # values after options handling.
 ac_log="
 This file was extended by bmake $as_me 20100414, which was
-generated by GNU Autoconf 2.64.  Invocation command line was
+generated by GNU Autoconf 2.65.  Invocation command line was

   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -6341,6 +6370,7 @@ Usage: $0 [OPTION]... [TAG]...

   -h, --help       print this help, then exit
   -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
   -q, --quiet, --silent
                    do not print progress messages
   -d, --debug      don't remove temporary files
@@ -6360,10 +6390,11 @@ Report bugs to <sjg@NetBSD.org>."

 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 bmake config.status 20100414
-configured by $0, generated by GNU Autoconf 2.64,
-  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.65,
+  with options \\"\$ac_cs_config\\"

 Copyright (C) 2009 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
@@ -6399,6 +6430,8 @@ do
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
     $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
@@ -6581,7 +6614,7 @@ s/'"$ac_delim"'$//
 t delim
 :nl
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more1
 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
 p
@@ -6595,7 +6628,7 @@ s/.\{148\}//
 t nl
 :delim
 h
-s/\(.\{148\}\).*/\1/
+s/\(.\{148\}\)..*/\1/
 t more2
 s/["\\]/\\&/g; s/^/"/; s/$/"/
 p
diff --git a/devel/bmake/files/configure.in b/devel/bmake/files/configure.in
index 2855edc..97c42ea 100644
--- a/devel/bmake/files/configure.in
+++ b/devel/bmake/files/configure.in
@@ -102,6 +102,8 @@ AC_CHECK_FUNCS( \
 	putenv \
 	select \
 	setenv \
+	setpgid \
+	setrlimit \
 	sigaction \
 	sigvec \
 	snprintf \
@@ -184,7 +186,7 @@ AC_ARG_WITH(force_machine,
 [  --with-force-machine=MACHINE  set FORCE_MACHINE],
 [case "${withval}" in
 yes)   force_machine=FORCE_;;
-no)    ;;
+no)    force_machine=NOFORCE_;;
 *)     force_machine=FORCE_; machine=$with_force_machine;;
 esac])
 dnl
diff --git a/devel/bmake/files/job.c b/devel/bmake/files/job.c
index c37b17e..96650ea 100644
--- a/devel/bmake/files/job.c
+++ b/devel/bmake/files/job.c
@@ -1380,7 +1380,7 @@ JobExec(Job *job, char **argv)
 	 * we can kill it and all its descendants in one fell swoop,
 	 * by killing its process family, but not commit suicide.
 	 */
-#if defined(SYSV)
+#if defined(SYSV) || !defined(HAVE_SETPGID)
 	/* XXX: dsl - I'm sure this should be setpgrp()... */
 	(void)setsid();
 #else
diff --git a/devel/bmake/files/main.c b/devel/bmake/files/main.c
index 97159b4..45c212e 100644
--- a/devel/bmake/files/main.c
+++ b/devel/bmake/files/main.c
@@ -825,7 +825,7 @@ main(int argc, char **argv)
 		progname++;
 	else
 		progname = argv[0];
-#ifdef RLIMIT_NOFILE
+#if defined(RLIMIT_NOFILE) && defined(HAVE_SETRLIMIT)
 	/*
 	 * get rid of resource limit on file descriptors
 	 */

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->joerg
Responsible-Changed-By: obache@NetBSD.org
Responsible-Changed-When: Fri, 10 Jun 2011 22:18:14 +0000
Responsible-Changed-Why:
Over to maintainer.


From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/45042: devel/bmake minix support
Date: Sun, 12 Jun 2011 05:03:30 +0000

 On Fri, Jun 10, 2011 at 02:35:00PM +0000, linuxgeek@gmail.com wrote:
  > --- a/devel/bmake/files/configure
  > +++ b/devel/bmake/files/configure

 please don't include huge diffs of generated files.

  > -# Generated by GNU Autoconf 2.64 for bmake 20100414.
  > +# Generated by GNU Autoconf 2.65 for bmake 20100414.

 ...especially those caused by changing the version of autoconf!

  > @@ -184,7 +186,7 @@ AC_ARG_WITH(force_machine,
  >  [  --with-force-machine=MACHINE  set FORCE_MACHINE],
  >  [case "${withval}" in
  >  yes)   force_machine=FORCE_;;
  > -no)    ;;
  > +no)    force_machine=NOFORCE_;;
  >  *)     force_machine=FORCE_; machine=$with_force_machine;;
  >  esac])
  >  dnl

 That doesn't seem right... what's it supposed to do?

  > diff --git a/devel/bmake/files/job.c b/devel/bmake/files/job.c
  > index c37b17e..96650ea 100644
  > --- a/devel/bmake/files/job.c
  > +++ b/devel/bmake/files/job.c
  > @@ -1380,7 +1380,7 @@ JobExec(Job *job, char **argv)
  >  	 * we can kill it and all its descendants in one fell swoop,
  >  	 * by killing its process family, but not commit suicide.
  >  	 */
  > -#if defined(SYSV)
  > +#if defined(SYSV) || !defined(HAVE_SETPGID)
  >  	/* XXX: dsl - I'm sure this should be setpgrp()... */
  >  	(void)setsid();
  >  #else

 That is definitely not right. (Including for "SYSV".)

 How do you set process groups in Minix?

  > -#ifdef RLIMIT_NOFILE
  > +#if defined(RLIMIT_NOFILE) && defined(HAVE_SETRLIMIT)

 ...so wait, Minix defines RLIMIT_NOFILE but doesn't have setrlimit()?
 How do you use RLIMIT_NOFILE then?

 -- 
 David A. Holland
 dholland@netbsd.org

From: Thomas Cort <tcort@minix3.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/45042: devel/bmake minix support
Date: Mon, 13 Jun 2011 12:17:57 -0400

 > =A0please don't include huge diffs of generated files.


 Sorry. It won't happen again.


 > =A0> @@ -184,7 +186,7 @@ AC_ARG_WITH(force_machine,
 > =A0> =A0[ =A0--with-force-machine=3DMACHINE =A0set FORCE_MACHINE],
 > =A0> =A0[case "${withval}" in
 > =A0> =A0yes) =A0 force_machine=3DFORCE_;;
 > =A0> -no) =A0 =A0;;
 > =A0> +no) =A0 =A0force_machine=3DNOFORCE_;;
 > =A0> =A0*) =A0 =A0 force_machine=3DFORCE_; machine=3D$with_force_machine;=
 ;
 > =A0> =A0esac])
 > =A0> =A0dnl
 >
 > =A0That doesn't seem right... what's it supposed to do?


 MACHINE is already used in minix header files. The mk-bootstrap.sh
 file has the following line:

 MDEFS=3D"-D@force_machine@MACHINE=3D\"@machine@\"
 -DMACHINE_ARCH=3D\"@machine_arch@\" -DMAKE_VERSION=3D\"$MAKE_VERSION\""

 This causes MACHINE to be redefined when --force-machine is not
 passed to the configure script. The autoconf file was changed to set
 force_machine to NOFORCE_ when --force-machine is not passed.


 > =A0> diff --git a/devel/bmake/files/job.c b/devel/bmake/files/job.c
 > =A0> index c37b17e..96650ea 100644
 > =A0> --- a/devel/bmake/files/job.c
 > =A0> +++ b/devel/bmake/files/job.c
 > =A0> @@ -1380,7 +1380,7 @@ JobExec(Job *job, char **argv)
 > =A0> =A0 =A0 =A0* we can kill it and all its descendants in one fell swoo=
 p,
 > =A0> =A0 =A0 =A0* by killing its process family, but not commit suicide.
 > =A0> =A0 =A0 =A0*/
 > =A0> -#if defined(SYSV)
 > =A0> +#if defined(SYSV) || !defined(HAVE_SETPGID)
 > =A0> =A0 =A0 /* XXX: dsl - I'm sure this should be setpgrp()... */
 > =A0> =A0 =A0 (void)setsid();
 > =A0> =A0#else
 >
 > =A0That is definitely not right. (Including for "SYSV".)
 >
 > =A0How do you set process groups in Minix?


 Minix doesn't have job control, and no process group other than
 that implemented by setsid().


 > =A0> -#ifdef RLIMIT_NOFILE
 > =A0> +#if defined(RLIMIT_NOFILE) && defined(HAVE_SETRLIMIT)
 >
 > =A0...so wait, Minix defines RLIMIT_NOFILE but doesn't have setrlimit()?
 > =A0How do you use RLIMIT_NOFILE then?

 RLIMIT_NOFILE can be used with getrlimit() on Minix. You can get the
 rlimits, you just can't change them.

From: Thomas Cort <tcort@minix3.org>
To: gnats-bugs@netbsd.org, joerg@netbsd.org
Cc: 
Subject: Re: pkg/45042: devel/bmake minix support
Date: Mon, 25 Feb 2013 18:40:11 -0500

 Due to some changes in Minix, the patchset to get devel/bmake working
 on Minix is down to just a few lines of change. Here are the updated
 patches:

 Patch #1: check for setrlimit() and setpgid()
 http://tomcort.com/minix/bmake-configure.in

 Patch #2: avoid the call to setpgid(). Minix doesn't support job control.
 http://tomcort.com/minix/bmake-job.c

 Patch #3: Avoid the call to setrlimit(). The existing check if
 RLIMIT_NOFILE is defined isn't enough, HAVE_SETRLIMIT has to be
 checked too. Minix defines RLIMIT_NOFILE so that it can be used with
 getrlimit(), but Minix doesn't currently support setrlimit().
 http://tomcort.com/minix/bmake-main.c

 Thanks,
 Thomas

From: "Christos Zoulas" <christos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/45042 CVS commit: src/usr.bin/make
Date: Mon, 25 Feb 2013 19:45:29 -0500

 Module Name:	src
 Committed By:	christos
 Date:		Tue Feb 26 00:45:28 UTC 2013

 Modified Files:
 	src/usr.bin/make: job.c main.c

 Log Message:
 PR/45042: Thomas Cort: HAVE_foo for setrlimit(2) and setpgid(2)


 To generate a diff of this commit:
 cvs rdiff -u -r1.169 -r1.170 src/usr.bin/make/job.c
 cvs rdiff -u -r1.208 -r1.209 src/usr.bin/make/main.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Christos Zoulas" <christos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/45042 CVS commit: pkgsrc/devel/bmake/files
Date: Mon, 25 Feb 2013 19:50:14 -0500

 Module Name:	pkgsrc
 Committed By:	christos
 Date:		Tue Feb 26 00:50:14 UTC 2013

 Modified Files:
 	pkgsrc/devel/bmake/files: configure.in job.c main.c

 Log Message:
 PR/45042: Thomas Cort: Minix support: handle missing setpgid and setrlimit


 To generate a diff of this commit:
 cvs rdiff -u -r1.11 -r1.12 pkgsrc/devel/bmake/files/configure.in \
     pkgsrc/devel/bmake/files/main.c
 cvs rdiff -u -r1.12 -r1.13 pkgsrc/devel/bmake/files/job.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: tcort@NetBSD.org
State-Changed-When: Fri, 01 Mar 2013 00:21:58 +0000
State-Changed-Why:
Everything that needed to be committed for Minix support in bmake was
committed (Thanks Christos!). I don't think this needs to stay open anymore.


From: "David A. Holland" <dholland@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/45042 CVS commit: othersrc/usr.bin/dholland-make2
Date: Sat, 23 Mar 2013 23:29:05 +0000

 Module Name:	othersrc
 Committed By:	dholland
 Date:		Sat Mar 23 23:29:04 UTC 2013

 Modified Files:
 	othersrc/usr.bin/dholland-make2: job.c main.c portable.h

 Log Message:
 Merge -r1.170 of job.c and -r1.209 of main.c from HEAD (committed by
 Christos):

 PR/45042: Thomas Cort: HAVE_foo for setrlimit(2) and setpgid(2)


 To generate a diff of this commit:
 cvs rdiff -u -r1.6 -r1.7 othersrc/usr.bin/dholland-make2/job.c \
     othersrc/usr.bin/dholland-make2/portable.h
 cvs rdiff -u -r1.10 -r1.11 othersrc/usr.bin/dholland-make2/main.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.