Index: chromeos/system/statistics_provider.cc |
diff --git a/chromeos/system/statistics_provider.cc b/chromeos/system/statistics_provider.cc |
index 26fb751b78f404002cd4db7393515a4b70dda4a5..287fdb0fe76560aa2bc31e4c910e4dbdd7d34122 100644 |
--- a/chromeos/system/statistics_provider.cc |
+++ b/chromeos/system/statistics_provider.cc |
@@ -61,8 +61,7 @@ const char kEchoCouponFile[] = "/var/cache/echo/vpd_echo.txt"; |
const char kEchoCouponEq[] = "="; |
const char kEchoCouponDelim[] = "\n"; |
-// File to get VPD info from, and key/value delimiters of the file. |
-const char kVpdFile[] = "/var/log/vpd_2.0.txt"; |
+// Key/value delimiters for VPD file. |
const char kVpdEq[] = "="; |
const char kVpdDelim[] = "\n"; |
@@ -471,23 +470,32 @@ void StatisticsProviderImpl::LoadMachineStatistics(bool load_oem_manifest) { |
std::string stub_contents = |
"\"serial_number\"=\"stub_" + |
base::Int64ToString(base::Time::Now().ToJavaTime()) + "\"\n"; |
- int bytes_written = base::WriteFile(machine_info_path, |
- stub_contents.c_str(), |
- stub_contents.size()); |
- // static_cast<int> is fine because stub_contents is small. |
+ int bytes_written = base::WriteFile( |
+ machine_info_path, stub_contents.c_str(), stub_contents.size()); |
if (bytes_written < static_cast<int>(stub_contents.size())) { |
LOG(ERROR) << "Error writing machine info stub: " |
Daniel Erat
2017/03/23 23:35:23
nit: PLOG(ERROR) will include errno
Thiemo Nagel
2017/04/11 15:29:32
Done.
|
<< machine_info_path.value(); |
} |
} |
+ base::FilePath vpd_path; |
+ PathService::Get(chromeos::FILE_VPD, &vpd_path); |
+ if (!base::SysInfo::IsRunningOnChromeOS() && !base::PathExists(vpd_path)) { |
+ std::string stub_contents = "\"ActivateDate\"=\"2000-01\"\n"; |
+ int bytes_written = |
+ base::WriteFile(vpd_path, stub_contents.c_str(), stub_contents.size()); |
+ if (bytes_written < static_cast<int>(stub_contents.size())) { |
+ LOG(ERROR) << "Error writing vpd stub: " << vpd_path.value(); |
Daniel Erat
2017/03/23 23:35:23
PLOG(ERROR) here as well
Thiemo Nagel
2017/04/11 15:29:32
Done.
|
+ } |
+ } |
+ |
parser.GetNameValuePairsFromFile(machine_info_path, |
kMachineHardwareInfoEq, |
kMachineHardwareInfoDelim); |
parser.GetNameValuePairsFromFile(base::FilePath(kEchoCouponFile), |
kEchoCouponEq, |
kEchoCouponDelim); |
- parser.GetNameValuePairsFromFile(base::FilePath(kVpdFile), |
+ parser.GetNameValuePairsFromFile(vpd_path, |
kVpdEq, |
kVpdDelim); |