在Fedora 20/21下构建软件集合元数据包失败了

时间:2015-02-25 01:08:29

标签: redhat fedora

我在使用fedora 20或21构建软件集合元数据包时遇到了一些问题。在RHEL7 / RHEL6 / Fedora19下它可以正常工作。如果我只是复制软件集合网站上的示例(https://www.softwarecollections.org/en/docs/guide/#sect-Creating_a_Meta_Package

,我会得到同样的错误

我得到的错误是(假设我的scl被命名为'myscl')

error: File not found: /home/user/rpmbuild/BUILDROOT/myscl-1-1.fc21.x86_64/opt/rh/myscl/myscl

看起来软件集合名称因某种原因而重复出现。

正如我所说,这在RHEL7上工作正常,scl-utils *包较旧。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

使用scl-utils-2.0只能构建新类型的集合。

而不是在元数据包规范文件中使用以下结构

cat >> %{buildroot}%{_scl_scripts}/enable << EOF
export PATH=%{_bindir}\${PATH:+:\${PATH}}
export LD_LIBRARY_PATH=%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}
export MANPATH=%{_mandir}:\$MANPATH
export PKG_CONFIG_PATH=%{_libdir}/pkgconfig\${PKG_CONFIG_PATH:+:\${PKG_CONFIG_PATH}}
EOF

你应该使用

cat >> %{buildroot}%{_scl_scripts}/%{scl} << EOF
#Module1.0
prepend-path    X_SCLS              %{scl}
prepend-path    PATH                %{_bindir}
prepend-path    LD_LIBRARY_PATH     %{_libdir}
prepend-path    MANPATH             %{_mandir}
prepend-path    PKG_CONFIG_PATH     %{_libdir}/pkgconfig
EOF
#automaticaly create enable script for compatibility
%scl_enable_script

请参阅
https://bugzilla.redhat.com/show_bug.cgi?id=1188862
https://bugzilla.redhat.com/show_bug.cgi?id=1180638