-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 80 |
1 files changed, 46 insertions, 34 deletions
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index 7df643e..e906653 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp @@ -174,3 +174,2 @@ bool Ipkg :: runIpkg( ) return ret; - } @@ -181,5 +180,6 @@ void Ipkg :: removeStatusEntry() if ( statusFile.right( 1 ) != "/" ) - statusFile += "/"; - statusFile += "usr/lib/ipkg/status"; - QString outStatusFile = statusFile + ".tmp"; + statusFile.append( "/" ); + statusFile.append( "usr/lib/ipkg/status" ); + QString outStatusFile = statusFile; + outStatusFile.append( ".tmp" ); @@ -187,4 +187,8 @@ void Ipkg :: removeStatusEntry() emit outputText( "Removing status entry..." ); - emit outputText( QString( "status file - " )+ statusFile ); - emit outputText( QString( "package - " )+ package ); + QString tempstr = "status file - "; + tempstr.append( statusFile ); + emit outputText( tempstr ); + tempstr = "package - "; + tempstr.append( package ); + emit outputText( tempstr ); @@ -194,3 +198,5 @@ void Ipkg :: removeStatusEntry() { - emit outputText( QString( "Couldn't open status file - " )+ statusFile ); + tempstr = "Couldn't open status file - "; + tempstr.append( statusFile ); + emit outputText( tempstr ); return; @@ -200,3 +206,5 @@ void Ipkg :: removeStatusEntry() { - emit outputText( QString( "Couldn't create tempory status file - " )+ outStatusFile ); + tempstr = "Couldn't create tempory status file - "; + tempstr.append( outStatusFile ); + emit outputText( tempstr ); return; @@ -236,3 +244,3 @@ void Ipkg :: removeStatusEntry() lines.push_back( QString( line ) ); -// out << line << endl; + out << line << endl; } while ( !in.eof() ); @@ -243,3 +251,2 @@ void Ipkg :: removeStatusEntry() { - cout << "Writing " << (const char *)(*it) << endl; out << (const char *)(*it) << endl; @@ -281,6 +288,4 @@ int Ipkg :: executeIpkgCommand( QStringList &cmd, const QString /*option*/ ) { - qDebug( "%s ", (*it).latin1() ); *proc << (*it).latin1(); } - cout << endl; @@ -291,3 +296,2 @@ int Ipkg :: executeIpkgCommand( QStringList &cmd, const QString /*option*/ ) emit outputText( QString( "Couldn't start ipkg process" ) ); - qDebug( "Couldn't start ipkg process!" ); } @@ -301,4 +305,2 @@ void Ipkg::commandStdout(OProcess*, char *buffer, int buflen) { - qDebug("received stdout %d bytes", buflen); - QString lineStr = buffer; @@ -322,4 +324,9 @@ void Ipkg::commandStdout(OProcess*, char *buffer, int buflen) } + else if ( option == "remove" && !( flags & FORCE_DEPENDS ) && + lineStr.find( "is depended upon by packages:" ) != -1 ) + { + // Ipkg should send this to STDERR, but doesn't - so trap here + error = true; + } - qDebug(lineStr); buffer[0] = '\0'; @@ -329,4 +336,2 @@ void Ipkg::commandStderr(OProcess*, char *buffer, int buflen) { - qDebug("received stderrt %d bytes", buflen); - QString lineStr = buffer; @@ -344,2 +349,3 @@ void Ipkg::processFinished() // to workaround an ipkg bug which stops reinstall to a different location + if ( !error && option == "remove" ) @@ -373,3 +379,2 @@ int Ipkg :: executeIpkgCommand( QString &cmd, const QString option ) { - cout << "Couldn't execute " << cmd << "! err = " << fp << endl; QString text; @@ -443,6 +448,8 @@ QStringList* Ipkg :: getList( const QString &packageFilename, const QString &des { - QString packageFileDir = destDir+"/usr/lib/ipkg/info/"+packageFilename+".list"; + QString packageFileDir = destDir; + packageFileDir.append( "/usr/lib/ipkg/info/" ); + packageFileDir.append( packageFilename ); + packageFileDir.append( ".list" ); QFile f( packageFileDir ); - cout << "Try to open " << packageFileDir << endl; if ( !f.open(IO_ReadOnly) ) @@ -450,12 +457,13 @@ QStringList* Ipkg :: getList( const QString &packageFilename, const QString &des // Couldn't open from dest, try from / - cout << "Could not open:" << packageFileDir << endl; f.close(); - packageFileDir = "/usr/lib/ipkg/info/"+packageFilename+".list"; + packageFileDir = "/usr/lib/ipkg/info/"; + packageFileDir.append( packageFilename ); + packageFileDir.append( ".list" ); f.setName( packageFileDir ); - qDebug( "Try to open %s", packageFileDir.latin1() ); if ( ! f.open(IO_ReadOnly) ) { - qDebug( "Could not open: %s", packageFileDir.latin1() ); - emit outputText( QString( "Could not open :" ) + packageFileDir ); + QString tempstr = "Could not open :"; + tempstr.append( packageFileDir ); + emit outputText( tempstr ); return (QStringList*)0; @@ -500,3 +508,4 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const - QString sourceFile = baseDir + file; + QString sourceFile = baseDir; + sourceFile.append( file ); @@ -505,3 +514,3 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const { - linkFile += file.mid( 1 ); + linkFile.append( file.mid( 1 ) ); } @@ -509,3 +518,3 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const { - linkFile += file; + linkFile.append( file ); } @@ -521,3 +530,5 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const { - emit outputText( QString( "Creating directory " ) + linkFile ); + QString tempstr = "Creating directory "; + tempstr.append( linkFile ); + emit outputText( tempstr ); QDir d; @@ -533,3 +544,5 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const text = (rc == 0 ? "Linked " : "Failed to link "); - text += sourceFile + " to " + linkFile; + text.append( sourceFile ); + text.append( " to " ); + text.append( linkFile ); emit outputText( text ); @@ -548,3 +561,3 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const text = (rc ? "Removed " : "Failed to remove "); - text += linkFile; + text.append( linkFile ); emit outputText( text ); @@ -558,3 +571,3 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const text = (rc ? "Removed " : "Failed to remove "); - text += linkFile; + text.append( linkFile ); emit outputText( text ); @@ -564,3 +577,2 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const } - } |