The 0001-useradd-copy-extended-attributes-of-home.patch (oe-core commit:
eed66e85af5ca6bbdd80cc3d5cf8453e8d8880bc) introduced a runtime failure
when enable SELinux.

When enable SELinux, The directory /home/user will get the extended
attributes of /etc/skel. However, the SELinux lable for /etc/skel is
etc_t which is also copied to /home/user. It will cause the user can not
write their home directory because the SELinux lable for /home/user
should be user_home_dir_t.

See discussion: 
http://lists.openembedded.org/pipermail/openembedded-core/2018-January/146039.html

The solution at the moment is to drop this patch.

Signed-off-by: Yi Zhao <[email protected]>
---
 ...-useradd-copy-extended-attributes-of-home.patch | 41 ----------------------
 ...-create-parent-directories-when-necessary.patch | 14 +++-----
 meta/recipes-extended/shadow/shadow.inc            |  1 -
 3 files changed, 5 insertions(+), 51 deletions(-)
 delete mode 100644 
meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch

diff --git 
a/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
 
b/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
deleted file mode 100644
index 474b3a2..0000000
--- 
a/meta/recipes-extended/shadow/files/0001-useradd-copy-extended-attributes-of-home.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Subject: [PATCH] useradd: copy extended attributes of home
-
-The Home directory wasn't getting the extended attributes
-of /etc/skel. This patch fixes that issue and adds the copy
-of the extended attributes of the root of the home directory.
-
-Upstream-Status: Pending
-
-Signed-off-by: José Bollo <[email protected]>
-Signed-off-by: Chen Qi <[email protected]>
----
- src/useradd.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/useradd.c b/src/useradd.c
-index e721e52..c74e491 100644
---- a/src/useradd.c
-+++ b/src/useradd.c
-@@ -54,6 +54,9 @@
- #include <sys/wait.h>
- #include <time.h>
- #include <unistd.h>
-+#ifdef WITH_ATTR
-+#include <attr/libattr.h>
-+#endif
- #include "chkname.h"
- #include "defines.h"
- #include "faillog.h"
-@@ -2042,6 +2045,9 @@ static void create_home (void)
-               (void) chown (prefix_user_home, user_id, user_gid);
-               chmod (prefix_user_home,
-                      0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK));
-+#ifdef WITH_ATTR
-+                     attr_copy_file (def_template, user_home, NULL, NULL);
-+#endif
-               home_added = true;
- #ifdef WITH_AUDIT
-               audit_logger (AUDIT_ADD_USER, Prog,
--- 
-2.11.0
-
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
index 7024136..faa6f68 100644
--- 
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
@@ -4,11 +4,11 @@ Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Chen Qi <[email protected]>
 ---
- src/useradd.c | 82 +++++++++++++++++++++++++++++++++++++++--------------------
- 1 file changed, 54 insertions(+), 28 deletions(-)
+ src/useradd.c | 80 +++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 53 insertions(+), 27 deletions(-)
 
 diff --git a/src/useradd.c b/src/useradd.c
-index 7214e72..3aaf45c 100644
+index 00a3c30..9ecbb58 100644
 --- a/src/useradd.c
 +++ b/src/useradd.c
 @@ -2021,6 +2021,35 @@ static void usr_update (void)
@@ -47,7 +47,7 @@ index 7214e72..3aaf45c 100644
   * create_home - create the user's home directory
   *
   *    create_home() creates the user's home directory if it does not
-@@ -2038,42 +2067,39 @@ static void create_home (void)
+@@ -2038,39 +2067,36 @@ static void create_home (void)
                        fail_exit (E_HOMEDIR);
                }
  #endif
@@ -74,16 +74,12 @@ index 7214e72..3aaf45c 100644
 -              (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));
- #ifdef WITH_ATTR
--                     attr_copy_file (def_template, user_home, NULL, NULL);
-+      attr_copy_file (def_template, user_home, NULL, NULL);
- #endif
--              home_added = true;
 +      home_added = true;
  #ifdef WITH_AUDIT
 -              audit_logger (AUDIT_ADD_USER, Prog,
diff --git a/meta/recipes-extended/shadow/shadow.inc 
b/meta/recipes-extended/shadow/shadow.inc
index 2b20bdc..4de21ac 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -11,7 +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-useradd-copy-extended-attributes-of-home.patch \
            ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', 
d)} \
            "
 
-- 
2.7.4

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to