From 228006ea741dbcaa9b60755dc3f5e10c355bb0df Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Fri, 13 Mar 2020 17:23:43 +0100 Subject: [PATCH] package_daemon: fix path of activated-package files Until now the activated-packages file was not used for anything, because it was not looked for in the correct place. Change-Id: Ib38f28b52e85af6900c0e2b61a9621734428ad25 Reviewed-on: https://review.haiku-os.org/c/haiku/+/2341 Reviewed-by: waddlesplash --- src/servers/package/Volume.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/servers/package/Volume.cpp b/src/servers/package/Volume.cpp index 6ec0865871..79f952a0ac 100644 --- a/src/servers/package/Volume.cpp +++ b/src/servers/package/Volume.cpp @@ -986,10 +986,22 @@ Volume::_InitLatestState() status_t Volume::_InitLatestStateFromActivatedPackages() { + // open admin directory + BDirectory adminDirectory; + status_t error = _OpenPackagesSubDirectory( + RelativePath(kAdminDirectoryName), false, adminDirectory); + if (error != B_OK) + RETURN_ERROR(error); + + node_ref adminNode; + error = adminDirectory.GetNodeRef(&adminNode); + if (error != B_OK) + RETURN_ERROR(error); + // try reading the activation file - NotOwningEntryRef entryRef(PackagesDirectoryRef(), kActivationFileName); + NotOwningEntryRef entryRef(adminNode, kActivationFileName); BFile file; - status_t error = file.SetTo(&entryRef, B_READ_ONLY); + error = file.SetTo(&entryRef, B_READ_ONLY); if (error != B_OK) { INFORM("Failed to open packages activation file: %s\n", strerror(error));