summaryrefslogtreecommitdiffstats
path: root/libopkg/pkg.c
Commit message (Collapse)AuthorAgeFilesLines
* Propagate errors upwards.graham.gower2009-11-251-1/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@379 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Various cleanups for pkg.{c,h}.graham.gower2009-11-241-246/+257
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@372 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Make a couple of functions static, and return void since they cannot fail.graham.gower2009-11-241-32/+20
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@368 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove remaining uses of pkg->*_str arrays and free() them after parsing.graham.gower2009-11-231-36/+27
| | | | | | Saves about 800kb in peak memory usage for my package list (6000 packages). git-svn-id: http://opkg.googlecode.com/svn/trunk@356 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* There should be a space before the bracket.graham.gower2009-11-231-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@354 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix pkg_depend_str() to not use pkg->depends_str.graham.gower2009-11-231-22/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@353 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Allow to install a package from a read-only dirpixdamix2009-11-231-2/+4
| | | | | | | | This patch allows to install a package which is located on a readonly filesystem or folder by moving the control file into the tmp_dir directory git-svn-id: http://opkg.googlecode.com/svn/trunk@351 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Change fdopen(fd, "rw+") to fdopen(fd, "r+").graham.gower2009-11-221-2/+2
| | | | | | | | It was pointed out by Basinilya in Issue 30 that the manual does not specify "rw+" (and this causes problems on Solaris). Since mkstemp should have already created the file, use "r+" for opening the fd in read/write mode. git-svn-id: http://opkg.googlecode.com/svn/trunk@345 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Make the Auto-Installed field useful.graham.gower2009-11-191-0/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@338 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Free some strings as soon as they are parsed to save memory.graham.gower2009-11-181-28/+38
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@337 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Assume a similar problem exists with this fdopen as fixed with r333.graham.gower2009-11-181-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@335 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix a bug introduced in r323.pixdamix2009-11-181-1/+1
| | | | | | fdopen(fd, "rw") can cause a bad file descriptor error. git-svn-id: http://opkg.googlecode.com/svn/trunk@333 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Put the tmp file under conf->tmp_dir.graham.gower2009-11-161-12/+35
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@324 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Use the filename arg as a base for the temp file. Clean up function while here.graham.gower2009-11-161-14/+36
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@323 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Use vfork()/execvp() instead of system().graham.gower2009-11-161-2/+4
| | | | | | Parts based on a patch by Mike Westerhof for OpenEmbedded. git-svn-id: http://opkg.googlecode.com/svn/trunk@320 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix pkg_get_installed_files() to work with an offline_root + dest.graham.gower2009-11-161-13/+17
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@318 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix leak in error path.graham.gower2009-11-151-0/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@302 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix parsing of Conffiles lines in status files.graham.gower2009-11-121-1/+1
| | | | | | | Also, add a leading space when writing out the status file such that the parser can recognise these lines as conf file lines. git-svn-id: http://opkg.googlecode.com/svn/trunk@287 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Cleanup version string handling.graham.gower2009-11-121-24/+19
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@286 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Cleanup parsing of packages.graham.gower2009-11-101-38/+16
| | | | | | | | | | This diff is loosely based on a patch by Jo-Philipp Wich <google@wwsnet.net> posted in the bugtracker (Issue #24). Peak memory consumption while parsing package lists is dramatically reduced. Thanks to Camille Moncelier for fixing problems after reallocing for long lines. git-svn-id: http://opkg.googlecode.com/svn/trunk@283 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove opkg_internal_use_only and fix associated assumptions RE pkg->provides.graham.gower2009-11-101-19/+8
| | | | | | | | | | | | | | | It appears that the opkg_internal_use_only provides string was introduced to bandaid over problems with assuming that the pkg->provides, pkg->provides_str and pkg->provides_count are all the same length. As each pkg provides itself, the pkg->provides array was one longer than the str and count fields. Most of the uses of pkg->provides did not take this into account. This behaviour has been changed. pkg->provides is now pkg->provides_count long and it is pkg->provides_str which is shorter by one. Associated dead code has also been removed. git-svn-id: http://opkg.googlecode.com/svn/trunk@277 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove the assumption that pkg fields have been allocated and need free()ing.graham.gower2009-11-101-101/+139
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@276 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* More dead code removal.graham.gower2009-11-051-5/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@271 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Removed a bunch of if(0) and dead codepixdamix2009-11-051-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Applied this semantic patch: @@ statement S; @@ - if(0) S @@ @@ - remove_obsolete_maintainer_scripts(...) { - ... -} @@ @@ - remove_obsolete_maintainer_scripts(...); @@ identifier i; @@ -if(i){ -} git-svn-id: http://opkg.googlecode.com/svn/trunk@262 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* s/malloc/xmalloc/ s/calloc/xcalloc/ s/realloc/realloc/graham.gower2009-11-041-11/+3
| | | | | | | And redundant error checking removed from the places where allocation failures were actually checked. git-svn-id: http://opkg.googlecode.com/svn/trunk@259 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Don't set PATH="/dev/null". Shuffle things around while here.graham.gower2009-11-041-31/+27
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@258 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* s/strdup/xstrdup/ - check memory allocations for failure.graham.gower2009-11-031-8/+8
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@255 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove str_dup_safe() in favour of xstrdup() from libbb.graham.gower2009-11-031-13/+14
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@253 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Stop my eyes from bleeding.graham.gower2009-11-021-487/+108
| | | | | | | Testing shows that the info and status commands give the same output as before. If you find a case where they differ, please let me know. git-svn-id: http://opkg.googlecode.com/svn/trunk@245 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Free memory used when parsing a control file.graham.gower2009-11-011-2/+8
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@234 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Add sha256 ckecksums to okpgticktock352009-10-271-1/+25
| | | | | | | | | | | | | | | | Thanks to Camille Moncelier <moncelier@devlife.org> http://groups.google.com/group/opkg-devel/browse_thread/thread/78a2eb328da0ef73?utoken=pV1Kli0AAADKDldt5ZXsDDLs9sWCpWZI0mClVcTs45ANzZ7C9NH-1YGBxa5Bow63PTuzFmQCb1c Here is a patch which adds sha256 checksum checking to Opkg. More Opkg patches will follow shortly (x509 and smime signature support, libcurl client/server authentication) I hope these patch will be useful and finds their ways into okpg Camille Moncelier http://devlife.org/ git-svn-id: http://opkg.googlecode.com/svn/trunk@220 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* reduce a big memory leakticktock352009-03-261-1/+2
| | | | | | connecting deb_extract Null pointers git-svn-id: http://opkg.googlecode.com/svn/trunk@206 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* because of the file_hash_set_file_owner may break the file list of pkgsticktock352009-03-091-2/+4
| | | | | | | | | 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
* reduce a meory leakticktock352009-02-031-2/+5
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@200 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* fix a buffer overflow bug that causeticktock352009-01-191-3/+30
| | | | | | http://code.google.com/p/opkg/issues/detail?id=3 git-svn-id: http://opkg.googlecode.com/svn/trunk@197 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* using list_head to handle the listticktock352008-12-181-34/+20
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* move pkg_compare_name to pkg_vec and remove qsort in hash_getticktock352008-12-161-2/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@183 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* introduce the active_list for searching.ticktock352008-12-161-2/+2
| | | | | | | introduce the active_list_sort git-svn-id: http://opkg.googlecode.com/svn/trunk@181 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: introduce active list into pkg_tticktock352008-12-151-2/+4
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@173 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: adding the hash_table_remove API, not using yet.ticktock352008-12-151-6/+6
| | | | | | | | | | 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: mark the pkg SF as !SF_FILELIST_CHANGED after write back.ticktock352008-12-151-0/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@158 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: trivial, clean up obsolete code, and some typoticktock352008-12-151-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@157 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: add a simple way to pass a path environment for pre/post scription ↵ticktock352008-12-151-1/+18
| | | | | | | | | | execution when in offline mode. Thanks for Christopher Hall <hsw@openmoko.com> git-svn-id: http://opkg.googlecode.com/svn/trunk@155 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* [opkg] fixing typo & incompatible part to gcc 4.3.2ticktock352008-12-151-1/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@150 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: fix the crashing issue.ticktock352008-12-151-2/+1
| | | | | | | | | It's a hanging pointer. Using installed_files without get and free git-svn-id: http://opkg.googlecode.com/svn/trunk@144 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: mark one line that cause crash.ticktock352008-12-151-1/+2
| | | | | | | | But it will makes the system failed in reference count. git-svn-id: http://opkg.googlecode.com/svn/trunk@143 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/+1
| | | | | | | | reducing some memory leaks git-svn-id: http://opkg.googlecode.com/svn/trunk@140 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: consolidate error enums and add an error for when no package matchesticktock352008-12-151-1/+1
| | | | | | | | current architecture git-svn-id: http://opkg.googlecode.com/svn/trunk@128 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: remove redundant multiple_providers option and also remove redundant ↵ticktock352008-12-151-3/+1
| | | | | | familiar_revision pointer from the pkg struct git-svn-id: http://opkg.googlecode.com/svn/trunk@118 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358