Chen - Absolutely. Just explain me how I can reproduce it, please.
On 03/07/2019 04:27, ChenQi wrote: > Could you please help check if the following failure is related to > this patch? > https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/763/steps/7/logs/step1b > > > Best Regards, > Chen Qi > > On 07/03/2019 04:52 AM, Oleksandr Kravchuk wrote: >> Removed patches were upstreamed. >> >> Signed-off-by: Oleksandr Kravchuk <[email protected]> >> --- >> ...chg-shadow-field-reproducible-re.-71.patch | 89 -------------- >> ...te-parent-directories-when-necessary.patch | 116 ------------------ >> ...ettime-Use-secure_getenv-over-getenv.patch | 71 ----------- >> ...curetty_4.6.bb => shadow-securetty_4.7.bb} | 0 >> ...w-sysroot_4.6.bb => shadow-sysroot_4.7.bb} | 0 >> meta/recipes-extended/shadow/shadow.inc | 7 +- >> .../shadow/{shadow_4.6.bb => shadow_4.7.bb} | 0 >> 7 files changed, 2 insertions(+), 281 deletions(-) >> delete mode 100644 >> meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch >> delete mode 100644 >> meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch >> delete mode 100644 >> meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch >> rename meta/recipes-extended/shadow/{shadow-securetty_4.6.bb => >> shadow-securetty_4.7.bb} (100%) >> rename meta/recipes-extended/shadow/{shadow-sysroot_4.6.bb => >> shadow-sysroot_4.7.bb} (100%) >> rename meta/recipes-extended/shadow/{shadow_4.6.bb => >> shadow_4.7.bb} (100%) >> >> diff --git >> a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch >> b/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch >> >> deleted file mode 100644 >> index de0ba3ebb4..0000000000 >> --- >> a/meta/recipes-extended/shadow/files/0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch >> +++ /dev/null >> @@ -1,89 +0,0 @@ >> -From fe34a2a0e44bc80ff213bfd185046a5f10c94997 Mon Sep 17 00:00:00 2001 >> -From: Chris Lamb <[email protected]> >> -Date: Wed, 2 Jan 2019 18:06:16 +0000 >> -Subject: [PATCH 1/2] Make the sp_lstchg shadow field reproducible >> (re. #71) >> - >> -From <https://github.com/shadow-maint/shadow/pull/71>: >> - >> -``` >> -The third field in the /etc/shadow file (sp_lstchg) contains the >> date of >> -the last password change expressed as the number of days since Jan >> 1, 1970. >> -As this is a relative time, creating a user today will result in: >> - >> -username:17238:0:99999:7::: >> -whilst creating the same user tomorrow will result in: >> - >> -username:17239:0:99999:7::: >> -This has an impact for the Reproducible Builds[0] project where we >> aim to >> -be independent of as many elements the build environment as possible, >> -including the current date. >> - >> -This patch changes the behaviour to use the SOURCE_DATE_EPOCH[1] >> -environment variable (instead of Jan 1, 1970) if valid. >> -``` >> - >> -This updated PR adds some missing calls to gettime (). This was >> originally >> -filed by Johannes Schauer in Debian as #917773 [2]. >> - >> -[0] https://reproducible-builds.org/ >> -[1] https://reproducible-builds.org/specs/source-date-epoch/ >> -[2] https://bugs.debian.org/917773 >> - >> -Upstream-Status: Backport >> -Signed-off-by: Alex Kiernan <[email protected]> >> ---- >> - libmisc/pwd2spwd.c | 3 +-- >> - src/pwck.c | 2 +- >> - src/pwconv.c | 2 +- >> - 3 files changed, 3 insertions(+), 4 deletions(-) >> - >> -diff --git a/libmisc/pwd2spwd.c b/libmisc/pwd2spwd.c >> -index c1b9b29ac873..6799dd50d490 100644 >> ---- a/libmisc/pwd2spwd.c >> -+++ b/libmisc/pwd2spwd.c >> -@@ -40,7 +40,6 @@ >> - #include "prototypes.h" >> - #include "defines.h" >> - #include <pwd.h> >> --extern time_t time (time_t *); >> - >> - /* >> - * pwd_to_spwd - create entries for new spwd structure >> -@@ -66,7 +65,7 @@ struct spwd *pwd_to_spwd (const struct passwd *pw) >> - */ >> - sp.sp_min = 0; >> - sp.sp_max = (10000L * DAY) / SCALE; >> -- sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; >> -+ sp.sp_lstchg = (long) gettime () / SCALE; >> - if (0 == sp.sp_lstchg) { >> - /* Better disable aging than requiring a password >> - * change */ >> -diff --git a/src/pwck.c b/src/pwck.c >> -index 0ffb711efb13..f70071b12500 100644 >> ---- a/src/pwck.c >> -+++ b/src/pwck.c >> -@@ -609,7 +609,7 @@ static void check_pw_file (int *errors, bool >> *changed) >> - sp.sp_inact = -1; >> - sp.sp_expire = -1; >> - sp.sp_flag = SHADOW_SP_FLAG_UNSET; >> -- sp.sp_lstchg = (long) time ((time_t *) 0) / SCALE; >> -+ sp.sp_lstchg = (long) gettime () / SCALE; >> - if (0 == sp.sp_lstchg) { >> - /* Better disable aging than >> - * requiring a password change >> -diff --git a/src/pwconv.c b/src/pwconv.c >> -index 9c69fa131d8e..f932f266c59c 100644 >> ---- a/src/pwconv.c >> -+++ b/src/pwconv.c >> -@@ -267,7 +267,7 @@ int main (int argc, char **argv) >> - spent.sp_flag = SHADOW_SP_FLAG_UNSET; >> - } >> - spent.sp_pwdp = pw->pw_passwd; >> -- spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE; >> -+ spent.sp_lstchg = (long) gettime () / SCALE; >> - if (0 == spent.sp_lstchg) { >> - /* Better disable aging than requiring a password >> - * change */ >> --- >> -2.17.1 >> - >> diff --git >> a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch >> b/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch >> >> deleted file mode 100644 >> index faa6f68ebe..0000000000 >> --- >> a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch >> +++ /dev/null >> @@ -1,116 +0,0 @@ >> -Subject: [PATCH] useradd.c: create parent directories when necessary >> - >> -Upstream-Status: Inappropriate [OE specific] >> - >> -Signed-off-by: Chen Qi <[email protected]> >> ---- >> - src/useradd.c | 80 >> +++++++++++++++++++++++++++++++++++++++-------------------- >> - 1 file changed, 53 insertions(+), 27 deletions(-) >> - >> -diff --git a/src/useradd.c b/src/useradd.c >> -index 00a3c30..9ecbb58 100644 >> ---- a/src/useradd.c >> -+++ b/src/useradd.c >> -@@ -2021,6 +2021,35 @@ static void usr_update (void) >> - } >> - >> - /* >> -+ * mkdir_p - create directories, including parent directories when >> needed >> -+ * >> -+ * similar to `mkdir -p' >> -+ */ >> -+void mkdir_p(const char *path) { >> -+ int len = strlen(path); >> -+ char newdir[len + 1]; >> -+ mode_t mode = 0755; >> -+ int i = 0; >> -+ >> -+ if (path[i] == '\0') { >> -+ return; >> -+ } >> -+ >> -+ /* skip the leading '/' */ >> -+ i++; >> -+ >> -+ while(path[i] != '\0') { >> -+ if (path[i] == '/') { >> -+ strncpy(newdir, path, i); >> -+ newdir[i] = '\0'; >> -+ mkdir(newdir, mode); >> -+ } >> -+ i++; >> -+ } >> -+ mkdir(path, mode); >> -+} >> -+ >> -+/* >> - * create_home - create the user's home directory >> - * >> - * create_home() creates the user's home directory if it does not >> -@@ -2038,39 +2067,36 @@ static void create_home (void) >> - fail_exit (E_HOMEDIR); >> - } >> - #endif >> -- /* XXX - create missing parent directories. --marekm */ >> -- if (mkdir (prefix_user_home, 0) != 0) { >> -- fprintf (stderr, >> -- _("%s: cannot create directory %s\n"), >> -- Prog, prefix_user_home); >> -+ mkdir_p(user_home); >> -+ } >> -+ if (access (prefix_user_home, F_OK) != 0) { >> - #ifdef WITH_AUDIT >> -- audit_logger (AUDIT_ADD_USER, Prog, >> -- "adding home directory", >> -- user_name, (unsigned int) user_id, >> -- SHADOW_AUDIT_FAILURE); >> -+ audit_logger (AUDIT_ADD_USER, Prog, >> -+ "adding home directory", >> -+ user_name, (unsigned int) user_id, >> -+ SHADOW_AUDIT_FAILURE); >> - #endif >> -- fail_exit (E_HOMEDIR); >> -- } >> -- (void) chown (prefix_user_home, user_id, user_gid); >> -- chmod (prefix_user_home, >> -- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); >> -- home_added = true; >> -+ fail_exit (E_HOMEDIR); >> -+ } >> -+ (void) chown (prefix_user_home, user_id, user_gid); >> -+ chmod (prefix_user_home, >> -+ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); >> -+ home_added = true; >> - #ifdef WITH_AUDIT >> -- audit_logger (AUDIT_ADD_USER, Prog, >> -- "adding home directory", >> -- user_name, (unsigned int) user_id, >> -- SHADOW_AUDIT_SUCCESS); >> -+ audit_logger (AUDIT_ADD_USER, Prog, >> -+ "adding home directory", >> -+ user_name, (unsigned int) user_id, >> -+ SHADOW_AUDIT_SUCCESS); >> - #endif >> - #ifdef WITH_SELINUX >> -- /* Reset SELinux to create files with default contexts */ >> -- if (reset_selinux_file_context () != 0) { >> -- fprintf (stderr, >> -- _("%s: cannot reset SELinux file creation >> context\n"), >> -- Prog); >> -- fail_exit (E_HOMEDIR); >> -- } >> --#endif >> -+ /* Reset SELinux to create files with default contexts */ >> -+ if (reset_selinux_file_context () != 0) { >> -+ fprintf (stderr, >> -+ _("%s: cannot reset SELinux file creation context\n"), >> -+ Prog); >> -+ fail_exit (E_HOMEDIR); >> - } >> -+#endif >> - } >> - >> - /* >> --- >> -2.11.0 >> - >> diff --git >> a/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch >> b/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch >> >> deleted file mode 100644 >> index 8c8234d038..0000000000 >> --- >> a/meta/recipes-extended/shadow/files/0002-gettime-Use-secure_getenv-over-getenv.patch >> +++ /dev/null >> @@ -1,71 +0,0 @@ >> -From 3d921155e0a761f61c8f1ec37328724aee1e2eda Mon Sep 17 00:00:00 2001 >> -From: Chris Lamb <[email protected]> >> -Date: Sun, 31 Mar 2019 15:59:45 +0100 >> -Subject: [PATCH 2/2] gettime: Use secure_getenv over getenv. >> - >> -Upstream-Status: Backport >> -Signed-off-by: Alex Kiernan <[email protected]> >> ---- >> - README | 1 + >> - configure.ac | 3 +++ >> - lib/defines.h | 6 ++++++ >> - libmisc/gettime.c | 2 +- >> - 4 files changed, 11 insertions(+), 1 deletion(-) >> - >> -diff --git a/README b/README >> -index 952ac5787f06..26cfff1e8fa8 100644 >> ---- a/README >> -+++ b/README >> -@@ -51,6 +51,7 @@ Brian R. Gaeke <[email protected]> >> - Calle Karlsson <[email protected]> >> - Chip Rosenthal <[email protected]> >> - Chris Evans <[email protected]> >> -+Chris Lamb <[email protected]> >> - Cristian Gafton <[email protected]> >> - Dan Walsh <[email protected]> >> - Darcy Boese <[email protected]> >> -diff --git a/configure.ac b/configure.ac >> -index da236722766b..a738ad662cc3 100644 >> ---- a/configure.ac >> -+++ b/configure.ac >> -@@ -110,6 +110,9 @@ AC_REPLACE_FUNCS(sgetgrent sgetpwent sgetspent) >> - AC_REPLACE_FUNCS(snprintf strcasecmp strdup strerror strstr) >> - >> - AC_CHECK_FUNC(setpgrp) >> -+AC_CHECK_FUNC(secure_getenv, [AC_DEFINE(HAS_SECURE_GETENV, >> -+ 1, >> -+ [Defined to 1 if you have >> the declaration of 'secure_getenv'])]) >> - >> - if test "$ac_cv_header_shadow_h" = "yes"; then >> - AC_CACHE_CHECK(for working shadow group support, >> -diff --git a/lib/defines.h b/lib/defines.h >> -index cded1417fd12..2fb1b56eca6b 100644 >> ---- a/lib/defines.h >> -+++ b/lib/defines.h >> -@@ -382,4 +382,10 @@ extern char *strerror (); >> - # endif >> - #endif >> - >> -+#ifdef HAVE_SECURE_GETENV >> -+# define shadow_getenv(name) secure_getenv(name) >> -+# else >> -+# define shadow_getenv(name) getenv(name) >> -+#endif >> -+ >> - #endif /* _DEFINES_H_ */ >> -diff --git a/libmisc/gettime.c b/libmisc/gettime.c >> -index 53eaf51670bb..0e25a4b75061 100644 >> ---- a/libmisc/gettime.c >> -+++ b/libmisc/gettime.c >> -@@ -52,7 +52,7 @@ >> - unsigned long long epoch; >> - >> - fallback = time (NULL); >> -- source_date_epoch = getenv ("SOURCE_DATE_EPOCH"); >> -+ source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH"); >> - >> - if (!source_date_epoch) >> - return fallback; >> --- >> -2.17.1 >> - >> diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb >> b/meta/recipes-extended/shadow/shadow-securetty_4.7.bb >> similarity index 100% >> rename from meta/recipes-extended/shadow/shadow-securetty_4.6.bb >> rename to meta/recipes-extended/shadow/shadow-securetty_4.7.bb >> diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb >> b/meta/recipes-extended/shadow/shadow-sysroot_4.7.bb >> similarity index 100% >> rename from meta/recipes-extended/shadow/shadow-sysroot_4.6.bb >> rename to meta/recipes-extended/shadow/shadow-sysroot_4.7.bb >> diff --git a/meta/recipes-extended/shadow/shadow.inc >> b/meta/recipes-extended/shadow/shadow.inc >> index 7f82d20826..219d0d276a 100644 >> --- a/meta/recipes-extended/shadow/shadow.inc >> +++ b/meta/recipes-extended/shadow/shadow.inc >> @@ -11,8 +11,6 @@ DEPENDS = "virtual/crypt" >> UPSTREAM_CHECK_URI = "https://github.com/shadow-maint/shadow/releases" >> SRC_URI = >> "https://github.com/shadow-maint/shadow/releases/download/${PV}/${BP}.tar.gz >> \ >> file://shadow-4.1.3-dots-in-usernames.patch \ >> - >> file://0001-Make-the-sp_lstchg-shadow-field-reproducible-re.-71.patch \ >> - file://0002-gettime-Use-secure_getenv-over-getenv.patch \ >> >> file://0001-configure.ac-fix-configure-error-with-dash.patch \ >> ${@bb.utils.contains('PACKAGECONFIG', 'pam', >> '${PAM_SRC_URI}', '', d)} \ >> " >> @@ -27,14 +25,13 @@ SRC_URI_append_class-native = " \ >> file://0001-Disable-use-of-syslog-for-sysroot.patch \ >> file://allow-for-setting-password-in-clear-text.patch \ >> >> file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ >> - >> file://0001-useradd.c-create-parent-directories-when-necessary.patch \ >> " >> SRC_URI_append_class-nativesdk = " \ >> file://0001-Disable-use-of-syslog-for-sysroot.patch \ >> " >> -SRC_URI[md5sum] = "36feb15665338ae3de414f2a88e434db" >> -SRC_URI[sha256sum] = >> "4668f99bd087399c4a586084dc3b046b75f560720d83e92fd23bf7a89dda4d31" >> +SRC_URI[md5sum] = "eb66cc4e5166fba8854eb805ec0bab63" >> +SRC_URI[sha256sum] = >> "5135b0ca2a361a218fab59e63d9c1720d2a8fc1faa520c819a654b638017286f" >> # Additional Policy files for PAM >> PAM_SRC_URI = "file://pam.d/chfn \ >> diff --git a/meta/recipes-extended/shadow/shadow_4.6.bb >> b/meta/recipes-extended/shadow/shadow_4.7.bb >> similarity index 100% >> rename from meta/recipes-extended/shadow/shadow_4.6.bb >> rename to meta/recipes-extended/shadow/shadow_4.7.bb > > -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
