Diffstat (limited to 'noncore/unsupported/oipkg/package.cpp') (more/less context) (ignore 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 @@ | |||
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 | ||
16 | Package::Package( PackageManagerSettings *s ) | 16 | Package::Package( PackageManagerSettings *s ) |
17 | { | 17 | { |
18 | init(s); | 18 | init(s); |
19 | } | 19 | } |
20 | 20 | ||
21 | void Package::init( PackageManagerSettings *s ) | 21 | void 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 | ||
36 | Package::Package( QStringList pack, PackageManagerSettings *s ) | 37 | Package::Package( QStringList pack, PackageManagerSettings *s ) |
37 | { | 38 | { |
38 | init(s); | 39 | init(s); |
39 | parsePackage( pack ); | 40 | parsePackage( pack ); |
40 | } | 41 | } |
41 | 42 | ||
42 | Package::Package( QString n, PackageManagerSettings *s ) | 43 | Package::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 | ||
55 | Package::Package( Package *pi ) | 57 | Package::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 | ||
62 | void Package::setValue( QString n, QString t ) | 64 | void 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 | ||
116 | QString Package::name() | 118 | QString Package::name() |
117 | { | 119 | { |
118 | return _name; | 120 | return _name; |
119 | } | 121 | } |
120 | 122 | ||
123 | |||
124 | QString Package::installName() | ||
125 | { | ||
126 | if (_useFileName) return _fileName; | ||
127 | else return _name; | ||
128 | } | ||
129 | |||
121 | bool Package::installed() | 130 | bool Package::installed() |
122 | { | 131 | { |
123 | return _status.contains("installed"); | 132 | return _status.contains("installed"); |
124 | } | 133 | } |
125 | 134 | ||
126 | void Package::setDesc( QString s ) | 135 | void 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 | ||
132 | QString Package::desc() | 141 | QString Package::desc() |
133 | { | 142 | { |
134 | return _desc; | 143 | return _desc; |
135 | } | 144 | } |
136 | 145 | ||
137 | QString Package::shortDesc() | 146 | QString Package::shortDesc() |
138 | { | 147 | { |
139 | return _shortDesc; | 148 | return _shortDesc; |
140 | } | 149 | } |
141 | 150 | ||
142 | QString Package::size() | 151 | QString Package::size() |
143 | { | 152 | { |
144 | return _size; | 153 | return _size; |
@@ -310,29 +319,34 @@ bool Package::link() | |||
310 | void Package::setLink(bool b) | 319 | void Package::setLink(bool b) |
311 | { | 320 | { |
312 | _link = b; | 321 | _link = b; |
313 | } | 322 | } |
314 | 323 | ||
315 | void Package::parseIpkgFile( QString file) | 324 | void 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 | ||
334 | QString Package::getPackageName() | 343 | //QString Package::getPackageName() |
344 | //{ | ||
345 | //if ( _packageName.isEmpty() ) return _name; | ||
346 | //else return _packageName; | ||
347 | //} | ||
348 | |||
349 | void Package::instalFromFile(bool iff) | ||
335 | { | 350 | { |
336 | if ( _packageName.isEmpty() ) return _name; | 351 | _useFileName = iff; |
337 | else return _packageName; | ||
338 | } | 352 | } |