summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/btrfs-tools/btrfs-tools
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/btrfs-tools/btrfs-tools')
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/allow-relative-path.patch58
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/weak-defaults.patch31
2 files changed, 89 insertions, 0 deletions
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/allow-relative-path.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/allow-relative-path.patch
new file mode 100644
index 0000000000..695973eded
--- /dev/null
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/allow-relative-path.patch
@@ -0,0 +1,58 @@
1From: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
2
3The bug accurs when exec:
4 # mkfs.btrfs -r <a relative path> <device>
5 (note: the path should be 'valid' correspond to your `pwd`)
6error msg:
7 $ scandir for <a relative path> failed: No such file...
8
9Replace strdup() with realpath() to get the correct scan path.
10
11Upstream-Status: Backport (pending)
12
13Reported-by: Saul Wold <sgw@linux.intel.com>
14Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
15---
16 mkfs.c | 5 ++---
17 1 file changed, 2 insertions(+), 3 deletions(-)
18
19diff --git a/mkfs.c b/mkfs.c
20index 2dc90c2..1bd3069 100644
21--- a/mkfs.c
22+++ b/mkfs.c
23@@ -756,6 +756,7 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
24 ino_t parent_inum, cur_inum;
25 ino_t highest_inum = 0;
26 char *parent_dir_name;
27+ char real_path[PATH_MAX];
28 struct btrfs_path path;
29 struct extent_buffer *leaf;
30 struct btrfs_key root_dir_key;
31@@ -764,7 +765,7 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
32 /* Add list for source directory */
33 dir_entry = malloc(sizeof(struct directory_name_entry));
34 dir_entry->dir_name = dir_name;
35- dir_entry->path = strdup(dir_name);
36+ dir_entry->path = realpath(dir_name, real_path);
37
38 parent_inum = highest_inum + BTRFS_FIRST_FREE_OBJECTID;
39 dir_entry->inum = parent_inum;
40@@ -876,7 +877,6 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
41 }
42
43 free_namelist(files, count);
44- free(parent_dir_entry->path);
45 free(parent_dir_entry);
46
47 index_cnt = 2;
48@@ -887,7 +887,6 @@ static int traverse_directory(struct btrfs_trans_handle *trans,
49 fail:
50 free_namelist(files, count);
51 fail_no_files:
52- free(parent_dir_entry->path);
53 free(parent_dir_entry);
54 return -1;
55 }
56--
571.8.1.4
58
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/weak-defaults.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/weak-defaults.patch
new file mode 100644
index 0000000000..9ca9fca3ee
--- /dev/null
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/weak-defaults.patch
@@ -0,0 +1,31 @@
1Upstream-Status: Pending
2
3Allow mandir to be set from the environment, fixing the following packaging warnings:
4
5WARNING: For recipe btrfs-tools, the following files were installed but not shipped in any package:
6WARNING: /usr/man/man8/btrfs-show.8.gz
7WARNING: /usr/man/man8/btrfs-image.8.gz
8WARNING: /usr/man/man8/btrfsctl.8.gz
9WARNING: /usr/man/man8/btrfs.8.gz
10WARNING: /usr/man/man8/btrfsck.8.gz
11WARNING: /usr/man/man8/mkfs.btrfs.8.gz
12
13RP - 5/7/2011
14
15Index: git/man/Makefile
16===================================================================
17--- git.orig/man/Makefile 2011-07-05 22:03:58.949919067 +0100
18+++ git/man/Makefile 2011-07-05 22:04:07.789919856 +0100
19@@ -2,9 +2,9 @@
20 INSTALL= install
21
22 prefix ?= /usr/local
23-bindir = $(prefix)/bin
24-mandir = $(prefix)/man
25-man8dir = $(mandir)/man8
26+bindir ?= $(prefix)/bin
27+mandir ?= $(prefix)/man
28+man8dir ?= $(mandir)/man8
29
30 MANPAGES = mkfs.btrfs.8.gz btrfsctl.8.gz btrfsck.8.gz btrfs-image.8.gz \
31 btrfs-show.8.gz btrfs.8.gz