summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/package.cpp
Unidiff
Diffstat (limited to 'noncore/unsupported/oipkg/package.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/package.cpp24
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 @@
7#include <stdlib.h> 7#include <stdlib.h>
8#include <unistd.h> 8#include <unistd.h>
9 9
10#include "debug.h" 10#include "debug.h"
11 11
12//Package::~Package() 12//Package::~Package()
13//{ 13//{
14//} 14//}
15 15
16Package::Package( PackageManagerSettings *s ) 16Package::Package( PackageManagerSettings *s )
17{ 17{
18 init(s); 18 init(s);
19} 19}
20 20
21void Package::init( PackageManagerSettings *s ) 21void Package::init( PackageManagerSettings *s )
22{ 22{
23 settings = s; 23 settings = s;
24 _size = ""; 24 _size = "";
25 _section = ""; 25 _section = "";
26 _subsection = ""; 26 _subsection = "";
27 _shortDesc = ""; 27 _shortDesc = "";
28 _desc = ""; 28 _desc = "";
29 _name = ""; 29 _name = "";
30 _toProcess = false; 30 _toProcess = false;
31 _useFileName = false;
31 _status = ""; 32 _status = "";
32 _dest = settings->getDestinationName(); 33 _dest = settings->getDestinationName();
33 _link = settings->createLinks(); 34 _link = settings->createLinks();
34} 35}
35 36
36Package::Package( QStringList pack, PackageManagerSettings *s ) 37Package::Package( QStringList pack, PackageManagerSettings *s )
37 { 38 {
38 init(s); 39 init(s);
39 parsePackage( pack ); 40 parsePackage( pack );
40} 41}
41 42
42Package::Package( QString n, PackageManagerSettings *s ) 43Package::Package( QString n, PackageManagerSettings *s )
43 { 44 {
44 init(s); 45 init(s);
45 if ( !QFile::exists( n ) ) 46 if ( !QFile::exists( n ) )
46 { 47 {
47 _name = QString( n ); 48 _name = QString( n );
48 }else{ 49 }else{
49 parseIpkgFile( n ); 50 parseIpkgFile( n );
50 _toProcess = true; 51 _toProcess = true;
51 _packageName = QString( n ); 52 _useFileName = true;
53 _fileName = QString( n );
52 } 54 }
53} 55}
54 56
55Package::Package( Package *pi ) 57Package::Package( Package *pi )
56{ 58{
57 init(pi->settings); 59 init(pi->settings);
58 copyValues( pi ); 60 copyValues( pi );
59} 61}
60 62
61 63
62void Package::setValue( QString n, QString t ) 64void Package::setValue( QString n, QString t )
63{ 65{
64 if ( n == "Package" ) 66 if ( n == "Package" )
65 { 67 {
66 _name = QString( t ); 68 _name = QString( t );
67 }else if ( n == "Installed-Size" ) 69 }else if ( n == "Installed-Size" )
68 { 70 {
69 _size = t; 71 _size = t;
70 }else if ( n == "Priority") 72 }else if ( n == "Priority")
71 { 73 {
72 74
73 }else if ( n == "Section") 75 }else if ( n == "Section")
74 { 76 {
75 setSection( t ); 77 setSection( t );
76 }else if ( n == "Maintainer") 78 }else if ( n == "Maintainer")
77 { 79 {
78 80
79 }else if ( n == "Architecture") 81 }else if ( n == "Architecture")
80 { 82 {
81 83
82 }else if ( n == "Version") 84 }else if ( n == "Version")
83 { 85 {
84 86
85 }else if ( n == "Pre-Depends") 87 }else if ( n == "Pre-Depends")
86 { 88 {
87 89
88 }else if ( n == "Depends") 90 }else if ( n == "Depends")
89 { 91 {
90 92
91 }else if ( n == "Filename") 93 }else if ( n == "Filename")
92 { 94 {
93 95 _fileName = t;
94 }else if ( n == "Size") 96 }else if ( n == "Size")
95 { 97 {
96 98
97 }else if ( n == "MD5Sum") 99 }else if ( n == "MD5Sum")
98 { 100 {
99 101
100 } 102 }
101 if ( n == "Description") 103 if ( n == "Description")
102 { 104 {
103 setDesc( t ); 105 setDesc( t );
104 } 106 }
105 if ( n == "Status") 107 if ( n == "Status")
106 { 108 {
107 if ( installed() ) return; 109 if ( installed() ) return;
108 _status = t; 110 _status = t;
109 } 111 }
110 if ( t == "Essential") 112 if ( t == "Essential")
111 { 113 {
112 114
113 } 115 }
114}; 116};
115 117
116QString Package::name() 118QString Package::name()
117{ 119{
118 return _name; 120 return _name;
119} 121}
120 122
123
124QString Package::installName()
125{
126 if (_useFileName) return _fileName;
127 else return _name;
128}
129
121bool Package::installed() 130bool Package::installed()
122{ 131{
123 return _status.contains("installed"); 132 return _status.contains("installed");
124} 133}
125 134
126void Package::setDesc( QString s ) 135void Package::setDesc( QString s )
127{ 136{
128 _desc = s; 137 _desc = s;
129 _shortDesc = s.left( s.find("\n") ); 138 _shortDesc = s.left( s.find("\n") );
130} 139}
131 140
132QString Package::desc() 141QString Package::desc()
133{ 142{
134 return _desc; 143 return _desc;
135} 144}
136 145
137QString Package::shortDesc() 146QString Package::shortDesc()
138{ 147{
139 return _shortDesc; 148 return _shortDesc;
140} 149}
141 150
142QString Package::size() 151QString Package::size()
143{ 152{
144 return _size; 153 return _size;
@@ -310,29 +319,34 @@ bool Package::link()
310void Package::setLink(bool b) 319void Package::setLink(bool b)
311{ 320{
312 _link = b; 321 _link = b;
313} 322}
314 323
315void Package::parseIpkgFile( QString file) 324void Package::parseIpkgFile( QString file)
316{ 325{
317 system("tar xzf "+file+" -C /tmp"); 326 system("tar xzf "+file+" -C /tmp");
318 system("tar xzf /tmp/control.tar.gz -C /tmp"); 327 system("tar xzf /tmp/control.tar.gz -C /tmp");
319 QFile f("/tmp/control"); 328 QFile f("/tmp/control");
320 if ( f.open(IO_ReadOnly) ) 329 if ( f.open(IO_ReadOnly) )
321 { 330 {
322 QTextStream t( &f ); 331 QTextStream t( &f );
323 QStringList pack; 332 QStringList pack;
324 while ( !t.eof() ) 333 while ( !t.eof() )
325 { 334 {
326 pack << t.readLine(); 335 pack << t.readLine();
327 } 336 }
328 f.close(); 337 f.close();
329 parsePackage( pack ); 338 parsePackage( pack );
330 } 339 }
331 340
332} 341}
333 342
334QString Package::getPackageName() 343//QString Package::getPackageName()
344//{
345 //if ( _packageName.isEmpty() ) return _name;
346 //else return _packageName;
347//}
348
349void Package::instalFromFile(bool iff)
335{ 350{
336 if ( _packageName.isEmpty() ) return _name; 351 _useFileName = iff;
337 else return _packageName;
338} 352}