base-files: do not source system.sh in functions.sh
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 13 Mar 2020 15:05:43 +0000 (16:05 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 12 Apr 2020 12:16:54 +0000 (14:16 +0200)
The default_postinst() function in /lib/functions.sh sources
/lib/functions/system.sh before cycling through uci-defaults files.

This creates a pseudo-cyclic dependency as system.sh also uses
functions that are located in functions.sh. Despite that, there
is actually only one uci-defaults file in the entire repo that needs
system.sh, and this one contains an explicit source for system.sh
anyway.

Consequently, this patch removes the sourcing of system.sh in
functions.sh. There are no relevant uses in packages, routing and
luci repositories.
This may require adjustments for downstream, though.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
package/base-files/Makefile
package/base-files/files/lib/functions.sh

index 8e25215..87c43fd 100644 (file)
@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
 include $(INCLUDE_DIR)/feeds.mk
 
 PKG_NAME:=base-files
-PKG_RELEASE:=215
+PKG_RELEASE:=216
 PKG_FLAGS:=nonshared
 
 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
index fe908f7..a77b669 100755 (executable)
@@ -254,7 +254,6 @@ default_postinst() {
                fi
 
                if grep -m1 -q -s "^/etc/uci-defaults/" "$filelist"; then
-                       . /lib/functions/system.sh
                        [ -d /tmp/.uci ] || mkdir -p /tmp/.uci
                        for i in $(grep -s "^/etc/uci-defaults/" "$filelist"); do
                                ( [ -f "$i" ] && cd "$(dirname $i)" && . "$i" ) && rm -f "$i"