我尝试通过运行从源代码构建 rpm
rpmbuild -ta cups-1.7.0-source.tar.gz --without dbus
但得到
Processing files: cups-1.7.0-1.x86_64
error: File not found: /root/rpmbuild/BUILDROOT/cups-1.7.0-1.x86_64/usr/share/cups/usb
error: File not found by glob: /root/rpmbuild/BUILDROOT/cups-1.7.0-1.x86_64/usr/share/cups/usb/*
我应该怎么办?它是什么包?我在谷歌上什么也没找到。
答案1
我会尝试从 Fedora 获取源 RPM (SRPM) 并简单地重建它,而不是尝试从源 tarball 文件重建它。我不确定 CUPS tarball 是否带有可用的 .spec 文件来指导 rpmbuild 如何打包它。
例子
您可以在此处下载 SRPM 的 F21 版本。
$ wget http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/c/cups-1.7.0-6.fc21.src.rpm
然后像这样构建它:
$ rpmbuild --rebuild cups-1.7.0-6.fc21.src.rpm
如果您之前从未构建过 RPM,则可能需要安装rpmdevtools
提供了促进包构建的工具的包。
$ sudo yum install rpmdevtools
然后,您可以使用包含的命令设置您自己的工作区来构建包。任何用户都可以构建软件包,因此您通常不应该使用 root 来执行此操作。
$ rpmdev-setuptree
运行此命令后,您可以运行rpmbuild --rebuild ...
我上面提供的命令,该.rpm
命令应在$HOME/rpmbuild/RPMS/
.
如果您需要进一步的帮助,我会查看我关于处理 RPMS 整个主题的大量教程。有一个我的博客上有 4 部分系列。