summaryrefslogtreecommitdiff
path: root/noncore/unsupported
Unidiff
Diffstat (limited to 'noncore/unsupported') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/TODO6
-rw-r--r--noncore/unsupported/oipkg/main.cpp4
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp26
-rw-r--r--noncore/unsupported/oipkg/mainwindow.h2
-rw-r--r--noncore/unsupported/oipkg/oipkg.pro4
-rw-r--r--noncore/unsupported/oipkg/package.cpp2
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp7
-rw-r--r--noncore/unsupported/oipkg/packagelist.h2
-rw-r--r--noncore/unsupported/oipkg/pksettingsbase.ui8
-rw-r--r--noncore/unsupported/oipkg/pmipkg.cpp178
-rw-r--r--noncore/unsupported/oipkg/pmipkg.h18
-rw-r--r--noncore/unsupported/oipkg/runwindow.ui4
12 files changed, 157 insertions, 104 deletions
diff --git a/noncore/unsupported/oipkg/TODO b/noncore/unsupported/oipkg/TODO
index 714baa4..d81e873 100644
--- a/noncore/unsupported/oipkg/TODO
+++ b/noncore/unsupported/oipkg/TODO
@@ -1,7 +1,9 @@
1* search 1* search
2* parse "to install" and "to remove" from status
3* Settings Class 2* Settings Class
3* make oipkg determine dest of "to remove" apps
4* tr() ;)
4* Dialog to display ipkg output live 5* Dialog to display ipkg output live
6* parse "to install" and "to remove" from status
5* install local file 7* install local file
6* make oipkg determine dest of to remove apps 8* install to dest with click on packet
7* error handling 9* error handling
diff --git a/noncore/unsupported/oipkg/main.cpp b/noncore/unsupported/oipkg/main.cpp
index 264fd55..4af59b0 100644
--- a/noncore/unsupported/oipkg/main.cpp
+++ b/noncore/unsupported/oipkg/main.cpp
@@ -9,4 +9,4 @@ int main( int argc, char ** argv )
9{ 9{
10 debugLevel = 1; 10 debugLevel = 2;
11 if (argc > 2) 11 if (argc > 0)
12 { 12 {
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp
index b485a03..cb2b4cd 100644
--- a/noncore/unsupported/oipkg/mainwindow.cpp
+++ b/noncore/unsupported/oipkg/mainwindow.cpp
@@ -53,3 +53,3 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
53 packageList.setSettings( settings ); 53 packageList.setSettings( settings );
54 newList(); 54 getList();
55 setSections(); 55 setSections();
@@ -68,2 +68,9 @@ void MainWindow::makeMenu()
68 68
69//#define TOOLBAR
70#ifdef TOOLBAR
71 QPEToolBar *secBar = new QPEToolBar( this );
72 QComboBox *sections = new QComboBox( false, this );
73 secBar->addTo( sections );
74#endif
75
69 contextMenu = new QPopupMenu( this ); 76 contextMenu = new QPopupMenu( this );
@@ -136,4 +143,3 @@ void MainWindow::runIpkg()
136 ipkg->commit( packageList ); 143 ipkg->commit( packageList );
137 ipkg->runIpkg("update"); 144 updateList();
138 packageList.update();
139} 145}
@@ -142,9 +148,11 @@ void MainWindow::updateList()
142{ 148{
143 ipkg->runIpkg("update"); 149 // todo: packageList.clear();
144 packageList.update(); 150 ipkg->update();
151 getList();
145} 152}
146 153
147void MainWindow::newList() 154void MainWindow::getList()
148{ 155{
149 packageList.update(); 156 packageList.update();
157 displayList();
150} 158}
@@ -219,3 +227,3 @@ void MainWindow::showSettings()
219 if ( settings->showDialog( 0 ) ) 227 if ( settings->showDialog( 0 ) )
220 newList(); 228 getList();
221} 229}
@@ -224,3 +232,3 @@ void MainWindow::showSettingsSrv()
224 if ( settings->showDialog( 1 ) ) 232 if ( settings->showDialog( 1 ) )
225 newList(); 233 getList();
226} 234}
@@ -229,3 +237,3 @@ void MainWindow::showSettingsDst()
229 if ( settings->showDialog( 2 ) ) 237 if ( settings->showDialog( 2 ) )
230 newList(); 238 getList();
231} 239}
diff --git a/noncore/unsupported/oipkg/mainwindow.h b/noncore/unsupported/oipkg/mainwindow.h
index 77604fd..95dcc90 100644
--- a/noncore/unsupported/oipkg/mainwindow.h
+++ b/noncore/unsupported/oipkg/mainwindow.h
@@ -30,3 +30,3 @@ protected slots:
30 void runIpkg(); 30 void runIpkg();
31 void newList(); 31 void getList();
32 void updateList(); 32 void updateList();
diff --git a/noncore/unsupported/oipkg/oipkg.pro b/noncore/unsupported/oipkg/oipkg.pro
index 04230f5..c61af0f 100644
--- a/noncore/unsupported/oipkg/oipkg.pro
+++ b/noncore/unsupported/oipkg/oipkg.pro
@@ -2,4 +2,4 @@ DESTDIR = $(OPIEDIR)/bin
2 TEMPLATE= app 2 TEMPLATE= app
3 CONFIG = qt warn_on release 3 #CONFIG = qt warn_on release
4 #CONFIG = qt warn_on debug 4 CONFIG = qt warn_on debug
5 HEADERS = mainwindow.h \ 5 HEADERS = mainwindow.h \
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp
index 82ea1c8..e317308 100644
--- a/noncore/unsupported/oipkg/package.cpp
+++ b/noncore/unsupported/oipkg/package.cpp
@@ -158,3 +158,3 @@ void Package::toggleProcess()
158{ 158{
159 _toProcess = !(_toProcess); 159 _toProcess = ! _toProcess;
160} 160}
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp
index d72ef75..5f6934d 100644
--- a/noncore/unsupported/oipkg/packagelist.cpp
+++ b/noncore/unsupported/oipkg/packagelist.cpp
@@ -207,5 +207,2 @@ void PackageList::update()
207 207
208
209
210/** No descriptions */
211void PackageList::setSettings( PackageManagerSettings *s ) 208void PackageList::setSettings( PackageManagerSettings *s )
@@ -215 +212,5 @@ void PackageList::setSettings( PackageManagerSettings *s )
215 212
213Package* PackageList::getByName( QString n )
214{
215 origPackageList[n];
216}
diff --git a/noncore/unsupported/oipkg/packagelist.h b/noncore/unsupported/oipkg/packagelist.h
index eda8d22..68b89f0 100644
--- a/noncore/unsupported/oipkg/packagelist.h
+++ b/noncore/unsupported/oipkg/packagelist.h
@@ -28,2 +28,4 @@ public:
28 void filterPackages(); 28 void filterPackages();
29 /** No descriptions */
30 Package* getByName( QString );
29 31
diff --git a/noncore/unsupported/oipkg/pksettingsbase.ui b/noncore/unsupported/oipkg/pksettingsbase.ui
index 2efd2f3..ea507a8 100644
--- a/noncore/unsupported/oipkg/pksettingsbase.ui
+++ b/noncore/unsupported/oipkg/pksettingsbase.ui
@@ -13,3 +13,3 @@
13 <y>0</y> 13 <y>0</y>
14 <width>357</width> 14 <width>353</width>
15 <height>454</height> 15 <height>454</height>
@@ -300,3 +300,3 @@
300 <name>enabled</name> 300 <name>enabled</name>
301 <bool>true</bool> 301 <bool>false</bool>
302 </property> 302 </property>
@@ -319,3 +319,3 @@
319 <name>enabled</name> 319 <name>enabled</name>
320 <bool>true</bool> 320 <bool>false</bool>
321 </property> 321 </property>
@@ -334,3 +334,3 @@
334 <name>enabled</name> 334 <name>enabled</name>
335 <bool>true</bool> 335 <bool>false</bool>
336 </property> 336 </property>
diff --git a/noncore/unsupported/oipkg/pmipkg.cpp b/noncore/unsupported/oipkg/pmipkg.cpp
index 528365e..681f2d4 100644
--- a/noncore/unsupported/oipkg/pmipkg.cpp
+++ b/noncore/unsupported/oipkg/pmipkg.cpp
@@ -26,10 +26,10 @@
26PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f ) 26PmIpkg::PmIpkg( PackageManagerSettings* s, QWidget* p, const char * name, WFlags f )
27 : RunWindow ( p, name, f ) 27// : RunWindow ( p, name, f )
28 //: QObject ( p ) 28 : QObject ( p )
29{ 29{
30 settings = s; 30 settings = s;
31 31 runwindow = new RunWindow ( p, name, f );
32 linkDest = new QCopChannel( "QPE/MakeLinks", this ); 32 linkDest = new QCopChannel( "QPE/MakeLinks", this );
33 connect( linkDest, SIGNAL(received(const QCString &, const QByteArray &)), 33 connect( linkDest, SIGNAL(received(const QCString &, const QByteArray &)),
34 this, SLOT(linkDestination( const QString &, const QString&)) ); 34 this, SLOT(linkDestination( const QString &, const QByteArray&)) );
35} 35}
@@ -40,18 +40,35 @@ PmIpkg::~PmIpkg()
40 40
41//#define PROC
42#define SYSTEM
41int PmIpkg::runIpkg(const QString& args) 43int PmIpkg::runIpkg(const QString& args)
42{ 44{
43 pvDebug(4,"PmIpkg::runIpkg"); 45 pvDebug(2,"PmIpkg::runIpkg "+args);
46#ifdef PROC
47 QStringList cmd = "/usr/bin/ipkg ";
48#endif
49#ifdef SYSTEM
44 QString cmd = "/usr/bin/ipkg "; 50 QString cmd = "/usr/bin/ipkg ";
51#endif
45 cmd += " -dest "+settings->getDestinationName(); 52 cmd += " -dest "+settings->getDestinationName();
46 cmd += " -force-defaults "; 53 cmd += " -force-defaults ";
47 54
48 outPut->setText( outPut->text()+"<br><br>Starting to "+ args+"<br>\n"); 55 out( "Starting to "+ args+"<br>\n");
49 QString redirect = "/tmp/ipkg.pipe"; 56 cmd += args;
50 cmd += args+" | tee "+redirect+" 2>&1&"; 57 out( "running:<br>\n"+cmd+"<br>\n" );
51 58 int r = 0;
52 outPut->setText( outPut->text() + "running:<br>\n"+cmd+"<br>\n" ); 59#ifdef PROC
53 pvDebug( 0, "Execute >"+cmd+"<" ); 60 QString o = "start";
54 int r = system(cmd.latin1()); 61 Process ipkg( cmd );
62 QString description;
63 ipkg.exec("",o);
64 out( o );
65#endif
66#ifdef SYSTEM
67 QString redirect = "/tmp/oipkg.pipe";
68 cmd += " | tee "+redirect+" 2>&1";
69 r = system(cmd.latin1());
55 QFile f( redirect ); 70 QFile f( redirect );
56 if ( f.open(IO_ReadOnly) ) { 71 while ( ! f.open(IO_ReadOnly) ) {};
72 // if ( f.open(IO_ReadOnly) ) {};
73 {
57 QTextStream t( &f ); 74 QTextStream t( &f );
@@ -59,17 +76,9 @@ int PmIpkg::runIpkg(const QString& args)
59 while ( !t.eof() ) 76 while ( !t.eof() )
60 {
61 outPut->setText( outPut->text() + t.readLine() +"\n<br>" );
62 }
63 }
64 f.close();
65 outPut->setText( outPut->text() + "\n<br><br>Finished!");
66 outPut->setContentsPos(0,outPut->contentsHeight());
67
68 if ( r == 0 )
69 { 77 {
70 QString param = args.left( args.find(" ") ); 78 out( t.readLine() +"<br>" );
71 QString file = args.right( args.length() - args.find(" ") );
72 if ( param == "install" && settings->createLinks() )
73 makeLinks( file);
74 } 79 }
80 }
81 f.close();
82 out( "Finished!<br>");
83#endif
75 84
@@ -80,7 +89,8 @@ void PmIpkg::makeLinks(QString file)
80{ 89{
81 outPut->setText( outPut->text() + "<br>creating links<br>" ); 90 out( "<br>creating links<br>" );
82 QString dest = settings->getDestinationUrl(); 91 QString dest = settings->getDestinationUrl();
83 system(("ipkg -d "+dest+" files "+file+"> /tmp/oipkg.pipe").latin1()); 92 out("for package "+file+" in "+dest+"<br>");
93 system(("ipkg -d "+dest+" files "+file+"> /tmp/oipkg.pipe 2>&1").latin1());
84 QFile f( "/tmp/oipkg.pipe" ); 94 QFile f( "/tmp/oipkg.pipe" );
85 if ( ! f.open(IO_ReadOnly) )return; 95 while ( ! f.open(IO_ReadOnly) ) {};
86 QTextStream t( &f ); 96 QTextStream t( &f );
@@ -89,3 +99,4 @@ void PmIpkg::makeLinks(QString file)
89 { 99 {
90 processLinkDir( t.readLine(), dest ); 100 fp = t.readLine();
101 processLinkDir( fp, dest );
91 } 102 }
@@ -98,24 +109,26 @@ void PmIpkg::processLinkDir( QString file, QString dest )
98 QFileInfo fileInfo( file ); 109 QFileInfo fileInfo( file );
99 if ( fileInfo.isFile() )
100 {
101 const char *instFile = strdup( (file).ascii() );
102 const char *linkFile = strdup( (destFile).ascii());
103 outPut->setText( outPut->text() + "linking: "+file+" -> "+destFile );
104 symlink( instFile, linkFile );
105 }
106 if ( fileInfo.isDir() ) 110 if ( fileInfo.isDir() )
111 {
112 QDir destDir( destFile );
113 destDir.mkdir( destFile, true );
114 QDir d( file );
115 d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
116 const QFileInfoList *list = d.entryInfoList();
117 QFileInfoListIterator it( *list );
118 QFileInfo *fi;
119 while ( (fi=it.current()) )
107 { 120 {
108 QDir destDir( destFile ); 121 out( "<b>"+fi->absFilePath()+"</b>" );
109 destDir.mkdir( destFile, true ); 122 processLinkDir( fi->absFilePath(), dest );
110 QDir d( file ); 123 ++it;
111 d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
112
113 const QFileInfoList *list = d.entryInfoList();
114 QFileInfoListIterator it( *list );
115 QFileInfo *fi;
116 while ( (fi=it.current()) ) {
117 processLinkDir( fi->absFilePath(), dest );
118 ++it;
119 }
120 } 124 }
125 } else
126 if ( fileInfo.isFile() )
127 {
128 const char *instFile = strdup( (file).ascii() );
129 const char *linkFile = strdup( (destFile).ascii());
130 out( "linking: "+file+" -> "+destFile );
131 qDebug( "linking: %s -> %s", instFile, linkFile );
132 symlink( instFile, linkFile );
133 }
121} 134}
@@ -124,9 +137,10 @@ void PmIpkg::commit( PackageList pl )
124 { 137 {
125 showMaximized(); 138 runwindow->showMaximized();
126 exec(); 139// exec();
127 outPut->setText( "<b>Starting...</b><br>\n"); 140 runwindow->outPut->setText("");
141 out( "<h1>Starting...</h1><br>\n");
128 QStringList to_remove, to_install; 142 QStringList to_remove, to_install;
129 143
130 QString rem="To remove:<br>\n"; 144 QString rem="<b>To remove:</b><br>\n";
131 QString inst="To install:<br>\n";; 145 QString inst="<b>To install:</b><br>\n";;
132 for( Package *pack = pl.first();pack ; (pack = pl.next()) ) 146 for( Package *pack = pl.first();pack ; (pack = pl.next()) )
@@ -138,3 +152,3 @@ void PmIpkg::commit( PackageList pl )
138 to_install.append( pack->name() ); 152 to_install.append( pack->name() );
139 inst += pack->name()+"\n"; 153 inst += pack->name()+"<br>";
140 } 154 }
@@ -143,3 +157,3 @@ void PmIpkg::commit( PackageList pl )
143 to_remove.append( pack->name() ); 157 to_remove.append( pack->name() );
144 rem += pack->name()+"\n"; 158 rem += pack->name()+"<br>";
145 } 159 }
@@ -148,3 +162,3 @@ void PmIpkg::commit( PackageList pl )
148 162
149 outPut->setText( outPut->text()+inst+rem); 163 out("<p>"+inst+"</p>"+"<p>"+rem+"</p>");
150 bool ok=TRUE; 164 bool ok=TRUE;
@@ -161,3 +175,11 @@ void PmIpkg::commit( PackageList pl )
161 for (QStringList::ConstIterator it=to_install.begin(); it!=to_install.end(); ++it) 175 for (QStringList::ConstIterator it=to_install.begin(); it!=to_install.end(); ++it)
162 if ( runIpkg("install " + *it) != 0 ) ok = false; 176 {
177 if ( runIpkg("install " + *it) == 0 )
178 {
179 if ( settings->createLinks() )
180 makeLinks( *it );
181 }else{
182 ok = false;
183 }
184 }
163 185
@@ -170,14 +192,28 @@ void PmIpkg::commit( PackageList pl )
170 192
171void PmIpkg::linkDestination( QString src, QString dest ) 193void PmIpkg::linkDestination( const QString msg, const QByteArray dest )
194// add 3rd package parameter
172{ 195{
173 QDir d( src ); 196 qDebug("msg="+msg+" -- "+QString(dest) );
174 d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); 197// QDir d( src );
175 if (! d.exists() ) return; 198// d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
176 const QFileInfoList *list = d.entryInfoList(); 199//// if (! d.exists() ) return;
177 QFileInfoListIterator it( *list ); 200// const QFileInfoList *list = d.entryInfoList();
178 QFileInfo *fi; 201// QFileInfoListIterator it( *list );
179 while ( (fi=it.current()) ) { 202// QFileInfo *fi;
180 processLinkDir( fi->absFilePath(), dest ); 203// while ( (fi=it.current()) ) {
181 ++it; 204 // processLinkDir( fi->absFilePath(), dest );
182 } 205// ++it;
206// }
207}
208
209void PmIpkg::update()
210{
211 runwindow->showMaximized();
212 runIpkg( "update" );
213}
214
215void PmIpkg::out( QString o )
216{
217 runwindow->outPut->setText( runwindow->outPut->text()+o );
218 runwindow->outPut->setContentsPos(0,runwindow->outPut->contentsHeight());
183} 219}
diff --git a/noncore/unsupported/oipkg/pmipkg.h b/noncore/unsupported/oipkg/pmipkg.h
index 98efaa6..e6486ff 100644
--- a/noncore/unsupported/oipkg/pmipkg.h
+++ b/noncore/unsupported/oipkg/pmipkg.h
@@ -12,2 +12,3 @@
12 12
13//#define DIA
13 14
@@ -15,4 +16,5 @@
15 16
16class PmIpkg : public RunWindow 17
17//class PmIpkg : public QObject 18//class PmIpkg : public RunWindow
19class PmIpkg : public QObject
18{ 20{
@@ -24,2 +26,4 @@ public:
24 26
27 void commit( PackageList );
28 void update();
25 PackageList* getPackageList(); 29 PackageList* getPackageList();
@@ -28,13 +32,13 @@ private:
28 PackageManagerSettings* settings; 32 PackageManagerSettings* settings;
33 RunWindow *runwindow;
29 QCopChannel *linkDest; 34 QCopChannel *linkDest;
30 void processLinkDir( QString, QString );
31
32 35
33public:
34 void makeLinks(QString); 36 void makeLinks(QString);
37 void processLinkDir( QString, QString );
38
35 int runIpkg(const QString& args); 39 int runIpkg(const QString& args);
36 void commit( PackageList ); 40 void out( QString );
37 41
38public slots: 42public slots:
39 void linkDestination( QString, QString ); 43 void linkDestination( const QString, const QByteArray );
40}; 44};
diff --git a/noncore/unsupported/oipkg/runwindow.ui b/noncore/unsupported/oipkg/runwindow.ui
index 23f58cf..9113f2d 100644
--- a/noncore/unsupported/oipkg/runwindow.ui
+++ b/noncore/unsupported/oipkg/runwindow.ui
@@ -13,3 +13,3 @@
13 <y>0</y> 13 <y>0</y>
14 <width>201</width> 14 <width>197</width>
15 <height>291</height> 15 <height>291</height>
@@ -44,3 +44,3 @@
44 <name>progress</name> 44 <name>progress</name>
45 <number>0</number> 45 <number>42</number>
46 </property> 46 </property>