Diffstat (limited to 'noncore/unsupported/oipkg/package.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/oipkg/package.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/noncore/unsupported/oipkg/package.cpp b/noncore/unsupported/oipkg/package.cpp index 0499e19..6bb53a9 100644 --- a/noncore/unsupported/oipkg/package.cpp +++ b/noncore/unsupported/oipkg/package.cpp @@ -7,138 +7,147 @@ #include <stdlib.h> #include <unistd.h> #include "debug.h" //Package::~Package() //{ //} Package::Package( PackageManagerSettings *s ) { init(s); } void Package::init( PackageManagerSettings *s ) { settings = s; _size = ""; _section = ""; _subsection = ""; _shortDesc = ""; _desc = ""; _name = ""; _toProcess = false; + _useFileName = false; _status = ""; _dest = settings->getDestinationName(); _link = settings->createLinks(); } Package::Package( QStringList pack, PackageManagerSettings *s ) { init(s); parsePackage( pack ); } Package::Package( QString n, PackageManagerSettings *s ) { init(s); if ( !QFile::exists( n ) ) { _name = QString( n ); }else{ parseIpkgFile( n ); _toProcess = true; - _packageName = QString( n ); + _useFileName = true; + _fileName = QString( n ); } } Package::Package( Package *pi ) { init(pi->settings); copyValues( pi ); } void Package::setValue( QString n, QString t ) { if ( n == "Package" ) { _name = QString( t ); }else if ( n == "Installed-Size" ) { _size = t; }else if ( n == "Priority") { }else if ( n == "Section") { setSection( t ); }else if ( n == "Maintainer") { }else if ( n == "Architecture") { }else if ( n == "Version") { }else if ( n == "Pre-Depends") { }else if ( n == "Depends") { }else if ( n == "Filename") { - + _fileName = t; }else if ( n == "Size") { }else if ( n == "MD5Sum") { } if ( n == "Description") { setDesc( t ); } if ( n == "Status") { if ( installed() ) return; _status = t; } if ( t == "Essential") { } }; QString Package::name() { return _name; } + +QString Package::installName() +{ + if (_useFileName) return _fileName; + else return _name; +} + bool Package::installed() { return _status.contains("installed"); } void Package::setDesc( QString s ) { _desc = s; _shortDesc = s.left( s.find("\n") ); } QString Package::desc() { return _desc; } QString Package::shortDesc() { return _shortDesc; } QString Package::size() { return _size; @@ -310,29 +319,34 @@ bool Package::link() void Package::setLink(bool b) { _link = b; } void Package::parseIpkgFile( QString file) { system("tar xzf "+file+" -C /tmp"); system("tar xzf /tmp/control.tar.gz -C /tmp"); QFile f("/tmp/control"); if ( f.open(IO_ReadOnly) ) { QTextStream t( &f ); QStringList pack; while ( !t.eof() ) { pack << t.readLine(); } f.close(); parsePackage( pack ); } } -QString Package::getPackageName() +//QString Package::getPackageName() +//{ +// if ( _packageName.isEmpty() ) return _name; +// else return _packageName; +//} + +void Package::instalFromFile(bool iff) { - if ( _packageName.isEmpty() ) return _name; - else return _packageName; + _useFileName = iff; } |