Remove /system/etc/prop.default

Contents that were in /system/etc/prop.default are now in
/system/build.prop.

The content is placed at the top of build.prop to keep the existing
order between the two files.

Caveat #1: /prop.default still remains for non-Treble devices.

Caveat #2: ReadFileSymbolicLink test was changed to read /system/bin/ps
because /prop.default is no longer guaranteed to exist.

Bug: 117892318
Test: TH passes
Test: inspect  /system/build.prop and check if it has contents from
the old /system/etc/prop.default file

Change-Id: I0d3f96c1656dfe02bfa0e801680f7fa887afd1d9
This commit is contained in:
Jiyong Park 2020-05-11 16:47:05 +09:00
parent 8569552ec2
commit c068d0e0ef
2 changed files with 10 additions and 9 deletions

View file

@ -877,18 +877,19 @@ static void property_derive_build_fingerprint() {
}
void PropertyLoadBootDefaults() {
// TODO(b/117892318): merge prop.default and build.prop files into one
// We read the properties and their values into a map, in order to always allow properties
// loaded in the later property files to override the properties in loaded in the earlier
// property files, regardless of if they are "ro." properties or not.
std::map<std::string, std::string> properties;
if (!load_properties_from_file("/system/etc/prop.default", nullptr, &properties)) {
// Try recovery path
if (!load_properties_from_file("/prop.default", nullptr, &properties)) {
// Try legacy path
load_properties_from_file("/default.prop", nullptr, &properties);
}
if (IsRecoveryMode()) {
load_properties_from_file("/prop.default", nullptr, &properties);
}
// Try legacy (non-Treble) path. This file might not exist in most of the
// post-Oreo devices. Absence of the file is not an error.
load_properties_from_file("/default.prop", nullptr, &properties);
load_properties_from_file("/system/build.prop", nullptr, &properties);
load_properties_from_file("/system_ext/build.prop", nullptr, &properties);

View file

@ -61,8 +61,8 @@ TEST(util, ReadFileWorldWiteable) {
TEST(util, ReadFileSymbolicLink) {
errno = 0;
// lrw------- 1 root root 23 2008-12-31 19:00 default.prop -> system/etc/prop.default
auto file_contents = ReadFile("/default.prop");
// lrwxr-xr-x 1 root shell 6 2009-01-01 09:00 /system/bin/ps -> toybox
auto file_contents = ReadFile("/system/bin/ps");
EXPECT_EQ(ELOOP, errno);
ASSERT_FALSE(file_contents.ok());
EXPECT_EQ("open() failed: Too many symbolic links encountered",