author | andyq <andyq> | 2002-10-25 14:37:28 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-10-25 14:37:28 (UTC) |
commit | f4007b261a7a4dc9672a1806be50ea16ccfc84f1 (patch) (unidiff) | |
tree | 5a2469d149be879bd221a1d1f07d9cab7cab5a49 /noncore | |
parent | 3421736c248c6ca7171bafdf3af9e2edf94eb593 (diff) | |
download | opie-f4007b261a7a4dc9672a1806be50ea16ccfc84f1.zip opie-f4007b261a7a4dc9672a1806be50ea16ccfc84f1.tar.gz opie-f4007b261a7a4dc9672a1806be50ea16ccfc84f1.tar.bz2 |
Hopefully handles upgrading to newer packages correctly
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.cpp | 7 | ||||
-rw-r--r-- | noncore/settings/aqpkg/installdlgimpl.h | 2 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 8 | ||||
-rw-r--r-- | noncore/settings/aqpkg/networkpkgmgr.cpp | 4 |
4 files changed, 13 insertions, 8 deletions
diff --git a/noncore/settings/aqpkg/installdlgimpl.cpp b/noncore/settings/aqpkg/installdlgimpl.cpp index f5aef94..83f983a 100644 --- a/noncore/settings/aqpkg/installdlgimpl.cpp +++ b/noncore/settings/aqpkg/installdlgimpl.cpp | |||
@@ -90,7 +90,7 @@ InstallDlgImpl::InstallDlgImpl( vector<InstallData> &packageList, DataManager *d | |||
90 | removeList.push_back( item ); | 90 | removeList.push_back( item ); |
91 | remove += " " + item.packageName + "\n"; | 91 | remove += " " + item.packageName + "\n"; |
92 | } | 92 | } |
93 | else if ( item.option == "U" ) | 93 | else if ( item.option == "U" || item.option == "R" ) |
94 | { | 94 | { |
95 | updateList.push_back( item ); | 95 | updateList.push_back( item ); |
96 | upgrade += " " + item.packageName + "\n"; | 96 | upgrade += " " + item.packageName + "\n"; |
@@ -208,9 +208,12 @@ void InstallDlgImpl :: installSelected() | |||
208 | } | 208 | } |
209 | 209 | ||
210 | flags |= FORCE_REINSTALL; | 210 | flags |= FORCE_REINSTALL; |
211 | pIpkg->setOption( "reinstall" ); | ||
212 | for ( it = updateList.begin() ; it != updateList.end() ; ++it ) | 211 | for ( it = updateList.begin() ; it != updateList.end() ; ++it ) |
213 | { | 212 | { |
213 | if ( it->option == "R" ) | ||
214 | pIpkg->setOption( "reinstall" ); | ||
215 | else | ||
216 | pIpkg->setOption( "upgrade" ); | ||
214 | pIpkg->setDestination( it->destination->getDestinationName() ); | 217 | pIpkg->setDestination( it->destination->getDestinationName() ); |
215 | pIpkg->setDestinationDir( it->destination->getDestinationPath() ); | 218 | pIpkg->setDestinationDir( it->destination->getDestinationPath() ); |
216 | pIpkg->setPackage( it->packageName ); | 219 | pIpkg->setPackage( it->packageName ); |
diff --git a/noncore/settings/aqpkg/installdlgimpl.h b/noncore/settings/aqpkg/installdlgimpl.h index 6716ced..9819b2e 100644 --- a/noncore/settings/aqpkg/installdlgimpl.h +++ b/noncore/settings/aqpkg/installdlgimpl.h | |||
@@ -28,7 +28,7 @@ using namespace std; | |||
28 | class InstallData | 28 | class InstallData |
29 | { | 29 | { |
30 | public: | 30 | public: |
31 | QString option; // I - install, D - delete, U - upgrade | 31 | QString option; // I - install, D - delete, R- reinstall U - upgrade |
32 | QString packageName; | 32 | QString packageName; |
33 | Destination *destination; | 33 | Destination *destination; |
34 | bool recreateLinks; | 34 | bool recreateLinks; |
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index 368548b..731a336 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp | |||
@@ -63,12 +63,10 @@ bool Ipkg :: runIpkg( ) | |||
63 | cmd += runtimeDir; | 63 | cmd += runtimeDir; |
64 | cmd += " ; "; | 64 | cmd += " ; "; |
65 | } | 65 | } |
66 | cmd += "ipkg"; | 66 | cmd += "ipkg -force-defaults"; |
67 | 67 | if ( option != "update" && option != "download" ) | |
68 | if ( option != "update" && option != "download" && option != "upgrade" ) | ||
69 | { | 68 | { |
70 | cmd += " -dest "+ destination; | 69 | cmd += " -dest "+ destination; |
71 | cmd += " -force-defaults"; | ||
72 | 70 | ||
73 | if ( flags & FORCE_DEPENDS ) | 71 | if ( flags & FORCE_DEPENDS ) |
74 | cmd += " -force-depends"; | 72 | cmd += " -force-depends"; |
@@ -101,7 +99,7 @@ bool Ipkg :: runIpkg( ) | |||
101 | cmd += " install"; | 99 | cmd += " install"; |
102 | else | 100 | else |
103 | cmd += " " + option; | 101 | cmd += " " + option; |
104 | if ( option != "upgrade" ) | 102 | if ( package != "" ) |
105 | cmd += " " + package; | 103 | cmd += " " + package; |
106 | cmd += " 2>&1"; | 104 | cmd += " 2>&1"; |
107 | 105 | ||
diff --git a/noncore/settings/aqpkg/networkpkgmgr.cpp b/noncore/settings/aqpkg/networkpkgmgr.cpp index a374266..3971aea 100644 --- a/noncore/settings/aqpkg/networkpkgmgr.cpp +++ b/noncore/settings/aqpkg/networkpkgmgr.cpp | |||
@@ -559,7 +559,11 @@ InstallData NetworkPackageManager :: dealWithItem( QCheckListItem *item ) | |||
559 | if ( p->getVersion() != p->getInstalledVersion() ) | 559 | if ( p->getVersion() != p->getInstalledVersion() ) |
560 | item.recreateLinks = true; | 560 | item.recreateLinks = true; |
561 | else | 561 | else |
562 | { | ||
563 | if ( item.option == "U" ) | ||
564 | item.option = "R"; | ||
562 | item.recreateLinks = false; | 565 | item.recreateLinks = false; |
566 | } | ||
563 | 567 | ||
564 | // User hit cancel (on dlg - assume remove) | 568 | // User hit cancel (on dlg - assume remove) |
565 | return item; | 569 | return item; |