summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/settings/aqpkg/ipkg.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp
index 17efda9..dd9e78d 100644
--- a/noncore/settings/aqpkg/ipkg.cpp
+++ b/noncore/settings/aqpkg/ipkg.cpp
@@ -277,48 +277,50 @@ int Ipkg :: executeIpkgLinkCommand( QStringList *cmd )
{
// If one is already running - should never be but just to be safe
if ( proc )
{
delete proc;
proc = 0;
}
// OK we're gonna use OProcess to run this thing
proc = new OProcess();
aborted = false;
// Connect up our slots
connect(proc, SIGNAL(processExited(Opie::Core::OProcess*)),
this, SLOT( linkProcessFinished()));
connect(proc, SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),
this, SLOT(linkCommandStdout(Opie::Core::OProcess*,char*,int)));
*proc << *cmd;
if(!proc->start(OProcess::NotifyOnExit, OProcess::All))
{
emit outputText( tr("Couldn't start ipkg-link process" ) );
}
+
+ return 0;
}
void Ipkg::linkProcessFinished()
{
// Report that the link process succeeded/failed
if ( error )
emit outputText( tr("Symbolic linking failed!\n") );
else
emit outputText( tr("Symbolic linking succeeded.\n") );
delete proc;
proc = 0;
finished = true;
}
void Ipkg::linkCommandStdout(OProcess*, char *buffer, int buflen)
{
QString lineStr = buffer;
if ( lineStr[buflen-1] == '\n' )
buflen --;
lineStr = lineStr.left( buflen );
emit outputText( lineStr );
@@ -345,48 +347,50 @@ int Ipkg :: executeIpkgCommand( QStringList &cmd, const QString /*option*/ )
aborted = false;
// Connect up our slots
connect(proc, SIGNAL(processExited(Opie::Core::OProcess*)),
this, SLOT( processFinished()));
connect(proc, SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),
this, SLOT(commandStdout(Opie::Core::OProcess*,char*,int)));
connect(proc, SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),
this, SLOT(commandStderr(Opie::Core::OProcess*,char*,int)));
for ( QStringList::Iterator it = cmd.begin(); it != cmd.end(); ++it )
{
*proc << (*it).latin1();
}
// Start the process going
finished = false;
if(!proc->start(OProcess::NotifyOnExit, OProcess::All))
{
emit outputText( tr("Couldn't start ipkg process" ) );
}
+
+ return 0;
}
void Ipkg::commandStdout(OProcess*, char *buffer, int buflen)
{
QString lineStr = buffer;
if ( lineStr[buflen-1] == '\n' )
buflen --;
lineStr = lineStr.left( buflen );
emit outputText( lineStr );
// check if we are installing dependant packages
if ( option == "install" || option == "reinstall" )
{
// Need to keep track of any dependant packages that get installed
// so that we can create links to them as necessary
if ( lineStr.startsWith( "Installing " ) )
{
int start = lineStr.find( " " ) + 1;
int end = lineStr.find( " ", start );
QString *package = new QString( lineStr.mid( start, end-start ) );
dependantPackages->append( package );
}
}
else if ( option == "remove" && !( flags & FORCE_DEPENDS ) &&
@@ -416,48 +420,49 @@ void Ipkg::processFinished()
// to workaround an ipkg bug which stops reinstall to a different location
if ( !error && option == "remove" )
removeStatusEntry();
delete proc;
proc = 0;
finished = true;
emit ipkgFinished();
}
void Ipkg :: abort()
{
if ( proc )
{
proc->kill();
aborted = true;
}
}
void Ipkg :: linkPackage( const QString &packFileName, const QString &dest, const QString &destDir )
{
+ Q_CONST_UNUSED( destDir )
if ( dest == "root" || dest == "/" )
return;
if( option == "remove" || option == "reinstall" || option == "upgrade" )
{
QStringList commands;
if ( runtimeDir != "" )
{
commands << "cd ";
commands << runtimeDir;
commands << ";";
}
commands << "ipkg-link" << "remove" << packFileName;
executeIpkgLinkCommand( &commands );
}
if( option == "install" || option == "reinstall" || option == "upgrade" )
{
QStringList commands;
if ( runtimeDir != "" )
{
commands << "cd ";
commands << runtimeDir;