summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorgan Little <morgan.little@windriver.com>2014-08-14 11:19:42 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2014-08-15 17:07:02 +0200
commit0bdefd0660ebd233602925923150e874a78de675 (patch)
treebf720513249a87b8295629754e1b15fb3e5f21f2
parentdf540b52c77168d864b0ea9dd10bdf5bc1c9bc47 (diff)
downloadmeta-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>
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch19
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch66
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-timeout.patch17
-rw-r--r--meta-oe/recipes-support/eject/eject_2.1.5.bb3
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 @@
1Kept to help with debugging
2
3Upstream-Status: Pending
4
5Signed-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 @@
1Kept to help with spaces in the mount path
2
3Upstream-Status: Backport
4
5Linux mangles spaces in mount points by changing them to an octal string
6of '\040'. So lets scan the mount point and fix it up by replacing all
7occurrences off '\0##' with the ASCII value of 0##. Requires a writable
8string as input as we mangle in place. Some of this was taken from the
9util-linux package.
10
11Signed-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 @@
1allow a longer timeout
2
3Upstream-Status: Backport
4
5Signed-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
8SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \ 8SRC_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
12SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738" 15SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738"