How is this different from just reverting the commit that stopped
this from working? I'm all for this, don't get me wrong, but if a
package can just explicitly define a file as "this overwrites
whatever" how is that any different from before?

If I remember correctly it was this one:

commit 021b96d7c5c668fbcb5375c65cee90832bb2854f
Author: Matthias Schiffer <mschif...@universe-factory.net> Date:
Mon Sep 26 15:25:38 2016 +0200

    rootfs: remove unnecessary and potentially harmful force flags from opkg 
call
    
    Especially --force-overwrite and --force-depends will often lead to broken
    images; it's better to fail the build in such cases than to silently ignore
    the errors.
    
    Instead, ignore errors in the per-device rootfs opkg remove command, so
    the build doesn't break when packages can't be removed because of
    dependencies.
    
    Signed-off-by: Matthias Schiffer <mschif...@universe-factory.net>



Perhaps putting --force-overwrite back on?

Cheers,
Karl Palsson


Rafał Miłecki  <zaj...@gmail.com> wrote:
> From: Rafał Miłecki <ra...@milecki.pl>
> 
> This adds support for install-overlay define. When used in
> package it allows installing files to a special directory that
> gets copied to the root when installing it. It allows
> overwriting files provided by other packages.
> 
> Signed-off-by: Rafał Miłecki <ra...@milecki.pl>
> ---
>  include/package-ipkg.mk                   | 9 +++++++++
>  package/base-files/files/lib/functions.sh | 5 +++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
> index afd2d4e..e168eb3 100644
> --- a/include/package-ipkg.mk
> +++ b/include/package-ipkg.mk
> @@ -96,7 +96,14 @@ ifeq ($(DUMP),)
>      KEEP_$(1):=$(strip $(call Package/$(1)/conffiles))
>  
>      ifeq ($(BUILD_VARIANT),$$(if $$(VARIANT),$$(VARIANT),$(BUILD_VARIANT)))
> +    do_install=
>      ifdef Package/$(1)/install
> +      do_install=yes
> +    endif
> +    ifdef Package/$(1)/install-overlay
> +      do_install=yes
> +    endif
> +    ifdef do_install
>        ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),)
>          IPKGS += $(1)
>          compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides 
> $(STAGING_DIR_ROOT)/stamp/.$(1)_installed
> @@ -178,6 +185,8 @@ $(_endef)
>       @rm -rf $$(IDIR_$(1)) $$(call opkg_package_files,$(1))
>       mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR)
>       $(call Package/$(1)/install,$$(IDIR_$(1)))
> +     $(if $(Package/$(1)/install-overlay),mkdir -p $(PACKAGE_DIR) 
> $$(IDIR_$(1))/rootfs-overlay)
> +     $(call Package/$(1)/install-overlay,$$(IDIR_$(1))/rootfs-overlay)
>       -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name 
> '*~'| $(XARGS) rm -rf
>       @( \
>               find $$(IDIR_$(1)) -name lib\*.so\* -or -name \*.ko | awk -F/ 
> '{ print $$$$NF }'; \
> diff --git a/package/base-files/files/lib/functions.sh
> b/package/base-files/files/lib/functions.sh index
> b3bf221..b68db6b 100755
> --- a/package/base-files/files/lib/functions.sh
> +++ b/package/base-files/files/lib/functions.sh
> @@ -230,6 +230,11 @@ default_postinst() {
>               ret=$?
>       fi
>  
> +     if [ -d "$root/rootfs-overlay" ]; then
> +             cp -R $root/rootfs-overlay/. $root/
> +             rm -fR $root/rootfs-overlay/
> +     fi
> +
>       if [ -z "$root" ] && grep -q -s "^/etc/uci-defaults/" 
> "/usr/lib/opkg/info/${pkgname}.list"; then
>               . /lib/functions/system.sh
>               [ -d /tmp/.uci ] || mkdir -p /tmp/.uci
> -- 
> 2.10.1
> 
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev

Attachment: signature.asc
Description: OpenPGP Digital Signature

_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to