diff options
author | Ross Burton <ross.burton@intel.com> | 2017-11-13 13:21:26 +0000 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2018-06-22 10:52:33 -0700 |
commit | 38d1327debd2bb4a0affe1492e5a885eda7583ad (patch) | |
tree | 0fe904ffadb8b92aaec9c5b38d8655bef172b2eb | |
parent | a7c45eb0375eb4000aaa3cd752b697042cab0bf1 (diff) | |
download | meta-openembedded-38d1327debd2bb4a0affe1492e5a885eda7583ad.tar.gz |
pcmciautils: add (from oe-core)
Modern hardware doesn't really use PCMCIA so the support has been moved out of
oe-core. Move into meta-oe for people who still want it.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
4 files changed, 206 insertions, 0 deletions
diff --git a/meta-oe/recipes-bsp/pcmciautils/pcmciautils/lex_sys_types.patch b/meta-oe/recipes-bsp/pcmciautils/pcmciautils/lex_sys_types.patch new file mode 100644 index 0000000000..d4c2bed15c --- /dev/null +++ b/meta-oe/recipes-bsp/pcmciautils/pcmciautils/lex_sys_types.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | Include sys/types.h for u_long definition | ||
2 | |||
3 | Fix errors like | ||
4 | In file included from src/lex_config.l:34:0: | ||
5 | src/yacc_config.y:45:5: error: unknown type name 'u_long' | ||
6 | u_long num; | ||
7 | |||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | Upstream-Status: Pending | ||
10 | Index: pcmciautils-018/src/lex_config.l | ||
11 | =================================================================== | ||
12 | --- pcmciautils-018.orig/src/lex_config.l | ||
13 | +++ pcmciautils-018/src/lex_config.l | ||
14 | @@ -22,6 +22,7 @@ | ||
15 | #include <unistd.h> | ||
16 | #include <string.h> | ||
17 | #include <syslog.h> | ||
18 | +#include <sys/types.h> | ||
19 | |||
20 | #ifdef HAS_WORDEXP | ||
21 | #include <wordexp.h> | ||
diff --git a/meta-oe/recipes-bsp/pcmciautils/pcmciautils/makefile_fix.patch b/meta-oe/recipes-bsp/pcmciautils/pcmciautils/makefile_fix.patch new file mode 100644 index 0000000000..7b0ce21194 --- /dev/null +++ b/meta-oe/recipes-bsp/pcmciautils/pcmciautils/makefile_fix.patch | |||
@@ -0,0 +1,101 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Hardcoded paths are bad... | ||
4 | This lets us use the install from OE's native sysroot | ||
5 | rebase the patch to 018, removing hardcoded path for true | ||
6 | as well. Removing of -D in install invocation is a little | ||
7 | questionable, is it some GNU extention? | ||
8 | |||
9 | -Khem Raj <raj.khem@gmail.com> | ||
10 | |||
11 | Index: pcmciautils-018/Makefile | ||
12 | =================================================================== | ||
13 | --- pcmciautils-018.orig/Makefile | ||
14 | +++ pcmciautils-018/Makefile | ||
15 | @@ -76,7 +76,7 @@ sbindir = ${exec_prefix}/sbin | ||
16 | mandir = ${prefix}/usr/share/man | ||
17 | udevdir = ${prefix}/lib/udev | ||
18 | |||
19 | -INSTALL = /usr/bin/install -c | ||
20 | +INSTALL = install -c | ||
21 | INSTALL_PROGRAM = ${INSTALL} | ||
22 | INSTALL_DATA = ${INSTALL} -m 644 | ||
23 | INSTALL_SCRIPT = ${INSTALL_PROGRAM} | ||
24 | @@ -180,7 +180,7 @@ endif | ||
25 | # if DEBUG is enabled, then we do not strip or optimize | ||
26 | ifeq ($(strip $(DEBUG)),true) | ||
27 | CFLAGS += -O1 -g -DDEBUG -D_GNU_SOURCE | ||
28 | - STRIPCMD = /bin/true -Since_we_are_debugging | ||
29 | + STRIPCMD = true -Since_we_are_debugging | ||
30 | else | ||
31 | CFLAGS += $(OPTIMIZATION) -fomit-frame-pointer -D_GNU_SOURCE | ||
32 | STRIPCMD = $(STRIP) -s --remove-section=.note --remove-section=.comment | ||
33 | @@ -273,30 +273,32 @@ clean: | ||
34 | |||
35 | install-hotplug: | ||
36 | $(INSTALL) -d $(DESTDIR)$(hotplugdir) | ||
37 | - $(INSTALL_PROGRAM) -D hotplug/pcmcia.agent $(DESTDIR)$(hotplugdir)/pcmcia.agent | ||
38 | - $(INSTALL_PROGRAM) -D hotplug/pcmcia.rc $(DESTDIR)$(hotplugdir)/pcmcia.rc | ||
39 | + $(INSTALL_PROGRAM) hotplug/pcmcia.agent $(DESTDIR)$(hotplugdir)/pcmcia.agent | ||
40 | + $(INSTALL_PROGRAM) hotplug/pcmcia.rc $(DESTDIR)$(hotplugdir)/pcmcia.rc | ||
41 | |||
42 | uninstall-hotplug: | ||
43 | - rm -f $(DESTDIR)$(hotplugdir)/pcmcia.agent $(DESTDIR)$(hotplugdir)/pcmcia.rc | ||
44 | |||
45 | install-socket-hotplug: | ||
46 | - $(INSTALL_PROGRAM) -D hotplug/pcmcia_socket.agent $(DESTDIR)$(hotplugdir)/pcmcia_socket.agent | ||
47 | - $(INSTALL_PROGRAM) -D hotplug/pcmcia_socket.rc $(DESTDIR)$(hotplugdir)/pcmcia_socket.rc | ||
48 | + $(INSTALL_PROGRAM) hotplug/pcmcia_socket.agent $(DESTDIR)$(hotplugdir)/pcmcia_socket.agent | ||
49 | + $(INSTALL_PROGRAM) hotplug/pcmcia_socket.rc $(DESTDIR)$(hotplugdir)/pcmcia_socket.rc | ||
50 | |||
51 | uninstall-socket-hotplug: | ||
52 | - rm -f $(DESTDIR)$(hotplugdir)/pcmcia_socket.agent $(DESTDIR)$(hotplugdir)/pcmcia_socket.rc | ||
53 | |||
54 | install-socket-tools: | ||
55 | - $(INSTALL_PROGRAM) -D $(PCMCIA_SOCKET_STARTUP) $(DESTDIR)$(udevhelperdir)/$(PCMCIA_SOCKET_STARTUP) | ||
56 | + $(INSTALL) -d $(DESTDIR)$(udevhelperdir) | ||
57 | + $(INSTALL_PROGRAM) $(PCMCIA_SOCKET_STARTUP) $(DESTDIR)$(udevhelperdir)/$(PCMCIA_SOCKET_STARTUP) | ||
58 | |||
59 | uninstall-socket-tools: | ||
60 | - rm -f $(DESTDIR)$(udevhelperdir)/$(PCMCIA_SOCKET_STARTUP) | ||
61 | |||
62 | install-tools: | ||
63 | $(INSTALL) -d $(DESTDIR)$(sbindir) | ||
64 | - $(INSTALL_PROGRAM) -D $(PCCARDCTL) $(DESTDIR)$(sbindir)/$(PCCARDCTL) | ||
65 | + $(INSTALL) -d $(DESTDIR)$(udevhelperdir) | ||
66 | + $(INSTALL_PROGRAM) $(PCCARDCTL) $(DESTDIR)$(sbindir)/$(PCCARDCTL) | ||
67 | $(SYMLINK) $(PCCARDCTL) $(DESTDIR)$(sbindir)/$(LSPCMCIA) | ||
68 | - $(INSTALL_PROGRAM) -D $(PCMCIA_CHECK_BROKEN_CIS) $(DESTDIR)$(udevhelperdir)/$(PCMCIA_CHECK_BROKEN_CIS) | ||
69 | + $(INSTALL_PROGRAM) $(PCMCIA_CHECK_BROKEN_CIS) $(DESTDIR)$(udevhelperdir)/$(PCMCIA_CHECK_BROKEN_CIS) | ||
70 | |||
71 | uninstall-tools: | ||
72 | - rm -f $(DESTDIR)$(sbindir)/$(PCCARDCTL) | ||
73 | @@ -305,22 +307,24 @@ uninstall-tools: | ||
74 | |||
75 | install-config: | ||
76 | $(INSTALL) -d $(DESTDIR)$(pcmciaconfdir) | ||
77 | - $(INSTALL_DATA) -D config/config.opts $(DESTDIR)$(pcmciaconfdir)/config.opts | ||
78 | + $(INSTALL_DATA) config/config.opts $(DESTDIR)$(pcmciaconfdir)/config.opts | ||
79 | if [ -f config/config.opts.$(ARCH) ]; then \ | ||
80 | - $(INSTALL_DATA) -D config/config.opts.$(ARCH) $(DESTDIR)$(pcmciaconfdir)/config.opts; \ | ||
81 | + $(INSTALL_DATA) config/config.opts.$(ARCH) $(DESTDIR)$(pcmciaconfdir)/config.opts; \ | ||
82 | fi | ||
83 | |||
84 | uninstall-config: | ||
85 | # - rm -f $(DESTDIR)$(pcmciaconfdir)/config.opts | ||
86 | |||
87 | install-udev: | ||
88 | - $(INSTALL_DATA) -D $(UDEV_RULES_FILE) $(DESTDIR)$(udevrulesdir)/60-pcmcia.rules | ||
89 | + $(INSTALL) -d $(DESTDIR)$(udevrulesdir) | ||
90 | + $(INSTALL_DATA) $(UDEV_RULES_FILE) $(DESTDIR)$(udevrulesdir)/60-pcmcia.rules | ||
91 | |||
92 | uninstall-udev: | ||
93 | - rm -f $(DESTDIR)$(udevrulesdir)/60-pcmcia.rules | ||
94 | |||
95 | install-man: | ||
96 | - $(INSTALL_DATA) -D man/man8/pccardctl.8 $(DESTDIR)$(mandir)/man8/pccardctl.8 | ||
97 | + $(INSTALL) -d $(DESTDIR)$(mandir)/man8 | ||
98 | + $(INSTALL_DATA) man/man8/pccardctl.8 $(DESTDIR)$(mandir)/man8/pccardctl.8 | ||
99 | $(SYMLINK) pccardctl.8 $(DESTDIR)$(mandir)/man8/lspcmcia.8 | ||
100 | |||
101 | uninstall-man: | ||
diff --git a/meta-oe/recipes-bsp/pcmciautils/pcmciautils/makefile_race.patch b/meta-oe/recipes-bsp/pcmciautils/pcmciautils/makefile_race.patch new file mode 100644 index 0000000000..f5a518ff73 --- /dev/null +++ b/meta-oe/recipes-bsp/pcmciautils/pcmciautils/makefile_race.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | "make src/lex_config.o" | ||
2 | |||
3 | results in: | ||
4 | |||
5 | src/lex_config.l:35:25: fatal error: yacc_config.h: No such file or directory | ||
6 | |||
7 | so add missing dependency through a missing rule. Also remove a rule which | ||
8 | doesn't appear to do anything. | ||
9 | |||
10 | RP | ||
11 | 2016/1/31 | ||
12 | |||
13 | Upstream-Status: Pending | ||
14 | |||
15 | Index: pcmciautils-018/Makefile | ||
16 | =================================================================== | ||
17 | --- pcmciautils-018.orig/Makefile | ||
18 | +++ pcmciautils-018/Makefile | ||
19 | @@ -249,6 +249,9 @@ $(PCMCIA_SOCKET_STARTUP): $(LIBC) src/st | ||
20 | yacc_config.o lex_config.o: %.o: %.c src/yacc_config.h | ||
21 | $(CC) -c -MD -O -pipe $(CPPFLAGS) $< | ||
22 | |||
23 | +src/lex_config.o : src/lex_config.c src/yacc_config.h | ||
24 | + $(QUIET) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< | ||
25 | + | ||
26 | debugtools: ccdv $(CBDUMP) $(CISDUMP) | ||
27 | |||
28 | $(CBDUMP): $(LIBC) debug/cbdump.o | ||
29 | Index: pcmciautils-018/Makefile | ||
30 | =================================================================== | ||
31 | --- pcmciautils-018.orig/Makefile | ||
32 | +++ pcmciautils-018/Makefile | ||
33 | @@ -246,8 +246,8 @@ $(PCMCIA_SOCKET_STARTUP): $(LIBC) src/st | ||
34 | $(QUIET) $(LD) $(LDFLAGS) -o $@ $(CRT0) src/startup.o src/yacc_config.o src/lex_config.o $(LIB_OBJS) $(ARCH_LIB_OBJS) | ||
35 | $(QUIET) $(STRIPCMD) $@ | ||
36 | |||
37 | -yacc_config.o lex_config.o: %.o: %.c | ||
38 | - $(CC) -c -MD -O -pipe $(CPPFLAGS) $< | ||
39 | +src/lex_config.o : src/lex_config.c src/yacc_config.h ccdv | ||
40 | + $(QUIET) $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< | ||
41 | |||
42 | debugtools: ccdv $(CBDUMP) $(CISDUMP) | ||
43 | |||
diff --git a/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb b/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb new file mode 100644 index 0000000000..2e59f05c2c --- /dev/null +++ b/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb | |||
@@ -0,0 +1,41 @@ | |||
1 | SUMMARY = "Linux kernel userland utilities for the PCMCIA subsystem" | ||
2 | HOMEPAGE = "https://www.kernel.org/pub/linux/utils/kernel/pcmcia/" | ||
3 | SECTION = "kernel/userland" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
7 | |||
8 | DEPENDS = "udev sysfsutils flex-native" | ||
9 | RDEPENDS_${PN} = "udev module-init-tools" | ||
10 | |||
11 | PR = "r1" | ||
12 | |||
13 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/pcmcia/${BP}.tar.xz \ | ||
14 | file://makefile_fix.patch \ | ||
15 | file://makefile_race.patch \ | ||
16 | file://lex_sys_types.patch \ | ||
17 | " | ||
18 | |||
19 | SRC_URI[md5sum] = "885431c3cefb76ffdad8cb985134e996" | ||
20 | SRC_URI[sha256sum] = "57c27be8f04ef4d535bcfa988567316cc57659fe69068327486dab53791e6558" | ||
21 | |||
22 | inherit pkgconfig | ||
23 | |||
24 | export HOSTCC = "${BUILD_CC}" | ||
25 | export etcdir = "${sysconfdir}" | ||
26 | export sbindir = "${base_sbindir}" | ||
27 | export pcmciaconfdir = "${sysconfdir}/pcmcia" | ||
28 | export udevdir = "`pkg-config --variable=udevdir udev`" | ||
29 | export udevrulesdir = "`pkg-config --variable=udevdir udev`/rules.d" | ||
30 | export UDEV = "1" | ||
31 | LD = "${CC}" | ||
32 | CFLAGS =+ "-I${S}/src" | ||
33 | CFLAGS =+ "-DPCMCIAUTILS_VERSION=\\"${PV}\\"" | ||
34 | |||
35 | EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs' 'LEX=flex'" | ||
36 | |||
37 | do_install () { | ||
38 | oe_runmake 'DESTDIR=${D}' install | ||
39 | } | ||
40 | |||
41 | CONFFILES_${PN} += "${sysconfdir}/pcmcia/config.opts" | ||