diff options
author | John Klug <john.klug@multitech.com> | 2020-09-08 14:32:32 -0500 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2020-11-12 09:29:24 -0600 |
commit | fdc2600b9a3f66e9d187b91674da22bc28322b78 (patch) | |
tree | 53845da25aa3b17f10269949a4cf2b67094a9a28 | |
parent | db8316df144aeaeb9f6501d7a760cdb8f1ec26e9 (diff) | |
download | meta-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.patch | 24 | ||||
-rw-r--r-- | recipes-devtools/opkg/opkg_%.bbappend | 3 |
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:" |