summaryrefslogtreecommitdiff
Side-by-side diff
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
@@ -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();