-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 19 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.h | 1 |
2 files changed, 17 insertions, 3 deletions
diff --git a/noncore/settings/aqpkg/ipkg.cpp b/noncore/settings/aqpkg/ipkg.cpp index 8de3c48..dad34b0 100644 --- a/noncore/settings/aqpkg/ipkg.cpp +++ b/noncore/settings/aqpkg/ipkg.cpp @@ -14,12 +14,13 @@ * (at your option) any later version. * * * ***************************************************************************/ #include <fstream> #include <iostream> +#include <vector> using namespace std; #include <stdio.h> #include <unistd.h> #ifdef QWS @@ -78,12 +79,14 @@ bool Ipkg :: runIpkg( ) if ( flags & FORCE_REINSTALL ) cmd += " -force-reinstall"; if ( flags & FORCE_REMOVE ) cmd += " -force-removal-of-essential-packages"; if ( flags & FORCE_OVERWRITE ) cmd += " -force-overwrite"; + if ( flags & VERBOSE_WGET ) + cmd += " -verbose_wget"; // Handle make links // Rules - If make links is switched on, create links to root // if destDir is NOT / if ( flags & MAKE_LINKS ) { @@ -186,13 +189,13 @@ void Ipkg :: removeStatusEntry() emit outputText( "Removing status entry..." ); emit outputText( QString( "status file - " )+ statusFile ); emit outputText( QString( "package - " )+ package ); ifstream in( statusFile ); ofstream out( outStatusFile ); - if ( !in.is_open() ) + if ( !in.is_open() ) { emit outputText( QString( "Couldn't open status file - " )+ statusFile ); return; } if ( !out.is_open() ) @@ -203,12 +206,13 @@ void Ipkg :: removeStatusEntry() char line[1001]; char k[21]; char v[1001]; QString key; QString value; + vector<QString> lines; do { in.getline( line, 1000 ); if ( in.eof() ) continue; @@ -228,15 +232,24 @@ void Ipkg :: removeStatusEntry() in.getline( line, 1000 ); if ( in.eof() || QString( line ).stripWhiteSpace() == "" ) continue; } while ( !in.eof() && QString( line ).stripWhiteSpace() != "" ); } - out << line << endl; + lines.push_back( QString( line ) ); +// out << line << endl; } while ( !in.eof() ); + // Write lines out + vector<QString>::iterator it; + for ( it = lines.begin() ; it != lines.end() ; ++it ) + { + cout << "Writing " << (const char *)(*it) << endl; + out << (const char *)(*it) << endl; + } + in.close(); out.close(); // Remove old status file and put tmp stats file in its place remove( statusFile ); rename( outStatusFile, statusFile ); @@ -403,13 +416,13 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const { emit outputText( QString( "Creating directory " ) + linkFile ); QDir d; d.mkdir( linkFile, true ); } else - emit outputText( QString( "Directory " ) + linkFile + " exists" ); + emit outputText( QString( "Directory " ) + linkFile + " already exists" ); } else { int rc = symlink( sourceFile, linkFile ); text = (rc == 0 ? "Linked " : "Failed to link "); diff --git a/noncore/settings/aqpkg/ipkg.h b/noncore/settings/aqpkg/ipkg.h index 55e9ff4..7099ca7 100644 --- a/noncore/settings/aqpkg/ipkg.h +++ b/noncore/settings/aqpkg/ipkg.h @@ -29,12 +29,13 @@ #define FORCE_DEPENDS 0x0001 #define FORCE_REMOVE 0x0002 #define FORCE_REINSTALL 0x0004 #define FORCE_OVERWRITE 0x0008 #define MAKE_LINKS 0x0010 +#define VERBOSE_WGET 0x0020 class Ipkg : public QObject { Q_OBJECT public: Ipkg(); |