summaryrefslogtreecommitdiff
authordrw <drw>2004-01-20 19:33:27 (UTC)
committer drw <drw>2004-01-20 19:33:27 (UTC)
commitda0557836c852fade427c03ad59d349f3294bbb8 (patch) (unidiff)
tree979907c816c09f3b3a290b58eac353094cbcd90e
parent996826e77a8f96ada424814716178e65caba9287 (diff)
downloadopie-da0557836c852fade427c03ad59d349f3294bbb8.zip
opie-da0557836c852fade427c03ad59d349f3294bbb8.tar.gz
opie-da0557836c852fade427c03ad59d349f3294bbb8.tar.bz2
Convert to use libipkg
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/.cvsignore2
-rw-r--r--noncore/settings/packagemanager/ChangeLog7
-rw-r--r--noncore/settings/packagemanager/installdlg.cpp76
-rw-r--r--noncore/settings/packagemanager/installdlg.h4
-rw-r--r--noncore/settings/packagemanager/mainwindow.cpp6
-rw-r--r--noncore/settings/packagemanager/oipkg.cpp188
-rw-r--r--noncore/settings/packagemanager/oipkg.h17
-rw-r--r--noncore/settings/packagemanager/opackagemanager.cpp11
-rw-r--r--noncore/settings/packagemanager/opackagemanager.h4
-rw-r--r--noncore/settings/packagemanager/opie-packagemanager.control2
-rw-r--r--noncore/settings/packagemanager/packagemanager.pro9
11 files changed, 135 insertions, 191 deletions
diff --git a/noncore/settings/packagemanager/.cvsignore b/noncore/settings/packagemanager/.cvsignore
index 4183697..9f2b524 100644
--- a/noncore/settings/packagemanager/.cvsignore
+++ b/noncore/settings/packagemanager/.cvsignore
@@ -1,3 +1,5 @@
1Makefile* 1Makefile*
2moc* 2moc*
3.moc* 3.moc*
4.obj
5.moc
diff --git a/noncore/settings/packagemanager/ChangeLog b/noncore/settings/packagemanager/ChangeLog
index a01c8b3..1ba12af 100644
--- a/noncore/settings/packagemanager/ChangeLog
+++ b/noncore/settings/packagemanager/ChangeLog
@@ -1,4 +1,9 @@
12004-01-nn Dan Williams <drw@handhelds.org> 12004-01-20 Dan Williams <drw@handhelds.org>
2
3 * Released version 0.2.0
4 * Converted to use libipkg in place of spawning ipkg process
5
62004-01-13 Dan Williams <drw@handhelds.org>
2 7
3 * Released version 0.1.0 8 * Released version 0.1.0
4 * Initial check-in of new package management client to eventually replace AQPkg 9 * Initial check-in of new package management client to eventually replace AQPkg
diff --git a/noncore/settings/packagemanager/installdlg.cpp b/noncore/settings/packagemanager/installdlg.cpp
index 980d5eb..6a9ccbd 100644
--- a/noncore/settings/packagemanager/installdlg.cpp
+++ b/noncore/settings/packagemanager/installdlg.cpp
@@ -206,8 +206,7 @@ void InstallDlg::slotBtnStart()
206 QString btnText = m_btnStart->text(); 206 QString btnText = m_btnStart->text();
207 if ( btnText == tr( "Abort" ) ) 207 if ( btnText == tr( "Abort" ) )
208 { 208 {
209 // Stop execution of current command and prevent any others from executing 209 // Prevent unexecuted commands from executing
210 m_packman->abortCommand();
211 m_currCommand = 999; 210 m_currCommand = 999;
212 211
213 // Allow user to close dialog 212 // Allow user to close dialog
@@ -222,17 +221,37 @@ void InstallDlg::slotBtnStart()
222 return; 221 return;
223 } 222 }
224 223
225 // Start was clicked, execute first command 224 // Start was clicked, start executing
226 m_btnOptions->setEnabled( false ); 225 m_btnOptions->setEnabled( false );
227 m_btnStart->setText( tr( "Abort" ) ); 226 if ( m_numCommands > 1 )
228 m_btnStart->setIconSet( Resource::loadPixmap( "close" ) ); 227 {
228 m_btnStart->setText( tr( "Abort" ) );
229 m_btnStart->setIconSet( Resource::loadPixmap( "close" ) );
230 }
231 else
232 {
233 m_btnStart->setEnabled( false );
234 }
229 235
230 QString dest; 236 QString dest;
231 if ( m_destination ) 237 if ( m_destination )
232 dest = m_destination->currentText(); 238 dest = m_destination->currentText();
233 m_packman->executeCommand( m_command[ 0 ], m_packages[ 0 ], dest, this, 239
234 SLOT(slotOutput(OProcess*,char*,int)), SLOT(slotErrors(OProcess*,char*,int)), 240 for ( m_currCommand = 0; m_currCommand < m_numCommands; m_currCommand++ )
235 SLOT(slotFinished(OProcess*)), true ); 241 {
242 // Execute next command
243 m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], dest,
244 this, SLOT(slotOutput(char*)), true );
245 }
246
247 // All commands executed, allow user to close dialog
248 m_btnStart->setEnabled( true );
249 m_btnStart->setText( tr( "Close" ) );
250 m_btnStart->setIconSet( Resource::loadPixmap( "enter" ) );
251
252 m_btnOptions->setEnabled( true );
253 m_btnOptions->setText( tr( "Save output" ) );
254 m_btnOptions->setIconSet( Resource::loadPixmap( "save" ) );
236} 255}
237 256
238void InstallDlg::slotBtnOptions() 257void InstallDlg::slotBtnOptions()
@@ -267,43 +286,14 @@ void InstallDlg::slotBtnOptions()
267 } 286 }
268} 287}
269 288
270void InstallDlg::slotOutput( OProcess */*process*/, char *buffer, int buffLen ) 289void InstallDlg::slotOutput( char *msg )
271{ 290{
272 QString lineStr = buffer; 291 // Allow processing of other events
273 if ( lineStr[buffLen-1] == '\n' ) 292 qApp->processEvents();
274 lineStr.truncate( buffLen - 1 );
275 m_output->append( lineStr );
276 m_output->setCursorPosition( m_output->numLines(), 0 );
277}
278 293
279void InstallDlg::slotErrors( OProcess */*process*/, char *buffer, int buffLen ) 294 QString lineStr = msg;
280{ 295 if ( lineStr[lineStr.length()-1] == '\n' )
281 QString lineStr = buffer; 296 lineStr.truncate( lineStr.length() - 1 );
282 if ( lineStr[buffLen-1] == '\n' )
283 lineStr.truncate( buffLen - 1 );
284 m_output->append( lineStr ); 297 m_output->append( lineStr );
285 m_output->setCursorPosition( m_output->numLines(), 0 ); 298 m_output->setCursorPosition( m_output->numLines(), 0 );
286} 299}
287
288void InstallDlg::slotFinished( OProcess */*process*/ )
289{
290 ++m_currCommand;
291 if ( m_currCommand < m_numCommands )
292 {
293 // More commands left, execute next one
294 m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], m_destination->currentText(),
295 this, SLOT(slotOutput(OProcess*,char*,int)),
296 SLOT(slotErrors(OProcess*,char*,int)),
297 SLOT(slotFinished(OProcess*)), true );
298 }
299 else
300 {
301 // All commands executed, allow user to close dialog
302 m_btnStart->setText( tr( "Close" ) );
303 m_btnStart->setIconSet( Resource::loadPixmap( "enter" ) );
304
305 m_btnOptions->setEnabled( true );
306 m_btnOptions->setText( tr( "Save output" ) );
307 m_btnOptions->setIconSet( Resource::loadPixmap( "save" ) );
308 }
309}
diff --git a/noncore/settings/packagemanager/installdlg.h b/noncore/settings/packagemanager/installdlg.h
index 8075f1d..7efe721 100644
--- a/noncore/settings/packagemanager/installdlg.h
+++ b/noncore/settings/packagemanager/installdlg.h
@@ -78,9 +78,7 @@ private slots:
78 void slotBtnOptions(); 78 void slotBtnOptions();
79 79
80 // Execution slots 80 // Execution slots
81 void slotOutput( OProcess *process, char *buffer, int buffLen ); 81 void slotOutput( char *msg );
82 void slotErrors( OProcess *process, char *buffer, int buffLen );
83 void slotFinished( OProcess *process );
84 82
85signals: 83signals:
86 void closeInstallDlg(); 84 void closeInstallDlg();
diff --git a/noncore/settings/packagemanager/mainwindow.cpp b/noncore/settings/packagemanager/mainwindow.cpp
index 311b5fc..4611404 100644
--- a/noncore/settings/packagemanager/mainwindow.cpp
+++ b/noncore/settings/packagemanager/mainwindow.cpp
@@ -162,8 +162,7 @@ void MainWindow::initUI()
162 actionUpgrade->addTo( popup ); 162 actionUpgrade->addTo( popup );
163 actionUpgrade->addTo( &m_toolBar ); 163 actionUpgrade->addTo( &m_toolBar );
164 164
165 // Ipkg implementation does not seem to work currently? (not working in aqpkg either) 165/*
166 /*
167 QPixmap iconDownload = Resource::loadPixmap( "packagemanager/download" ); 166 QPixmap iconDownload = Resource::loadPixmap( "packagemanager/download" );
168 QPixmap iconRemove = Resource::loadPixmap( "packagemanager/remove" ); 167 QPixmap iconRemove = Resource::loadPixmap( "packagemanager/remove" );
169 QAction *actionDownload = new QAction( tr( "Download" ), iconDownload, QString::null, 0, this, 0 ); 168 QAction *actionDownload = new QAction( tr( "Download" ), iconDownload, QString::null, 0, this, 0 );
@@ -171,7 +170,7 @@ void MainWindow::initUI()
171 connect( actionDownload, SIGNAL(activated()), this, SLOT(slotDownload()) ); 170 connect( actionDownload, SIGNAL(activated()), this, SLOT(slotDownload()) );
172 actionDownload->addTo( popup ); 171 actionDownload->addTo( popup );
173 actionDownload->addTo( &m_toolBar ); 172 actionDownload->addTo( &m_toolBar );
174 */ 173*/
175 174
176 a = new QAction( tr( "Apply changes" ), Resource::loadPixmap( "packagemanager/apply" ), QString::null, 0, this, 0 ); 175 a = new QAction( tr( "Apply changes" ), Resource::loadPixmap( "packagemanager/apply" ), QString::null, 0, this, 0 );
177 a->setWhatsThis( tr( "Click here to install, remove or upgrade currently selected package(s)." ) ); 176 a->setWhatsThis( tr( "Click here to install, remove or upgrade currently selected package(s)." ) );
@@ -371,7 +370,6 @@ void MainWindow::slotUpgrade()
371 m_widgetStack.raiseWidget( dlg ); 370 m_widgetStack.raiseWidget( dlg );
372} 371}
373 372
374 // Ipkg implementation does not seem to work currently? (not working in aqpkg either)
375/* 373/*
376void MainWindow::slotDownload() 374void MainWindow::slotDownload()
377{ 375{
diff --git a/noncore/settings/packagemanager/oipkg.cpp b/noncore/settings/packagemanager/oipkg.cpp
index 13f3d7d..eeb0131 100644
--- a/noncore/settings/packagemanager/oipkg.cpp
+++ b/noncore/settings/packagemanager/oipkg.cpp
@@ -31,29 +31,48 @@
31 31
32#include "oipkg.h" 32#include "oipkg.h"
33 33
34#include <stdio.h> 34#include <stdlib.h>
35#include <string.h>
35 36
36#include <qdir.h> 37#include <qdir.h>
37#include <qfile.h> 38#include <qfile.h>
39#include <qmessagebox.h>
38#include <qtextstream.h> 40#include <qtextstream.h>
39 41
40#include <opie/oprocess.h>
41
42const QString IPKG_EXEC = "ipkg"; // Fully-qualified name of Ipkg executable
43const QString IPKG_CONF = "/etc/ipkg.conf"; // Fully-qualified name of Ipkg primary configuration file 42const QString IPKG_CONF = "/etc/ipkg.conf"; // Fully-qualified name of Ipkg primary configuration file
44const QString IPKG_CONF_DIR = "/etc/ipkg"; // Directory of secondary Ipkg configuration files 43const QString IPKG_CONF_DIR = "/etc/ipkg"; // Directory of secondary Ipkg configuration files
45const QString IPKG_PKG_PATH = "/usr/lib/ipkg/lists"; // Directory containing server package lists 44const QString IPKG_PKG_PATH = "/usr/lib/ipkg/lists"; // Directory containing server package lists
46const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status file location 45const QString IPKG_STATUS_PATH = "usr/lib/ipkg/status"; // Destination status file location
47 46
47OIpkg *oipkg;
48
49int fIpkgMessage( ipkg_conf_t */*conf*/, message_level_t /*level*/, char *msg )
50{
51 oipkg->ipkgOutput( msg );
52 return 0;
53}
54
55char* fIpkgResponse( char */*question*/ )
56{
57 return 0x0;
58}
59
48OIpkg::OIpkg( Config *config, QObject *parent, const char *name ) 60OIpkg::OIpkg( Config *config, QObject *parent, const char *name )
49 : QObject( parent, name ) 61 : QObject( parent, name )
50 , m_config( config ) 62 , m_config( config )
51 , m_ipkgExec( IPKG_EXEC ) // TODO - find executable?
52 , m_confInfo( NULL ) 63 , m_confInfo( NULL )
53 , m_ipkgExecOptions( 0 ) 64 , m_ipkgExecOptions( 0 )
54 , m_ipkgExecVerbosity( 1 ) 65 , m_ipkgExecVerbosity( 1 )
55 , m_ipkgProcess( NULL )
56{ 66{
67 oipkg = this;
68
69 // Initialize libipkg
70 if ( ipkg_init( &fIpkgMessage, &fIpkgResponse, &m_ipkgArgs ) )
71 QMessageBox::critical( 0, tr( "OIpkg" ), tr( "Error initialing libipkg" ) );
72
73 // Default ipkg run-time arguments
74 m_ipkgArgs.noaction = false;
75 m_ipkgArgs.force_defaults = true;
57} 76}
58 77
59OIpkg::~OIpkg() 78OIpkg::~OIpkg()
@@ -62,9 +81,9 @@ OIpkg::~OIpkg()
62 if ( m_confInfo ) 81 if ( m_confInfo )
63 m_confInfo->setAutoDelete( true ); 82 m_confInfo->setAutoDelete( true );
64 83
65 // Terminate any running ipkg processes 84 // Free up libipkg resources
66 if ( m_ipkgProcess ) 85 if ( ipkg_deinit( &m_ipkgArgs ) )
67 delete m_ipkgProcess; 86 QMessageBox::critical( 0, tr( "OIpkg" ), tr( "Error freeing libipkg" ) );
68} 87}
69 88
70OConfItemList *OIpkg::configItems() 89OConfItemList *OIpkg::configItems()
@@ -254,136 +273,71 @@ OPackageList *OIpkg::installedPackages( const QString &destName, const QString &
254} 273}
255 274
256bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters, const QString &destination, 275bool OIpkg::executeCommand( OPackage::Command command, QStringList *parameters, const QString &destination,
257 const QObject *receiver, const char *slotOutput, const char *slotErrors, 276 const QObject *receiver, const char *slotOutput, bool rawOutput )
258 const char *slotFinished, bool rawOutput )
259{ 277{
260 if ( command == OPackage::NotDefined ) 278 if ( command == OPackage::NotDefined )
261 return false; 279 return false;
262 280
263 // Set up command line for execution 281 // Set ipkg run-time options/arguments
264 QStringList cmdLine; 282 m_ipkgArgs.force_depends = ( m_ipkgExecOptions & FORCE_DEPENDS );
265 cmdLine.append( IPKG_EXEC ); 283 m_ipkgArgs.force_reinstall = ( m_ipkgExecOptions & FORCE_REINSTALL );
266 284 // TODO m_ipkgArgs.force_remove = ( m_ipkgExecOptions & FORCE_REMOVE );
267 QString verbosity( "-V" ); 285 m_ipkgArgs.force_overwrite = ( m_ipkgExecOptions & FORCE_OVERWRITE );
268 verbosity.append( QString::number( m_ipkgExecVerbosity ) ); 286 m_ipkgArgs.verbosity = m_ipkgExecVerbosity;
269 cmdLine.append( verbosity ); 287 if ( m_ipkgArgs.dest )
270 288 free( m_ipkgArgs.dest );
271 // Determine Ipkg execution options 289 if ( !destination.isNull() )
272 if ( command == OPackage::Install && destination != QString::null )
273 { 290 {
274 // TODO - Set destination for installs 291 int len = destination.length() + 1;
275 cmdLine.append( "-dest" ); 292 m_ipkgArgs.dest = (char *)malloc( len );
276 cmdLine.append( destination ); 293 strncpy( m_ipkgArgs.dest, destination, destination.length() );
294 m_ipkgArgs.dest[ len - 1 ] = '\0';
277 } 295 }
296 else
297 m_ipkgArgs.dest = 0x0;
278 298
279 if ( command != OPackage::Update && command != OPackage::Download ) 299 // Connect output signal to widget
300 if ( rawOutput )
280 { 301 {
281 if ( m_ipkgExecOptions & FORCE_DEPENDS ) 302 if ( slotOutput )
282 cmdLine.append( "-force-depends" ); 303 connect( this, SIGNAL(execOutput(char *)), receiver, slotOutput );
283 if ( m_ipkgExecOptions & FORCE_REINSTALL ) 304 }
284 cmdLine.append( "-force-reinstall" ); 305 else
285 if ( m_ipkgExecOptions & FORCE_REMOVE ) 306 {
286 cmdLine.append( "-force-removal-of-essential-packages" ); 307 // TODO - connect to local slot and parse output before emitting execOutput
287 if ( m_ipkgExecOptions & FORCE_OVERWRITE )
288 cmdLine.append( "-force-overwrite" );
289 if ( m_ipkgExecVerbosity == 3 )
290 cmdLine.append( "-verbose_wget" );
291
292 // TODO
293 // Handle make links
294 // Rules - If make links is switched on, create links to root
295 // if destDir is NOT /
296 /*
297 if ( m_ipkgExecOptions & MAKE_LINKS )
298 {
299 // If destDir == / turn off make links as package is being insalled
300 // to root already.
301 if ( destDir == "/" )
302 m_ipkgExecOptions ^= MAKE_LINKS;
303 }
304 */
305 } 308 }
306 309
307 QString cmd;
308 switch( command ) 310 switch( command )
309 { 311 {
310 case OPackage::Install: cmd = "install"; 312 case OPackage::Update : ipkg_lists_update( &m_ipkgArgs );
311 break;
312 case OPackage::Remove: cmd = "remove";
313 break; 313 break;
314 case OPackage::Update: cmd = "update"; 314 case OPackage::Upgrade : ipkg_packages_upgrade( &m_ipkgArgs );
315 break; 315 break;
316 case OPackage::Upgrade: cmd = "upgrade"; 316 case OPackage::Install : {
317 break; 317 for ( QStringList::Iterator it = parameters->begin(); it != parameters->end(); ++it )
318 case OPackage::Download: cmd = "download"; 318 {
319 break; 319 ipkg_packages_install( &m_ipkgArgs, (*it) );
320 case OPackage::Info: cmd = "info"; 320 }
321 };
321 break; 322 break;
322 case OPackage::Files: cmd = "files"; 323 case OPackage::Remove : {
324 for ( QStringList::Iterator it = parameters->begin(); it != parameters->end(); ++it )
325 {
326 ipkg_packages_remove( &m_ipkgArgs, (*it), true );
327 }
328 };
323 break; 329 break;
324 //case OPackage::Version: cmd = "" ); 330 //case OPackage::Download : ;
325 // break; 331 // break;
326 default: 332 default : break;
327 break;
328 }; 333 };
329 cmdLine.append( cmd );
330
331 // TODO
332 // If we are removing, reinstalling or upgrading packages and make links option is selected
333 // create the links
334/*
335 if ( command == Remove || command == Upgrade )
336 {
337 createLinks = false;
338 if ( flags & MAKE_LINKS )
339 {
340 emit outputText( tr( "Removing symbolic links...\n" ) );
341 linkPackage( Utils::getPackageNameFromIpkFilename( package ), destination, destDir );
342 emit outputText( QString( " " ) );
343 }
344 }
345*/
346 // Append package list (if any) to end of command line
347 if ( parameters && !parameters->isEmpty() )
348 {
349 for ( QStringList::Iterator it = parameters->begin(); it != parameters->end(); ++it )
350 {
351 cmdLine.append( *it );
352 }
353 }
354
355 // Create OProcess
356 if ( m_ipkgProcess )
357 delete m_ipkgProcess;
358 m_ipkgProcess = new OProcess( cmdLine, this );
359
360 // Connect signals (if any)
361 if ( receiver )
362 {
363 if ( rawOutput )
364 {
365 if ( slotOutput )
366 connect( m_ipkgProcess, SIGNAL(receivedStdout(OProcess*,char*,int)), receiver, slotOutput );
367 if ( slotErrors )
368 connect( m_ipkgProcess, SIGNAL(receivedStderr(OProcess*,char*,int)), receiver, slotErrors );
369 if ( slotFinished )
370 connect( m_ipkgProcess, SIGNAL(processExited(OProcess*)), receiver, slotFinished );
371 }
372 else // !rawOutput
373 {
374 // TODO - how should it handle partial lines? (i.e. "Installing opi", "e-aqpkg...")
375 }
376 }
377 334
378 // Run process 335 return true;
379printf( "Running: \'%s\'\n", cmdLine.join( " " ).latin1() );
380 return m_ipkgProcess->start( OProcess::NotifyOnExit, OProcess::All );
381} 336}
382 337
383void OIpkg::abortCommand() 338void OIpkg::ipkgOutput( char *msg )
384{ 339{
385 if ( m_ipkgProcess ) 340 emit execOutput( msg );
386 delete m_ipkgProcess;
387} 341}
388 342
389void OIpkg::loadConfiguration() 343void OIpkg::loadConfiguration()
diff --git a/noncore/settings/packagemanager/oipkg.h b/noncore/settings/packagemanager/oipkg.h
index 4065f48..824fa17 100644
--- a/noncore/settings/packagemanager/oipkg.h
+++ b/noncore/settings/packagemanager/oipkg.h
@@ -32,6 +32,10 @@
32#ifndef OIPKG_H 32#ifndef OIPKG_H
33#define OIPKG_H 33#define OIPKG_H
34 34
35extern "C" {
36#include <libipkg.h>
37};
38
35#include <qobject.h> 39#include <qobject.h>
36 40
37#include <qpe/config.h> 41#include <qpe/config.h>
@@ -46,7 +50,6 @@
46#define FORCE_OVERWRITE 0x0008 50#define FORCE_OVERWRITE 0x0008
47 51
48class OConfItemList; 52class OConfItemList;
49class OProcess;
50 53
51class OIpkg : public QObject 54class OIpkg : public QObject
52{ 55{
@@ -76,25 +79,23 @@ public:
76 79
77 bool executeCommand( OPackage::Command command = OPackage::NotDefined, QStringList *parameters = 0x0, 80 bool executeCommand( OPackage::Command command = OPackage::NotDefined, QStringList *parameters = 0x0,
78 const QString &destination = QString::null, const QObject *receiver = 0x0, 81 const QString &destination = QString::null, const QObject *receiver = 0x0,
79 const char *slotOutput = 0x0, const char *slotErrors = 0x0, 82 const char *slotOutput = 0x0, bool rawOutput = true );
80 const char *slotFinished = 0x0, bool rawOutput = true );
81 void abortCommand(); 83 void abortCommand();
82 84
85 void ipkgOutput( char *msg );
86
83private: 87private:
84 Config *m_config; // Pointer to application configuration file 88 Config *m_config; // Pointer to application configuration file
85 QString m_ipkgExec; // Fully qualified path/filename of ipkg binary 89 args_t m_ipkgArgs; // libipkg configuration arguments
86 OConfItemList *m_confInfo; // Contains info from all Ipkg configuration files 90 OConfItemList *m_confInfo; // Contains info from all Ipkg configuration files
87 int m_ipkgExecOptions; // Bit-mapped flags for Ipkg execution options 91 int m_ipkgExecOptions; // Bit-mapped flags for Ipkg execution options
88 int m_ipkgExecVerbosity; // Ipkg execution verbosity level 92 int m_ipkgExecVerbosity; // Ipkg execution verbosity level
89 OProcess *m_ipkgProcess; // Pointer to process which Ipkg will run in
90 93
91 void loadConfiguration(); 94 void loadConfiguration();
92 OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined ); 95 OConfItemList *filterConfItems( OConfItem::Type typefilter = OConfItem::NotDefined );
93 96
94signals: 97signals:
95 void execOutput( OProcess *process, char *buffer, int length ); 98 void execOutput( char *msg );
96 void execErrors( OProcess *process, char *buffer, int length );
97 void execFinished( OProcess *process, char *buffer, int length );
98}; 99};
99 100
100#endif 101#endif
diff --git a/noncore/settings/packagemanager/opackagemanager.cpp b/noncore/settings/packagemanager/opackagemanager.cpp
index 6bef918..e1c8a21 100644
--- a/noncore/settings/packagemanager/opackagemanager.cpp
+++ b/noncore/settings/packagemanager/opackagemanager.cpp
@@ -317,14 +317,7 @@ void OPackageManager::saveSettings()
317 317
318bool OPackageManager::executeCommand( OPackage::Command command, QStringList *packages, 318bool OPackageManager::executeCommand( OPackage::Command command, QStringList *packages,
319 const QString &destination, const QObject *receiver, 319 const QString &destination, const QObject *receiver,
320 const char *slotOutput, const char *slotErrors, 320 const char *slotOutput, bool rawOutput )
321 const char *slotFinished, bool rawOutput )
322{ 321{
323 return m_ipkg.executeCommand( command, packages, destination, receiver, slotOutput, slotErrors, 322 return m_ipkg.executeCommand( command, packages, destination, receiver, slotOutput, rawOutput );
324 slotFinished, rawOutput );
325}
326
327void OPackageManager::abortCommand()
328{
329 m_ipkg.abortCommand();
330} 323}
diff --git a/noncore/settings/packagemanager/opackagemanager.h b/noncore/settings/packagemanager/opackagemanager.h
index 5e1a30a..871af0c 100644
--- a/noncore/settings/packagemanager/opackagemanager.h
+++ b/noncore/settings/packagemanager/opackagemanager.h
@@ -72,9 +72,7 @@ public:
72 72
73 bool executeCommand( OPackage::Command command = OPackage::NotDefined, QStringList *parameters = 0x0, 73 bool executeCommand( OPackage::Command command = OPackage::NotDefined, QStringList *parameters = 0x0,
74 const QString &destination = QString::null, const QObject *receiver = 0x0, 74 const QString &destination = QString::null, const QObject *receiver = 0x0,
75 const char *slotOutput = 0x0, const char *slotErrors = 0x0, 75 const char *slotOutput = 0x0, bool rawOutput = true );
76 const char *slotFinished = 0x0, bool rawOutput = true );
77 void abortCommand();
78 76
79private: 77private:
80 Config *m_config; // Pointer to application configuration file 78 Config *m_config; // Pointer to application configuration file
diff --git a/noncore/settings/packagemanager/opie-packagemanager.control b/noncore/settings/packagemanager/opie-packagemanager.control
index db06761..095e3be 100644
--- a/noncore/settings/packagemanager/opie-packagemanager.control
+++ b/noncore/settings/packagemanager/opie-packagemanager.control
@@ -7,4 +7,4 @@ Replaces: packagemanager
7Architecture: arm 7Architecture: arm
8Maintainer: Dan Williams (drw@handhelds.org) 8Maintainer: Dan Williams (drw@handhelds.org)
9Description: Opie package management client 9Description: Opie package management client
10Version: 0.1.0 10Version: 0.2.0
diff --git a/noncore/settings/packagemanager/packagemanager.pro b/noncore/settings/packagemanager/packagemanager.pro
index 9aa3dc6..55af13e 100644
--- a/noncore/settings/packagemanager/packagemanager.pro
+++ b/noncore/settings/packagemanager/packagemanager.pro
@@ -1,4 +1,7 @@
1CONFIG = qt warn_on release quick-app 1CONFIG = qt warn_on release quick-app
2//TEMPLATE = app
3//CONFIG += qte warn_on debug
4//DESTDIR = $(OPIEDIR)/bin
2 5
3SOURCES = opackage.cpp \ 6SOURCES = opackage.cpp \
4 oconfitem.cpp \ 7 oconfitem.cpp \
@@ -22,10 +25,12 @@ HEADERS = opackage.h \
22 filterdlg.h \ 25 filterdlg.h \
23 promptdlg.h 26 promptdlg.h
24 27
28DEFINES += IPKG_LIB
29DEFINES += HAVE_MKDTEMP
25TARGET = packagemanager 30TARGET = packagemanager
26INCLUDEPATH += $(OPIEDIR)/include 31INCLUDEPATH += $(OPIEDIR)/include $(IPKGDIR)
27DEPENDPATH += $(OPIEDIR)/include 32DEPENDPATH += $(OPIEDIR)/include
28LIBS += -lqpe -lopie 33LIBS += -lqpe -lopie -lipkg
29 34
30include ( $(OPIEDIR)/include.pro ) 35include ( $(OPIEDIR)/include.pro )
31 36