我对如何使用我刚刚创建的项目(已编译的二进制文件)中的rpmbuild创建完整的二进制包感到困惑。
我当前的项目包含与此用户类似的格式(Packaging proprietary software for Linux) 我在哪里
libs 将包含项目所需的所有共享库, foo.sh 是一个将LD_LIBRARY_PATH设置为包含 libs 的脚本。因此,用户将执行 foo.sh ,程序应该启动。
我正在查看此网站的教程(rpm tutorial)
我理解创建rpm我使用rpmdev-setuptree
创建构建区域
我可以使用cd ~/rpmbuild/SPECS; rpmdev-newspec foo
创建一个spec文件,如果我有一个好的SOURCES文件夹,我可以使用rpmbuild -ba foo.spec
但我不知道如何设置SOURCES目录。教程声明(here)我应该创建一个tarball并将所有源文件放在其中并放入SOURCE目录中。在我的情况下,源文件是什么?
答案 0 :(得分:0)
您是否尝试从已经存在的二进制文件创建RPM?在这种情况下,您可以将整个构建内容从SPEC文件中删除,并且您需要一个SOURCE目录来保存您所拥有的软件包,下面描述的%prep
步骤将从此处获取它们。
在一个二进制包中我从zip文件构建了一段时间,我做了:
%prep
:只需解压缩不同部分,删除一些冗余文件,...... %build
:无事可做%install
:手动创建$RPM_BUILD_ROOT
下的相关目录,通过install
复制文件,复制/创建配置文件,... %clean
:吹走$RPM_BUILD_ROOT
%files
:所有已安装文件的详尽列表。这需要一些迭代才能正确。之后我通过重建我的RPM来跟踪上游包(方便的是我把所有东西打包在SRPM中,其中Source部分有点用词不当......)