在openwrt-cgminer\allcode\openwrt\feeds\packages\utils路徑下增加eudev文件夾

eudev目錄下有一些patches、配置文件以及makefile文件

Makefile文件中會說明安裝包的一些信息:
#
# 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.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://dev.gentoo.org/~blueness/eudev/
PKG_MD5SUM:=7e42d9b9ed8162021665139520676367
PKG_LICENSE:=GPL-2.0
include $(INCLUDE_DIR)/package.mk
PKG_BUILD_DEPENDS:=gperf/host
PKG_FIXUP:=autoreconf
PKG_INSTALL=1
define Package/libudev
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Dynamic device management subsystem
URL:=https://wiki.gentoo.org/wiki/Project:Eudev
MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
endef
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:=+EUDEV_EXTRA_blkid:libblkid +EUDEV_EXTRA_kmod:libkmod +librt +libudev
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/libudev/install
$(INSTALL_DIR) $(1)/lib
$(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib
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
ifneq ($(eudev-extra-lib-bin-y),)
$(INSTALL_BIN) \
$(addprefix $(PKG_INSTALL_DIR)/lib/udev/, \
$(eudev-extra-lib-bin-y)) \
$(1)/lib/udev/
endif
endef
$(eval $(call BuildPackage,eudev))
$(eval $(call BuildPackage,libudev))
具體makefile文件編寫的格式可參考:
https://www.freesion.com/article/3323420807/
這個eudev文件是我從其他源碼中拷貝的。
然后執行下面兩條命令:
./script/feeds update packages
./script/feeds install -a -p packages
在執行第二條命令時就可以看到打印信息顯示eudev安裝成功。
這個時候make menuconfig進去libraries項可以看到libudev的配置。
在.packageinfo文件中也可以看到這個庫的具體信息:

從上述信息可以看出安裝包名字為eudev-3.2.tar.gz。此時我會拷貝一個eudev包到dl文件夾中去,在編譯時就會直接使用,不用編譯時才下,縮短編譯時間。
