-rw-r--r-- | noncore/settings/aqpkg/server.cpp | 13 | ||||
-rw-r--r-- | noncore/settings/aqpkg/server.h | 3 |
2 files changed, 11 insertions, 5 deletions
diff --git a/noncore/settings/aqpkg/server.cpp b/noncore/settings/aqpkg/server.cpp index 0069a60..7d103a2 100644 --- a/noncore/settings/aqpkg/server.cpp +++ b/noncore/settings/aqpkg/server.cpp @@ -79,5 +79,5 @@ void Server :: readStatusFile( vector<Destination> &destList ) packageFile = path + "usr/lib/ipkg/status"; - readPackageFile( 0, false, installingToRoot ); + readPackageFile( 0, false, installingToRoot, dit ); } @@ -140,5 +140,5 @@ void Server :: readLocalIpks( Server *local ) } -void Server :: readPackageFile( Server *local, bool clearAll, bool installingToRoot ) +void Server :: readPackageFile( Server *local, bool clearAll, bool installingToRoot, Destination *dest ) { ifstream in( packageFile ); @@ -169,5 +169,6 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR key = k; value = v; - key.stripWhiteSpace(); + key = key.stripWhiteSpace(); + value = value.stripWhiteSpace(); if ( key == "Package" && newPackage ) { @@ -179,8 +180,14 @@ void Server :: readPackageFile( Server *local, bool clearAll, bool installingToR packageList.push_back( Package( value ) ); currPackage = &(packageList.back()); + currPackage->setInstalledTo( dest ); if ( installingToRoot ) currPackage->setInstalledToRoot( true ); } + else + { + if (currPackage->getStatus().find( "deinstall" ) != -1 ) + currPackage->setInstalledTo( dest ); + } } else if ( key == "Version" ) diff --git a/noncore/settings/aqpkg/server.h b/noncore/settings/aqpkg/server.h index 5f83f75..e9f434c 100644 --- a/noncore/settings/aqpkg/server.h +++ b/noncore/settings/aqpkg/server.h @@ -38,5 +38,5 @@ public: void readStatusFile( vector<Destination> &v ); void readLocalIpks( Server *local ); - void readPackageFile( Server *local = 0, bool clearAll = true, bool installedToRoot= false ); + void readPackageFile( Server *local = 0, bool clearAll = true, bool installedToRoot= false, Destination *dest = 0 ); void buildLocalPackages( Server *local ); Package *getPackage( const char *name ); @@ -60,5 +60,4 @@ private: bool active; - vector<Package> packageList; }; |