diff options
| -rw-r--r-- | meta/classes/package_ipk.bbclass | 2 | ||||
| -rw-r--r-- | meta/classes/rootfs_ipk.bbclass | 4 | ||||
| -rw-r--r-- | meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch | 25 | ||||
| -rw-r--r-- | meta/recipes-devtools/opkg/opkg_svn.bb | 2 |
4 files changed, 15 insertions, 18 deletions
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index 019bd7cc19..4bf1b10aae 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass | |||
| @@ -139,7 +139,7 @@ package_install_internal_ipk() { | |||
| 139 | 139 | ||
| 140 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ | 140 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ |
| 141 | 141 | ||
| 142 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite --force_postinstall" | 142 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite --force_postinstall --prefer-arch-to-version" |
| 143 | 143 | ||
| 144 | opkg-cl ${ipkg_args} update | 144 | opkg-cl ${ipkg_args} update |
| 145 | 145 | ||
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index 46e8d60918..9d716fbe10 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass | |||
| @@ -14,9 +14,9 @@ do_rootfs[recrdeptask] += "do_package_write_ipk" | |||
| 14 | 14 | ||
| 15 | do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock" | 15 | do_rootfs[lockfiles] += "${WORKDIR}/ipk.lock" |
| 16 | 16 | ||
| 17 | IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite" | 17 | IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} --force-overwrite --prefer-arch-to-version" |
| 18 | # The _POST version also works when constructing the matching SDK | 18 | # The _POST version also works when constructing the matching SDK |
| 19 | IPKG_ARGS_POST = "-f ${IPKGCONF_TARGET} -o $INSTALL_ROOTFS_IPK --force-overwrite" | 19 | IPKG_ARGS_POST = "-f ${IPKGCONF_TARGET} -o $INSTALL_ROOTFS_IPK --force-overwrite --prefer-arch-to-version" |
| 20 | 20 | ||
| 21 | OPKG_PREPROCESS_COMMANDS = "package_update_index_ipk; package_generate_ipkg_conf" | 21 | OPKG_PREPROCESS_COMMANDS = "package_update_index_ipk; package_generate_ipkg_conf" |
| 22 | 22 | ||
diff --git a/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch b/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch index 46d11b0872..a9b039c5a0 100644 --- a/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch +++ b/meta/recipes-devtools/opkg/opkg/0008-select_higher_version.patch | |||
| @@ -1,12 +1,9 @@ | |||
| 1 | Add the --select-higher-version option | 1 | Add the --prefer-arch-to-version option |
| 2 | 2 | ||
| 3 | If there were more than one candidate which had the same pkg name in the | 3 | If there were more than one candidate which had the same pkg name in the |
| 4 | candidate list, for example, the same pkg with different versions, then | 4 | candidate list, for example, the same pkg with different versions, then |
| 5 | it would use the last one which was the highest version one in the past, | 5 | it would use the last one which was the highest version one in the past, |
| 6 | but it will use the higher arch priority one now. | 6 | but it will use the higher arch priority when this option is specified. |
| 7 | |||
| 8 | Add the "--select-higher-version" option to let it use the higher | ||
| 9 | version package when enabled. the default is no. | ||
| 10 | 7 | ||
| 11 | Upstream-Status: Pending | 8 | Upstream-Status: Pending |
| 12 | 9 | ||
| @@ -24,7 +21,7 @@ diff --git a/libopkg/opkg_conf.h b/libopkg/opkg_conf.h | |||
| 24 | int force_removal_of_essential_packages; | 21 | int force_removal_of_essential_packages; |
| 25 | int force_postinstall; | 22 | int force_postinstall; |
| 26 | int force_remove; | 23 | int force_remove; |
| 27 | + int select_higher_version; | 24 | + int prefer_arch_to_version; |
| 28 | int check_signature; | 25 | int check_signature; |
| 29 | int nodeps; /* do not follow dependencies */ | 26 | int nodeps; /* do not follow dependencies */ |
| 30 | char *offline_root; | 27 | char *offline_root; |
| @@ -44,7 +41,7 @@ diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c | |||
| 44 | + break; | 41 | + break; |
| 45 | + } | 42 | + } |
| 46 | + /* Respect to the arch priorities when given alternatives */ | 43 | + /* Respect to the arch priorities when given alternatives */ |
| 47 | + if (good_pkg_by_name && !conf->select_higher_version) { | 44 | + if (good_pkg_by_name && conf->prefer_arch_to_version) { |
| 48 | + if (matching->arch_priority >= good_pkg_by_name->arch_priority) { | 45 | + if (matching->arch_priority >= good_pkg_by_name->arch_priority) { |
| 49 | + good_pkg_by_name = matching; | 46 | + good_pkg_by_name = matching; |
| 50 | + opkg_msg(DEBUG, "%s %s wins by priority.\n", | 47 | + opkg_msg(DEBUG, "%s %s wins by priority.\n", |
| @@ -64,7 +61,7 @@ diff --git a/src/opkg-cl.c b/src/opkg-cl.c | |||
| 64 | ARGS_OPT_FORCE_SPACE, | 61 | ARGS_OPT_FORCE_SPACE, |
| 65 | ARGS_OPT_FORCE_POSTINSTALL, | 62 | ARGS_OPT_FORCE_POSTINSTALL, |
| 66 | ARGS_OPT_FORCE_REMOVE, | 63 | ARGS_OPT_FORCE_REMOVE, |
| 67 | + ARGS_OPT_SELECT_HIGHER_VERSION, | 64 | + ARGS_OPT_PREFER_ARCH_TO_VERSION, |
| 68 | ARGS_OPT_ADD_ARCH, | 65 | ARGS_OPT_ADD_ARCH, |
| 69 | ARGS_OPT_ADD_DEST, | 66 | ARGS_OPT_ADD_DEST, |
| 70 | ARGS_OPT_NOACTION, | 67 | ARGS_OPT_NOACTION, |
| @@ -72,8 +69,8 @@ diff --git a/src/opkg-cl.c b/src/opkg-cl.c | |||
| 72 | {"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL}, | 69 | {"force_postinstall", 0, 0, ARGS_OPT_FORCE_POSTINSTALL}, |
| 73 | {"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE}, | 70 | {"force-remove", 0, 0, ARGS_OPT_FORCE_REMOVE}, |
| 74 | {"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE}, | 71 | {"force_remove", 0, 0, ARGS_OPT_FORCE_REMOVE}, |
| 75 | + {"select-higher-version", 0, 0, ARGS_OPT_SELECT_HIGHER_VERSION}, | 72 | + {"prefer-arch-to-version", 0, 0, ARGS_OPT_PREFER_ARCH_TO_VERSION}, |
| 76 | + {"select_higher_version", 0, 0, ARGS_OPT_SELECT_HIGHER_VERSION}, | 73 | + {"prefer-arch-to-version", 0, 0, ARGS_OPT_PREFER_ARCH_TO_VERSION}, |
| 77 | {"noaction", 0, 0, ARGS_OPT_NOACTION}, | 74 | {"noaction", 0, 0, ARGS_OPT_NOACTION}, |
| 78 | {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY}, | 75 | {"download-only", 0, 0, ARGS_OPT_DOWNLOAD_ONLY}, |
| 79 | {"nodeps", 0, 0, ARGS_OPT_NODEPS}, | 76 | {"nodeps", 0, 0, ARGS_OPT_NODEPS}, |
| @@ -81,8 +78,8 @@ diff --git a/src/opkg-cl.c b/src/opkg-cl.c | |||
| 81 | case ARGS_OPT_FORCE_REMOVE: | 78 | case ARGS_OPT_FORCE_REMOVE: |
| 82 | conf->force_remove = 1; | 79 | conf->force_remove = 1; |
| 83 | break; | 80 | break; |
| 84 | + case ARGS_OPT_SELECT_HIGHER_VERSION: | 81 | + case ARGS_OPT_PREFER_ARCH_TO_VERSION: |
| 85 | + conf->select_higher_version = 1; | 82 | + conf->prefer_arch_to_version = 1; |
| 86 | + break; | 83 | + break; |
| 87 | case ARGS_OPT_NODEPS: | 84 | case ARGS_OPT_NODEPS: |
| 88 | conf->nodeps = 1; | 85 | conf->nodeps = 1; |
| @@ -91,8 +88,8 @@ diff --git a/src/opkg-cl.c b/src/opkg-cl.c | |||
| 91 | printf("\t--offline-root <dir> offline installation of packages.\n"); | 88 | printf("\t--offline-root <dir> offline installation of packages.\n"); |
| 92 | printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n"); | 89 | printf("\t--add-arch <arch>:<prio> Register architecture with given priority\n"); |
| 93 | printf("\t--add-dest <name>:<path> Register destination with given path\n"); | 90 | printf("\t--add-dest <name>:<path> Register destination with given path\n"); |
| 94 | + printf("\t--select-higher-version\t Use the higher version package rather\n"); | 91 | + printf("\t--prefer-arch-to-version\t Use the architecture priority package rather\n"); |
| 95 | + printf("\t than the higher arch priority one if more\n"); | 92 | + printf("\t than the higher version one if more\n"); |
| 96 | + printf("\t than one candidate is found.\n"); | 93 | + printf("\t than one candidate is found.\n"); |
| 97 | 94 | ||
| 98 | printf("\nForce Options:\n"); | 95 | printf("\nForce Options:\n"); |
diff --git a/meta/recipes-devtools/opkg/opkg_svn.bb b/meta/recipes-devtools/opkg/opkg_svn.bb index 59bb2d94e2..4e83cfb3c0 100644 --- a/meta/recipes-devtools/opkg/opkg_svn.bb +++ b/meta/recipes-devtools/opkg/opkg_svn.bb | |||
| @@ -19,4 +19,4 @@ S = "${WORKDIR}/trunk" | |||
| 19 | SRCREV = "633" | 19 | SRCREV = "633" |
| 20 | PV = "0.1.8+svnr${SRCPV}" | 20 | PV = "0.1.8+svnr${SRCPV}" |
| 21 | 21 | ||
| 22 | PR = "${INC_PR}.6" | 22 | PR = "${INC_PR}.7" |
