summaryrefslogtreecommitdiff
authorandyq <andyq>2002-11-22 16:10:58 (UTC)
committer andyq <andyq>2002-11-22 16:10:58 (UTC)
commit8366956992e07a9fc77b9e126bb429b32fd4ad9a (patch) (side-by-side diff)
treec116bdc96674e6722bcb6c4201f90fdbdfc9699a
parent671116dfa34eef557060487324c9176bdb7da38e (diff)
downloadopie-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
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/aqpkg/ipkg.cpp19
-rw-r--r--noncore/settings/aqpkg/ipkg.h1
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( );