Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,27 @@
From 433ffb21119a0f39e882dd3fea4742e64aadcc40 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 11 Aug 2018 09:56:40 -0700
Subject: [PATCH] eject: Include sys/sysmacros.h for major/minor
Fixes
arm-bec-linux-gnueabi/gcc/arm-bec-linux-gnueabi/8.2.0/ld: eject.o: in function `GetMajorMinor':
/usr/src/debug/eject/2.1.5-r1/eject-2.1.5/../../../../../../../workspace/sources/eject/eject.c:866: undefined reference to `major'
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
eject.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/eject.c b/eject.c
index 47e09fe..b171218 100644
--- a/eject.c
+++ b/eject.c
@@ -54,6 +54,7 @@
#include <sys/wait.h>
#include <sys/mtio.h>
#include <sys/mount.h>
+#include <sys/sysmacros.h>
#if defined(__linux__)
#include <linux/version.h>
@@ -0,0 +1,19 @@
Kept to help with debugging
Upstream-Status: Pending
Signed-off-by: Morgan Little <morgan.little@windriver.com>
--- eject-2.1.1/eject.c.tn 2005-08-24 11:27:42.000000000 +0200
+++ eject-2.1.1/eject.c 2005-08-24 11:33:05.000000000 +0200
@@ -638,7 +638,9 @@
unsigned char sense_buffer[32];
if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) {
- printf("not an sg device, or old sg driver\n");
+ if (v_option) {
+ printf(_("not an sg device, or old sg driver\n"));
+ }
return 0;
}
@@ -0,0 +1,12 @@
Upstream-Status: Inappropriate [the upstream is no longer active]
--- eject/eject.c.orig 2013-09-11 18:08:36.000000000 +0800
+++ eject/eject.c 2013-09-11 18:09:05.000000000 +0800
@@ -207,7 +207,6 @@
"If omitted, name defaults to `%s'.\n"
"By default tries -r, -s, -f, and -q in order until success.\n"),
DEFAULTDEVICE);
- exit(1);
}
@@ -0,0 +1,66 @@
Kept to help with spaces in the mount path
Upstream-Status: Backport
Linux mangles spaces in mount points by changing them to an octal string
of '\040'. So lets scan the mount point and fix it up by replacing all
occurrences off '\0##' with the ASCII value of 0##. Requires a writable
string as input as we mangle in place. Some of this was taken from the
util-linux package.
Signed-off-by: Morgan Little <morgan.little@windriver.com>
--- eject/eject.c.ori 2007-06-24 00:08:44 -0700
+++ eject/eject.c 2007-06-24 00:12:44 -0700
@@ -370,6 +370,30 @@
/*
+ * Linux mangles spaces in mount points by changing them to an octal string
+ * of '\040'. So lets scan the mount point and fix it up by replacing all
+ * occurrences off '\0##' with the ASCII value of 0##. Requires a writable
+ * string as input as we mangle in place. Some of this was taken from the
+ * util-linux package.
+ */
+#define octalify(a) ((a) & 7)
+#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3]))
+#define isoctal(a) (((a) & ~7) == '0')
+static char *DeMangleMount(char *s)
+{
+ char *tmp = s;
+ while ((tmp = strchr(tmp, '\\')) != NULL) {
+ if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) {
+ tmp[0] = tooctal(tmp);
+ memmove(tmp+1, tmp+4, strlen(tmp)-3);
+ }
+ ++tmp;
+ }
+ return s;
+}
+
+
+/*
* Given name, such as foo, see if any of the following exist:
*
* foo (if foo starts with '.' or '/')
@@ -884,8 +908,8 @@
if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) ||
((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) {
FCLOSE(fp);
- *deviceName = strdup(s1);
- *mountName = strdup(s2);
+ *deviceName = DeMangleMount(strdup(s1));
+ *mountName = DeMangleMount(strdup(s2));
return 1;
}
}
@@ -928,8 +952,8 @@
rc = sscanf(line, "%1023s %1023s", s1, s2);
if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) {
FCLOSE(fp);
- *deviceName = strdup(s1);
- *mountName = strdup(s2);
+ *deviceName = DeMangleMount(strdup(s1));
+ *mountName = DeMangleMount(strdup(s2));
return 1;
}
}
@@ -0,0 +1,17 @@
allow a longer timeout
Upstream-Status: Backport
Signed-off-by: Morgan Little <morgan.little@windriver.com>
--- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200
+++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200
@@ -723,7 +723,7 @@
io_hdr.dxfer_len = 0;
io_hdr.dxferp = inqBuff;
io_hdr.sbp = sense_buffer;
- io_hdr.timeout = 2000;
+ io_hdr.timeout = 10000;
io_hdr.cmdp = allowRmBlk;
status = ioctl(fd, SG_IO, (void *)&io_hdr);
@@ -0,0 +1,38 @@
DESCRIPTION = "Eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) to be ejected under software control."
HOMEPAGE = "http://eject.sourceforge.net/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
inherit autotools gettext update-alternatives
SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \
file://eject-2.1.5-error-return.patch \
file://eject-2.1.1-verbose.patch \
file://eject-2.1.5-spaces.patch \
file://eject-timeout.patch \
file://0001-eject-Include-sys-sysmacros.h-for-major-minor.patch \
"
SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738"
SRC_URI[sha256sum] = "ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e2ffe55"
S = "${WORKDIR}/${BPN}"
PR = "r1"
do_compile:prepend() {
# PO subdir must be in build directory
if [ ! ${S} = ${B} ]; then
mkdir -p ${B}/po
cp -r ${S}/po/* ${B}/po/
fi
}
ALTERNATIVE:${PN} = "volname eject"
ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname"
ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
ALTERNATIVE_PRIORITY[volname] = "100"
ALTERNATIVE_PRIORITY[eject] = "100"
ALTERNATIVE:${PN}-doc = "eject.1"
ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"