eudev: add new package
eudev is a fork of systemd-udev which doesn't require all the rest of systemd. It's suitable for running along with OpenWrt's procd, eplacing the very outdated version of pre-systemd udev. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
a91a6f5b5a
commit
13d7efa13f
4 changed files with 235 additions and 0 deletions
68
utils/eudev/Config.in
Normal file
68
utils/eudev/Config.in
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# udev package config
|
||||||
|
|
||||||
|
menu "Configuration"
|
||||||
|
depends on PACKAGE_eudev
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_ata_id
|
||||||
|
bool "Install eudev ata_id callout"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
ata_id - udev callout to read product/serial number
|
||||||
|
from ATA drives
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_blkid
|
||||||
|
bool "Use blkid to identify block devices"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
blkid - make use of libblkid to identify block devices
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_cdrom_id
|
||||||
|
bool "Install eudev cdrom_id callout"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
cdrom_id - udev callout to determine the capabilities
|
||||||
|
of optical drives and media
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_collect
|
||||||
|
bool "Install eudev collect"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Adds ID to the list governed by <checkpoint>
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_input_id
|
||||||
|
bool "Install input_id callout"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
input_id - udev callout to classify input devices
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_kmod
|
||||||
|
bool "Use kmod for loading kernel modules"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
kmod - make use of kmod to load kernel modules on demand
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_mtd_probe
|
||||||
|
bool "Install mtd_probe callout"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
mtd_probe - udev callout to probe mtd devices
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_rule_generator
|
||||||
|
bool "Install (legacy) eudev rule_generator"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_scsi_id
|
||||||
|
bool "Install eudev scsi_id callout"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
scsi_id - retrieve and generate a unique SCSI identifier
|
||||||
|
|
||||||
|
config EUDEV_EXTRA_v4l_id
|
||||||
|
bool "Install eudev v4l_id callout"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
v4l_id - udev callout to identify Video4Linux devices
|
||||||
|
|
||||||
|
|
||||||
|
endmenu
|
140
utils/eudev/Makefile
Normal file
140
utils/eudev/Makefile
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006-2008 OpenWrt.org
|
||||||
|
#
|
||||||
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
|
# See /LICENSE for more information.
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=eudev
|
||||||
|
PKG_VERSION:=3.1.5
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=http://dev.gentoo.org/~blueness/eudev/
|
||||||
|
PKG_MD5SUM:=c4dace42deecede102b6c01904042acc
|
||||||
|
PKG_LICENSE:=GPL-2.0
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:=gperf/host
|
||||||
|
PKG_FIXUP:=autoreconf
|
||||||
|
PKG_INSTALL=1
|
||||||
|
|
||||||
|
define Package/eudev
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Base system
|
||||||
|
TITLE:=Dynamic device management subsystem
|
||||||
|
URL:=https://wiki.gentoo.org/wiki/Project:Eudev
|
||||||
|
MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
||||||
|
MENU:=1
|
||||||
|
DEPENDS:=+librt +EUDEV_EXTRA_blkid:libblkid +EUDEV_EXTRA_kmod:libkmod
|
||||||
|
PROVIDES:=udev
|
||||||
|
CONFLICTS:=udev
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/eudev/description
|
||||||
|
udev allows Linux users to have a dynamic /dev directory and it
|
||||||
|
provides the ability to have persistent device names.
|
||||||
|
eudev is a fork of systemd-udev with the goal of obtaining better
|
||||||
|
compatibility with existing software such as OpenRC and Upstart, older
|
||||||
|
kernels, various toolchains and anything else required by users and
|
||||||
|
various distributions.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/eudev/conffiles
|
||||||
|
/etc/udev/udev.conf
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/eudev/config
|
||||||
|
source "$(SOURCE)/Config.in"
|
||||||
|
endef
|
||||||
|
|
||||||
|
CONFIGURE_ARGS += \
|
||||||
|
--prefix=/usr --exec-prefix= --sysconfdir=/etc \
|
||||||
|
--libexecdir=/lib/udev --sbindir=/sbin \
|
||||||
|
--disable-hwdb --disable-introspection --disable-manpages \
|
||||||
|
--disable-selinux \
|
||||||
|
$(if $(CONFIG_EUDEV_EXTRA_blkid),--enable-blkid,--disable-blkid) \
|
||||||
|
$(if $(CONFIG_EUDEV_EXTRA_kmod),--enable-kmod,--disable-kmod)
|
||||||
|
|
||||||
|
|
||||||
|
eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_ata_id) += ata_id
|
||||||
|
|
||||||
|
eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_blkid) += 60-persistent-storage.rules
|
||||||
|
|
||||||
|
eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_cdrom_id) += cdrom_id
|
||||||
|
eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_cdrom_id) += 60-cdrom_id.rules
|
||||||
|
|
||||||
|
eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_collect) += collect
|
||||||
|
|
||||||
|
eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_input_id) += 60-persistent-input.rules
|
||||||
|
|
||||||
|
eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_mtd_probe) += mtd_probe
|
||||||
|
eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_mtd_probe) += 75-probe_mtd.rules
|
||||||
|
|
||||||
|
eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_scsi_id) += scsi_id
|
||||||
|
|
||||||
|
eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_v4l_id) += v4l_id
|
||||||
|
eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_v4l_id) += 60-persistent-v4l.rules
|
||||||
|
|
||||||
|
define Build/InstallDev
|
||||||
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/libudev.h $(1)/usr/include
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/pkgconfig
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/udev.pc $(1)/usr/share/pkgconfig
|
||||||
|
$(INSTALL_DIR) $(1)/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/lib/pkgconfig/libudev.pc $(1)/usr/lib/pkgconfig
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/eudev/install
|
||||||
|
$(INSTALL_DIR) $(1)/etc/udev/rules.d
|
||||||
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/udev/udev.conf $(1)/etc/udev
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/sbin
|
||||||
|
$(INSTALL_BIN) \
|
||||||
|
$(PKG_INSTALL_DIR)/usr/bin/udevadm \
|
||||||
|
$(PKG_INSTALL_DIR)/sbin/udevd \
|
||||||
|
$(1)/sbin
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/lib/udev/rules.d
|
||||||
|
$(INSTALL_DATA) \
|
||||||
|
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/rules.d/, \
|
||||||
|
$(eudev-extra-rules-y)) \
|
||||||
|
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/rules.d/, \
|
||||||
|
50-udev-default.rules \
|
||||||
|
60-block.rules \
|
||||||
|
60-drm.rules \
|
||||||
|
60-evdev.rules \
|
||||||
|
60-persistent-alsa.rules \
|
||||||
|
60-persistent-storage-tape.rules \
|
||||||
|
60-serial.rules \
|
||||||
|
64-btrfs.rules \
|
||||||
|
70-mouse.rules \
|
||||||
|
75-net-description.rules \
|
||||||
|
78-sound-card.rules \
|
||||||
|
80-net-name-slot.rules) \
|
||||||
|
$(1)/lib/udev/rules.d
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/lib/udev
|
||||||
|
ifneq ($(eudev-extra-lib-bin-y),)
|
||||||
|
$(INSTALL_BIN) \
|
||||||
|
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/, \
|
||||||
|
$(eudev-extra-lib-bin-y)) \
|
||||||
|
$(1)/lib/udev/
|
||||||
|
endif
|
||||||
|
ifneq ($(eudev-extra-lib-data-y),)
|
||||||
|
$(INSTALL_DATA) \
|
||||||
|
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/, \
|
||||||
|
$(eudev-extra-lib-data-y)) \
|
||||||
|
$(1)/lib/udev/
|
||||||
|
endif
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,eudev))
|
15
utils/eudev/patches/0003-add_btn_trigger_happy_define.patch
Normal file
15
utils/eudev/patches/0003-add_btn_trigger_happy_define.patch
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Index: eudev-3.1.5/src/udev/udev-builtin-input_id.c
|
||||||
|
===================================================================
|
||||||
|
--- eudev-3.1.5.orig/src/udev/udev-builtin-input_id.c
|
||||||
|
+++ eudev-3.1.5/src/udev/udev-builtin-input_id.c
|
||||||
|
@@ -33,6 +33,10 @@
|
||||||
|
#include "udev.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
+#ifndef BTN_TRIGGER_HAPPY
|
||||||
|
+#define BTN_TRIGGER_HAPPY 0x2c0
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* we must use this kernel-compatible implementation */
|
||||||
|
#define BITS_PER_LONG (sizeof(unsigned long) * 8)
|
||||||
|
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
|
12
utils/eudev/patches/0004-mtd_probe-uses-stdint_h.patch
Normal file
12
utils/eudev/patches/0004-mtd_probe-uses-stdint_h.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Index: eudev-3.1.5/src/mtd_probe/mtd_probe.h
|
||||||
|
===================================================================
|
||||||
|
--- eudev-3.1.5.orig/src/mtd_probe/mtd_probe.h
|
||||||
|
+++ eudev-3.1.5/src/mtd_probe/mtd_probe.h
|
||||||
|
@@ -18,6 +18,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <mtd/mtd-user.h>
|
||||||
|
+#include <stdint.h>
|
||||||
|
|
||||||
|
#include "macro.h"
|
||||||
|
|
Loading…
Reference in a new issue