LINUX.ORG.RU

Как сделать flatpack или appimage для evince?

 ,


0

1

Добрый день.

Понадобилось собрать evince самомому с некоторыми исправлениями кода (сделал другой фон ночного режима). Собирал на виртуалке. При сборке пришлось установить туеву хучу библиотек, а бинарник на другом компе не запускается. Собирать на своем компе не хочу из-за тучи библиотек. Как можно просто собрать appimage или flatpk, чтобы использовать в других компах без компилляции? Я ни разу этого не делал и, глядя на мануалы, никогда без помощи не смогу. Компилил evince по вот этому манулу.

man flatpak-builder, и документация на сайте.

Evince уже офлатпачен.

Применять патчи во flatpak-сборках очень удобно, это правильное решение. Сборочные системы (в данном случае meson) встроены, все работает из коробки. Можно даже доки не читать, посмотрите примеры использоавния патчей.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)

Я ни разу этого не делал и, глядя на мануалы, никогда без помощи не смогу.

И какой помощи ты ожидаешь, если не смог в мануалах разобраться? Финансовой? Тебя ведь те же мануалы читать отправят.

Я ни разу этого не делал

Ну так начни это делать. И уже с конкретными вопросами приходи.

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

Я не программер, а физик. Поясните немного еще. Я хочу внести изменения в один файл источника и затем соорудить флатпак. Как это сделать? Я должен клонировать к себе на комп, исправлять, а затем что делать? Компилировать понятно как, вот флатпак не знаю. В документации evince нет этого ни хера.

rustamych ★★★
() автор топика

Собирать на своем компе не хочу из-за тучи библиотек.

В арче, при сборке пакета из AUR, все доустановленное удаляется после завершения компиляции (makepkg -rs).

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

Срач (англ. shitstorm) — процесс высококультурного интеллектуального обмена мнениями на форуме или в конфе, а также иногда и IRL, до краев наполненный уважением как к точке зрения собеседника, так и к его личности. (c)
krasnh ★★★
()
Ответ на: комментарий от rustamych

Какой то вы странный физик, совсем думать не умеющий. Очевидно что в документации evince нет про то как делать флатпак. Логично предположить что у самого флатпак есть какая то документация, в том числе и про то как их создавать. Так начните уже создавать, почитав эту документацию. С чего начать вам в первом посте сказали, man flatpak-builder. И с конкретными проблемами приходите. Вы случайно не блондин?

PS. Кстати к программированию всё это вот отношения не имеет, так что не нужно оправдываться тем что вы не программист. Это, скажем так, слесарные навыки, скорее сисадминские, чем программистские. В мире полно программистов неспособных среду настроить, но способных в уже настроенной для них среде программировать. Раз уж вы в это полезли — придётся овладеть, хотя вы и физик.

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

Нет, сделал бинарник. Я так делаю с mupdf. Там тоже много чего тянется при компиляции. Делаю на виртуалке, но бинарник потом работает и на других компах. А тут надо такое не катит.

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

Я это уже прочитал, но много непонятного для моего случая. Дьявол в деталях. Надо видимо разбираться в первом ответе на мой пост. Как я понимаю можно внести патч где-то и затем автоматически собрать флатпак поскольку в evince он предусмотрен.

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

а физик.

Я тоже.

Склонируйте манифест из первой ссылки и соберите флатпак локально, следуя ману.

Возьмите свои патчи, упомяните их в манифесте по аналогии с тем, как это сделано по второй ссылке. Файлы с патчми положите рядом с манифестом.

Пересоберите флатпак снова.

нет этого ни хера.

При такой риторике вас пошлют либо в Job, либо вслед за русским военным кораблем.

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

Склонировал, но там нет манифеста. Там только два файла json. Если следовать ману до для сборки нужен файл yml.

The input to flatpak-builder is a JSON or YAML file

https://docs.flatpak.org/en/latest/manifests.html

https://docs.flatpak.org/ru/latest/manifests.html

(я не сварщик, просто вбил в поиск flatpak yml from json)

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)

Вообщем сделал вам сборку, лежит вот тут Вот так выглядит.

Попробуйте поставить, если заработает - подкручу цвета, чтобы так страшно не выглядело. Включается через ночной режим.

Не забудьте только старый evince удалить.

alex0x08 ★★★
()

А в тюрьме сейчас ужин: макароны… а в федора-лайк есть mock…

Ладно, чего так сложно-то? Ну поставил всё, собрал пакет, всё удалил, какие проблемы?

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

Ну попробуй собери.

Я например слегка охренел от сложности пока разбирался, документация на сайте неактуальна а гномеры под себя запилили плагин для gitlab-ci, через который и собирают этот evince.

