[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4675/8267] rootfspostcommands: remove shadow backup files instead of trying to sort
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 4675/8267] rootfspostcommands: remove shadow backup files instead of trying to sort
- Date: Sun, 17 Dec 2017 02:22:10 +0000 (UTC)
commit bcb24c013d9724dde3d3c742443ee5bfa944c83f
Author: Patrick Ohly <patrick ohly intel com>
Date: Fri Feb 10 12:29:14 2017 +0100
rootfspostcommands: remove shadow backup files instead of trying to sort
Backup are files sometimes are inconsistent and then cannot be
sorted (YOCTO #11043), and more importantly, are not needed in
the initial rootfs, so they get deleted.
Fixes: [YOCTO #11007]
(From OE-Core rev: e5628c80a52f3caeea9d9dc7f67d1b8a61222aef)
Signed-off-by: Patrick Ohly <patrick ohly intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/lib/rootfspostcommands.py | 28 ++++++++++++++++++++--------
1 files changed, 20 insertions(+), 8 deletions(-)
---
diff --git a/meta/lib/rootfspostcommands.py b/meta/lib/rootfspostcommands.py
index 6a9b8b4..4742e06 100644
--- a/meta/lib/rootfspostcommands.py
+++ b/meta/lib/rootfspostcommands.py
@@ -29,16 +29,28 @@ def sort_file(filename, mapping):
f.write(b''.join(lines))
return new_mapping
+def remove_backup(filename):
+ """
+ Removes the backup file for files like /etc/passwd.
+ """
+ backup_filename = filename + '-'
+ if os.path.exists(backup_filename):
+ os.unlink(backup_filename)
+
def sort_passwd(sysconfdir):
"""
Sorts passwd and group files in a rootfs /etc directory by ID.
+ Backup files are sometimes are inconsistent and then cannot be
+ sorted (YOCTO #11043), and more importantly, are not needed in
+ the initial rootfs, so they get deleted.
"""
- for suffix in '', '-':
- for main, shadow in (('passwd', 'shadow'),
- ('group', 'gshadow')):
- filename = os.path.join(sysconfdir, main + suffix)
+ for main, shadow in (('passwd', 'shadow'),
+ ('group', 'gshadow')):
+ filename = os.path.join(sysconfdir, main)
+ remove_backup(filename)
+ if os.path.exists(filename):
+ mapping = sort_file(filename, None)
+ filename = os.path.join(sysconfdir, shadow)
+ remove_backup(filename)
if os.path.exists(filename):
- mapping = sort_file(filename, None)
- filename = os.path.join(sysconfdir, shadow + suffix)
- if os.path.exists(filename):
- sort_file(filename, mapping)
+ sort_file(filename, mapping)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]