一条挂钩(命令的集合体),就是一次执行行为(包含若干条命令),所谓挂钩,就是把几个动作关联起来,对外界看起来就是一个整体,
通用的基础结构(以及衍生的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; 可以是数字值或实际名称major
并minor
在这里设备文件,设置-
为其他文件start
,inc
并且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
能力
如果您想将cap_sys_admin功能添加到二进制foo中,您可以这样写
|xattr
是一个表示扩展属性的“标志”capability
是添加到前一个文件的功能
/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语法文档 详见源文档