我在使用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 *包较旧。
非常感谢任何建议。
答案 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