-rw-r--r-- | noncore/settings/aqpkg/datamgr.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/noncore/settings/aqpkg/datamgr.cpp b/noncore/settings/aqpkg/datamgr.cpp index 7f724af..b9ce227 100644 --- a/noncore/settings/aqpkg/datamgr.cpp +++ b/noncore/settings/aqpkg/datamgr.cpp | |||
@@ -90,75 +90,80 @@ void DataManager :: loadServers() | |||
90 | { | 90 | { |
91 | char alias[20]; | 91 | char alias[20]; |
92 | char url[100]; | 92 | char url[100]; |
93 | sscanf( lineStr, "%*[^ ] %s %s", alias, url ); | 93 | sscanf( lineStr, "%*[^ ] %s %s", alias, url ); |
94 | Server s( alias, url ); | 94 | Server s( alias, url ); |
95 | serverList.push_back( s ); | 95 | serverList.push_back( s ); |
96 | 96 | ||
97 | if ( lineStr.startsWith( "src" ) ) | 97 | if ( lineStr.startsWith( "src" ) ) |
98 | setActiveServer( alias ); | 98 | setActiveServer( alias ); |
99 | } | 99 | } |
100 | else if ( lineStr.startsWith( "dest" ) ) | 100 | else if ( lineStr.startsWith( "dest" ) ) |
101 | { | 101 | { |
102 | char alias[20]; | 102 | char alias[20]; |
103 | char path[50]; | 103 | char path[50]; |
104 | sscanf( lineStr, "%*[^ ] %s %s", alias, path ); | 104 | sscanf( lineStr, "%*[^ ] %s %s", alias, path ); |
105 | Destination d( alias, path ); | 105 | Destination d( alias, path ); |
106 | destList.push_back( d ); | 106 | destList.push_back( d ); |
107 | } | 107 | } |
108 | } | 108 | } |
109 | } | 109 | } |
110 | fclose( fp ); | 110 | fclose( fp ); |
111 | 111 | ||
112 | // Go through the server destination list and add root, cf and card if they | 112 | // Go through the server destination list and add root, cf and card if they |
113 | // don't already exist | 113 | // don't already exist |
114 | /* AQ - commented out as if you don't have a CF or SD card in then | ||
115 | * this causes IPKG to try to create directories on non existant devices | ||
116 | * (which of course fails), gives a nasty error message and can cause ipkg | ||
117 | * to seg fault. | ||
118 | * | ||
114 | vector<Destination>::iterator dit; | 119 | vector<Destination>::iterator dit; |
115 | bool foundRoot = false; | 120 | bool foundRoot = false; |
116 | bool foundCF = false; | 121 | bool foundCF = false; |
117 | bool foundCard = false; | 122 | bool foundCard = false; |
118 | for ( dit = destList.begin() ; dit != destList.end() ; ++dit ) | 123 | for ( dit = destList.begin() ; dit != destList.end() ; ++dit ) |
119 | { | 124 | { |
120 | if ( dit->getDestinationPath() == "/" ) | 125 | if ( dit->getDestinationPath() == "/" ) |
121 | foundRoot = true; | 126 | foundRoot = true; |
122 | if ( dit->getDestinationPath() == "/mnt/cf" ) | 127 | if ( dit->getDestinationPath() == "/mnt/cf" ) |
123 | foundCF = true; | 128 | foundCF = true; |
124 | if ( dit->getDestinationPath() == "/mnt/card" ) | 129 | if ( dit->getDestinationPath() == "/mnt/card" ) |
125 | foundCard = true; | 130 | foundCard = true; |
126 | } | 131 | } |
127 | 132 | ||
128 | // If running on a Zaurus (arm) then if we didn't find root, CF or card | 133 | // If running on a Zaurus (arm) then if we didn't find root, CF or card |
129 | // destinations, add them as default | 134 | // destinations, add them as default |
130 | #ifdef QWS | 135 | #ifdef QWS |
131 | #ifndef X86 | 136 | #ifndef X86 |
132 | if ( !foundRoot ) | 137 | if ( !foundRoot ) |
133 | destList.push_back( Destination( "root", "/" ) ); | 138 | destList.push_back( Destination( "root", "/" ) ); |
134 | if ( !foundCF ) | 139 | if ( !foundCF ) |
135 | destList.push_back( Destination( "cf", "/mnt/cf" ) ); | 140 | destList.push_back( Destination( "cf", "/mnt/cf" ) ); |
136 | if ( !foundCF ) | 141 | if ( !foundCF ) |
137 | destList.push_back( Destination( "card", "/mnt/card" ) ); | 142 | destList.push_back( Destination( "card", "/mnt/card" ) ); |
138 | #endif | 143 | #endif |
139 | #endif | 144 | #endif |
140 | 145 | */ | |
141 | vector<Server>::iterator it; | 146 | vector<Server>::iterator it; |
142 | for ( it = serverList.begin() ; it != serverList.end() ; ++it ) | 147 | for ( it = serverList.begin() ; it != serverList.end() ; ++it ) |
143 | reloadServerData( it->getServerName() ); | 148 | reloadServerData( it->getServerName() ); |
144 | } | 149 | } |
145 | 150 | ||
146 | void DataManager :: reloadServerData( const char *serverName ) | 151 | void DataManager :: reloadServerData( const char *serverName ) |
147 | { | 152 | { |
148 | Server *s = getServer( serverName ); | 153 | Server *s = getServer( serverName ); |
149 | // Now we've read the config file in we need to read the servers | 154 | // Now we've read the config file in we need to read the servers |
150 | // The local server is a special case. This holds the contents of the | 155 | // The local server is a special case. This holds the contents of the |
151 | // status files the number of which depends on how many destinations | 156 | // status files the number of which depends on how many destinations |
152 | // we've set up | 157 | // we've set up |
153 | // The other servers files hold the contents of the server package list | 158 | // The other servers files hold the contents of the server package list |
154 | if ( s->getServerName() == LOCAL_SERVER ) | 159 | if ( s->getServerName() == LOCAL_SERVER ) |
155 | s->readStatusFile( destList ); | 160 | s->readStatusFile( destList ); |
156 | else if ( s->getServerName() == LOCAL_IPKGS ) | 161 | else if ( s->getServerName() == LOCAL_IPKGS ) |
157 | s->readLocalIpks( getServer( LOCAL_SERVER ) ); | 162 | s->readLocalIpks( getServer( LOCAL_SERVER ) ); |
158 | else | 163 | else |
159 | s->readPackageFile( getServer( LOCAL_SERVER ) ); | 164 | s->readPackageFile( getServer( LOCAL_SERVER ) ); |
160 | 165 | ||
161 | } | 166 | } |
162 | 167 | ||
163 | void DataManager :: writeOutIpkgConf() | 168 | void DataManager :: writeOutIpkgConf() |
164 | { | 169 | { |