Bug 57232 - Хардкод путей в cmake не позволяющий собрать во flatpak.
Summary: Хардкод путей в cmake не позволяющий собрать во flatpak.
Status: RESOLVED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: surguch (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: proskur@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
: 57231 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-12-15 14:57 MSK by Radiolamp
Modified: 2025-12-30 14:10 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Radiolamp 2025-12-15 14:57:09 MSK
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 ()
Исправте пожалуйста это и другие места с хардкодолм
Comment 1 Антон Мидюков 2025-12-15 15:01:57 MSK
То есть всего-то заменить /usr/share на ${SHARE_INSTALL_PREFIX}
Comment 2 proskurinov@basealt.ru 2025-12-15 16:07:17 MSK
Все что захардкожено используется для локальной сборки из гита 
APP_ICON_DIR
APP_ICON_PNG_DIR 
можно указать из .spec файла, как и SHARE_INSTALL_PREFIX
Comment 3 proskurinov@basealt.ru 2025-12-15 16:10:44 MSK
SHARE_INSTALL_PREFIX точно такая же hardcoded переменная, если другое не указано в spec файле.
Comment 4 proskurinov@basealt.ru 2025-12-15 16:17:45 MSK
сама семантика IF (NOT DEFINED) и Harcoded идут вразрез по смыслу.
Harcoded - это по определению что-то, прибитое гвоздями.
IF (NOT DEFINED) - это, скорее, значение по умолчанию. Которое, при желании, можно поменять на любое другое.
Comment 5 proskurinov@basealt.ru 2025-12-15 21:14:13 MSK
*** Bug 57231 has been marked as a duplicate of this bug. ***
Comment 6 Антон Мидюков 2025-12-26 22:13:59 MSK
(Ответ для 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/

Это сделать ещё более несложно.
Comment 7 proskurinov@basealt.ru 2025-12-29 09:21:57 MSK
Ну собственно я с вами полностью согласен, всё это можно и нужно указывать в .spec ,
переменные были нужны для каких то pipeline-ов на каком-то из этапов проекта.

Не вижу причин, почему бы они сейчас могли мешать, так как по факту - это не хардкод.
Сейчас вникать в необходимость/возможность их удаления не вижу смысла, потому что придется 
тестировать все пайплайны для kde/gnome/xfce/mate, выглядит, как пустая трата времени. 

Вы правы, их нужно явно указать в spec файле, вот здесь наша недоработка, видимо просто забыли/недосмотрели.

Собственно, я же сразу такое решение и предлагал - указать в спеке.
Comment 8 Repository Robot 2025-12-30 14:10:04 MSK
surguch-0.4.3-alt2 -> sisyphus:

Tue Dec 30 2025 Oleg Proskurin <proskur@altlinux> 0.4.3-alt2
- Fix major mistakes in the .spec file (closes #57232).