[oe] [PATCH] classes: Modify rootfs_ipk.bbclass for -force-overwrite.

Graeme Gregory dp at xora.org.uk
Fri Oct 29 14:39:11 UTC 2010


This is generally an unsafe way to do things, but I dont see an issue
with allowing a user or distro to force it.

Acked-by: Graeme Gregory <dp at xora.org.uk>

On 29/10/2010 15:08, Alex Ferguson wrote:
> Rationale: In Jlime we ship a package called jlime-extras which
> contains several files (configuration files, scripts, etc.), some
> of which conflict with files provided by other packages. This is
> intentional, and is for distro customization purposes. For example
> we ship a modified version of the /usr/bin/startx script, some
> alternative icons for applications, some modified .desktop files
> and so on. Building an image with this jlime-extras package fails,
> of course, due to conflicting files.
>
> To overcome this issue, I have added a base-conditional to
> rootfs_ipk.bbclass, adding the PACKAGE_FORCE_OVERWRITE variable
> to IPKG_ARGS which enables -force-overwrite for opkg, and which
> can be used in image recipes individually without affecting others.
>
> I believe this functionality might be useful for everyone and comes
> at almost no additional cost, which is why I'm sending this patch
> for consideration by the OE developers.
>
> I'd be more than happy to help in any way in order to get this in.
>
> Thank you.
>
> Signed-off-by: Alex Ferguson <thoughtmonster at gmail.com>
> ---
>  classes/rootfs_ipk.bbclass |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass
> index a4a8563..dd8586a 100644
> --- a/classes/rootfs_ipk.bbclass
> +++ b/classes/rootfs_ipk.bbclass
> @@ -9,9 +9,10 @@ do_rootfs[depends] += "opkg-native:do_populate_sysroot"
>  do_rootfs[lockfiles] = "${DEPLOY_DIR_IPK}.lock"
>  
>  IPKG_TMP_DIR = "${IMAGE_ROOTFS}-tmp"
> -IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} -t ${IPKG_TMP_DIR} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}"
> +IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} -t ${IPKG_TMP_DIR} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)} ${@base_conditional("PACKAGE_FORCE_OVERWRITE", "1", "-force-overwrite", "", d)}"
>  
>  PACKAGE_INSTALL_NO_DEPS ?= "0"
> +PACKAGE_FORCE_OVERWRITE ?= "0"
>  
>  # What support to provide for online management of packages at run time?
>  #  full -> traditional system, opkg is installed with all metadata





More information about the Openembedded-devel mailing list