Fedora

我無法在 Fedora 34 中重新編譯 exo

  • October 2, 2021

我的 Fedora 34 有問題。我試圖在 Fedora 34 上使用rpmbuild —rebuild版本 22 到 34 重新編譯 xfce 4.12,我重新編譯了一些包,但一個包給了我一個無法修復的錯誤:

錯誤:/usr/lib64/xfce4/exo-1/exo-Composteli-mail-1 中不明確的 python shebang:#!/usr/bin/python -tt。將其顯式更改為 python3(或 python2)。將 /usr/bin/exo-preffered-applications 中的 shebang 從 /bin/sh 更改為 #!/usr/bin/sh

錯誤說明您需要做什麼:更改/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腳本 (from 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

引用自:https://unix.stackexchange.com/questions/671542