Diffstat (limited to 'noncore/unsupported/oipkg/pmipkg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/oipkg/pmipkg.cpp | 127 |
1 files changed, 59 insertions, 68 deletions
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp index fd8279b..0ae74da 100644 --- a/noncore/unsupported/oipkg/pmipkg.cpp +++ b/noncore/unsupported/oipkg/pmipkg.cpp | |||
@@ -44,7 +44,7 @@ int PmIpkg::runIpkg(const QString& args, const QString& dest ) | |||
44 | pvDebug(2,"PmIpkg::runIpkg "+args); | 44 | pvDebug(2,"PmIpkg::runIpkg "+args); |
45 | 45 | ||
46 | #ifdef PROC | 46 | #ifdef PROC |
47 | QStringList cmd = "/usr/bin/ipkg "; | 47 | QStringList cmd = "ipkg "; |
48 | #endif | 48 | #endif |
49 | #ifdef SYSTEM | 49 | #ifdef SYSTEM |
50 | QString cmd = "/usr/bin/ipkg "; | 50 | QString cmd = "/usr/bin/ipkg "; |
@@ -75,8 +75,8 @@ int PmIpkg::runIpkg(const QString& args, const QString& dest ) | |||
75 | Process *ipkg = new Process( cmd ); | 75 | Process *ipkg = new Process( cmd ); |
76 | out( "running:<br>\n"+ipkg->arguments().join(" ")+"<br>\n" ); | 76 | out( "running:<br>\n"+ipkg->arguments().join(" ")+"<br>\n" ); |
77 | QString description; | 77 | QString description; |
78 | ipkg->exec("",o); | 78 | r = ipkg->exec("",o); |
79 | // out( o ); | 79 | out( o ); |
80 | #endif | 80 | #endif |
81 | #ifdef SYSTEM | 81 | #ifdef SYSTEM |
82 | out( "running:<br>\n"+cmd+"<br>\n" ); | 82 | out( "running:<br>\n"+cmd+"<br>\n" ); |
@@ -177,7 +177,6 @@ void PmIpkg::processLinkDir( QString file, QString dest ) | |||
177 | const QFileInfoList *list = d.entryInfoList(); | 177 | const QFileInfoList *list = d.entryInfoList(); |
178 | QFileInfoListIterator it( *list ); | 178 | QFileInfoListIterator it( *list ); |
179 | QFileInfo *fi; | 179 | QFileInfo *fi; |
180 | qDebug( "while %i",list->count()); | ||
181 | while ( (fi=it.current()) ) | 180 | while ( (fi=it.current()) ) |
182 | { | 181 | { |
183 | pvDebug(4, "processLinkDir "+fi->absFilePath()); | 182 | pvDebug(4, "processLinkDir "+fi->absFilePath()); |
@@ -208,9 +207,9 @@ void PmIpkg::processLinkDir( QString file, QString dest ) | |||
208 | } | 207 | } |
209 | } | 208 | } |
210 | 209 | ||
211 | void PmIpkg::loadList( PackageList pl ) | 210 | void PmIpkg::loadList( PackageList *pl ) |
212 | { | 211 | { |
213 | for( Package *pack = pl.first();pack ; (pack = pl.next()) ) | 212 | for( Package *pack = pl->first();pack ; (pack = pl->next()) ) |
214 | { | 213 | { |
215 | if ( pack && (pack->name() != "") && pack) | 214 | if ( pack && (pack->name() != "") && pack) |
216 | { | 215 | { |
@@ -225,36 +224,28 @@ void PmIpkg::loadList( PackageList pl ) | |||
225 | void PmIpkg::commit() | 224 | void PmIpkg::commit() |
226 | { | 225 | { |
227 | int sizecount = 0; | 226 | int sizecount = 0; |
228 | for (uint i=0; i < to_remove.count(); i++) | ||
229 | sizecount += 1; | ||
230 | for (uint i=0; i < to_install.count(); i++) | ||
231 | sizecount += to_install.at(i)->size().toInt(); | ||
232 | runwindow->progress->setTotalSteps(sizecount); | ||
233 | startDialog(); | ||
234 | } | ||
235 | |||
236 | void PmIpkg::startDialog() | ||
237 | { | ||
238 | installDialog = new InstallDialog(settings,0,0,true); | 227 | installDialog = new InstallDialog(settings,0,0,true); |
239 | QCheckListItem *toRemoveItem; | 228 | QCheckListItem *toRemoveItem = new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To remove") ); |
240 | toRemoveItem= new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To remove") ); | 229 | QCheckListItem *toInstallItem = new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To install") ); |
241 | toRemoveItem->setOpen( true ); | 230 | toRemoveItem->setOpen( true ); |
242 | for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) | 231 | toInstallItem->setOpen( true ); |
232 | for (uint i=0; i < to_remove.count(); i++) | ||
243 | { | 233 | { |
244 | toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, it,settings) ); | 234 | sizecount += 1; |
235 | toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_remove.at(i),settings) ); | ||
245 | } | 236 | } |
246 | QCheckListItem *toInstallItem; | 237 | for (uint i=0; i < to_install.count(); i++) |
247 | toInstallItem = new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To install") ); | ||
248 | toInstallItem->setOpen( true ); | ||
249 | for (Package *it=to_install.first(); it != 0; it=to_install.next() ) | ||
250 | { | 238 | { |
251 | toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, it,settings) ); | 239 | sizecount += to_install.at(i)->size().toInt(); |
240 | toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_install.at(i),settings) ); | ||
252 | } | 241 | } |
242 | runwindow->progress->setTotalSteps(sizecount); | ||
243 | qDebug("Install size %i",sizecount); | ||
253 | installDialog->showMaximized(); | 244 | installDialog->showMaximized(); |
254 | if ( installDialog->exec() ) doIt(); | 245 | if ( installDialog->exec() ) doIt(); |
255 | installDialog->close(); | 246 | installDialog->close(); |
247 | runwindow->showMaximized(); | ||
256 | out(tr("<b>All done.</b>")); | 248 | out(tr("<b>All done.</b>")); |
257 | to_install.clear(); | ||
258 | } | 249 | } |
259 | 250 | ||
260 | void PmIpkg::doIt() | 251 | void PmIpkg::doIt() |
@@ -272,57 +263,57 @@ void PmIpkg::remove() | |||
272 | out("<b>"+tr("Removing")+"<br>"+tr("please wait")+"</b><br><hr>"); | 263 | out("<b>"+tr("Removing")+"<br>"+tr("please wait")+"</b><br><hr>"); |
273 | 264 | ||
274 | QStringList *fileList; | 265 | QStringList *fileList; |
275 | for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) | 266 | for (uint i=0; i < to_remove.count(); i++) |
276 | { | 267 | { |
277 | if ( it->link() )fileList = getList( it->name(), it->dest() ); | 268 | if ( to_remove.at(i)->link() )fileList = getList( to_remove.at(i)->name(), to_remove.at(i)->dest() ); |
278 | if ( runIpkg("remove " + it->name(), it->dest() ) == 0) | 269 | if ( runIpkg("remove " + to_remove.at(i)->name(), to_remove.at(i)->dest() ) == 0) |
279 | { | 270 | { |
280 | runwindow->progress->setProgress( 1 + runwindow->progress->progress() ); | 271 | runwindow->progress->setProgress( 1 ); |
281 | linkOpp = removeLink; | 272 | linkOpp = removeLink; |
282 | if ( it->link() ) | 273 | if ( to_remove.at(i)->link() ) |
283 | { | 274 | { |
284 | out( "<br>removing links<br>" ); | 275 | out( "<br>removing links<br>" ); |
285 | out( "for package "+it->name()+" in "+it->dest()+"<br>" ); | 276 | out( "for package "+to_remove.at(i)->name()+" in "+to_remove.at(i)->dest()+"<br>" ); |
286 | processFileList( fileList, it->dest() ); | 277 | processFileList( fileList, to_remove.at(i)->dest() ); |
287 | } | ||
288 | it->processed(); | ||
289 | // to_install.take( it ); | ||
290 | out("<br><hr>"); | ||
291 | }else{ | ||
292 | out("<b>"+tr("Error while removing")+"</b><hr>"+it->name()); | ||
293 | } | 278 | } |
294 | if ( it->link() )delete fileList; | 279 | to_remove.at(i)->processed(); |
280 | to_remove.take( i ); | ||
281 | out("<br><hr>"); | ||
282 | }else{ | ||
283 | out("<b>"+tr("Error while removing")+"</b><hr>"+to_remove.at(i)->name()); | ||
295 | } | 284 | } |
296 | out("<br>"); | 285 | if ( to_remove.at(i)->link() )delete fileList; |
286 | } | ||
287 | to_remove.clear(); | ||
288 | out("<br>"); | ||
297 | } | 289 | } |
298 | 290 | ||
299 | 291 | ||
300 | void PmIpkg::install() | 292 | void PmIpkg::install() |
301 | { | 293 | { |
302 | if ( to_install.count() == 0 ) return; | 294 | if ( to_install.count() == 0 ) return; |
303 | out("<b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); | 295 | out("<b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); |
304 | for (Package *it=to_install.first(); it != 0; it=to_install.next() ) | 296 | for (uint i=0; i < to_install.count(); i++) |
305 | { | 297 | { |
306 | 298 | if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() ) == 0 ) | |
307 | if ( runIpkg("install " + it->installName(), it->dest() ) == 0 ) | 299 | { |
308 | { | 300 | runwindow->progress->setProgress( to_install.at(i)->size().toInt() ); |
309 | runwindow->progress->setProgress( it->size().toInt() + runwindow->progress->progress()); | 301 | linkOpp = createLink; |
310 | linkOpp = createLink; | 302 | if ( to_install.at(i)->link() ) |
311 | if ( it->link() ) | 303 | { |
312 | { | 304 | out( "<br>creating links<br>" ); |
313 | out( "<br>creating links<br>" ); | 305 | out( "for package "+to_install.at(i)->name()+" in "+to_install.at(i)->dest()+"<br>" ); |
314 | out( "for package "+it->name()+" in "+it->dest()+"<br>" ); | 306 | makeLinks( to_install.at(i) ); |
315 | makeLinks( it ); | 307 | } |
316 | } | 308 | to_install.at(i)->processed(); |
317 | it->processed(); | 309 | to_install.take( i ); |
318 | // to_install.take( it->name() ); | 310 | out("<br><hr>"); |
319 | out("<br><hr>"); | 311 | }else{ |
320 | }else{ | 312 | out("<b>"+tr("Error while installing")+"</b><hr>"+to_install.at(i)->name()); |
321 | out("<b>"+tr("Error while installing")+"</b><hr>"+it->name()); | ||
322 | } | ||
323 | } | 313 | } |
324 | out("<br>"); | 314 | } |
325 | to_install.clear(); | 315 | out("<br>"); |
316 | to_install.clear(); | ||
326 | } | 317 | } |
327 | 318 | ||
328 | void PmIpkg::createLinks( const QString &dest ) | 319 | void PmIpkg::createLinks( const QString &dest ) |
@@ -398,7 +389,7 @@ void PmIpkg::installFile(const QString &fileName, const QString &dest) | |||
398 | Package *p = new Package(fileName,settings); | 389 | Package *p = new Package(fileName,settings); |
399 | if ( dest!="") p->setDest( dest ); | 390 | if ( dest!="") p->setDest( dest ); |
400 | to_install.append( p ); | 391 | to_install.append( p ); |
401 | startDialog(); | 392 | commit(); |
402 | delete p; | 393 | delete p; |
403 | } | 394 | } |
404 | 395 | ||
@@ -411,7 +402,7 @@ void PmIpkg::removeFile(const QString &fileName, const QString &dest) | |||
411 | Package *p = new Package(fileName,settings); | 402 | Package *p = new Package(fileName,settings); |
412 | if ( dest!="") p->setDest( dest ); | 403 | if ( dest!="") p->setDest( dest ); |
413 | to_remove.append( p ); | 404 | to_remove.append( p ); |
414 | startDialog(); | 405 | commit(); |
415 | delete p; | 406 | delete p; |
416 | } | 407 | } |
417 | 408 | ||