author | andyq <andyq> | 2002-10-16 18:54:05 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-10-16 18:54:05 (UTC) |
commit | 63d3299669d5147e16c56b016b0ee3cca2127a75 (patch) (side-by-side diff) | |
tree | 7663e1822b6898791ae97a18b0355cf84bda4d36 | |
parent | 3cb6b6fab8d06b1be8f8c39560db9d3d88ce3921 (diff) | |
download | opie-63d3299669d5147e16c56b016b0ee3cca2127a75.zip opie-63d3299669d5147e16c56b016b0ee3cca2127a75.tar.gz opie-63d3299669d5147e16c56b016b0ee3cca2127a75.tar.bz2 |
Added ability to upgrade all packages
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index d5157eb..f8513e4 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp @@ -44,101 +44,105 @@ Ipkg :: ~Ipkg() // Option is what we are going to do - install, upgrade, download // package is the package name to install - either a fully qualified path and ipk // file (if stored locally) or just the name of the package (for a network package) // packageName is the package name - (for a network package this will be the same as // package parameter) // dest is the destination alias (from ipk.conf) // destDir is the dir that the destination alias points to (used to link to root) // flags is the ipkg options flags // dir is the directory to run ipkg in (defaults to "") bool Ipkg :: runIpkg( ) { bool ret = false; QDir::setCurrent( "/tmp" ); QString cmd = ""; if ( runtimeDir != "" ) { cmd += "cd "; cmd += runtimeDir; cmd += " ; "; } cmd += "ipkg"; - if ( option != "update" && option != "download" ) + if ( option != "update" && option != "download" && option != "upgrade" ) { cmd += " -dest "+ destination; cmd += " -force-defaults"; if ( flags & FORCE_DEPENDS ) cmd += " -force-depends"; if ( flags & FORCE_REINSTALL ) cmd += " -force-reinstall"; if ( flags & FORCE_REMOVE ) cmd += " -force-removal-of-essential-packages"; if ( flags & FORCE_OVERWRITE ) cmd += " -force-overwrite"; // Handle make links // Rules - If make links is switched on, create links to root // if destDir is NOT / if ( flags & MAKE_LINKS ) { // If destDir == / turn off make links as package is being insalled // to root already. if ( destDir == "/" ) flags ^= MAKE_LINKS; } } #ifdef X86 cmd += " -f "; cmd += IPKG_CONF; #endif - cmd += " " + option + " " + package + " 2>&1"; + cmd += " " + option; + if ( option != "upgrade" ) + cmd += " " + package; + cmd += " 2>&1"; qApp->processEvents(); // If we are removing packages and make links option is selected // create the links if ( option == "remove" ) { createLinks = false; if ( flags & MAKE_LINKS ) { emit outputText( QString( "Removing symbolic links...\n" ) ); linkPackage( Utils::getPackageNameFromIpkFilename( package ), destination, destDir ); } } emit outputText( cmd ); // Execute command dependantPackages = new QList<QString>; dependantPackages->setAutoDelete( true ); + ret = executeIpkgCommand( cmd, option ); if ( option == "install" ) { // If we are not removing packages and make links option is selected // create the links createLinks = true; if ( flags & MAKE_LINKS ) { emit outputText( " " ); emit outputText( QString( "Creating symbolic links for " )+ package ); linkPackage( Utils::getPackageNameFromIpkFilename( package ), destination, destDir ); // link dependant packages that were installed with this release QString *pkg; for ( pkg = dependantPackages->first(); pkg != 0; pkg = dependantPackages->next() ) { emit outputText( " " ); emit outputText( QString( "Creating symbolic links for " )+ (*pkg) ); linkPackage( Utils::getPackageNameFromIpkFilename( *pkg ), destination, destDir ); } } } |