summaryrefslogtreecommitdiffstats
path: root/libopkg/opkg_remove.c
Commit message (Collapse)AuthorAgeFilesLines
* opkg_remove: Differentiate between dirs and symlinks to dirsPaul Barker2014-03-181-1/+1
| | | | | | | Calling rmdir() on a symlink to a directory won't work so check whether something is a symlink before adding to to the list of installed dirs. Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* Fix a possible double-free of pkg vectors in opkg_remove_dependent_pkgs(), ↵google@wwsnet.net2011-10-141-3/+1
| | | | | | remove the inner free as it another free occurs anyway immediately after leaving the loop git-svn-id: http://opkg.googlecode.com/svn/trunk@630 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix issue-79: Opkg can remove a package even if another still depends on it.pixdamix@gmail.com2011-07-131-1/+1
| | | | | | | | - The problematic case is described by tests/regress/issue79.py Signed-off-by: Camille Moncelier <moncelier@devlife.org> git-svn-id: http://opkg.googlecode.com/svn/trunk@625 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Abort package removal if the prerm script of a package returns non zero.graham.gower@gmail.com2010-11-231-8/+22
| | | | | | | | | This can be overridden with --force-remove. Also, improve propagation of errors up the call stack for related errors. From Sergey 'Jin' Bostandzhyan. git-svn-id: http://opkg.googlecode.com/svn/trunk@587 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix formatting issues found with the last commit.graham.gower@gmail.com2010-11-191-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@585 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Ensure Pre-Depended and Recommended packages can be autoremoved.graham.gower2010-08-181-1/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@555 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove trailing whitespace. Sorry if this breaks your patches.graham.gower2010-08-171-12/+12
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@552 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix --force-reinstall by removing special case code. Just remove the pkg first.graham.gower2010-06-211-0/+1
| | | | | | This should fix Issue #51. git-svn-id: http://opkg.googlecode.com/svn/trunk@538 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Check that a file belongs to the package before removing itgraham.gower2010-06-071-0/+5
| | | | | | Fixes the test case in Issue #50. git-svn-id: http://opkg.googlecode.com/svn/trunk@531 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Initial stab at untangling the #include maze. Probably needs a second pass.graham.gower2009-12-201-4/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@504 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Merge commit 'grg' into HEADgraham.gower2009-12-081-52/+52
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@471 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove enum opkg_error.graham.gower2009-11-261-2/+2
| | | | | | | | The return codes aren't particularly useful and trying to have a useful one for every error scenario would be like extending errno. Good error messages via opkg_message() are far more appropriate. git-svn-id: http://opkg.googlecode.com/svn/trunk@395 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Provide error checking for users of pkg_extract_* functions.graham.gower2009-11-261-1/+7
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@391 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove str_util.{c,h}graham.gower2009-11-251-1/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@383 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Plug leaks found when using --force-removal-of-dependent-packages.graham.gower2009-11-251-3/+5
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@374 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Various cleanups in opkg_remove.{c,h}graham.gower2009-11-251-77/+43
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@373 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Remove the purge command. Undocumented and only duplicates remove functionality.graham.gower2009-11-231-6/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@360 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Iterate the whole depends array, in the unlikely event that pre_depends_count!=0graham.gower2009-11-191-1/+6
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@343 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Clean up pkg_remove_orphan_dependent() and remove_autoinstalled().graham.gower2009-11-191-50/+50
| | | | | | | | This is motivated by a desire to remove usage of depends_str, but fixes real problems with these functions as a side effect. pkg_remove_orphan_dependent() works as advertised now. git-svn-id: http://opkg.googlecode.com/svn/trunk@341 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Plug a leak.graham.gower2009-11-191-0/+2
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@339 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Fix pkg_get_installed_files() to work with an offline_root + dest.graham.gower2009-11-161-3/+4
| | | | 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
* Remove opkg_internal_use_only and fix associated assumptions RE pkg->provides.graham.gower2009-11-101-2/+2
| | | | | | | | | | | | | | | 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
* s/malloc/xmalloc/ s/calloc/xcalloc/ s/realloc/realloc/graham.gower2009-11-041-13/+4
| | | | | | | 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
* Remove unused opkg_set_current_state bits.graham.gower2009-11-031-1/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@252 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* Free memory if we fail to remove a package due to it having dependents.graham.gower2009-11-011-0/+1
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@237 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* reduce a big memory leakticktock352009-03-261-1/+1
| | | | | | connecting deb_extract Null pointers git-svn-id: http://opkg.googlecode.com/svn/trunk@206 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* using list_head to handle the listticktock352008-12-181-9/+10
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@185 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: adding the hash_table_remove API, not using yet.ticktock352008-12-151-2/+2
| | | | | | | | | | 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: fix some memory leak and double free issues.ticktock352008-12-151-8/+16
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@139 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: (leak fixing, day 2) lots and lots of memory leaks fixedticktock352008-12-151-0/+2
| | | | 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/+3
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@65 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* libopkg: remove internal dependency on libopkg.h and opkg_cmd.hticktock352008-12-151-2/+0
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@64 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: remove some printfs and replace with opkg_message where appropriateticktock352008-12-151-4/+8
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@57 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: implement removal of auto-installed packagesticktock352008-12-141-3/+62
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@39 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: add autoremove command line optionticktock352008-12-141-1/+4
| | | | git-svn-id: http://opkg.googlecode.com/svn/trunk@37 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
* opkg: re-arrange source code into sub-directoriesticktock352008-12-141-0/+383
git-svn-id: http://opkg.googlecode.com/svn/trunk@33 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358