diff options
Diffstat (limited to 'meta/recipes-devtools/e2fsprogs')
12 files changed, 3 insertions, 314 deletions
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch deleted file mode 100644 index ae44730192..0000000000 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-extent-header.patch +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | debugfs: properly set up extent header in do_write | ||
2 | |||
3 | do_write doesn't fully set up the first extent header on a new | ||
4 | inode, so if we write a 0-length file, and don't write any data | ||
5 | to the new file, we end up creating something that looks corrupt | ||
6 | to kernelspace: | ||
7 | |||
8 | EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0), depth 0(0) | ||
9 | |||
10 | Do something similar to ext4_ext_tree_init() here, and | ||
11 | fill out the first extent header upon creation to avoid this. | ||
12 | |||
13 | Upstream-Status: Backport | ||
14 | |||
15 | Reported-by: Robert Yang <liezhi.yang@windriver.com> | ||
16 | Signed-off-by: Eric Sandeen <sandeen@redhat.com> | ||
17 | --- | ||
18 | debugfs/debugfs.c | 13 ++++++++++++- | ||
19 | 1 file changed, 12 insertions(+), 1 deletion(-) | ||
20 | |||
21 | diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c | ||
22 | --- a/debugfs/debugfs.c | ||
23 | +++ b/debugfs/debugfs.c | ||
24 | @@ -1726,8 +1726,19 @@ void do_write(int argc, char *argv[]) | ||
25 | inode.i_links_count = 1; | ||
26 | inode.i_size = statbuf.st_size; | ||
27 | if (current_fs->super->s_feature_incompat & | ||
28 | - EXT3_FEATURE_INCOMPAT_EXTENTS) | ||
29 | + EXT3_FEATURE_INCOMPAT_EXTENTS) { | ||
30 | + int i; | ||
31 | + struct ext3_extent_header *eh; | ||
32 | + | ||
33 | + eh = (struct ext3_extent_header *) &inode.i_block[0]; | ||
34 | + eh->eh_depth = 0; | ||
35 | + eh->eh_entries = 0; | ||
36 | + eh->eh_magic = EXT3_EXT_MAGIC; | ||
37 | + i = (sizeof(inode.i_block) - sizeof(*eh)) / | ||
38 | + sizeof(struct ext3_extent); | ||
39 | + eh->eh_max = ext2fs_cpu_to_le16(i); | ||
40 | inode.i_flags |= EXT4_EXTENTS_FL; | ||
41 | + } | ||
42 | if (debugfs_write_new_inode(newfile, &inode, argv[0])) { | ||
43 | close(fd); | ||
44 | return; | ||
45 | -- | ||
46 | 1.8.1.2 | ||
47 | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-sparse-copy.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-sparse-copy.patch deleted file mode 100644 index 07124702a3..0000000000 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-sparse-copy.patch +++ /dev/null | |||
@@ -1,148 +0,0 @@ | |||
1 | debugfs.c: do sparse copy when src is a sparse file | ||
2 | |||
3 | Let debugfs do sparse copy when src is a sparse file, just like | ||
4 | "cp --sparse=auto" | ||
5 | |||
6 | * For the: | ||
7 | #define IO_BUFSIZE 64*1024 | ||
8 | this is a suggested value from gnu coreutils: | ||
9 | http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/ioblksize.h;h=1ae93255e7d0ccf0855208c7ae5888209997bf16;hb=HEAD | ||
10 | |||
11 | * Use malloc() to allocate memory for the buffer since put 64K (or | ||
12 | more) on the stack seems not a good idea. | ||
13 | |||
14 | Upstream-Status: Submitted | ||
15 | |||
16 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
17 | Acked-by: Darren Hart <dvhart@linux.intel.com> | ||
18 | --- | ||
19 | debugfs/debugfs.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++---- | ||
20 | 1 file changed, 58 insertions(+), 4 deletions(-) | ||
21 | |||
22 | diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c | ||
23 | --- a/debugfs/debugfs.c | ||
24 | +++ b/debugfs/debugfs.c | ||
25 | @@ -41,6 +41,16 @@ extern char *optarg; | ||
26 | #define BUFSIZ 8192 | ||
27 | #endif | ||
28 | |||
29 | +/* 64KiB is the minimium blksize to best minimize system call overhead. */ | ||
30 | +#ifndef IO_BUFSIZE | ||
31 | +#define IO_BUFSIZE 64*1024 | ||
32 | +#endif | ||
33 | + | ||
34 | +/* Block size for `st_blocks' */ | ||
35 | +#ifndef S_BLKSIZE | ||
36 | +#define S_BLKSIZE 512 | ||
37 | +#endif | ||
38 | + | ||
39 | ss_request_table *extra_cmds; | ||
40 | const char *debug_prog_name; | ||
41 | int sci_idx; | ||
42 | @@ -1563,22 +1573,37 @@ void do_find_free_inode(int argc, char *argv[]) | ||
43 | } | ||
44 | |||
45 | #ifndef READ_ONLY | ||
46 | -static errcode_t copy_file(int fd, ext2_ino_t newfile) | ||
47 | +static errcode_t copy_file(int fd, ext2_ino_t newfile, int bufsize, int make_holes) | ||
48 | { | ||
49 | ext2_file_t e2_file; | ||
50 | errcode_t retval; | ||
51 | int got; | ||
52 | unsigned int written; | ||
53 | - char buf[8192]; | ||
54 | + char *buf; | ||
55 | char *ptr; | ||
56 | + char *zero_buf; | ||
57 | + int cmp; | ||
58 | |||
59 | retval = ext2fs_file_open(current_fs, newfile, | ||
60 | EXT2_FILE_WRITE, &e2_file); | ||
61 | if (retval) | ||
62 | return retval; | ||
63 | |||
64 | + if (!(buf = (char *) malloc(bufsize))){ | ||
65 | + com_err("copy_file", errno, "can't allocate buffer\n"); | ||
66 | + return; | ||
67 | + } | ||
68 | + | ||
69 | + /* This is used for checking whether the whole block is zero */ | ||
70 | + retval = ext2fs_get_memzero(bufsize, &zero_buf); | ||
71 | + if (retval) { | ||
72 | + com_err("copy_file", retval, "can't allocate buffer\n"); | ||
73 | + free(buf); | ||
74 | + return retval; | ||
75 | + } | ||
76 | + | ||
77 | while (1) { | ||
78 | - got = read(fd, buf, sizeof(buf)); | ||
79 | + got = read(fd, buf, bufsize); | ||
80 | if (got == 0) | ||
81 | break; | ||
82 | if (got < 0) { | ||
83 | @@ -1586,6 +1611,21 @@ static errcode_t copy_file(int fd, ext2_ino_t newfile) | ||
84 | goto fail; | ||
85 | } | ||
86 | ptr = buf; | ||
87 | + | ||
88 | + /* Sparse copy */ | ||
89 | + if (make_holes) { | ||
90 | + /* Check whether all is zero */ | ||
91 | + cmp = memcmp(ptr, zero_buf, got); | ||
92 | + if (cmp == 0) { | ||
93 | + /* The whole block is zero, make a hole */ | ||
94 | + retval = ext2fs_file_lseek(e2_file, got, EXT2_SEEK_CUR, NULL); | ||
95 | + if (retval) | ||
96 | + goto fail; | ||
97 | + got = 0; | ||
98 | + } | ||
99 | + } | ||
100 | + | ||
101 | + /* Normal copy */ | ||
102 | while (got > 0) { | ||
103 | retval = ext2fs_file_write(e2_file, ptr, | ||
104 | got, &written); | ||
105 | @@ -1596,10 +1636,14 @@ static errcode_t copy_file(int fd, ext2_ino_t newfile) | ||
106 | ptr += written; | ||
107 | } | ||
108 | } | ||
109 | + free(buf); | ||
110 | + ext2fs_free_mem(&zero_buf); | ||
111 | retval = ext2fs_file_close(e2_file); | ||
112 | return retval; | ||
113 | |||
114 | fail: | ||
115 | + free(buf); | ||
116 | + ext2fs_free_mem(&zero_buf); | ||
117 | (void) ext2fs_file_close(e2_file); | ||
118 | return retval; | ||
119 | } | ||
120 | @@ -1612,6 +1656,8 @@ void do_write(int argc, char *argv[]) | ||
121 | ext2_ino_t newfile; | ||
122 | errcode_t retval; | ||
123 | struct ext2_inode inode; | ||
124 | + int bufsize = IO_BUFSIZE; | ||
125 | + int make_holes = 0; | ||
126 | |||
127 | if (common_args_process(argc, argv, 3, 3, "write", | ||
128 | "<native file> <new file>", CHECK_FS_RW)) | ||
129 | @@ -1687,7 +1733,15 @@ void do_write(int argc, char *argv[]) | ||
130 | return; | ||
131 | } | ||
132 | if (LINUX_S_ISREG(inode.i_mode)) { | ||
133 | - retval = copy_file(fd, newfile); | ||
134 | + if (statbuf.st_blocks < statbuf.st_size / S_BLKSIZE) { | ||
135 | + make_holes = 1; | ||
136 | + /* | ||
137 | + * Use I/O blocksize as buffer size when | ||
138 | + * copying sparse files. | ||
139 | + */ | ||
140 | + bufsize = statbuf.st_blksize; | ||
141 | + } | ||
142 | + retval = copy_file(fd, newfile, bufsize, make_holes); | ||
143 | if (retval) | ||
144 | com_err("copy_file", retval, 0); | ||
145 | } | ||
146 | -- | ||
147 | 1.7.10.4 | ||
148 | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-too-short.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-too-short.patch deleted file mode 100644 index 607305be54..0000000000 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/debugfs-too-short.patch +++ /dev/null | |||
@@ -1,41 +0,0 @@ | |||
1 | debugfs.c: the max length of debugfs argument is too short | ||
2 | |||
3 | The max length of debugfs argument is 256 which is too short, the | ||
4 | arguments are two paths, the PATH_MAX is 4096 according to | ||
5 | /usr/include/linux/limits.h, so use BUFSIZ (which is 8192 on Linux | ||
6 | systems), that's also what the ss library uses. | ||
7 | |||
8 | Upstream-Status: Submitted | ||
9 | |||
10 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
11 | Acked-by: Darren Hart <dvhart@linux.intel.com> | ||
12 | --- | ||
13 | debugfs/debugfs.c | 6 +++++- | ||
14 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c | ||
17 | --- a/debugfs/debugfs.c | ||
18 | +++ b/debugfs/debugfs.c | ||
19 | @@ -37,6 +37,10 @@ extern char *optarg; | ||
20 | #include "../version.h" | ||
21 | #include "jfs_user.h" | ||
22 | |||
23 | +#ifndef BUFSIZ | ||
24 | +#define BUFSIZ 8192 | ||
25 | +#endif | ||
26 | + | ||
27 | ss_request_table *extra_cmds; | ||
28 | const char *debug_prog_name; | ||
29 | int sci_idx; | ||
30 | @@ -2311,7 +2315,7 @@ void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[]) | ||
31 | static int source_file(const char *cmd_file, int ss_idx) | ||
32 | { | ||
33 | FILE *f; | ||
34 | - char buf[256]; | ||
35 | + char buf[BUFSIZ]; | ||
36 | char *cp; | ||
37 | int exit_status = 0; | ||
38 | int retval; | ||
39 | -- | ||
40 | 1.8.1.2 | ||
41 | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/e2fsprogs-fix-tests-f_extent_oobounds.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/e2fsprogs-fix-tests-f_extent_oobounds.patch deleted file mode 100644 index a4f7077641..0000000000 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/e2fsprogs-fix-tests-f_extent_oobounds.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | From 1bfd0e015be7dd22a44995dd2a7002328aedc0e6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Yang <liezhi.yang@windriver.com> | ||
3 | Date: Sat, 9 Nov 2013 22:24:37 +0800 | ||
4 | Subject: [PATCH] e2fsprogs: fix tests/f_extent_oobounds | ||
5 | |||
6 | Use $DEBUGFS and $MKE2FS to get the in-tree executables | ||
7 | for this test. | ||
8 | |||
9 | (Build machines which run make check shouldn't need to have | ||
10 | e2fsprogs installed, and we should be testing just-built versions | ||
11 | of the tools anyway) | ||
12 | |||
13 | This patch is from: | ||
14 | http://www.spinics.net/lists/linux-ext4/msg38880.html | ||
15 | |||
16 | Eric Sandeen had sent it to the upstream, but haven't been merge by now. | ||
17 | |||
18 | Upstream-Status: Backport | ||
19 | |||
20 | Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> | ||
21 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
22 | --- | ||
23 | tests/f_extent_oobounds/script | 4 ++-- | ||
24 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/tests/f_extent_oobounds/script b/tests/f_extent_oobounds/script | ||
27 | index 31ac6c9..b00b031 100644 | ||
28 | --- a/tests/f_extent_oobounds/script | ||
29 | +++ b/tests/f_extent_oobounds/script | ||
30 | @@ -4,8 +4,8 @@ SKIP_GUNZIP="true" | ||
31 | TEST_DATA="$test_name.tmp" | ||
32 | |||
33 | dd if=/dev/zero of=$TMPFILE bs=1k count=256 > /dev/null 2>&1 | ||
34 | -mke2fs -Ft ext4 $TMPFILE > /dev/null 2>&1 | ||
35 | -debugfs -w $TMPFILE << EOF > /dev/null 2>&1 | ||
36 | +$MKE2FS -Ft ext4 $TMPFILE > /dev/null 2>&1 | ||
37 | +$DEBUGFS -w $TMPFILE << EOF > /dev/null 2>&1 | ||
38 | write /dev/null testfile | ||
39 | extent_open testfile | ||
40 | insert_node 0 15 100 | ||
41 | -- | ||
42 | 1.8.3.1 | ||
43 | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/fallocate.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/fallocate.patch deleted file mode 100644 index d074c15cfd..0000000000 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/fallocate.patch +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | We assume that fallocate is supported somehow | ||
2 | but we need to check if we have fallocate() | ||
3 | this problem shows up on uclibc systems since | ||
4 | uclibc does not have fallocate() implemented | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | |||
10 | Index: e2fsprogs-1.42/lib/ext2fs/unix_io.c | ||
11 | =================================================================== | ||
12 | --- e2fsprogs-1.42.orig/lib/ext2fs/unix_io.c 2012-01-17 17:24:34.290780625 -0800 | ||
13 | +++ e2fsprogs-1.42/lib/ext2fs/unix_io.c 2012-01-17 17:25:37.338783680 -0800 | ||
14 | @@ -895,7 +895,7 @@ | ||
15 | goto unimplemented; | ||
16 | #endif | ||
17 | } else { | ||
18 | -#ifdef FALLOC_FL_PUNCH_HOLE | ||
19 | +#if defined FALLOC_FL_PUNCH_HOLE && defined HAVE_FALLOCATE | ||
20 | /* | ||
21 | * If we are not on block device, try to use punch hole | ||
22 | * to reclaim free space. | ||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/acinclude.m4 b/meta/recipes-devtools/e2fsprogs/e2fsprogs/acinclude.m4 index 4b00668476..4b00668476 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/acinclude.m4 +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/acinclude.m4 | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/fix-icache.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/fix-icache.patch index ad4e3439f4..03c0abc026 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/fix-icache.patch +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/fix-icache.patch | |||
@@ -16,11 +16,7 @@ cache[0]: cached ino 15 when bufsize = 156 by ext2fs_read_inode_full() | |||
16 | Then the ino 14 would hit the cache[1] when bufsize = 128 (but it was | 16 | Then the ino 14 would hit the cache[1] when bufsize = 128 (but it was |
17 | cached by bufsize = 156), so there would be errors. | 17 | cached by bufsize = 156), so there would be errors. |
18 | 18 | ||
19 | Note: the upstream has changed the icache lot, so this patch is | 19 | Upstream-Status: [Submitted] |
20 | inappropriate for the upstream, we can drop this patch when we update | ||
21 | the package. | ||
22 | |||
23 | Upstream-Status: [Inappropriate] | ||
24 | 20 | ||
25 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | 21 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> |
26 | --- | 22 | --- |
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/mkdir.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/mkdir.patch index aa7a2981b4..aa7a2981b4 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/mkdir.patch +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/mkdir.patch | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/populate-extfs.sh b/meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh index 7de720b115..7de720b115 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/populate-extfs.sh +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/populate-extfs.sh | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/quiet-debugfs.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch index 830e9d57a5..830e9d57a5 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/quiet-debugfs.patch +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/quiet-debugfs.patch | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/remove.ldconfig.call.patch b/meta/recipes-devtools/e2fsprogs/e2fsprogs/remove.ldconfig.call.patch index f3e6eb778f..f3e6eb778f 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs-1.42.8/remove.ldconfig.call.patch +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs/remove.ldconfig.call.patch | |||
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.8.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb index 6175ce7281..0c8ec717f5 100644 --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.8.bb +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb | |||
@@ -3,17 +3,13 @@ require e2fsprogs.inc | |||
3 | 3 | ||
4 | SRC_URI += "file://acinclude.m4 \ | 4 | SRC_URI += "file://acinclude.m4 \ |
5 | file://remove.ldconfig.call.patch \ | 5 | file://remove.ldconfig.call.patch \ |
6 | file://debugfs-too-short.patch \ | ||
7 | file://debugfs-sparse-copy.patch \ | ||
8 | file://fix-icache.patch \ | 6 | file://fix-icache.patch \ |
9 | file://debugfs-extent-header.patch \ | ||
10 | file://populate-extfs.sh \ | 7 | file://populate-extfs.sh \ |
11 | file://e2fsprogs-fix-tests-f_extent_oobounds.patch \ | ||
12 | file://quiet-debugfs.patch \ | 8 | file://quiet-debugfs.patch \ |
13 | " | 9 | " |
14 | 10 | ||
15 | SRC_URI[md5sum] = "8ef664b6eb698aa6b733df59b17b9ed4" | 11 | SRC_URI[md5sum] = "3f8e41e63b432ba114b33f58674563f7" |
16 | SRC_URI[sha256sum] = "b984aaf1fe888d6a4cf8c2e8d397207879599b5368f1d33232c1ec9d68d00c97" | 12 | SRC_URI[sha256sum] = "2f92ac06e92fa00f2ada3ee67dad012d74d685537527ad1241d82f2d041f2802" |
17 | 13 | ||
18 | EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-elf-shlibs --disable-libuuid --disable-uuidd" | 14 | EXTRA_OECONF += "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-elf-shlibs --disable-libuuid --disable-uuidd" |
19 | EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs" | 15 | EXTRA_OECONF_darwin = "--libdir=${base_libdir} --sbindir=${base_sbindir} --enable-bsd-shlibs" |
@@ -37,9 +33,7 @@ do_install () { | |||
37 | rm -f ${D}${base_sbindir}/blkid | 33 | rm -f ${D}${base_sbindir}/blkid |
38 | rm -f ${D}${base_sbindir}/fsck | 34 | rm -f ${D}${base_sbindir}/fsck |
39 | rm -f ${D}${base_sbindir}/findfs | 35 | rm -f ${D}${base_sbindir}/findfs |
40 | } | ||
41 | 36 | ||
42 | do_install_append () { | ||
43 | # e2initrd_helper and the pkgconfig files belong in libdir | 37 | # e2initrd_helper and the pkgconfig files belong in libdir |
44 | if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then | 38 | if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then |
45 | install -d ${D}${libdir} | 39 | install -d ${D}${libdir} |