From d3c96ad80967b792ed25425288c374624273295d Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 10 Sep 2013 18:59:35 +0200 Subject: [PATCH] BPackageManager: Support pre-added packages ... as needed for the package daemon. _PreparePackageChanges() doesn't try to clone them in this case. --- src/kits/package/manager/PackageManager.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/kits/package/manager/PackageManager.cpp b/src/kits/package/manager/PackageManager.cpp index 1fdb758249..bba220c704 100644 --- a/src/kits/package/manager/PackageManager.cpp +++ b/src/kits/package/manager/PackageManager.cpp @@ -471,10 +471,12 @@ BPackageManager::_PreparePackageChanges( RemoteRepository* remoteRepository = dynamic_cast(package->Repository()); if (remoteRepository == NULL) { - // clone the existing package - _ClonePackageFile( - dynamic_cast(package->Repository()), - fileName, entry); + // clone the existing package (unless already present) + if (package->Repository() != &installationRepository) { + _ClonePackageFile( + dynamic_cast(package->Repository()), + fileName, entry); + } } else { // download the package BString url = remoteRepository->Config().PackagesURL();