summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools/unfs3
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-12-17 04:11:34 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-01-09 02:21:44 +0300
commit1a4b7ee28bf7413af6513fb45ad0d0736048f866 (patch)
tree79f6d8ea698cab8f2eaf4f54b793d2ca7a1451ce /poky/meta/recipes-devtools/unfs3
parent5b9ede0403237c7dace972affa65cf64a1aadd0e (diff)
downloadopenbmc-1a4b7ee28bf7413af6513fb45ad0d0736048f866.tar.xz
reset upstream subtrees to yocto 2.6
Reset the following subtrees on thud HEAD: poky: 87e3a9739d meta-openembedded: 6094ae18c8 meta-security: 31dc4e7532 meta-raspberrypi: a48743dc36 meta-xilinx: c42016e2e6 Also re-apply backports that didn't make it into thud: poky: 17726d0 systemd-systemctl-native: handle Install wildcards meta-openembedded: 4321a5d libtinyxml2: update to 7.0.1 042f0a3 libcereal: Add native and nativesdk classes e23284f libcereal: Allow empty package 030e8d4 rsyslog: curl-less build with fmhttp PACKAGECONFIG 179a1b9 gtest: update to 1.8.1 Squashed OpenBMC subtree compatibility updates: meta-aspeed: Brad Bishop (1): aspeed: add yocto 2.6 compatibility meta-ibm: Brad Bishop (1): ibm: prepare for yocto 2.6 meta-ingrasys: Brad Bishop (1): ingrasys: set layer compatibility to yocto 2.6 meta-openpower: Brad Bishop (1): openpower: set layer compatibility to yocto 2.6 meta-phosphor: Brad Bishop (3): phosphor: set layer compatibility to thud phosphor: libgpg-error: drop patches phosphor: react to fitimage artifact rename Ed Tanous (4): Dropbear: upgrade options for latest upgrade yocto2.6: update openssl options busybox: remove upstream watchdog patch systemd: Rebase CONFIG_CGROUP_BPF patch Change-Id: I7b1fe71cca880d0372a82d94b5fd785323e3a9e7 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-devtools/unfs3')
-rw-r--r--poky/meta/recipes-devtools/unfs3/unfs3/0001-attr-fix-utime-for-symlink.patch85
-rw-r--r--poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb3
2 files changed, 87 insertions, 1 deletions
diff --git a/poky/meta/recipes-devtools/unfs3/unfs3/0001-attr-fix-utime-for-symlink.patch b/poky/meta/recipes-devtools/unfs3/unfs3/0001-attr-fix-utime-for-symlink.patch
new file mode 100644
index 0000000000..6957d102b8
--- /dev/null
+++ b/poky/meta/recipes-devtools/unfs3/unfs3/0001-attr-fix-utime-for-symlink.patch
@@ -0,0 +1,85 @@
+From 3f4fcb62661059bad77a2e957b4621137797bc2f Mon Sep 17 00:00:00 2001
+From: Rui Wang <rui.wang@windriver.com>
+Date: Fri, 15 Jun 2018 14:19:10 +0800
+Subject: [PATCH] attr: fix utime for symlink
+
+unfs3 has an old defect that it can not change the timestamps of a
+symlink file because it only uses utime(), which will follow the
+symlink. This will not cause an error if the symlink points to an
+existent file. But under some special situation, such as installing
+a rpm package, rpm tool will create the symlink first and try to
+modify the timestamps of it, when the target file is non-existent.
+This will cause an ESTALE error. Making rpm tool ignore this error
+is a solution, but not the best one. An acceptable approach is
+Making unfs3 support lutimes(), which can modify the symlink file
+itself. Considering not every system support this function, so a
+function checking is necessary.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/unfs3/bugs/12/]
+
+Signed-off-by: Rui Wang <rui.wang@windriver.com>
+---
+ attr.c | 15 +++++++++++----
+ backend_unix.h | 2 ++
+ configure.ac | 1 +
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/attr.c b/attr.c
+index 73e5c75..427d0e2 100644
+--- a/attr.c
++++ b/attr.c
+@@ -280,7 +280,7 @@ post_op_attr get_post_cached(struct svc_req * req)
+ static nfsstat3 set_time(const char *path, backend_statstruct buf, sattr3 new)
+ {
+ time_t new_atime, new_mtime;
+- struct utimbuf utim;
++ struct timeval stamps[2];
+ int res;
+
+ /* set atime and mtime */
+@@ -302,10 +302,17 @@ static nfsstat3 set_time(const char *path, backend_statstruct buf, sattr3 new)
+ else /* DONT_CHANGE */
+ new_mtime = buf.st_mtime;
+
+- utim.actime = new_atime;
+- utim.modtime = new_mtime;
++ stamps[0].tv_sec = new_atime;
++ stamps[0].tv_usec = 0;
++ stamps[1].tv_sec = new_mtime;
++ stamps[1].tv_usec = 0;
++
++#if HAVE_LUTIMES
++ res = backend_lutimes(path, stamps);
++#else
++ res = backend_utimes(path, stamps);
++#endif
+
+- res = backend_utime(path, &utim);
+ if (res == -1)
+ return setattr_err();
+ }
+diff --git a/backend_unix.h b/backend_unix.h
+index fbc2af3..813ffd3 100644
+--- a/backend_unix.h
++++ b/backend_unix.h
+@@ -61,6 +61,8 @@
+ #define backend_symlink symlink
+ #define backend_truncate truncate
+ #define backend_utime utime
++#define backend_utimes utimes
++#define backend_lutimes lutimes
+ #define backend_statstruct struct stat
+ #define backend_dirstream DIR
+ #define backend_statvfsstruct struct statvfs
+diff --git a/configure.ac b/configure.ac
+index aeec598..ea7f167 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -37,6 +37,7 @@ AC_CHECK_FUNCS(setresuid setresgid)
+ AC_CHECK_FUNCS(vsyslog)
+ AC_CHECK_FUNCS(lchown)
+ AC_CHECK_FUNCS(setgroups)
++AC_CHECK_FUNCS(lutimes)
+ UNFS3_SOLARIS_RPC
+ UNFS3_PORTMAP_DEFINE
+ UNFS3_COMPILE_WARNINGS
diff --git a/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb b/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb
index 8127e4a10b..5a81a8fdb1 100644
--- a/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb
+++ b/poky/meta/recipes-devtools/unfs3/unfs3_0.9.22.r497.bb
@@ -29,7 +29,8 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/unfs3-0.9.22.r497.ta
file://relative_max_socket_path_len.patch \
file://tcp_no_delay.patch \
file://0001-daemon.c-Libtirpc-porting-fixes.patch \
- "
+ file://0001-attr-fix-utime-for-symlink.patch \
+ "
SRC_URI[md5sum] = "2e43e471c77ade0331901c40b8f8e9a3"
SRC_URI[sha256sum] = "21009468a9ba07b72ea93780d025a63ab4e55bf8fc3127803c296f0900fe1bac"