summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2020-09-08 14:32:32 -0500
committerJohn Klug <john.klug@multitech.com>2020-11-12 09:29:24 -0600
commitfdc2600b9a3f66e9d187b91674da22bc28322b78 (patch)
tree53845da25aa3b17f10269949a4cf2b67094a9a28
parentdb8316df144aeaeb9f6501d7a760cdb8f1ec26e9 (diff)
downloadmeta-mlinux-fdc2600b9a3f66e9d187b91674da22bc28322b78.tar.gz
meta-mlinux-fdc2600b9a3f66e9d187b91674da22bc28322b78.tar.bz2
meta-mlinux-fdc2600b9a3f66e9d187b91674da22bc28322b78.zip
Fix opkg to follow symlinks, otherwise /etc/modprobe.d is broken, and maybe more
-rw-r--r--recipes-devtools/opkg/files/0004-opkg-symlink.patch24
-rw-r--r--recipes-devtools/opkg/opkg_%.bbappend3
2 files changed, 26 insertions, 1 deletions
diff --git a/recipes-devtools/opkg/files/0004-opkg-symlink.patch b/recipes-devtools/opkg/files/0004-opkg-symlink.patch
new file mode 100644
index 0000000..e105a8f
--- /dev/null
+++ b/recipes-devtools/opkg/files/0004-opkg-symlink.patch
@@ -0,0 +1,24 @@
+opkg refused to install when a symlink was in a path.
+Have it follow symlinks when installing.
+===================================================================
+diff -Naru orig/libopkg/opkg_install.c new/libopkg/opkg_install.c
+--- orig/libopkg/opkg_install.c 2020-09-08 14:08:55.550694837 -0500
++++ new/libopkg/opkg_install.c 2020-09-08 14:18:00.286678711 -0500
+@@ -443,6 +443,17 @@
+ pkg_t *obs;
+ int existing_is_dir = file_is_dir(filename);
+
++ /* Existing patch might be a symlink, and still be OK */
++ if ((!existing_is_dir) && S_ISDIR(file_info->mode)) {
++ int rslt;
++ struct stat sbuf;
++
++ /* Use stat to follow a symlink */
++ rslt = stat(filename,&sbuf);
++ if((!rslt) && S_ISDIR(sbuf.st_mode))
++ existing_is_dir = 1; /* file_is_dir was wrong */
++ }
++
+ /* OK if both the existing file and new file are directories. */
+ if (existing_is_dir && S_ISDIR(file_info->mode)) {
+ continue;
diff --git a/recipes-devtools/opkg/opkg_%.bbappend b/recipes-devtools/opkg/opkg_%.bbappend
index 7b45903..7db3ade 100644
--- a/recipes-devtools/opkg/opkg_%.bbappend
+++ b/recipes-devtools/opkg/opkg_%.bbappend
@@ -1,6 +1,7 @@
-PR .= ".mlinux1"
+PR .= ".mlinux2"
SRC_URI += " file://0003-opkg_conf-create-opkg.lock-in-run-lock-instead-of-run.patch \
+ file://0004-opkg-symlink.patch \
"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"