summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/files/fifofix.patch
blob: 71703d7f0c60c59ac35403c7e1953be6a15a2bcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Calling openat() on a fifo causes a pseudo hang for us (e.g. the fifo in psplash).
Avoid calling openat for fifos.

Introduced upstream with:

https://github.com/rpm-software-management/rpm/commit/96ec957e281220f8e137a2d5eb23b83a6377d556

Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/issues/2195]

Index: git/lib/fsm.c
===================================================================
--- git.orig/lib/fsm.c
+++ git/lib/fsm.c
@@ -1010,7 +1010,7 @@ int rpmPackageFilesInstall(rpmts ts, rpm
                     rc = RPMERR_UNKNOWN_FILETYPE;
             }
 
-	    if (!rc && fd == -1 && !S_ISLNK(fp->sb.st_mode)) {
+	    if (!rc && fd == -1 && !S_ISLNK(fp->sb.st_mode) && !S_ISFIFO(fp->sb.st_mode)) {
 		/* Only follow safe symlinks, and never on temporary files */
 		fd = fsmOpenat(di.dirfd, fp->fpath,
 				fp->suffix ? AT_SYMLINK_NOFOLLOW : 0, 0);