[LEDE-DEV] [PATCH 1/1] add support for overlaying rootfs content
Karl Palsson
karlp at tweak.net.au
Wed Dec 7 07:44:13 PST 2016
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 <mschiffer at 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 <mschiffer at universe-factory.net>
Perhaps putting --force-overwrite back on?
Cheers,
Karl Palsson
Rafał Miłecki <zajec5 at gmail.com> wrote:
> From: Rafał Miłecki <rafal at 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 <rafal at 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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP Digital Signature
URL: <http://lists.infradead.org/pipermail/lede-dev/attachments/20161207/ab147895/attachment-0001.sig>
More information about the Lede-dev
mailing list