LINUX.ORG.RU

Подскажите по дебагу / разработке гномовского софта.

 , , , ,


0

1

Ночи доброй, ЛОРовцы. Предыстория такова: Есть Gnome Disks, который всем хорош, но не умеет показывать S.M.A.R.T. для nvme SSD накопителей. Что интересно, smartmontools эту инфу с диска без проблем вытаскивает. Значит в принципе такая возможность есть. С помощью товарища смог собрать gnome-disk-utility через meson с ninja, но у меня несколько вопросов возникло.
1) Процесс сборки тащит за собой кучу зависимостей, которые нигде больше не нужны. Можно ли как-то запилить это в изолированную среду (контейнер, например) при этом организовать возможность запуска собраного бинарника на хосте и отладку?
2) Может инструменты подскажите для удобной работы. Я в коде то шарю, но я Java / Android разработчик и у нас всё через JetBrains $product name с гуёвыми плюшками. CLI меня не пугает, но gdb выглядит уж совсем хардкорно.

★★★★
Ответ на: комментарий от Jefail

Извини я не жава разраб, уменя либастрал не подключен...
//юзать любой федороугодный чрут, не?

mos ★★☆☆☆
()
Ответ на: комментарий от Jefail

А дебианофанатики вообще перманентно забывают, что кроме их священной коровы на есть другие дистрибутивы и пакетные менеджеры.

Практически все пакетные менеджеры умеют в make depends / build depends. Гугли, что там с этим в твоём DNF.

И да, заголовок по разработке/дебагу, а вопрос по сборке. Ты уж определись.

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

Тут всё вместе, потому что из идеи изоляции сборки мне в голову только контейнер приходит, но я слабо представляю как дотуда дотащить дебаггер и пускать там гуевое приложение.

Jefail ★★★★
() автор топика
Ответ на: комментарий от Jefail

1) разрешаешь на хосте tcp у иксов(обычно решается убиранием опции -nolisten tcp в твоём DM);
2) разрешаешь авторизацию на иксах c IP контейнера(или всем, если на безопасность вообще плевать);
3) подымаешь lxc(можно и docker - из плюсов будут готовые образы, но там со спецификой затрахаешься, чистого lxc тебе хватит);
4) распаковываешь туда твой любимый дистр. В федоре есть(или был, я с федорой давно не работаю) febootstrap/supermin;
5) Фигачишь в .bashrc внутри контейнера 'export DISPLAY=hostipaddress:0';
6) ....
7) PROFIT!

Ну и в контейнер ставишь уже gdb и своё приложение. Тулкит потянет КЛИЕНТСКИЕ библиотеки для отрисовки в иксы, так что всё должно взлететь без проблем.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Похоже на правду, буду пробовать, спасибо.

Jefail ★★★★
() автор топика
Ответ на: комментарий от nvl

По крайней мере на голом энтузиазме цель именно такая. Про билдер знаю, но не очень понимаю как он решит проблему некоторых велосипедов с завимисостями. Как я понимаю, некоторые из них корректно описаны в build.meson и подтягиваются при сборке, а некоторые захардкожены явно и их приходится тащить в систему.

Jefail ★★★★
() автор топика
Ответ на: комментарий от Jefail

Можно подробнее, что за велосипеды? И что занчит «корректно описаны в build.meson» и «захардкожены явно»?

nvl ★★★
()

С помощью товарища смог собрать

Зачем тебе товарищ? У тебя есть пакет этого gnome-disk-utility в дистрибутиве? Возьми его и им собирай. Он и как собирать знает, и зависимости для сборки притащит, и модифицировать его легко, и обратно в дистр можно будет отправить.

Процесс сборки тащит за собой кучу зависимостей, которые нигде больше не нужны

Твой менеджер пакетов не умеет autoremove? Закончишь разработку, позовёшь его и не будет у тебя ненужных пакетов.

Может инструменты подскажите для удобной работы

Мне vim удобен. Что тебе удобно я не знаю, найти IDE для C или текстовый редактор, я надеюсь, ты справишься.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.