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:
(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.