author | andyq <andyq> | 2002-11-22 16:10:58 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-11-22 16:10:58 (UTC) |
commit | 8366956992e07a9fc77b9e126bb429b32fd4ad9a (patch) (side-by-side diff) | |
tree | c116bdc96674e6722bcb6c4201f90fdbdfc9699a | |
parent | 671116dfa34eef557060487324c9176bdb7da38e (diff) | |
download | opie-8366956992e07a9fc77b9e126bb429b32fd4ad9a.zip opie-8366956992e07a9fc77b9e126bb429b32fd4ad9a.tar.gz opie-8366956992e07a9fc77b9e126bb429b32fd4ad9a.tar.bz2 |
added verbose_wget flag (doesn't work properly yet) and
made status file updating quicker
-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 @@ -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. @@ -184,33 +187,34 @@ void Ipkg :: removeStatusEntry() emit outputText( "" ); 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() ) { emit outputText( QString( "Couldn't create tempory status file - " )+ outStatusFile ); 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( ); |