File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -40,7 +40,10 @@ def build_update_image_impl():
40
40
41
41
# These files will be overwritten, so we should make sure that new build does not have any entities that
42
42
# are not in our reference files.
43
- for reference_file , diff in compare_reference_files (cut_nonexistent_user_group_membership = True ):
43
+ for reference_file , diff in compare_reference_files (
44
+ cut_nonexistent_user_group_membership = True ,
45
+ default_homedir = '/var/empty'
46
+ ):
44
47
if any (line .startswith ('+' ) for line in diff ):
45
48
raise CallError (
46
49
f'Reference file { reference_file !r} has new lines in newly installed system.\n '
Original file line number Diff line number Diff line change 6
6
from .paths import REFERENCE_FILES_DIR , REFERENCE_FILES , CHROOT_BASEDIR
7
7
8
8
9
- def compare_reference_files (cut_nonexistent_user_group_membership = False ):
9
+ def compare_reference_files (cut_nonexistent_user_group_membership : bool = False , default_homedir : str | None = None ):
10
+ """Diff /conf/reference-files/etc/group|passwd with the respective files in chroot.
11
+
12
+ :param cut_nonexistent_user_group_membership:
13
+ :param default_homedir: A home directory to replace Debian's default `/nonexistent` before running the diff.
14
+ """
10
15
for reference_file in REFERENCE_FILES :
11
16
with open (os .path .join (REFERENCE_FILES_DIR , reference_file )) as f :
12
17
reference = f .readlines ()
@@ -29,6 +34,9 @@ def compare_reference_files(cut_nonexistent_user_group_membership=False):
29
34
with open (os .path .join (CHROOT_BASEDIR , reference_file )) as f :
30
35
real = f .readlines ()
31
36
37
+ if default_homedir and reference_file == 'etc/passwd' :
38
+ real = [line .replace ('/nonexistent' , default_homedir ) for line in real ]
39
+
32
40
diff = list (difflib .unified_diff (reference , real ))
33
41
34
42
yield reference_file , diff [3 :]
You can’t perform that action at this time.
0 commit comments