alex0x08 ★★★
()

Все крайне просто.

  1. Открываешь Gnome builder
  2. Нажимаешь Clone repository.. и вставляешь ссылку в поле Repository URL: https://gitlab.gnome.org/GNOME/evince.git и жмешь Clone repository
  3. Делаешь свои правки
  4. Жмешь Run, чтобы собрать и проверить работоспособность
  5. Жмешь Creating flatpak bundle

Получишь: ~/.var/app/org.gnome.Builder/cache/gnome-builder/projects/evince/flatpak/staging/x86_64-main/org.gnome.Evince.flatpak

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

В гробу я видал такую практику в белых тапочках, ибо ТС идёт не той дорогой изначально и его затея будет выкинута на помойку после пары обновлений, которые он захочет получить. Доказать это сейчас нельзя, но вы старайтесь, помогайте.

Стыдно честно говоря за местных обитателей - одни сплошные балаболы.

Чувствуешь, как приятно растекается по телу ЧСВ? Одобряю!

papin-aziat ★★★★★
()
Ответ на: комментарий от nvl

Ха, вот толковый совет, не знал про gnome-builder.

Подтверждаю, все действительно собралось, пути только чуть отличаются: /home/alex/.cache/gnome-builder/projects/evince/flatpak/staging/x86_64-main/org.gnome.Evince.flatpak

Но после сборки оно откроет папку с конечным файлом.

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

Спасибо большое. Я вчера потыкался в это чудо. Сделал из json yaml, пришлось доустановит опять кучу всего и довольно тяжелого. Собрал локально , без патчей, а оно сцуко не запускается :). Учитывая сколько мне пришлось доустановить, то я понял, что зря теряю время. Лучше скомпилю из исходников, как уже сделал на виртуалке, а лишнее добро снесу. Спасибо за обсуждение. Каждый должен заниматься своим делом.

Пи*лов здесь действительно много. Я в физике и математике уже 38 лет и в нашей среде как-то принято помогать непонимающему, особенно студентам. Причем все намного сложнее для понимания, чем то, что сейчас обсуждали. Местные растопыренные пальцовщики раздражают конечно, но я просто не обращаю внимания и вам советую. Они просто наслаждаются тем, что раздражают собеседника, это просто флуд, а их я бы назвал флудаками :). Но всегда найдется пара нормальных, которые понимают и/или хотят сами разобраться и помочь.

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

Сделал. Получился файл flatpak. Запускаю sudo flatpak install file. Выдает ошибку

ошибка: Приложение org.gnome.Evince/x86_64/master требует среду выполнения org.gnome.Platform/x86_64/master, которую не удалось найти
А как это доустановить?

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

Кликнул Установить. Потом пробовал запустить бинарник, выдает ошибку

error while loading shared libraries: libgnome-desktop-3.so.20: cannot open shared object file: No such file or directory
Та же ошибка, если перенести бинарник на другой комп с собранного на виртуалке.

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

пришлось доустановит опять кучу всего и довольно тяжелого.

Вспотел?

Учитывая сколько мне пришлось доустановить, то я понял, что зря теряю время. Лучше скомпилю из исходников, как уже сделал на виртуалке, а лишнее добро снесу.

А что, в ваших краях mock или его аналоги не водятся? Всё вручную приходится делать? Ставить тяжёлые пакеты, потом их сносить…

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

Попробуйте вот эту команду выполнить:

flatpak remote-add gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo

Это development build, собирается с помощью nightly сборок гнома, их выкладывают в отдельном репозитории.

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

Загадочное действие, но установил. После этого пошло, НО «отродясь этого не было и вот опять»

sudo flatpak install org.gnome.Evince.flatpak

Разрешения org.gnome.Evince:
    ipc                  pulseaudio           wayland               x11
    file access [1]      dbus access [2]      bus ownership [3]     tags [4]

    [1] host, xdg-run/gvfsd
    [2] org.freedesktop.FileManager1, org.gnome.SessionManager,
        org.gnome.SettingsDaemon.MediaKeys, org.gtk.vfs.*
    [3] org.gnome.evince, org.gnome.evince.Daemon
    [4] devel


        ID               Ветка  Оп Удалённый репозиторий Загрузка
 1. [✗] org.gnome.Evince master i  evince6-origin        0 байт

Ошибка: org.gnome.Evince уже установлен
ошибка: Не удалось установить пакет org.gnome.Evince: Указанная версия org.gnome.Evince уже установлена

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

Но тупой вопрос - а как запустить то его?

В меню должен появиться.

Запуск бинарника выдает ошибку, что я написал выше.

Убедитесь что у вас не стоит больше никаких копий, из .deb, вручную собранных и тд.

alex0x08 ★★★
()