挂钩可用于各种构建步骤、

一条挂钩(命令的集合体),就是一次执行行为(包含若干条命令),所谓挂钩,就是把几个动作关联起来,对外界看起来就是一个整体,

通用的基础结构(以及衍生的autotools和cmake基础结构)允许包指定钩子。这些定义了在现有步骤后执行的进一步操作。大多数钩子对于通用包来说并不是很有用,因为这个.mk 文件已经完全控制了包构造的每一步执行的动作。

以下钩点可用:

  • LIBFOO_PRE_DOWNLOAD_HOOKS
  • LIBFOO_POST_DOWNLOAD_HOOKS
  • LIBFOO_PRE_EXTRACT_HOOKS
  • LIBFOO_POST_EXTRACT_HOOKS
  • LIBFOO_PRE_RSYNC_HOOKS
  • LIBFOO_POST_RSYNC_HOOKS
  • LIBFOO_PRE_PATCH_HOOKS
  • LIBFOO_POST_PATCH_HOOKS
  • LIBFOO_PRE_CONFIGURE_HOOKS
  • LIBFOO_POST_CONFIGURE_HOOKS
  • LIBFOO_PRE_BUILD_HOOKS
  • LIBFOO_POST_BUILD_HOOKS
  • LIBFOO_PRE_INSTALL_HOOKS (仅适用于主机包)
  • LIBFOO_POST_INSTALL_HOOKS (仅适用于主机包)
  • LIBFOO_PRE_INSTALL_STAGING_HOOKS (仅适用于目标包)
  • LIBFOO_POST_INSTALL_STAGING_HOOKS (仅适用于目标包)
  • LIBFOO_PRE_INSTALL_TARGET_HOOKS (仅适用于目标包)
  • LIBFOO_POST_INSTALL_TARGET_HOOKS (仅适用于目标包)
  • LIBFOO_PRE_INSTALL_IMAGES_HOOKS
  • LIBFOO_POST_INSTALL_IMAGES_HOOKS
  • LIBFOO_PRE_LEGAL_INFO_HOOKS
  • LIBFOO_POST_LEGAL_INFO_HOOKS

这些变量是包含要在此挂钩点执行的操作的变量名称列表这允许在给定的钩点处注册多个钩子。这里是一个例子:

define LIBFOO_POST_PATCH_FIXUP
        action1
        action2
endef

LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP在给定的钩点追加新的内容(钩子也是一个变量)

第23章Makedev语法文档

makedev语法在Buildroot的几个地方使用,以定义对权限进行的更改,或者要创建的设备文件以及如何创建它们,以避免调用mknod

该语法是从makedev实用程序派生而来的,并且可以在package/makedevs/README文件中找到更完整的文档

格式如下:

name

type

mode

uid

gid

major

minor

start

inc

count

  • name 是要创建/修改的文件的路径
  • type 是文件的类型,是以下之一:

    • f:常规文件
    • d:一个目录
    • r:一个目录递归
    • c:字符设备文件
    • b:块设备文件
    • p:一个命名管道
  • mode 是通常的权限设置(只允许数值)
  • uid并且gid是在此文件上设置的UID和GID; 可以是数字值或实际名称
  • majorminor在这里设备文件,设置-为其他文件
  • startinc并且count是当你想创建一个批处理文件,并可以降低到一个循环,在开始start,通过增加其计数器inc,直至到达count
假设您想要更改给定文件的权限; 使用这个语法,你需要写:
/usr/bin/foo f 755 0 0 - - - - - 第一种写法
/usr/bin/bar f 755 root root - - - - - 第二种写法
/data/buz f 644 buz-user buz-group - - - - -
如果要递归更改目录的所有者/许可权,可以写入(将UID设置为foo,将GID设置为禁止并访问rwxr-x的权限---目录/ usr / share / myapp和所有文件和它下面的目录)
/usr/share/myapp r 750 foo bar - - - - -
如果您要为 /dev/hda  分区创建设备文件和相应的15个块设备文件,则需要 先创建 /dev/hda设备文件
/dev/hda b 640 root root 3 0 0 0 -
对应于分区设备文件 /dev/hda,创建15个/dev/hdaX设备文件X范围从1到15
/dev/hda b 640 root root 3 1 1 1 15

如果BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES启用,则支持扩展属性 这是通过|xattr在描述文件的行后面添加一行来完成的现在,只有功能被支持作为扩展属性。

  
  

| XATTR

能力

  • |xattr 是一个表示扩展属性的“标志”
  • capability 是添加到前一个文件的功能
如果您想将cap_sys_admin功能添加到二进制foo中,您可以这样写
/usr/bin/foo f 755 root root - - - - -
|xattr cap_sys_admin+eip
您可以使用多|xattr行将多个功能添加到文件如果您想将功能cap_sys_admin和cap_net_admin添加到二进制foo,您将写入:
/usr/bin/foo f 755 root root - - - - -
|xattr cap_sys_admin+eip
|xattr cap_net_admin+eip

第24章Makeusers语法文档 详见源文档


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值