-rw-r--r-- | noncore/settings/aqpkg/ipkg.cpp | 17 | ||||
-rw-r--r-- | noncore/settings/aqpkg/ipkg.h | 1 |
2 files changed, 16 insertions, 2 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 @@ -12,16 +12,17 @@ * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include <fstream> #include <iostream> +#include <vector> using namespace std; #include <stdio.h> #include <unistd.h> #ifdef QWS #include <qpe/qpeapplication.h> #else @@ -76,16 +77,18 @@ bool Ipkg :: runIpkg( ) if ( flags & FORCE_DEPENDS ) cmd += " -force-depends"; 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 ) { // If destDir == / turn off make links as package is being insalled // to root already. @@ -201,16 +204,17 @@ void Ipkg :: removeStatusEntry() return; } 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; k[0] = '\0'; v[0] = '\0'; @@ -226,19 +230,28 @@ void Ipkg :: removeStatusEntry() do { 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 ); } @@ -401,17 +414,17 @@ void Ipkg :: processLinkDir( const QString &file, const QString &destDir, const QFileInfo f( linkFile ); if ( !f.exists() ) { 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 "); text += sourceFile + " to " + linkFile; emit outputText( text ); 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 @@ -27,16 +27,17 @@ #include <qstring.h> #include <qlist.h> #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(); ~Ipkg(); bool runIpkg( ); |