| Summary: | Хардкод путей в cmake не позволяющий собрать во flatpak. | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Radiolamp <anthony_osipov> |
| Component: | surguch | Assignee: | proskur <proskur> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | anthony_osipov, antohami, enimalojd, krf10, proskur, proskurinov |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
То есть всего-то заменить /usr/share на ${SHARE_INSTALL_PREFIX}
Все что захардкожено используется для локальной сборки из гита APP_ICON_DIR APP_ICON_PNG_DIR можно указать из .spec файла, как и SHARE_INSTALL_PREFIX SHARE_INSTALL_PREFIX точно такая же hardcoded переменная, если другое не указано в spec файле. сама семантика IF (NOT DEFINED) и Harcoded идут вразрез по смыслу. Harcoded - это по определению что-то, прибитое гвоздями. IF (NOT DEFINED) - это, скорее, значение по умолчанию. Которое, при желании, можно поменять на любое другое. *** Bug 57231 has been marked as a duplicate of this bug. *** (Ответ для proskurinov@basealt.ru на комментарий #3) > SHARE_INSTALL_PREFIX точно такая же hardcoded переменная, если другое не > указано в spec файле. Непонятно, зачем вам вот так определять APP_ICON_DIR и APP_ICON_PNG_DIR? SHARE_INSTALL_PREFIX, который задаётся в спеке в макросе %cmake чем вас не устраивает? При локальной сборке вам по какой-то причине нужно использовать иконки от установленного в систему? Но тогда вы могли бы задать эти переменные при локальной сборке. Но хорошо, если вам это ломает ваш рабочий процесс, задайте в спеке явно эти переменные: -%cmake -DCMAKE_BUILD_TYPE=Release -G Ninja +%cmake -DCMAKE_BUILD_TYPE=Release -G Ninja \ + -DAPP_ICON_DIR=%_iconsdir/hicolor/scalable/apps/ \ + -DAPP_ICON_PNG_DIR=%_pixmapsdir/ Это сделать ещё более несложно. Ну собственно я с вами полностью согласен, всё это можно и нужно указывать в .spec , переменные были нужны для каких то pipeline-ов на каком-то из этапов проекта. Не вижу причин, почему бы они сейчас могли мешать, так как по факту - это не хардкод. Сейчас вникать в необходимость/возможность их удаления не вижу смысла, потому что придется тестировать все пайплайны для kde/gnome/xfce/mate, выглядит, как пустая трата времени. Вы правы, их нужно явно указать в spec файле, вот здесь наша недоработка, видимо просто забыли/недосмотрели. Собственно, я же сразу такое решение и предлагал - указать в спеке. |
235 install(FILES surguch.metainfo.xml DESTINATION ${SHARE_INSTALL_PREFIX}/metainfo PERMISSIONS WORLD_READ) 236 237 IF (NOT DEFINED APP_ICON_DIR) 238 SET(APP_ICON_DIR /usr/share/icons/hicolor/scalable/apps/) 239 ENDIF () 240 IF (NOT DEFINED APP_ICON_PNG_DIR) 241 SET(APP_ICON_PNG_DIR /usr/share/pixmaps/) 242 ENDIF () Исправте пожалуйста это и другие места с хардкодолм