我有一个由 maven 构建 rpm 的 java 项目。需要创建 noarch 数据包,但我看到具体的拱门。我通过 MacOsX 上的 macports 安装 rpm(4.4.9 或 5.2.0),并从 maven rpm 插件运行命令:
sudo rpmbuild -bb -v --buildroot /path/to/project/buildroot --target noarch java-search-qt.spec 构建目标平台:noarch 执行(%安装):/bin/bash -e /tmp/rpm-tmp.69257 + umask 022 + cd /opt/local/src/macports/BUILD + /bin/rm -rf /path/to/project/target/rpm/project/buildroot + /bin/rm -rf /path/to/project/target/rpm/project/buildroot + '[' -e /path/to/project/target/rpm/project/buildroot ']' + mv /path/to/project/target/rpm/project/tmp-buildroot /path/to/project/target/rpm/project/buildroot + /opt/local/lib/rpm/brp-压缩 + /opt/local/lib/rpm/brp-strip + /opt/local/lib/rpm/brp-strip-static-archive + /opt/local/lib/rpm/brp-strip-comment-note + /opt/local/lib/rpm/brp-nobuildrootpath 处理文件:java-search-qt-1.0.17-1 发现提供:/opt/local/lib/rpm/find-provides 查找要求:/opt/local/lib/rpm/find-requires 需要(interp):/bin/bash /bin/bash /bin/bash /bin/bash 需要(验证):/bin/bash 需要(预):/bin/bash 要求(帖子):/bin/bash 要求(postun):/bin/bash 检查未打包的文件:/opt/local/lib/rpm/check-files /path/to/project/target/rpm/project/buildroot 写道:/opt/local/src/macports/RPMS/i386/project.i386.rpm
Maven 插件使用选项“--target noarch”,但 rpmbuild 完全忽略它。预期 noarch.rpm 文件,为什么 rpmbuild 在 4.4.9 版本和 x86 上创建 i386?
更新
我发现调用 rpmbuilder 的一种工作变体,构建 *.noarch.rpm 文件:
rpmbuild -bb --target noarch-linux-pc project.spec
另一个变体,构建 *.i386.rpm 文件:
rpmbuild -bb --buildroot /path/to/buildroot --target noarch-linux-pc project.spec rpmbuild -bb --define '_topdir /path/to/topdir' --target noarch-linux-pc project.spec
我无法理解。有任何想法吗?
PS对不起我的英语,这对我来说是困难的语言。