LINUX.ORG.RU

Бэкпортирование сразу десятка библиотек

 , , , ,


0

1

Задача следующая. Есть программа (если что, с исходниками), которая зависит (сильно, не оторвать) от Gtk 3.14 (Debian Jessie). Есть Debian Wheezy, на которой нужно запустить этот софт.
(на самом деле Astra, ага, актуальная версия отечественного Linux собрана на базе oldoldstable, ну хоть не на базе Mandrake, и на том спасибо!)

Сейчас собрали из исходников Gtk3 посвежее в /opt, попутно еще с десяток библиотек, от harfbuzz до cairo. На первый взгляд работает.
Но напрягает, что собрано все из ванильных сорцов, без дебиановских патчей. Никак это дело стандартным образом не автоматизировано, поддерживать будет тяжело.

А как прямее, автоматизированней и надежней решать такую проблему?

  • Классический бэкпорт: пересобрать deb-пакеты из Jessie. Боязно что-то поломать в системе, т.к. там и fontconfig, и, glib нужны свежие для Gtk.
  • Пересобрать deb-пакеты из Jessie в тот же /opt, реально, стоит копать в эту сторону?
  • Как я понимаю, AppImage и распиаренные в новостях аналоги не подойдут мне? Они для портабельности между дистрибутивами примерно аналогичной свежести?
  • Debootstrap? В теории возможно, но слишком overhead. Плюс программе нужен прозрачный доступ к файловой системе хоста.
★★

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

без дебиановских патчей

В дебиане патчат Gtk? Зачем?

Фиксы багов. Может бэкпорты фиксов из апстрима, может дистроспецифичные баги. В Jessie патчей 15 только на пакет gtk+3.0.

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

Может бэкпорты фиксов из апстрима, может дистроспецифичные баги. В Jessie патчей 15 только на пакет gtk+3.0.

Фиксы багов и бэкпорты не ломают API. И свежий Gtk в этих патчах не нуждается. Сам ведь пишешь, что «На первый взгляд работает», в чем тогда проблема?

nvl ★★ ()

Ещё, можно в докере своё поделие поставлять.

Есть docker-x11 где товарищь всячески улучшает такой опыт, но на самом деле пробросить права и иксы в контейнер можно и на колене.

pon4ik ★★★★★ ()

А пока, ты детально не изучил вопрос: не боишься получить аттатшки от клиента за несертифицированные исходные коды от американских шпиёнов из гном или за тот счёт, который ему выкатят за сертификацию чего-то размером с gtk3?

pon4ik ★★★★★ ()

Как я понимаю, AppImage и распиаренные в новостях аналоги не подойдут мне?

Это почему? Там же по сути образ с файлами программы и запускатор. По идее оно ограничено только некой минимальной версией ядра.

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

Как я понимаю, AppImage и распиаренные в новостях аналоги не подойдут мне?

Это почему? Там же по сути образ с файлами программы и запускатор. По идее оно ограничено только некой минимальной версией ядра.

Из описания AppImage:

if you are targeting Ubuntu 9.10, you should not use binaries compiled on Ubuntu 10.04.

И еще:

Gather suitable binaries of all dependencies that are not part of the base operating systems you are targeting.

Они-то предполагают, что я положу свою программу + пару зависимостей.
Т.е. это опять собрать зависимости вручную, потом их завернуть в AppImage.
Или трактовать, что все библиотеки, вплоть до libc не part of the base operating systems, и пихнуть грубо говоря целиком Debian Jessie в AppImage?

Tayler ★★ ()

какая тебе разница есть там в gtk3, fontconfig, или glib2 патчи или нет... у тебя же этот build libs использовать будет только ваша программа?!

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

какая тебе разница есть там в gtk3, fontconfig, или glib2 патчи или нет... у тебя же этот build libs использовать будет только ваша программа?

Да, только наша. Но патчи это один только из вопросов.
В идеале хочется автоматизированного решения, более изящного, чем:

  • Собрать ванильные исходники в /opt/gtk3
  • На машинах разработчиков фиксировать и отслеживать изменения в /opt/gtk3 с помощью git
  • Завернуть /opt/gtk3 в deb-пакет и так распространять
Tayler ★★ ()
Последнее исправление: Tayler (всего исправлений: 1)
Ответ на: комментарий от Tayler

этот Астра который сертифицированный?

Тогда ваше автоматизированное, которое с патчами, абсолютно не подходит, кто все изменения будет отслеживать и сертифицировать?! Использовать патчи на самосборную либу нужно только если это исправляет баг непосредственно в вашей программе.

anonymous2 ★★★★★ ()
Последнее исправление: anonymous2 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.