Skip to content
Commits on Sep 29, 2012
  1. pkg_depends: fix version constraints

    * factor parsing version constraint to str_to_constraint and use that
      from pkg (pkg_version_satisfied) and also pkg_depends (parseDepends)
    * fix constraint_to_str(), for EARLIER and LATER it was using '<' and
      '>' which is parsed later as EARLIER_EQUAL and LATER_EQUAL
    * show notice when deprecated '<' or '>' is used
    Signed-off-by: Martin Jansa <>
Commits on Sep 21, 2012
  1. Add the --select-higher-version option

    Robert Yang committed with
    If there were more than one candidate which had the same pkg name in the
    candidate list, for example, the same pkg with different versions, then
    it would use the last one which was the highest version one in the past,
    but it will use the higher arch priority one now.
    Add the "--select-higher-version" option to let it use the higher
    version package when enabled. the default is no.
    Signed-off-by: Martin Jansa <>
Commits on Sep 19, 2012
  1. merge newpkg->provides even when oldpkg->provides existed

    * introduced in
    * the problem happens when oldpkg provide 1 and newpkg provide 2
      provides_count is merged to 2, but oldpkg->provides has only 1 entry
      causing SIGSEGV:
      pkg_formatted_field (fp=fp@entry=0x1444ce0, pkg=pkg@entry=0x120c620, field=<optimized out>, field@entry=0x7ffff7bd2abe "Provides") at pkg.c:739
      739                           fprintf(fp, "%s %s", i == 1 ? "" : ",",
      (gdb) bt
      #0  pkg_formatted_field (fp=fp@entry=0x1444ce0, pkg=pkg@entry=0x120c620, field=<optimized out>, field@entry=0x7ffff7bd2abe "Provides") at pkg.c:739
      #1  0x00007ffff7bc32fc in pkg_print_status (pkg=0x120c620, file=0x1444ce0) at pkg.c:887
      #2  0x00007ffff7bbff59 in opkg_conf_write_status_files () at opkg_conf.c:400
      #3  0x00007ffff7bbad8a in write_status_files_if_changed () at opkg_cmd.c:65
      #4  0x00007ffff7bbb73e in opkg_upgrade_cmd (argc=<optimized out>, argv=<optimized out>) at opkg_cmd.c:577
      #5  0x00007ffff7bbbcc2 in opkg_cmd_exec (cmd=cmd@entry=0x7ffff7dda080, argc=argc@entry=1, argv=argv@entry=0x7fffffffe768) at opkg_cmd.c:1319
      #6  0x000000000040165f in main (argc=3, argv=0x7fffffffe758) at opkg-cl.c:377
    Signed-off-by: Martin Jansa <>
  2. @rpurdie

    detect circular dependencies

    rpurdie committed with
    Add logic to detect circular dependencies. If we see any dependency from
    any given parent twice, ignore it the second time and print a notice message
    that we did so.
    Signed-off-by: Richard Purdie <>
    Signed-off-by: Martin Jansa <>
  3. Do not read /etc/opkg/*.conf if -f is specified

    Paul Eggleton committed with
    If a configuration file is specified on the command line, we should
    assume it contains all of the configuration and not try to read the
    configuration in /etc/opkg.
    Signed-off-by: Paul Eggleton <>
    Signed-off-by: Martin Jansa <>
  4. @rpurdie

    Failed postinst script is not fatal with conf->offline_root

    rpurdie committed with
    When we have an offline root and have specified force-postinstall,
    attempt to run the postinstall but if it fails, just leave it in the
    status file as needing to run. We can issue a NOTICE this is happened
    but supress errors. This means the OE class doesn't have to do any
    further post processing of the postinstalls itself.
    Signed-off-by: Martin Jansa <>
  5. @rpurdie

    Fix dependency issues for preinst scripts

    rpurdie committed with
    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)
    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 <>
  6. @rpurdie

    Ensure we use the uname/gname fields when extracting tarballs

    rpurdie committed with
    When updating packages on the target device we ideally want to match
    user and group numbers from the existing file system. This patch encourages
    opkg to lookup the uname/gname fields first and only use the hardcoded
    numerical values if that fails.
    Signed-off-by: Richard Purdie <>
    Signed-off-by: Martin Jansa <>
  7. add opkg_compare_versions function

    * not used in opkg but can be usefull, e.g. instead of
    Signed-off-by: Martin Jansa <>
Commits on Jan 19, 2012
  1. Fixed opkg losing auto_installed flag on upgrading committed
    Thanks-to: Christian Hitz <>
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. testcase displaying the loss of the auto-installed flag committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Oct 27, 2011
  1. Add tests for issue 84 and issue 85. committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Oct 23, 2011
  1. Use a default Version and Architecture in the event that none is spec… committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. Fix to work after changes in r627. committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Oct 15, 2011
  1. Fix a possible double-free of pkg vectors in opkg_remove_dependent_pk… committed
    …gs(), remove the inner free as it another free occurs anyway immediately after leaving the loop
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Oct 13, 2011
  1. Reverse the test for __dummy__ in the extra data. committed
    Problem pointed out by This needs revisiting.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. Remove comment for a proposed feature that will never be implemented. committed
    Maintainer scripts cannot be run in a chroot unless the host system can
    run target system binaries. Given this, the feature would be of limited use.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  3. Don't configure packages when in offline root mode. committed
    When installing into an offline root, packages should be marked "unpacked"
    not "installed". Resolves Issue #82.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Sep 12, 2011
  1. Don't use conf->offline_root directly, it might be NULL. committed
    This patch fixes a problem that arises when conf->offline_root is
    null. The resulting string was "(null)//etc/opkg/trusted.gpg" when it
    should have been "/etc/opkg/trusted.gpg".
    From Kyle Manna <>.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Jul 13, 2011
  1. Fix issue-79: Opkg can remove a package even if another still depends… committed
    … on it.
      - The problematic case is described by tests/regress/
    Signed-off-by: Camille Moncelier <>
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Jul 5, 2011
  1. Don't filter out directories when claiming ownership of a file. committed
    Directories are now owned by a particular package, which ensures their
    deletion in the event that a package leaves an empty directory during package
    From Roman Khimov <>.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on May 26, 2011
  1. sync() after writing out the status info. committed
    This decreases the likelihood of a corrupted database due to power loss.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. Improve the opkg_{get,set}_option() C API. committed
    This breaks compatibility with the previous API, so bump the lib version.
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Apr 26, 2011
  1. Modify Release file parsing to use parse_from_stream_nomalloc committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. Introduce a specific pointer typedef for parse_line functions committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  3. Move pkg_parse_from_stream_nomalloc into parse_util committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Apr 8, 2011
  1. Fix compilation after r617 committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. Don't include the source URI in the cached filename. committed
    This avoids multiple downloads in the case where a repository is simply a
    mirror of another. The old, uri mangled, filename is still checked to ensure
    backwards compatibility with existing caches.
    Patch from
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Commits on Apr 7, 2011
  1. Read the contents of lists files coming from 'dist' entries committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  2. Download all the valid Packages files for dist entries committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  3. Introduce a new pkg_src list in global configuration to store the con… committed
    …tents of 'dists' entries for apt-alike repositories
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  4. Fix mistype in define clause committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  5. Code to handle the apt-alike configuration entries committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  6. Create parse_util with some of the non-public functions from pkg_parse.c committed
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
  7. Add flag in opkg_download calls to reduce the severity of the 'failed… committed
    … download' message
    git-svn-id: e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Something went wrong with that request. Please try again.