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" | ||
