summaryrefslogtreecommitdiffstats
path: root/libopkg
Commit message (Collapse)AuthorAgeFilesLines
* Simplify hash_table somewhat.graham.gower2009-11-183-68/+69
| | | | | | | | | - Use djb2 hash http://www.cse.yorku.ca/~oz/hash.html Performs similarly to the existing function, but removes the need for a prime number of buckets. Doesn't need to do an strlen every insert either. - Add some more heuristics. Collected in realtime (cheap), no postprocessing. git-svn-id: http://opkg.googlecode.com/svn/trunk@336 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
* I'm sure that should have been buf0len.graham.gower2009-11-181-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@334 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
* Fix segfault while attempting to parse invalid package stream.graham.gower2009-11-171-4/+7
| | | | | | Reported by John L. Chmielewski. git-svn-id: http://opkg.googlecode.com/svn/trunk@331 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Avoid some warn_unused_result warningpixdamix2009-11-171-1/+6
| | | | | | | lockf maybe defined with warn_unused_result. Check the return value to disable the warning (And add an error message by the way) git-svn-id: http://opkg.googlecode.com/svn/trunk@330 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix output of whatdepends, whatsuggests and whatrecommends commands.graham.gower2009-11-171-14/+15
| | | | | | Resolves Issue 23. git-svn-id: http://opkg.googlecode.com/svn/trunk@329 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix depended_upon_by to only contain pre_depends and depends.graham.gower2009-11-171-9/+14
| | | | | | Partially fixes Issue 23. Allows removal of suggested/recommended packages. git-svn-id: http://opkg.googlecode.com/svn/trunk@328 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix depends output.graham.gower2009-11-171-5/+5
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@327 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
* Remove unused function.graham.gower2009-11-162-62/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@322 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Use the same tmp dir pattern as in opkg_update_cmd().graham.gower2009-11-161-4/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@321 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Use vfork()/execvp() instead of system().graham.gower2009-11-167-49/+59
| | | | | | 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
* Pass the correct file to diff when using an offline_root.graham.gower2009-11-161-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@319 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix pkg_get_installed_files() to work with an offline_root + dest.graham.gower2009-11-166-26/+31
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@318 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Pass the correct file_name to pkg_get_conffile().graham.gower2009-11-151-1/+5
| | | | | | | This should prevent modified conf files from being deleted for offline roots and non root dests. git-svn-id: http://opkg.googlecode.com/svn/trunk@317 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Avoid printing an annoying message by default.graham.gower2009-11-151-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@316 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove redundant function.graham.gower2009-11-151-61/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@315 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* atexit() isn't really appropriate for a library.graham.gower2009-11-154-8/+10
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@313 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Raise the required verbosity level for this message.graham.gower2009-11-151-2/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@312 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Add a function for recursive directory removal and use that instead of xsystem.graham.gower2009-11-154-11/+84
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@311 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix a subtle leak.graham.gower2009-11-151-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@309 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
* Write out status files for the correct pkg->dest, instead of the default.graham.gower2009-11-142-11/+19
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@301 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix the case where -o is used, but no conf file is passed.graham.gower2009-11-131-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@300 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove unused variable.graham.gower2009-11-132-8/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@299 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove local variable which was masking a static one.graham.gower2009-11-121-1/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@298 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Free the lock, close the file descriptor.graham.gower2009-11-121-0/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@297 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove status_file_tmp_name. This code does not improve robustness.graham.gower2009-11-123-27/+8
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@296 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Make opkg_conf_parse_file() return -1 for error, as expected where it is called.graham.gower2009-11-121-5/+6
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@295 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Some cleanup of opkg_conf_init/opkg_conf_deinit.graham.gower2009-11-122-114/+97
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@294 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Compare verbosity to a message_level_t.graham.gower2009-11-122-7/+5
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@293 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix copy/pasto in error message.graham.gower2009-11-121-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@292 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Of course, that should be !isatty().graham.gower2009-11-121-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@291 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Don't prompt for user input from stdin if it's not a tty.graham.gower2009-11-122-3/+8
| | | | | | Based off a patch by Chris Larson <clarson@mvista.com> for OpenEmbedded. git-svn-id: http://opkg.googlecode.com/svn/trunk@290 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Cleanup the rest of pkg_parse.c. Give some functions more appropriate names too.graham.gower2009-11-126-163/+172
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@289 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Don't clobber errno, so that we can provide a useful error message.graham.gower2009-11-121-2/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@288 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix parsing of Conffiles lines in status files.graham.gower2009-11-122-18/+10
| | | | | | | 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-122-69/+44
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@286 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix leak when downgrading a package.graham.gower2009-11-121-0/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@285 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove a debugging fprintf I accidentally left in.graham.gower2009-11-101-3/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@284 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Cleanup parsing of packages.graham.gower2009-11-106-284/+312
| | | | | | | | | | 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
* Dead code removal.graham.gower2009-11-101-24/+7
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@282 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Don't try to rerun control scripts, problems caused by circular dependencies.graham.gower2009-11-101-0/+3
| | | | | | | | Symptoms of this problem are seeing the following when installing a package: opkg: (null): Bad address opkg: (null): Bad address git-svn-id: http://opkg.googlecode.com/svn/trunk@281 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Update name in copyrights + minor changespixdamix2009-11-102-9/+5
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@279 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Cleanup trim_alloc().graham.gower2009-11-102-19/+10
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@278 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove opkg_internal_use_only and fix associated assumptions RE pkg->provides.graham.gower2009-11-105-139/+19
| | | | | | | | | | | | | | | 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
* Ensure that the hash_table messages show useful information.graham.gower2009-11-101-7/+7
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@275 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358