diff options
author | Morgan Little <morgan.little@windriver.com> | 2014-08-14 11:19:42 +0800 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2014-08-15 17:07:02 +0200 |
commit | 0bdefd0660ebd233602925923150e874a78de675 (patch) | |
tree | bf720513249a87b8295629754e1b15fb3e5f21f2 /meta-oe | |
parent | df540b52c77168d864b0ea9dd10bdf5bc1c9bc47 (diff) | |
download | meta-openembedded-0bdefd0660ebd233602925923150e874a78de675.tar.gz |
eject: three fixes
eject-2.1.1-verbose.patch: Kept to help with debugging
eject-2.1.5-spaces.patch: help with spaces in the mount path
eject-timeout.patch: allow a longer timeout
Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe')
4 files changed, 105 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch new file mode 100644 index 000000000..740360606 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | Kept to help with debugging | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Morgan Little <morgan.little@windriver.com> | ||
6 | |||
7 | --- eject-2.1.1/eject.c.tn 2005-08-24 11:27:42.000000000 +0200 | ||
8 | +++ eject-2.1.1/eject.c 2005-08-24 11:33:05.000000000 +0200 | ||
9 | @@ -638,7 +638,9 @@ | ||
10 | unsigned char sense_buffer[32]; | ||
11 | |||
12 | if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { | ||
13 | - printf("not an sg device, or old sg driver\n"); | ||
14 | + if (v_option) { | ||
15 | + printf(_("not an sg device, or old sg driver\n")); | ||
16 | + } | ||
17 | return 0; | ||
18 | } | ||
19 | |||
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch new file mode 100644 index 000000000..a16c4b1ce --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | Kept to help with spaces in the mount path | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Linux mangles spaces in mount points by changing them to an octal string | ||
6 | of '\040'. So lets scan the mount point and fix it up by replacing all | ||
7 | occurrences off '\0##' with the ASCII value of 0##. Requires a writable | ||
8 | string as input as we mangle in place. Some of this was taken from the | ||
9 | util-linux package. | ||
10 | |||
11 | Signed-off-by: Morgan Little <morgan.little@windriver.com> | ||
12 | --- eject/eject.c.ori 2007-06-24 00:08:44 -0700 | ||
13 | +++ eject/eject.c 2007-06-24 00:12:44 -0700 | ||
14 | @@ -370,6 +370,30 @@ | ||
15 | |||
16 | |||
17 | /* | ||
18 | + * Linux mangles spaces in mount points by changing them to an octal string | ||
19 | + * of '\040'. So lets scan the mount point and fix it up by replacing all | ||
20 | + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable | ||
21 | + * string as input as we mangle in place. Some of this was taken from the | ||
22 | + * util-linux package. | ||
23 | + */ | ||
24 | +#define octalify(a) ((a) & 7) | ||
25 | +#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) | ||
26 | +#define isoctal(a) (((a) & ~7) == '0') | ||
27 | +static char *DeMangleMount(char *s) | ||
28 | +{ | ||
29 | + char *tmp = s; | ||
30 | + while ((tmp = strchr(tmp, '\\')) != NULL) { | ||
31 | + if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { | ||
32 | + tmp[0] = tooctal(tmp); | ||
33 | + memmove(tmp+1, tmp+4, strlen(tmp)-3); | ||
34 | + } | ||
35 | + ++tmp; | ||
36 | + } | ||
37 | + return s; | ||
38 | +} | ||
39 | + | ||
40 | + | ||
41 | +/* | ||
42 | * Given name, such as foo, see if any of the following exist: | ||
43 | * | ||
44 | * foo (if foo starts with '.' or '/') | ||
45 | @@ -884,8 +908,8 @@ | ||
46 | if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || | ||
47 | ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { | ||
48 | FCLOSE(fp); | ||
49 | - *deviceName = strdup(s1); | ||
50 | - *mountName = strdup(s2); | ||
51 | + *deviceName = DeMangleMount(strdup(s1)); | ||
52 | + *mountName = DeMangleMount(strdup(s2)); | ||
53 | return 1; | ||
54 | } | ||
55 | } | ||
56 | @@ -928,8 +952,8 @@ | ||
57 | rc = sscanf(line, "%1023s %1023s", s1, s2); | ||
58 | if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { | ||
59 | FCLOSE(fp); | ||
60 | - *deviceName = strdup(s1); | ||
61 | - *mountName = strdup(s2); | ||
62 | + *deviceName = DeMangleMount(strdup(s1)); | ||
63 | + *mountName = DeMangleMount(strdup(s2)); | ||
64 | return 1; | ||
65 | } | ||
66 | } | ||
diff --git a/meta-oe/recipes-support/eject/eject/eject-timeout.patch b/meta-oe/recipes-support/eject/eject/eject-timeout.patch new file mode 100644 index 000000000..de8146f32 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-timeout.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | allow a longer timeout | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Morgan Little <morgan.little@windriver.com> | ||
6 | |||
7 | --- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200 | ||
8 | +++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200 | ||
9 | @@ -723,7 +723,7 @@ | ||
10 | io_hdr.dxfer_len = 0; | ||
11 | io_hdr.dxferp = inqBuff; | ||
12 | io_hdr.sbp = sense_buffer; | ||
13 | - io_hdr.timeout = 2000; | ||
14 | + io_hdr.timeout = 10000; | ||
15 | |||
16 | io_hdr.cmdp = allowRmBlk; | ||
17 | status = ioctl(fd, SG_IO, (void *)&io_hdr); | ||
diff --git a/meta-oe/recipes-support/eject/eject_2.1.5.bb b/meta-oe/recipes-support/eject/eject_2.1.5.bb index 95345776b..0440f0c37 100644 --- a/meta-oe/recipes-support/eject/eject_2.1.5.bb +++ b/meta-oe/recipes-support/eject/eject_2.1.5.bb | |||
@@ -7,6 +7,9 @@ inherit autotools gettext update-alternatives | |||
7 | 7 | ||
8 | SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \ | 8 | SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \ |
9 | file://eject-2.1.5-error-return.patch \ | 9 | file://eject-2.1.5-error-return.patch \ |
10 | file://eject-2.1.1-verbose.patch \ | ||
11 | file://eject-2.1.5-spaces.patch \ | ||
12 | file://eject-timeout.patch \ | ||
10 | " | 13 | " |
11 | 14 | ||
12 | SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738" | 15 | SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738" |