--- Python-2.7.15/configure.orig 2018-04-30 00:47:33.000000000 +0200 +++ Python-2.7.15/configure 2018-12-26 12:46:08.163275913 +0100 @@ -12177,6 +12177,32 @@ _ACEOF fi +ac_fn_c_check_member "$LINENO" "struct passwd" "pw_gecos" "ac_cv_member_struct_passwd_pw_gecos" " + #include + #include + +" +if test "x$ac_cv_member_struct_passwd_pw_gecos" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PASSWD_PW_GECOS 1 +_ACEOF + + +fi +ac_fn_c_check_member "$LINENO" "struct passwd" "pw_passwd" "ac_cv_member_struct_passwd_pw_passwd" " + #include + #include + +" +if test "x$ac_cv_member_struct_passwd_pw_passwd" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PASSWD_PW_PASSWD 1 +_ACEOF + + +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for time.h that defines altzone" >&5 $as_echo_n "checking for time.h that defines altzone... " >&6; } --- Python-2.7.15/configure.ac.orig 2018-04-30 00:47:33.000000000 +0200 +++ Python-2.7.15/configure.ac 2018-12-26 12:50:20.679273505 +0100 @@ -3562,6 +3562,10 @@ AC_CHECK_MEMBERS([struct stat.st_flags]) AC_CHECK_MEMBERS([struct stat.st_gen]) AC_CHECK_MEMBERS([struct stat.st_birthtime]) AC_CHECK_MEMBERS([struct stat.st_blocks]) +AC_CHECK_MEMBERS([struct passwd.pw_gecos, struct passwd.pw_passwd], [], [], [[ + #include + #include +]]) AC_MSG_CHECKING(for time.h that defines altzone) AC_CACHE_VAL(ac_cv_header_time_altzone,[ --- Python-2.7.15/pyconfig.h.in.orig 2018-04-30 00:47:33.000000000 +0200 +++ Python-2.7.15/pyconfig.h.in 2018-12-26 12:52:13.247272432 +0100 @@ -737,6 +737,12 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STROPTS_H +/* Define to 1 if `pw_gecos' is a member of `struct passwd'. */ +#undef HAVE_STRUCT_PASSWD_PW_GECOS + +/* Define to 1 if `pw_passwd' is a member of `struct passwd'. */ +#undef HAVE_STRUCT_PASSWD_PW_PASSWD + /* Define to 1 if `st_birthtime' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_BIRTHTIME --- Python-2.7.15/Modules/pwdmodule.c.orig 2018-04-30 00:47:33.000000000 +0200 +++ Python-2.7.15/Modules/pwdmodule.c 2018-12-26 12:38:47.611280115 +0100 @@ -68,17 +68,17 @@ mkpwent(struct passwd *p) #define SETS(i,val) sets(v, i, val) SETS(setIndex++, p->pw_name); -#ifdef __VMS - SETS(setIndex++, ""); -#else +#if defined(HAVE_STRUCT_PASSWD_PW_PASSWD) SETS(setIndex++, p->pw_passwd); +#else + SETS(setIndex++, ""); #endif PyStructSequence_SET_ITEM(v, setIndex++, _PyInt_FromUid(p->pw_uid)); PyStructSequence_SET_ITEM(v, setIndex++, _PyInt_FromGid(p->pw_gid)); -#ifdef __VMS - SETS(setIndex++, ""); -#else +#if defined(HAVE_STRUCT_PASSWD_PW_GECOS) SETS(setIndex++, p->pw_gecos); +#else + SETS(setIndex++, ""); #endif SETS(setIndex++, p->pw_dir); SETS(setIndex++, p->pw_shell);