libnbcompat-20080908:
- declare endpwent and endgrent if system headers are missing them - check for existance of statfs.f_flags before using it - drop a bunch of redundant function checks Based on the work of Timothy Larson.
This commit is contained in:
parent
b65aa09b27
commit
2c43b4f278
7 changed files with 236 additions and 76 deletions
|
@ -1,11 +1,11 @@
|
|||
# $NetBSD: Makefile,v 1.62 2008/07/27 16:02:09 joerg Exp $
|
||||
# $NetBSD: Makefile,v 1.63 2008/09/08 20:20:22 joerg Exp $
|
||||
#
|
||||
# NOTE: If you update this package, it is *mandatory* that you update
|
||||
# pkgsrc/pkgtools/libnbcompat/files/README to reflect the actual
|
||||
# list of tested and supported platforms.
|
||||
#
|
||||
|
||||
DISTNAME= libnbcompat-20080422
|
||||
DISTNAME= libnbcompat-20080908
|
||||
CATEGORIES= pkgtools devel
|
||||
MASTER_SITES= # empty
|
||||
DISTFILES= # empty
|
||||
|
|
272
pkgtools/libnbcompat/files/configure
vendored
272
pkgtools/libnbcompat/files/configure
vendored
|
@ -11791,20 +11791,9 @@ fi
|
|||
done
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for ac_func in gid_from_group group_from_gid pwcache_groupdb \
|
||||
pwcache_userdb uid_from_user user_from_uid \
|
||||
|
||||
do
|
||||
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
|
||||
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
|
||||
$as_echo_n "checking for $ac_func... " >&6; }
|
||||
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
|
||||
{ $as_echo "$as_me:$LINENO: checking whether endgrent is declared" >&5
|
||||
$as_echo_n "checking whether endgrent is declared... " >&6; }
|
||||
if test "${ac_cv_have_decl_endgrent+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
|
@ -11813,54 +11802,27 @@ _ACEOF
|
|||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
|
||||
For example, HP-UX 11i <limits.h> declares gettimeofday. */
|
||||
#define $ac_func innocuous_$ac_func
|
||||
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func (); below.
|
||||
Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|
||||
<limits.h> exists even on freestanding compilers. */
|
||||
|
||||
#ifdef __STDC__
|
||||
# include <limits.h>
|
||||
#else
|
||||
# include <assert.h>
|
||||
#endif
|
||||
|
||||
#undef $ac_func
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char $ac_func ();
|
||||
/* The GNU C library defines this for functions which it implements
|
||||
to always fail with ENOSYS. Some functions are actually named
|
||||
something starting with __ and the normal name is an alias. */
|
||||
#if defined __stub_$ac_func || defined __stub___$ac_func
|
||||
choke me
|
||||
#endif
|
||||
|
||||
$ac_includes_default
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return $ac_func ();
|
||||
#ifndef endgrent
|
||||
(void) endgrent;
|
||||
#endif
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||
if { (ac_try="$ac_link"
|
||||
rm -f conftest.$ac_objext
|
||||
if { (ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_link") 2>conftest.er1
|
||||
(eval "$ac_compile") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
|
@ -11869,34 +11831,102 @@ $as_echo "$ac_try_echo") >&5
|
|||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest$ac_exeext && {
|
||||
test "$cross_compiling" = yes ||
|
||||
$as_test_x conftest$ac_exeext
|
||||
}; then
|
||||
eval "$as_ac_var=yes"
|
||||
} && test -s conftest.$ac_objext; then
|
||||
ac_cv_have_decl_endgrent=yes
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
eval "$as_ac_var=no"
|
||||
ac_cv_have_decl_endgrent=no
|
||||
fi
|
||||
|
||||
rm -rf conftest.dSYM
|
||||
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
ac_res=`eval 'as_val=${'$as_ac_var'}
|
||||
$as_echo "$as_val"'`
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_res" >&5
|
||||
$as_echo "$ac_res" >&6; }
|
||||
if test `eval 'as_val=${'$as_ac_var'}
|
||||
$as_echo "$as_val"'` = yes; then
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_endgrent" >&5
|
||||
$as_echo "$ac_cv_have_decl_endgrent" >&6; }
|
||||
if test $ac_cv_have_decl_endgrent = yes; then
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL_ENDGRENT 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
else
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL_ENDGRENT 0
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
done
|
||||
{ $as_echo "$as_me:$LINENO: checking whether endpwent is declared" >&5
|
||||
$as_echo_n "checking whether endpwent is declared... " >&6; }
|
||||
if test "${ac_cv_have_decl_endpwent+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
$ac_includes_default
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifndef endpwent
|
||||
(void) endpwent;
|
||||
#endif
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_compile") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then
|
||||
ac_cv_have_decl_endpwent=yes
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_have_decl_endpwent=no
|
||||
fi
|
||||
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_endpwent" >&5
|
||||
$as_echo "$ac_cv_have_decl_endpwent" >&6; }
|
||||
if test $ac_cv_have_decl_endpwent = yes; then
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL_ENDPWENT 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
else
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL_ENDPWENT 0
|
||||
_ACEOF
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -12961,6 +12991,114 @@ fi
|
|||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for struct statfs.f_flags" >&5
|
||||
$as_echo_n "checking for struct statfs.f_flags... " >&6; }
|
||||
if test "${ac_cv_member_struct_statfs_f_flags+set}" = set; then
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <sys/statfs.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static struct statfs ac_aggr;
|
||||
if (ac_aggr.f_flags)
|
||||
return 0;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_compile") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then
|
||||
ac_cv_member_struct_statfs_f_flags=yes
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
#include <sys/statfs.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static struct statfs ac_aggr;
|
||||
if (sizeof ac_aggr.f_flags)
|
||||
return 0;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (ac_try="$ac_compile"
|
||||
case "(($ac_try" in
|
||||
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||
*) ac_try_echo=$ac_try;;
|
||||
esac
|
||||
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
|
||||
$as_echo "$ac_try_echo") >&5
|
||||
(eval "$ac_compile") 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
$as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } && {
|
||||
test -z "$ac_c_werror_flag" ||
|
||||
test ! -s conftest.err
|
||||
} && test -s conftest.$ac_objext; then
|
||||
ac_cv_member_struct_statfs_f_flags=yes
|
||||
else
|
||||
$as_echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
ac_cv_member_struct_statfs_f_flags=no
|
||||
fi
|
||||
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_statfs_f_flags" >&5
|
||||
$as_echo "$ac_cv_member_struct_statfs_f_flags" >&6; }
|
||||
if test $ac_cv_member_struct_statfs_f_flags = yes; then
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_STRUCT_STATFS_F_FLAGS 1
|
||||
_ACEOF
|
||||
|
||||
:
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:$LINENO: checking for struct statfs.f_fsize" >&5
|
||||
$as_echo_n "checking for struct statfs.f_fsize... " >&6; }
|
||||
if test "${ac_cv_member_struct_statfs_f_fsize+set}" = set; then
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
dnl $NetBSD: configure.ac,v 1.63 2008/05/19 12:52:57 joerg Exp $
|
||||
dnl $NetBSD: configure.ac,v 1.64 2008/09/08 20:20:23 joerg Exp $
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_PREREQ(2.52)
|
||||
|
@ -260,9 +260,8 @@ AC_CHECK_FUNCS([getmode setmode], [:], [
|
|||
break
|
||||
])
|
||||
|
||||
AC_CHECK_FUNCS([gid_from_group group_from_gid pwcache_groupdb \
|
||||
pwcache_userdb uid_from_user user_from_uid \
|
||||
])
|
||||
AC_CHECK_DECLS([endgrent, endpwent])
|
||||
|
||||
AC_CHECK_FUNCS([gid_from_group group_from_gid pwcache_groupdb \
|
||||
pwcache_userdb uid_from_user user_from_uid \
|
||||
], [:], [
|
||||
|
@ -326,6 +325,8 @@ AC_CHECK_FUNCS([getpassphrase getpgrp memmove select])
|
|||
|
||||
AC_CHECK_FUNC(getpgrp, [AC_FUNC_GETPGRP])
|
||||
|
||||
AC_CHECK_MEMBERS([struct statfs.f_flags], [:], [:],
|
||||
[ #include <sys/statfs.h> ])
|
||||
AC_CHECK_MEMBERS([struct statfs.f_fsize], [:], [:],
|
||||
[ #include <sys/statfs.h> ])
|
||||
AC_CHECK_MEMBERS([struct statfs.f_iosize], [:], [:],
|
||||
|
|
|
@ -24,6 +24,14 @@
|
|||
/* Define to 1 if you have the <ctype.h> header file. */
|
||||
#undef HAVE_CTYPE_H
|
||||
|
||||
/* Define to 1 if you have the declaration of `endgrent', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_ENDGRENT
|
||||
|
||||
/* Define to 1 if you have the declaration of `endpwent', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_ENDPWENT
|
||||
|
||||
/* Define to 1 if you have the declaration of `optind', and to 0 if you don't.
|
||||
*/
|
||||
#undef HAVE_DECL_OPTIND
|
||||
|
@ -343,6 +351,9 @@
|
|||
/* Define to 1 if `d_namlen' is member of `struct dirent'. */
|
||||
#undef HAVE_STRUCT_DIRENT_D_NAMLEN
|
||||
|
||||
/* Define to 1 if `f_flags' is member of `struct statfs'. */
|
||||
#undef HAVE_STRUCT_STATFS_F_FLAGS
|
||||
|
||||
/* Define to 1 if `f_fsize' is member of `struct statfs'. */
|
||||
#undef HAVE_STRUCT_STATFS_F_FSIZE
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: grp.h,v 1.2 2008/04/29 05:46:08 martin Exp $ */
|
||||
/* $NetBSD: grp.h,v 1.3 2008/09/08 20:20:23 joerg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004 The NetBSD Foundation, Inc.
|
||||
|
@ -52,4 +52,8 @@ const char *group_from_gid(gid_t, int);
|
|||
int gid_from_group(const char *, gid_t *);
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_ENDGRENT
|
||||
void endgrent(void);
|
||||
#endif
|
||||
|
||||
#endif /* !_NBCOMPAT_GRP_H_ */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: pwd.h,v 1.2 2008/04/29 05:46:08 martin Exp $ */
|
||||
/* $NetBSD: pwd.h,v 1.3 2008/09/08 20:20:23 joerg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004 The NetBSD Foundation, Inc.
|
||||
|
@ -52,4 +52,8 @@ const char *user_from_uid(uid_t, int);
|
|||
int uid_from_user(const char *, uid_t *);
|
||||
#endif
|
||||
|
||||
#if !HAVE_DECL_ENDPWENT
|
||||
void endpwent(void);
|
||||
#endif
|
||||
|
||||
#endif /* !_NBCOMPAT_PWD_H_ */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: statvfs.c,v 1.4 2008/04/29 05:46:08 martin Exp $ */
|
||||
/* $NetBSD: statvfs.c,v 1.5 2008/09/08 20:20:23 joerg Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2004 The NetBSD Foundation, Inc.
|
||||
|
@ -39,10 +39,12 @@ static void
|
|||
fs2vfs(struct statvfs *vfs, const struct statfs *sfs)
|
||||
{
|
||||
vfs->f_flag = 0;
|
||||
#if HAVE_STRUCT_STATFS_F_FLAGS
|
||||
if (sfs->f_flags & MNT_RDONLY)
|
||||
vfs->f_flag |= ST_RDONLY;
|
||||
if (sfs->f_flags & MNT_NOSUID)
|
||||
vfs->f_flag |= ST_NOSUID;
|
||||
#endif
|
||||
|
||||
#if HAVE_STRUCT_STATFS_F_FSIZE
|
||||
vfs->f_bsize = sfs->f_fsize
|
||||
|
|
Loading…
Reference in a new issue