🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 变量说明 ``` %define 定义宏变量如: %define im_user_dir /home/im_user/ ,通过使用 %{im_user_dir} 调用 %setup 不加任何选项,仅将软件包打开。 -n newdir 将软件包解压在newdir目录。 -c 解压缩之前先产生目录。 -b num 将第num个source文件解压缩。 -T 不使用default的解压缩操作。 T -b 0 将第0个源代码文件解压缩。 -c -n newdir 指定目录名称newdir,并在此目录产生rpm套件。 %files 此部分列出了需要被打包的文件和目录 使用变量来设置路径 如: buildroot//usr/sbin/mycommand 使用 %{_sbindir}/mycommand %defattr %defattr(-,root,root,-) "-"表示默认权限 在顶部说明,表示所有文件继承此权限 %attr(0644, root, root) FOO.BAR 指定个别文件的权限 %doc 用于列出 %{_builddir} 内,但不复制到 %{buildroot}. 如 %doc AUTHORS ChangeLog NEWS README THANKS TODO %exclude 获取所有的文件使用 "/*" 配合 %exclude 进行排除 %config(noreplace) %{_sysconfdir}/foo.conf 确保 /etc 下的目录更新时不被覆盖 %config %{_sysconfdir}/foo.conf 进行覆盖 // 目录变量 %{_topdir} %{getenv:HOME}/rpmbuild %{_builddir} %{_topdir}/BUILD %{_rpmdir} %{_topdir}/RPMS %{_sourcedir} %{_topdir}/SOURCES %{_specdir} %{_topdir}/SPECS %{_srcrpmdir} %{_topdir}/SRPMS %{_buildrootdir} %{_topdir}/BUILDROOT // 主要用于把 build 移动到 buildroot %{buildroot} %{_topdir}/BUILDROOT/包名-版本-1.el7.centos.架构/ %{_sysconfdir} /etc %{_prefix} /usr %{_exec_prefix} /usr %{_bindir} /usr/bin %{_lib} lib (lib64 on 64bit systems) %{_libdir} /usr/lib64 or /usr/lib64 %{_libexecdir} /usr/libexec %{_sbindir} /usr/sbin %{_sharedstatedir} /var/lib %{_datadir} /usr/share %{_includedir} /usr/include %{_oldincludedir} /usr/include %{_infodir} /usr/share/info %{_mandir} /usr/share/man %{_localstatedir} /var %{_initddir} /etc/rc.d/init.d %{_var} /var %{_tmppath} /var/tmp %{_usr} /usr %{_usrsrc} /usr/src %{_docdir} /usr/share/doc ```