summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg
authortille <tille>2002-07-19 12:44:48 (UTC)
committer tille <tille>2002-07-19 12:44:48 (UTC)
commit8a1649fdf89b0bdc09869e0cc7cebe0d40ce1b19 (patch) (unidiff)
tree80226f49cd3d881d9e5b7eec1cc53ebbe9a46276 /noncore/unsupported/oipkg
parentc100ad1cb7db849aec5b9baa7df1a88980602688 (diff)
downloadopie-8a1649fdf89b0bdc09869e0cc7cebe0d40ce1b19.zip
opie-8a1649fdf89b0bdc09869e0cc7cebe0d40ce1b19.tar.gz
opie-8a1649fdf89b0bdc09869e0cc7cebe0d40ce1b19.tar.bz2
fixes bug #131
ipkg commandstring moved to conf file
Diffstat (limited to 'noncore/unsupported/oipkg') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/main.cpp2
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp74
-rw-r--r--noncore/unsupported/oipkg/pmipkg.h6
3 files changed, 7 insertions, 75 deletions
diff --git a/noncore/unsupported/oipkg/main.cpp b/noncore/unsupported/oipkg/main.cpp
index c579df8..f989f30 100644
--- a/noncore/unsupported/oipkg/main.cpp
+++ b/noncore/unsupported/oipkg/main.cpp
@@ -1,12 +1,12 @@
1 1
2#include "mainwindow.h" 2#include "mainwindow.h"
3 3
4#include <qpe/qpeapplication.h> 4#include <qpe/qpeapplication.h>
5#include <qstring.h> 5#include <qstring.h>
6//#include <qmessagebox.h> 6#include <unistd.h>
7int debugLevel; 7int debugLevel;
8 8
9int main( int argc, char ** argv ) 9int main( int argc, char ** argv )
10{ 10{
11 setpgid(0,0); 11 setpgid(0,0);
12 printf("This is oipkg\n"); 12 printf("This is oipkg\n");
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp
index bffad15..a7deb8f 100644
--- a/noncore/unsupported/oipkg/pmipkg.cpp
+++ b/noncore/unsupported/oipkg/pmipkg.cpp
@@ -9,13 +9,13 @@
9// (c) 2002 Patrick S. Vogt <tille@handhelds.org> 9// (c) 2002 Patrick S. Vogt <tille@handhelds.org>
10#include "pmipkg.h" 10#include "pmipkg.h"
11#include "pksettings.h" 11#include "pksettings.h"
12#include "package.h" 12#include "package.h"
13#include "packagelistitem.h" 13#include "packagelistitem.h"
14 14
15#include <opie/oprocess.h> 15//#include <opie/oprocess.h>
16#include <qpe/resource.h> 16#include <qpe/resource.h>
17#include <qpe/config.h> 17#include <qpe/config.h>
18#include <qpe/stringutil.h> 18#include <qpe/stringutil.h>
19#include <qpe/qpeapplication.h> 19#include <qpe/qpeapplication.h>
20#include <qdir.h> 20#include <qdir.h>
21#include <qfile.h> 21#include <qfile.h>
@@ -33,48 +33,33 @@
33#include <stdlib.h> 33#include <stdlib.h>
34#include <unistd.h> 34#include <unistd.h>
35 35
36#include "mainwindow.h" 36#include "mainwindow.h"
37 37
38 38
39//#define OPROCESS
40 39
41PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) 40PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f )
42 : QObject ( p ) 41 : QObject ( p )
43{ 42{
44 settings = s; 43 settings = s;
45 runwindow = new RunWindow( p, name, true, f ); 44 runwindow = new RunWindow( p, name, true, f );
46#ifdef OPROCESS
47 ipkgProcess = new OProcess();
48 connect ( ipkgProcess, SIGNAL(receivedStdout(OProcess*,char*,int)),
49 this, SLOT(getIpkgOutput(OProcess*,char*,int)));
50 45
51 connect ( ipkgProcess, SIGNAL(receivedStderr(OProcess*,char*,int)), 46 Config cfg( "oipkg", Config::User );
52 this, SLOT(getIpkgOutput(OProcess*,char*,int))); 47 cfg.setGroup( "ipkg" );
53 installDialog = 0; 48 ipkg_cmd = cfg.readEntry( "cmd", "ipkg" );
54#endif
55} 49}
56 50
57PmIpkg::~PmIpkg() 51PmIpkg::~PmIpkg()
58{ 52{
59#ifdef OPROCESS
60 delete ipkgProcess;
61#endif
62} 53}
63 54
64bool PmIpkg::runIpkg(const QString& args, const QString& dest ) 55bool PmIpkg::runIpkg(const QString& args, const QString& dest )
65{ 56{
66 bool ret=false; 57 bool ret=false;
67 QDir::setCurrent("/tmp"); 58 QDir::setCurrent("/tmp");
68 QString cmd = "/usr/bin/ipkg "; 59 QString cmd = ipkg_cmd;
69#ifdef OPROCESS
70 ipkgProcess->kill();
71 ipkgProcess->clearArguments();
72 *ipkgProcess << "/usr/bin/ipkg ";
73 cmd = "";
74#endif
75 pvDebug( 3,"PmIpkg::runIpkg got dest="+dest); 60 pvDebug( 3,"PmIpkg::runIpkg got dest="+dest);
76 if (!args.contains("update")) 61 if (!args.contains("update"))
77 { 62 {
78 if ( dest == "" ) 63 if ( dest == "" )
79 cmd += " -dest "+settings->getDestinationName(); 64 cmd += " -dest "+settings->getDestinationName();
80 else 65 else
@@ -95,49 +80,12 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest )
95 80
96 out( "Starting to "+ args+"\n"); 81 out( "Starting to "+ args+"\n");
97 qApp->processEvents(); 82 qApp->processEvents();
98 cmd += args; 83 cmd += args;
99 out( "running:\n"+cmd+"\n" ); 84 out( "running:\n"+cmd+"\n" );
100 pvDebug(2,"running:"+cmd); 85 pvDebug(2,"running:"+cmd);
101#ifdef OPROCESS
102 *ipkgProcess << args;
103 out( "running:\n" + cmd);
104 *ipkgProcess << cmd;
105
106//debug
107 delete ipkgProcess;
108 ipkgProcess = new OProcess();
109 ipkgProcess->clearArguments();
110 *ipkgProcess << "/bin/ls ";
111//debug
112 QValueList<QCString> a = ipkgProcess->args();
113 QValueList<QCString>::Iterator it;
114 for( it = a.begin(); it != a.end(); ++it )
115 {
116 out( *it );
117 cmd += *it;
118 }
119
120 pvDebug(2,"running:"+cmd);
121 qApp->processEvents();
122// sleep(1);
123 ret = ipkgProcess->start(OProcess::NotifyOnExit,OProcess::AllOutput);
124 if ( !ret ) {
125 pvDebug(2,"Could not execute '" + cmd);
126 out("\nError while executing "+ cmd+"\n\n");
127 out("\nError while executing\n\n");
128 // return false;
129 }
130
131 while ( ipkgProcess->isRunning() )
132 {
133 out(".");
134 pvDebug(7,"wait for oprocess to terminate");
135 qApp->processEvents();
136 };
137#else
138 qApp->processEvents(); 86 qApp->processEvents();
139 FILE *fp; 87 FILE *fp;
140 char line[130]; 88 char line[130];
141 QString lineStr, lineStrOld; 89 QString lineStr, lineStrOld;
142 sleep(1); 90 sleep(1);
143 cmd +=" 2>&1"; 91 cmd +=" 2>&1";
@@ -157,14 +105,12 @@ bool PmIpkg::runIpkg(const QString& args, const QString& dest )
157 out(lineStr); 105 out(lineStr);
158 lineStrOld = lineStr; 106 lineStrOld = lineStr;
159 qApp->processEvents(); 107 qApp->processEvents();
160 } 108 }
161 } 109 }
162 pclose(fp); 110 pclose(fp);
163#endif
164 //out( "Finished!");
165 pvDebug(2,QString(ret?"success\n":"failure\n")); 111 pvDebug(2,QString(ret?"success\n":"failure\n"));
166 return ret; 112 return ret;
167} 113}
168 114
169void PmIpkg::makeLinks(Package *pack) 115void PmIpkg::makeLinks(Package *pack)
170{ 116{
@@ -490,16 +436,6 @@ void PmIpkg::clearLists()
490{ 436{
491 to_remove.clear(); 437 to_remove.clear();
492 to_install.clear(); 438 to_install.clear();
493} 439}
494 440
495 441
496void PmIpkg::getIpkgOutput(OProcess *proc, char *buffer, int buflen)
497{
498 QString lineStr, lineStrOld;
499 lineStr = buffer;
500 lineStr=lineStr.left(buflen);
501 //Configuring opie-oipkg...Done
502 if (lineStr!=lineStrOld)
503 out(lineStr);
504 lineStrOld = lineStr;
505}
diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h
index c84acfa..2f4d6ae 100644
--- a/noncore/unsupported/oipkg/pmipkg.h
+++ b/noncore/unsupported/oipkg/pmipkg.h
@@ -7,14 +7,12 @@
7 * * 7 * *
8 ***************************************************************************/ 8 ***************************************************************************/
9// (c) 2002 Patrick S. Vogt <tille@handhelds.org> 9// (c) 2002 Patrick S. Vogt <tille@handhelds.org>
10#ifndef PMIPKG_H 10#ifndef PMIPKG_H
11#define PMIPKG_H 11#define PMIPKG_H
12 12
13
14#include <opie/oprocess.h>
15#include <qobject.h> 13#include <qobject.h>
16#include <qlist.h> 14#include <qlist.h>
17#include <qstring.h> 15#include <qstring.h>
18#include <qwidget.h> 16#include <qwidget.h>
19#include "pksettings.h" 17#include "pksettings.h"
20#include "runwindow.h" 18#include "runwindow.h"
@@ -46,17 +44,15 @@ public slots:
46 void remove(); 44 void remove();
47 void installFile(const QString &fileName, const QString &dest=""); 45 void installFile(const QString &fileName, const QString &dest="");
48 void removeFile(const QString &fileName, const QString &dest=""); 46 void removeFile(const QString &fileName, const QString &dest="");
49 void createLinks( const QString &dest ); 47 void createLinks( const QString &dest );
50 void removeLinks( const QString &dest ); 48 void removeLinks( const QString &dest );
51 49
52//private slots:
53 void getIpkgOutput(OProcess *proc, char *buffer, int buflen);
54 50
55private: 51private:
56 OProcess *ipkgProcess; 52 QString ipkg_cmd;
57 PackageManagerSettings* settings; 53 PackageManagerSettings* settings;
58 RunWindow *runwindow; 54 RunWindow *runwindow;
59 InstallDialog *installDialog; 55 InstallDialog *installDialog;
60 QList<Package> to_remove; 56 QList<Package> to_remove;
61 QList<Package> to_install; 57 QList<Package> to_install;
62 void makeLinks(Package*); 58 void makeLinks(Package*);