我无法在 Fedora 34 中重新编译 exo

我无法在 Fedora 34 中重新编译 exo

我的 Fedora 34 有问题。我尝试使用rpmbuild —rebuild版本 22 到 34 在 Fedora 34 上重新编译 xfce 4.12,我重新编译了一些软件包,但其中一个给了我一个无法修复的错误:

错误:/usr/lib64/xfce4/exo-1/exo-Composteli-mail-1 中的 python shebang 不明确:#!/usr/bin/python -tt。明确将其更改为 python3 (或 python2)。将 /usr/bin/exo-prefered-applications 中的 shebang 从 /bin/sh 修改为 #!/usr/bin/sh

答案1

该错误说明了您需要执行的操作:更改/usr/lib64/xfce4/exo-1/exo-compose-mail-1(检查实际上在构建的最后运行,因此这是您正在构建的 RPM 将使用错误的 shebang 安装文件的路径)以使用#!/usr/bin/python3#!/usr/bin/python2显式,自 Fedora 30 起 rpmbuild检查 RPM 中的文件并使用#!/usr/bin/python不带版本的 shebang 被视为错误 - 您正在从 Fedora 22 重建 SRPM,其中未强制执行此操作,因此构建将因此失败。

您可以使用特殊pathfix.py脚本(来自python3-devel)在构建期间修复 shebangs(这将需要更改 dox SRPM 中的 SPEC 文件),请参阅F30变更说明有关更多详细信息,但在这种情况下,只需手动更改它会更容易,因为有问题的文件是“额外”源(脚本)之一mailtoparse.py,因此您只需更改第一行即可#!/usr/bin/python2 -tt使其工作。

如果你想使用脚本,只需添加

pathfix.py -pni "%{__python2} %{py2_shbang_opts}" %{buildroot}%{_libdir}/xfce4/exo-1/exo-compose-mail-1

到文件安装%install后的部分。exo-compose-mail-1

相关内容