rpm通用宏/usr/lib/rpm/macros
opensuse专有宏/usr/lib/rpm/suse_macros
其他软件自定义自己的宏/usr/lib/rpm/macros.python
opensuse自定义宏/etc/rpm/
- syntax
选项要全部写完再写参数
%top -n -p 5 10345
-
%{_bindir}
/usr/bin
-
%{_includedir}
/usr/include
-
%{_datadir}
/usr/share
-
%{_docdir}文档目录
/usr/share/doc/packages
-
%{_infodir}信息页面目录
/usr/share/info
-
%{_libdir}函数库目录
/usr/lib64
或/usr/lib
-
%{_lib}
指lib或lib64,当用到非正常lib目录时,%{_libdir}不够用时使用,比如
/usr/XR16/%{_lib} = /usr/XR16/lib(64)
-
%{_mandir} 帮助页面目录
/usr/share/man
-
%suse_update_desktop_file
由包update-desktop-files提供该宏,用于在编译过程中更新desktop文件 -
%desktop_database_post / %desktop_database_postun
更新桌面 Mimetype 数据库,由包update-desktop-files提供
任何应用程序安装了一个 .desktop 桌面文件后,都需要在 %post/%postun 章节调用一次该宏。该宏会调用 update-desktop-database 命令来更新系统 MIME 缓存。
另外注意该宏总是成对出现,也就是 %post 里用了(安装),%postun 里相应也要用(卸载)。 -
%fdupes 清理冗余文件
如果有冗余文件忘记了使用该宏,openSUSE 打包检查 会提示错误说该包 "文件冗余",浪费了空间。 如果没有 Buildrequires: fdupes 你会收到 "no job control" 错误。