summaryrefslogtreecommitdiffstats
path: root/libopkg/opkg_install.c
Commit message (Collapse)AuthorAgeFilesLines
* because of the file_hash_set_file_owner may break the file list of pkgsticktock352009-03-091-8/+17
| | | | | | | | | it should be iterated more carefully. Dealing with http://code.google.com/p/opkg/issues/detail?id=9 git-svn-id: http://opkg.googlecode.com/svn/trunk@204 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* thanks to Koen, a memory leak were fond and fixed here.ticktock352009-02-281-2/+10
| | | | | | | When the flag is force-overwrite and replace files. opkg will not free the root_filename well. git-svn-id: http://opkg.googlecode.com/svn/trunk@202 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Initial the 'err' valaible in opkg_install_by_name , or it may be used withoutticktock352009-02-011-1/+1
| | | | | | initialize. git-svn-id: http://opkg.googlecode.com/svn/trunk@199 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* adding check_signature configticktock352008-12-281-1/+1
| | | | | | | | | default if off you can turn that on via adding one line in /etc/opkg/opkg.conf file + option check_signature 1 git-svn-id: http://opkg.googlecode.com/svn/trunk@193 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* using hash_table reduce an O(n^2) algorithm to O(n)ticktock352008-12-191-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in strcmp analysis from gcov: Before: 507: 1386: old_files = pkg_get_installed_files(old_pkg); 507: 1387: new_files = pkg_get_installed_files(pkg); -: 1388: 5466: 1389: for (of = str_list_first(old_files); of; of = str_list_next -: 1390: pkg_t *owner; -: 1391: char *old, *new; 4959: 1392: old = (char *)of->data; 2963021: 1393: for (nf = str_list_first(new_files); nf; nf = str_list 2961464: 1394: new = nf->data; 2961464: 1395: if (strcmp(old, new) == 0) { 3402: 1396: niter = &nf; 3402: 1397: nf=str_list_next(new_files, nf); 3402: 1398: str_list_remove(new_files, niter); 3402: 1399: free(new); 3402: 1400: goto NOT_OBSOLETE; -: 1401: } After: 507: 1393: new_files_table.entries = NULL; 507: 1394: hash_table_init("new_files" , &new_files_table, 20); 8897: 1395: for (nf = str_list_first(new_files); nf; nf = str_list_next 8390: 1396: if (nf && nf->data) 8390: 1397: hash_table_insert(&new_files_table, nf->data, nf->da -: 1398: } -: 1399: 5466: 1400: for (of = str_list_first(old_files); of; of = str_list_next -: 1401: pkg_t *owner; -: 1402: char *old, *new; 4959: 1403: old = (char *)of->data; 4959: 1404: new = (char *) hash_table_get (&new_files_table, old); 4959: 1405: if (new) 4894: 1406: continue; git-svn-id: http://opkg.googlecode.com/svn/trunk@186 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* using list_head to handle the listticktock352008-12-181-22/+27
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: trivial adding some commentsticktock352008-12-151-1/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@176 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: fixing some trivial defects while reviewing codeticktock352008-12-151-2/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@165 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: adding the hash_table_remove API, not using yet.ticktock352008-12-151-1/+1
| | | | | | | | | | Just complete the API for future usage. Clean all the entry at initial time. This reduces planty of unnecessary check. In order to prevent this kind of bug, using calloc to replace most malloc git-svn-id: http://opkg.googlecode.com/svn/trunk@160 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: trivial, clean up obsolete code, and some typoticktock352008-12-151-54/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@157 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* [opkg] Remove the orphan packages while upgradingticktock352008-12-151-0/+55
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@147 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* remove build error on gcc 3.4ticktock352008-12-151-0/+2
| | | | | | | | Thanks for jserv found and fix this. git-svn-id: http://opkg.googlecode.com/svn/trunk@145 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: make .opk as the default opkg file extensionticktock352008-12-151-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@141 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: balance the installed_files reference countticktock352008-12-151-0/+2
| | | | | | | | reducing some memory leaks git-svn-id: http://opkg.googlecode.com/svn/trunk@140 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: Don't attempt to check the validity of a repository if package did notticktock352008-12-151-14/+18
| | | | | | | | come from a known source git-svn-id: http://opkg.googlecode.com/svn/trunk@134 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: consolidate error enums and add an error for when no package matchesticktock352008-12-151-17/+20
| | | | | | | | current architecture git-svn-id: http://opkg.googlecode.com/svn/trunk@128 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: improve opkg_install error reporting and include a check to verify ↵ticktock352008-12-151-13/+34
| | | | | | repository signature during install git-svn-id: http://opkg.googlecode.com/svn/trunk@123 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: (leak fixing, day 2) lots and lots of memory leaks fixedticktock352008-12-151-1/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@115 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: 's/itsy/opkg/'ticktock352008-12-151-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@67 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: remove opkg.h in preperation for new APIticktock352008-12-151-1/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@65 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: remove unused CONFIG_OPKG_PROCESS_ACTIONS conditional codeticktock352008-12-151-248/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@50 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: output state change messages only at info verbosity levelticktock352008-12-141-2/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@47 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: re-arrange source code into sub-directoriesticktock352008-12-141-0/+1952
git-svn-id: http://opkg.googlecode.com/svn/trunk@33 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358