最近在 vpp 中构建 rpm 包时报了以下错误,vpp 版本是 18.07,有遇到相同问题的同学可以参考一下:
$ make pkg-rpm
....
错误:This macro requires some arguments
使用的命令是:make pkg-rpm。这个问题应该和操作系统的版本有关,解决方法是修改 extras/rpm/vpp.spec 文件,在 %systemd_postun 后面加上 "vpp.service" 参数,如下所示:
...
%postun
%systemd_postun vpp.service...
该解决方法参考 github 上的一个回答:
It seems like rpm macro %systemd_postun requires one argument starting from Fedora 31, otherwise it causes the error.
The solution is passing systemd unit name just like %systemd_post and %systemd_preun.
see: %systemd_postun scriptlets need service files as an argument - devel - Fedora Mailing-Lists
参考资料:
1. https://github.com/scylladb/scylla-ami/issues/53