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

Khem Raj raj.khem at gmail.com
Fri Oct 29 17:44:04 UTC 2010


On Fri, Oct 29, 2010 at 7:08 AM, Alex Ferguson <thoughtmonster at gmail.com> 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.
>

hmmm ideally there should be no conflicts and update alternative methods
should be used to provide alternatives.

> 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.
>

you could have added distro specific overrides or even your own layer
to provide these
files per recipe instead of collecting them into a another recipe
which would step
on everyone. I think if we let this happen it can be chosen as a quick
workaround by
many and thats not good.

> 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
> --
> 1.7.3.2
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list