| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a problem with dependency order when installing packages. The key
problem revolves around the satisfy_dependencies_for() function which is
called from opkg_install_pkg just before the installation (and preinst)
happens.
The satisfy_dependencies_for() function calls pkg_hash_fetch_unsatisfied_dependencies()
which will only return packages which were previously not marked as
*going* to be installed at some point. For the purposes of
opkg_install_pkg() we really need to know which dependencies haven't been
installed yet.
This patch adds pkg_hash_fetch_satisfied_dependencies() which returns a
list of package dependencies. We can then directly check the status of
these and ensure any hard dependencies (not suggestions or recommendations)
are installed before returning.
Consider the situation (where -> means 'depends on'):
X -> A,E
A -> B,E
E -> B
B -> C
Currently X would install A and E. When installing A the packages B, E
and C would be marked as "to install". When the package B is considered
the second time (as a dependency of E rather than A), it would install
straight away even though C was not currently installed, just marked
as needing to be installed.
The patch changes the behaviour so B can't install until C really is installed.
This change is required to run the postinst scripts in the correct order.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
git-svn-id: http://opkg.googlecode.com/svn/trunk@638 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
| |
This ensures recommended packages are not orphaned prematurely. Minor code
clean up while here.
git-svn-id: http://opkg.googlecode.com/svn/trunk@556 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@552 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@515 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@504 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@471 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@437 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@397 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
| |
The package maintainer shouldn't do this, but it happens ocassionally.
git-svn-id: http://opkg.googlecode.com/svn/trunk@362 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@353 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@344 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@337 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@289 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@270 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@269 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@268 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@255 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@228 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@157 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
current architecture
git-svn-id: http://opkg.googlecode.com/svn/trunk@128 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
|
|
|
|
| |
running libopkg_test
git-svn-id: http://opkg.googlecode.com/svn/trunk@116 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@67 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
|
|
| |
git-svn-id: http://opkg.googlecode.com/svn/trunk@65 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|
|
git-svn-id: http://opkg.googlecode.com/svn/trunk@33 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
|