Форум проекта PuppyRus Linux

Дистрибутивы проекта PuppyRus Linux => PuppyRus-A [PRA] => Тема начата: sfs от 12 Сентябрь 2017, 13:53:32

Название: AppImage: метод портирования программ
Отправлено: sfs от 12 Сентябрь 2017, 13:53:32
https://appimage.github.io/apps/
Альтернативы : snap (http://forum.puppyrus.org/index.php?topic=17118.msg104755#msg104755) ; flatpack (http://forum.puppyrus.org/index.php?topic=22324.msg164191#msg164191)

менеджер для поиска,скачивания,установки Appimage (https://forum.puppyrus.org/index.php?topic=24224.msg188166#msg188166).

Хороший пример перепаковки AppImage
https://aur.archlinux.org/packages/qmplay2-bin
Оказывается есть утилита https://github.com/NixOS/patchelf c помощью которой можно менять в бинарниках и либах пути к зависимым либам

AppImage популярных прог (https://github.com/cmatomic?tab=repositories)

Делал http://mirror.yandex.ru/puppyrus/puppyrus-a64/pfs-portable/openshot-p-2.4.0_64-sf01.pfs
из http://www.openshot.org/download/.
openshot запускался нормально и как *.AppImage. После вырезания локалей и сжатия в pfs стал ощутимо меньше

Теперь список готовых приложений приличный (только x86_64) : fbreader *CAD LO vlc fotoxx браузеры gimp dia krita mypaint...
Видеоредакторы : flowblade shotcut vidcutter olive kdelive
Проверил в пра6408 :
GIMP_AppImage-release-2.10.12-x86_64.AppImage
LibreOffice-fresh.standard-x86_64.AppImage
MyPaint---20190622.AppImage
Shotcut-190914.glibc2.14-x86_64.AppImage
VidCutter-6.0.0-x64.AppImage
kdenlive-19.08.1b-x86_64.appimage krita-4.2.6-x86_64.appimage

Посмотреть содержимое: sudo mkdir -p 1 && sudo mount - o loop *.AppImage 1 appimage.Appimage --appimage mount --appimage-mount
Распаковать : bsdtar -xf *.AppImage appimage.Appimage --appimage extract --appimage-extract (в отличие от mount не всегда работает)

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

С другой стороны модули больших прог типа LO сделать из арчрепы сложно. Маленьким модуль все равно не будет. Обновлять желающих мало
Если использовать не часто - скачать и просто запустить заманчиво. Особенно если надо использовать в разных дистрах...
Название: Re: AppImage: метод портирования программ
Отправлено: Pro от 12 Сентябрь 2017, 14:16:43
Настроить алиасы для mc чтоб заходил как в iso
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 12 Сентябрь 2017, 14:40:42
Можно. Но если юзать как есть - зачем...
Т.е. надо по существу шапки определиться
Кроме того mc и большие архивы (iso) = тормоза
Название: Re: AppImage: метод портирования программ
Отправлено: Pro от 12 Сентябрь 2017, 15:13:20
Выпилить заход в iso как в каталоги из mc, раз тормоза.
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 12 Сентябрь 2017, 15:26:48
В маленькие архивы то норм. заходит
Точнее - тормоза при копировании кучи маленьких файлов. Это известная проблема mc
Давай по теме  ;)
Название: Re: AppImage: метод портирования программ
Отправлено: Pro от 12 Сентябрь 2017, 15:28:45
По теме - маленькие appimage до 500 мб бывают?
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 12 Сентябрь 2017, 15:35:06
Да. Даже leafpad есть - что уж совсем не понятно. Там и так один бинарник почти без зависимостей
Маленькие как раз мало интересны - их просто сделать
Интересны большие свежие. Портированный модуль из свежего среза для старого среза сделать иногда сложно. А тут сразу готовое
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 14 Сентябрь 2017, 09:39:20
Цитата
Смысл перепаковывать?
- из комментария к голосованию
Плюсы:
1. Уменьшение размера за счет компресиии и вырезания чужих локалей
2. Для некоторых AppImage в ПРА надо прописать зависимости, а где-то и либ добавить. Т.е. именно в ПРА (т.к. он ужат и мигнималистичен) могут возникнуть доп. проблемы, которых не будет в больших линуксах
3. Из своей репы, через sfs-get подключить быстрее и удобнее

Минусы:
1. Трудозатраты на паковку, обновление проверку

должен монтироваться как обычный iso, но у меня не хочет

    mount: /dev/loop69 is write-protected, mounting read-only
    NTFS signature is missing.
    Failed to mount '/dev/loop69': Недопустимый аргумент
    The device '/dev/loop69' doesn't seem to have a valid NTFS.
    Maybe the wrong device is used? Or the whole disk instead of a
    partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

я так понял нужно чтоб образ лежал на ntfs разделе, но у меня к сожалению нет носителя с ntfs, а точнее сказать кроме двух, двух гиговых флешек на которых PRA, вообще у  ноута нет места для хранения данных (временные неудобства)  :D
Сталкивался с похожем - в итоге похоже битый файл (хотя у меня контрольная сумма совпадала)
Может как-то монтировать надо хитро
Запустите - если заботает - не закрывая прогу - смотрите куда примонтировалось и копируйте
Название: Re: PRA64-08. x86_64 (64бит). Frugal
Отправлено: ramd от 30 Декабрь 2018, 14:33:57
AppImage - это такой формат приложений, типа наших модулей, но он не пакованый, а похож на исо-формат.
При запуске копируется во временную папку и оттуда запускается, при закрытии - удаляется.
У меня в таком формате LMMS последний с сайта http://lmms.io
Название: Re: Re: PRA64-08. x86_64 (64бит). Frugal
Отправлено: krasnyh от 30 Декабрь 2018, 15:00:15
AppImage
А есть резон использовать этот формат в PRA? В .pfs получается всяко меньше, чем в .AppImage - 20mb против 95:
Код
% ls -l |grep lmms
-rw-r--r--  1 live live  20742144 дек 30 14:47 lmms-1.2.0rc7-1.pfs
-rw-r--r--  1 live live  95574088 дек 30 14:56 lmms-1.2.0-rc7-linux-x86_64.AppImage
Скриншот.
( lmms-1.2.0rc7-1.pfs; pra-roll-1806-gtk3-02. )

P.s.
Сижу пока на пра64-1709
Хотя возможно там иначе не запустить.
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 30 Декабрь 2018, 15:50:49
У меня в таком формате LMMS последний с сайта http://lmms.io
Из арчрепы он чем-то хуже?
Название: Re: AppImage: метод портирования программ
Отправлено: ramd от 30 Декабрь 2018, 17:45:20
Там между версиями большая разница.
Если в репе есть (будет) версия 1.2 - это гуд. На 1.1.3 не катит из-за разницы в инструментах и пресетах.
Хотел сам сделать pfs из AppImage, но руки не доходят.
Название: Re: AppImage: метод портирования программ
Отправлено: krasnyh от 30 Декабрь 2018, 17:53:16
Из арчрепы он чем-то хуже?
Там между версиями большая разница.
Имелась в виду именно арч репа https://www.archlinux.org/packages/community/x86_64/lmms/

Скачать пакет, подключить модуль 030-qt5- и:
Код
sudo pacman2pfs -U lmms-1.2.0rc7-1-x86_64.pkg.tar.xz
Название: Re: AppImage: метод портирования программ
Отправлено: arcad от 31 Декабрь 2018, 00:47:22
sudo pacman2pfs -U lmms-1.2.0rc7-1-x86_64.pkg.tar.xz
попробовал сделать , требуется Qt5-base-5.11
Название: Re: AppImage: метод портирования программ
Отправлено: krasnyh от 31 Декабрь 2018, 00:49:35
требуется Qt5-base-5.11
подключить модуль 030-qt5-
И все равно требует Qt5-base-5.11? Я подключал 030-qt5-1806-sf03.
Название: Re: AppImage: метод портирования программ
Отправлено: arcad от 31 Декабрь 2018, 01:13:53
Я подключал 030-qt5-1806-sf03.
с этим работает


скачать (http://mega.dp.ua/file?source=18123113013694087710)
Название: Re: AppImage: метод портирования программ
Отправлено: arcad от 31 Декабрь 2018, 01:57:49
только при подключении модуля какая то фигня запускается FLUID- построитель интерфейса. Закрываешь и он больше не вылазит, сидит в меню приложений. Lmms из меню запускается отдельно.
Название: Re: AppImage: метод портирования программ
Отправлено: krasnyh от 31 Декабрь 2018, 02:45:18
запускается FLUID
Есть такое. Может сборщики пакета 'схалтурили' :)  https://www.archlinux.org/packages/community/x86_64/lmms/
Цитата
Dependencies (20)
    fftw
    fltk
    fluidsynth
    lame
    libgig
    libsamplerate
    qt5-x11extras
    sdl
    stk
    pulseaudio (optional) - pulseaudio support
    wine (optional) - VST plugin support
    carla (make)
    cmake (make)
    doxygen (make)
    extra-cmake-modules (make)
    freetype2 (make)
    git (make)
    ladspa (make)
    qt5-tools (make)
    wine (make)

  При запуске lmms-1.2.0-rc7-linux-x86_64.AppImage ничего лишнего не стартует.

какая то фигня запускается
Та самая 'фигня'  Fast Light User-Interface Designer (FLUID) (https://www.fltk.org/shots.php)
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 31 Декабрь 2018, 07:56:23
при подключении модуля какая то фигня запускается FLUID- построитель интерфейса
При подключении модуля в пра запускается первый по алфавиту *.desktop из подключаемого модуля.
Добавьте в мешающий *.desktop : Hidden=true
Это не имеет отношения к теме апимиджа
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 28 Сентябрь 2019, 17:41:07
Доработао шапку темы
Проверил в пра6408 :
GIMP_AppImage-release-2.10.12-x86_64.AppImage
LibreOffice-fresh.standard-x86_64.AppImage
MyPaint---20190622.AppImage
Shotcut-190914.glibc2.14-x86_64.AppImage
VidCutter-6.0.0-x64.AppImage
kdenlive-19.08.1b-x86_64.appimage krita-4.2.6-x86_64.appimage
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 31 Октябрь 2019, 11:53:46
Можно ещё попробовать запускать разные программы в формате  AppImage
Получается много повторов либ. А некоторых , бывает не хватает
Актуально только с большими прогами, которые долго перекомпилять
И по любому лучше перепаковывать в пфс. Уже сделат несколько таких
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 24 Ноябрь 2020, 12:38:57
Хороший пример перепаковки AppImage
https://aur.archlinux.org/packages/qmplay2-bin
Оказывается есть утилита https://github.com/NixOS/patchelf c помощью которой можно менять в бинарниках и либах пути к зависимым либам
Название: Re: AppImage: метод портирования программ
Отправлено: sfs от 25 Январь 2021, 09:56:41
AppImage популярных прог
https://github.com/cmatomic?tab=repositories
vlc проверил на тв плейлисте