hrev50502 adds 1 changeset to branch 'master'
old head: e0c25f9892404842a8457561bc9bc67a82e366b6
new head: a22f114f7dd063562162122a5b3e509ca4fb5c66
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=a22f114f7dd0+%5Ee0c25f989240
----------------------------------------------------------------------------
a22f114f7dd0: chroot support in package kit: style fixes
- Catching an exception in the normal flow is not a good thing, instead,
test before calling the function (I've been doing too much python
lately)
- Avoid using uninitialized nodeRef if there is no system root and also
no specified root in the message.
Thanks to Ingo or the code review.
[ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev50502
Commit: a22f114f7dd063562162122a5b3e509ca4fb5c66
URL: http://cgit.haiku-os.org/haiku/commit/?id=a22f114f7dd0
Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date: Sun Aug 21 07:13:28 2016 UTC
----------------------------------------------------------------------------
2 files changed, 8 insertions(+), 5 deletions(-)
src/kits/package/manager/PackageManager.cpp | 10 ++++++----
src/servers/package/PackageDaemon.cpp | 3 ++-
----------------------------------------------------------------------------
diff --git a/src/kits/package/manager/PackageManager.cpp
b/src/kits/package/manager/PackageManager.cpp
index 6d9ccd8..ec174ba 100644
--- a/src/kits/package/manager/PackageManager.cpp
+++ b/src/kits/package/manager/PackageManager.cpp
@@ -110,11 +110,13 @@ BPackageManager::Init(uint32 flags)
// well. But we can easily filter those out.
_AddInstalledRepository(fSystemRepository);
- try {
- if (!fSystemRepository->IsInstalled())
+ if (!fSystemRepository->IsInstalled())
+ {
+ // Only add the home repository if the directory exists
+ BPath path;
+ status_t error =
find_directory(B_USER_PACKAGES_DIRECTORY, &path);
+ if (error == B_OK && BEntry(path.Path()).Exists())
_AddInstalledRepository(fHomeRepository);
- } catch(BFatalErrorException& exception) {
- // No home repository found. This is ok for haikuporter
chroots.
}
}
diff --git a/src/servers/package/PackageDaemon.cpp
b/src/servers/package/PackageDaemon.cpp
index 4b35cb1..d0c9322 100644
--- a/src/servers/package/PackageDaemon.cpp
+++ b/src/servers/package/PackageDaemon.cpp
@@ -93,8 +93,9 @@ PackageDaemon::MessageReceived(BMessage* message)
if (fSystemRoot != NULL && (error != B_OK
|| fSystemRoot->NodeRef() == nodeRef))
+ {
fSystemRoot->HandleRequest(DetachCurrentMessage());
- else {
+ } else if (error == B_OK) {
Root* root = _FindRoot(nodeRef);
if (root != NULL) {
root->HandleRequest(DetachCurrentMessage());