CL in [1] fixed the wrong mode for the root directory from 0644 to 0755.
However it only handles the path by calling mkbootfs with canned
fs_config (i.e. with -f flag). When calling mkbootfs without -f flag, it
still treats the root directory as a file. This renders the generated
boot/recovery images w/ and w/o -f being different, and leads to the
incorrect checksums in /system/bin/install-recovery.sh.
[1] commit aa8f2f65a030f71506277e2a8d64d83a099e9feb.
Bug: 31988535
Test: `make dist` and verify the checksums in /system/bin/install-recovery.sh.
Change-Id: Ib50fadb23367da0b46944ae0579093da21412593
Using a getenv('OUT') in such a deep down function is a wrong design
choice. Replacing with explicit parameter that may be NULL in case
device specific files can be accessed from /.
Since TARGET_COPY_OUT_SYSTEM may be defined to something different than
system we also ensure that we use a path relative to TARGET_OUT to
compute path to fs_config_* files.
Bug: 21989305
Bug: 22048934
Change-Id: Id91bc183b29beac7379d1117ad83bd3346e6897b
Signed-off-by: Thierry Strudel <tstrudel@google.com>
Modify android_filesystem_config.h and add a capabilities
field. This field can be used to add filesystem capabilities
to a particular file.
Change-Id: If8953a322457ea7275aa6df75660b714e6dc678a
mkbootfs uses the compiled in fs_config() function to set the mode
(but not the uid or gid) of the files in the filesystem it is
building. Give it an optional "-f filename" flag to allow loading the
list of file permissions from a file, so we can continue to accurately
recreate old filesystems even when the current fs_config() has changed.
Bug: 6435132
Change-Id: Ife6b25e989301e78e22c34a544738436c96caf6f