我有一个规范文件。 我需要定义%一个规范变量,从系统上的一个行文件中获取价值。
例如
%define path `cat /home/user/path_file`
和在path_file是一个线
/var/www/html/hosts
这部分工作。 我说,在RPM构建输出有时的值开始${path}
简直是我的命令cat /home/user/path_file
有时值在path_file,因为它(在/ var / www / html等/主机)行应该?
我有一个规范文件。 我需要定义%一个规范变量,从系统上的一个行文件中获取价值。
例如
%define path `cat /home/user/path_file`
和在path_file是一个线
/var/www/html/hosts
这部分工作。 我说,在RPM构建输出有时的值开始${path}
简直是我的命令cat /home/user/path_file
有时值在path_file,因为它(在/ var / www / html等/主机)行应该?
你可以定义变量的rpmbuild %(cmd)
在规范文件的顶部。 请注意,该命令是在括号中,而不是大括号。 一个例子:
%define whoami %(whoami)
和其他地方的规范文件,如脚本或编译/安装部分,使用该变量为正常的大括号是这样的:
echo "The user that built this is %{whoami}"
该cmd
可以是任何东西,包括你的cat命令。 要小心 - 当另一个用户重建规范文件可能无法找到该文件。 因此,这将是最好使用%{} sourcedir宏是这样的:
%define path %(cat %{sourcedir}/path_file)
并确保path_file
是在源代码目录包括在规范文件中的源。