summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/pmipkg.cpp
Side-by-side diff
Diffstat (limited to 'noncore/unsupported/oipkg/pmipkg.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp89
1 files changed, 40 insertions, 49 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
@@ -41,13 +41,13 @@ PmIpkg::~PmIpkg()
#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 == "" )
@@ -72,14 +72,14 @@ int PmIpkg::runIpkg(const QString& args, const QString& dest )
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+"<");
@@ -174,13 +174,12 @@ void PmIpkg::processLinkDir( QString file, QString dest )
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;
}
@@ -205,15 +204,15 @@ void PmIpkg::processLinkDir( QString file, QString dest )
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() )
@@ -222,42 +221,34 @@ void PmIpkg::loadList( PackageList pl )
}
}
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();
@@ -269,59 +260,59 @@ 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)
+ 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 + runwindow->progress->progress() );
+ runwindow->progress->setProgress( 1 );
linkOpp = removeLink;
- if ( it->link() )
+ if ( to_remove.at(i)->link() )
{
out( "<br>removing links<br>" );
- out( "for package "+it->name()+" in "+it->dest()+"<br>" );
- processFileList( fileList, it->dest() );
+ out( "for package "+to_remove.at(i)->name()+" in "+to_remove.at(i)->dest()+"<br>" );
+ processFileList( fileList, to_remove.at(i)->dest() );
}
- it->processed();
-// to_install.take( it );
+ to_remove.at(i)->processed();
+ to_remove.take( i );
out("<br><hr>");
}else{
- out("<b>"+tr("Error while removing")+"</b><hr>"+it->name());
+ out("<b>"+tr("Error while removing")+"</b><hr>"+to_remove.at(i)->name());
}
- if ( it->link() )delete fileList;
+ 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() )
+ for (uint i=0; i < to_install.count(); i++)
{
-
- if ( runIpkg("install " + it->installName(), it->dest() ) == 0 )
+ if ( runIpkg("install " + to_install.at(i)->installName(), to_install.at(i)->dest() ) == 0 )
{
- runwindow->progress->setProgress( it->size().toInt() + runwindow->progress->progress());
+ runwindow->progress->setProgress( to_install.at(i)->size().toInt() );
linkOpp = createLink;
- if ( it->link() )
+ if ( to_install.at(i)->link() )
{
out( "<br>creating links<br>" );
- out( "for package "+it->name()+" in "+it->dest()+"<br>" );
- makeLinks( it );
+ out( "for package "+to_install.at(i)->name()+" in "+to_install.at(i)->dest()+"<br>" );
+ makeLinks( to_install.at(i) );
}
- it->processed();
-// to_install.take( it->name() );
+ to_install.at(i)->processed();
+ to_install.take( i );
out("<br><hr>");
}else{
- out("<b>"+tr("Error while installing")+"</b><hr>"+it->name());
+ out("<b>"+tr("Error while installing")+"</b><hr>"+to_install.at(i)->name());
}
}
out("<br>");
to_install.clear();
}
@@ -395,23 +386,23 @@ 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;
}