author | tille <tille> | 2002-05-03 19:08:09 (UTC) |
---|---|---|
committer | tille <tille> | 2002-05-03 19:08:09 (UTC) |
commit | 4eddfebd1b4f70bbfe9106a16e9a3eeb6601f653 (patch) (side-by-side diff) | |
tree | 66d77ffe196c448782ce0d04877641280e74890d /noncore/unsupported/oipkg/pmipkg.cpp | |
parent | 6bf450ac622d22ba7e9156e474a7abb714167eba (diff) | |
download | opie-4eddfebd1b4f70bbfe9106a16e9a3eeb6601f653.zip opie-4eddfebd1b4f70bbfe9106a16e9a3eeb6601f653.tar.gz opie-4eddfebd1b4f70bbfe9106a16e9a3eeb6601f653.tar.bz2 |
fixes
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 @@ -39,17 +39,17 @@ PmIpkg::~PmIpkg() //#define PROC #define SYSTEM int PmIpkg::runIpkg(const QString& args, const QString& dest ) { pvDebug(2,"PmIpkg::runIpkg "+args); #ifdef PROC - QStringList cmd = "/usr/bin/ipkg "; + QStringList cmd = "ipkg "; #endif #ifdef SYSTEM QString cmd = "/usr/bin/ipkg "; #endif pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); if ( dest == "" ) cmd += " -dest "+settings->getDestinationName(); else @@ -70,18 +70,18 @@ int PmIpkg::runIpkg(const QString& args, const QString& dest ) out( "<hr><br>Starting to "+ args+"<br>\n"); cmd += args; int r = 0; #ifdef PROC QString o = "start"; Process *ipkg = new Process( cmd ); out( "running:<br>\n"+ipkg->arguments().join(" ")+"<br>\n" ); QString description; - ipkg->exec("",o); -// out( o ); + r = ipkg->exec("",o); + out( o ); #endif #ifdef SYSTEM out( "running:<br>\n"+cmd+"<br>\n" ); QString redirect = "/tmp/oipkg.pipe"; cmd += " 2>&1 | tee "+redirect+" 2>&1"; pvDebug(2, "running >"+cmd+"<"); r = system(cmd.latin1()); QFile f( redirect ); @@ -172,17 +172,16 @@ void PmIpkg::processLinkDir( QString file, QString dest ) pvDebug(4, "process dir "+file); QDir destDir( destFile ); if (linkOpp==createLink) destDir.mkdir( destFile, true ); QDir d( file ); // d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); const QFileInfoList *list = d.entryInfoList(); QFileInfoListIterator it( *list ); QFileInfo *fi; - qDebug( "while %i",list->count()); while ( (fi=it.current()) ) { pvDebug(4, "processLinkDir "+fi->absFilePath()); processLinkDir( fi->absFilePath(), dest ); ++it; } } else if ( fileInfo.isFile() ) @@ -203,63 +202,55 @@ void PmIpkg::processLinkDir( QString file, QString dest ) { pvDebug(4,"removing "+destFile+" no "+file); unlink( linkFile ); } } } } -void PmIpkg::loadList( PackageList pl ) +void PmIpkg::loadList( PackageList *pl ) { - for( Package *pack = pl.first();pack ; (pack = pl.next()) ) + for( Package *pack = pl->first();pack ; (pack = pl->next()) ) { if ( pack && (pack->name() != "") && pack) { if ( pack->toInstall() ) to_install.append( pack ); if ( pack->toRemove() ) to_remove.append( pack ); } } } void PmIpkg::commit() { int sizecount = 0; - for (uint i=0; i < to_remove.count(); i++) - sizecount += 1; - for (uint i=0; i < to_install.count(); i++) - sizecount += to_install.at(i)->size().toInt(); - runwindow->progress->setTotalSteps(sizecount); - startDialog(); -} - -void PmIpkg::startDialog() -{ installDialog = new InstallDialog(settings,0,0,true); - QCheckListItem *toRemoveItem; - toRemoveItem= new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To remove") ); + QCheckListItem *toRemoveItem = new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To remove") ); + QCheckListItem *toInstallItem = new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To install") ); toRemoveItem->setOpen( true ); - for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) + toInstallItem->setOpen( true ); + for (uint i=0; i < to_remove.count(); i++) { - toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, it,settings) ); + sizecount += 1; + toRemoveItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_remove.at(i),settings) ); } - QCheckListItem *toInstallItem; - toInstallItem = new QCheckListItem( installDialog->ListViewPackages, QObject::tr("To install") ); - toInstallItem->setOpen( true ); - for (Package *it=to_install.first(); it != 0; it=to_install.next() ) + for (uint i=0; i < to_install.count(); i++) { - toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, it,settings) ); + sizecount += to_install.at(i)->size().toInt(); + toInstallItem->insertItem( new PackageListItem(installDialog->ListViewPackages, to_install.at(i),settings) ); } + runwindow->progress->setTotalSteps(sizecount); + qDebug("Install size %i",sizecount); installDialog->showMaximized(); if ( installDialog->exec() ) doIt(); installDialog->close(); + runwindow->showMaximized(); out(tr("<b>All done.</b>")); - to_install.clear(); } void PmIpkg::doIt() { show( true ); remove(); install(); } @@ -267,67 +258,67 @@ void PmIpkg::doIt() void PmIpkg::remove() { if ( to_remove.count() == 0 ) return; out("<b>"+tr("Removing")+"<br>"+tr("please wait")+"</b><br><hr>"); QStringList *fileList; - for (Package *it=to_remove.first(); it != 0; it=to_remove.next() ) + for (uint i=0; i < to_remove.count(); i++) { - if ( it->link() )fileList = getList( it->name(), it->dest() ); - if ( runIpkg("remove " + it->name(), it->dest() ) == 0) - { - runwindow->progress->setProgress( 1 + runwindow->progress->progress() ); - linkOpp = removeLink; - if ( it->link() ) - { + if ( to_remove.at(i)->link() )fileList = getList( to_remove.at(i)->name(), to_remove.at(i)->dest() ); + if ( runIpkg("remove " + to_remove.at(i)->name(), to_remove.at(i)->dest() ) == 0) + { + runwindow->progress->setProgress( 1 ); + linkOpp = removeLink; + if ( to_remove.at(i)->link() ) + { out( "<br>removing links<br>" ); - out( "for package "+it->name()+" in "+it->dest()+"<br>" ); - processFileList( fileList, it->dest() ); - } - it->processed(); -// to_install.take( it ); - out("<br><hr>"); - }else{ - out("<b>"+tr("Error while removing")+"</b><hr>"+it->name()); + out( "for package "+to_remove.at(i)->name()+" in "+to_remove.at(i)->dest()+"<br>" ); + processFileList( fileList, to_remove.at(i)->dest() ); } - if ( it->link() )delete fileList; + to_remove.at(i)->processed(); + to_remove.take( i ); + out("<br><hr>"); + }else{ + out("<b>"+tr("Error while removing")+"</b><hr>"+to_remove.at(i)->name()); } - out("<br>"); + if ( to_remove.at(i)->link() )delete fileList; + } + to_remove.clear(); + out("<br>"); } void PmIpkg::install() { if ( to_install.count() == 0 ) return; - out("<b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); - for (Package *it=to_install.first(); it != 0; it=to_install.next() ) - { - - if ( runIpkg("install " + it->installName(), it->dest() ) == 0 ) - { - runwindow->progress->setProgress( it->size().toInt() + runwindow->progress->progress()); - linkOpp = createLink; - if ( it->link() ) - { - out( "<br>creating links<br>" ); - out( "for package "+it->name()+" in "+it->dest()+"<br>" ); - makeLinks( it ); - } - it->processed(); -// to_install.take( it->name() ); - out("<br><hr>"); - }else{ - out("<b>"+tr("Error while installing")+"</b><hr>"+it->name()); - } + out("<b>"+tr("Installing")+"<br>"+tr("please wait")+"</b><br>"); + for (uint i=0; i < to_install.count(); i++) + { + if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() ) == 0 ) + { + runwindow->progress->setProgress( to_install.at(i)->size().toInt() ); + linkOpp = createLink; + if ( to_install.at(i)->link() ) + { + out( "<br>creating links<br>" ); + out( "for package "+to_install.at(i)->name()+" in "+to_install.at(i)->dest()+"<br>" ); + makeLinks( to_install.at(i) ); + } + to_install.at(i)->processed(); + to_install.take( i ); + out("<br><hr>"); + }else{ + out("<b>"+tr("Error while installing")+"</b><hr>"+to_install.at(i)->name()); } - out("<br>"); - to_install.clear(); + } + out("<br>"); + to_install.clear(); } void PmIpkg::createLinks( const QString &dest ) { pvDebug(2,"PmIpkg::createLinks "+dest); linkOpp=createLink; QString url = settings->getDestinationUrlByName( dest ); url = url==""?dest:url; @@ -393,25 +384,25 @@ void PmIpkg::installFile(const QString &fileName, const QString &dest) { to_install.clear(); to_remove.clear(); pvDebug( 2,"PmIpkg::installFile "+ fileName); Package *p = new Package(fileName,settings); if ( dest!="") p->setDest( dest ); to_install.append( p ); - startDialog(); + commit(); delete p; } void PmIpkg::removeFile(const QString &fileName, const QString &dest) { to_install.clear(); to_remove.clear(); pvDebug( 2,"PmIpkg::removeFile "+ fileName); Package *p = new Package(fileName,settings); if ( dest!="") p->setDest( dest ); to_remove.append( p ); - startDialog(); + commit(); delete p; } |