LINUX.ORG.RU

Релиз Snapcraft 2.14

 ,


0

0

Canonical объявили о выпуске новой версии инструмента для создания универсальных Snap-пакетов — snapcraft 2.14 для операционных систем семейства Ubuntu. Версия 2.14 вышла очень скоро после выхода версии 2.13. Основным изменением было добавление новых плагинов: rust, godeps и dump.

>>> Оригинал

★☆

Проверено: Shaman007 ()

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

Но его просят. Чтобы избежать другого юзкейса, который «когда ставишь пакет, а он не работает или глючит».

Этот кейс не предполагает гибкости. От слова совсем.

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

Нужны плагины - ставь в хомяк снепа средствами самой программы, как дополнения в файрфоксе. Плагин со своим тулкитом не нужен.

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

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

Чушь какая. Конфигурация подсовывается при запуске приложения, а не при установке. А программисту ещё проще — он просто использует нормальный тулкит, который это всё равно делает сам без ансамбля.

Она каждый раз копируется или биндится из хоста? А если я в снепе поменял тему, она в хосте поменяется?

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

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

Она каждый раз копируется или биндится из хоста?

Берётся из хоста. Она ж хранится у тебя в домашнем каталоге в специальном файле.

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

Да никакой. Ему это snap обеспечит при помощи плагина, который подсовывает тулкиту правильную конфигурацию.

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

Нужны плагины - ставь в хомяк снепа средствами самой программы, как дополнения в файрфоксе.

Поставить плагин ты можешь, я об этом уже писал. Проблема в том, что выйти из окружения для использования, например, с jack — ты уже не сможешь, это надо было прописывать в разрешениях исходного snap пакета на этапе сборки.

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

Поставить плагин ты можешь, я об этом уже писал. Проблема в том, что выйти из окружения для использования, например, с jack — ты уже не сможешь, это надо было прописывать в разрешениях исходного snap пакета на этапе сборки.

И это нормально. Система разрешений, это система безопасности. Ответственность за свои плагины несет приложение.

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

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

Берётся из хоста. Она ж хранится у тебя в домашнем каталоге в специальном файле.

Что значит берется? Если делается копия, то проблема в том, как изменения сливаются обратно? Если подключается хостовая версия, например, через симлинк, то что делать, если старая или новая версия тулкита их их изменит/проапгрейдит до состояния несовместимости с хостовой версией или версией из других снепов?

И что делать, если на хосте данного тулкита нет, а в снепах их несколько штук?

Да никакой. Ему это snap обеспечит при помощи плагина, который подсовывает тулкиту правильную конфигурацию.

ну то есть система снепов должна нефигово уметь все это делать. Это вариант, но думаю, пока что там все довольно грустно и ничего, кроме простых приложений , которые и так «все в себе», как, например, файрфокс или опенофис, не работает...

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

Если подключается хостовая версия, например, через симлинк, то что делать, если старая или новая версия тулкита их их изменит/проапгрейдит до состояния несовместимости с хостовой версией или версией из других снепов?

На сколько я понимаю, ты не можешь из приложения в snap поменять настройки внешнего вида. Интерфейс desktop-launch односторонний. Б — Безопасность.

Хотя я, опять же, не копал глубоко в эту сторону, открой доки.

Это вариант, но думаю, пока что там все довольно грустно

Там не грустно, там сделано уже всё.

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

Ответственность за свои плагины несет приложение.

с фига ли? откуда приложение про эти плагины может вообще знать? оно просто грузит .so, и запускает точку входа.

по аналогии, ты должен тогда считать что ответственность за «свои» приложения несет ядро, которое их запускает?

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

с фига ли? откуда приложение про эти плагины может вообще знать? оно просто грузит .so, и запускает точку входа.

Вот поэтому ограничивают все приложение, поскольку хрен его знает, что оно запустит.

по аналогии, ты должен тогда считать что ответственность за «свои» приложения несет ядро, которое их запускает?

ядро как раз таки и реализует уровни доступа, то есть, несет ответственность за свои приложения, а не «просто грузит .so, и запускает точку входа». Если же доверия ядру нет, то все ядро помещают в виртуалку и там пожалста, грузи сошки и запускай точку входа...

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

На сколько я понимаю, ты не можешь из приложения в snap поменять настройки внешнего вида. Интерфейс desktop-launch односторонний. Б — Безопасность.

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

Там не грустно, там сделано уже всё.

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

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

ну значит пинцет, часть приложений вылетает,

Я так и сказал. Для более-менее распространённых тулкитови простых юзкейсов всё работает прекрасно, разработчикам даже париться не надо — desktop-launch и у тебя всё красиво.

Для всего остального пока вилы.

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

Вот поэтому ограничивают все приложение, поскольку хрен его знает, что оно запустит.

ну и как же ему запускать, если его «ограничили»?

ядро как раз таки и реализует уровни доступа, то есть, несет ответственность за свои приложения

в какой-то другой вселенной

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

ну и как же ему запускать, если его «ограничили»?

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

в какой-то другой вселенной

А ты не заметил, что модули уже подписываются? И для их загрузки нужен рут?

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

Гг я так и представил пользователя, спокойного от осознания того, что запустить желаемое никак нельзя :-)

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

а, так snap для тех, кому нравится андроид?

ну это вроде как расставляет все по местам. только в APK нет настолько сильной огороженности, и блокирования использования предустановленных библиотек (буду избегать слова «системных»).

одно непонятно — зачем все это на десктоп линуксе?

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

а, так snap для тех, кому нравится андроид?

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

Все к этому идут. Андройд, ios, Микрософт точно так же со своим магазином. Теперь вот убунта.

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

если «каждый плеер» будет весить 100MB — не взлетит.

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

Посмотрим. Возможно, это не тот случай, когда нужен снеп. Либраофис скорее всего сильно не разжиреет в снепе.

Возможно, какой-то тулкит внесут в snap-core. Или сделают отдельные снепы с определенными версиями тулкитов и систему зависимостей на них.

Это все решаемые проблемы. Я подозреваю, что сейчас они больше думают о том, как продвинуть саму систему на большое количество платформ/дистров, чем о решении не самых глобальных нестыковок.

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

snap vs flatpack

flatpack имеет такие ограничения и недостатки как snap?

fridaycat ()
Ответ на: snap vs flatpack от fridaycat

почему вопрос ко мне? я не сталкивался с flatpack.

кстати авторы snap не считают все это недостатками и ограничениями, потому что именно так все задумано.

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

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

Все к этому идут. Андройд, ios, Микрософт точно так же со своим магазином. Теперь вот убунта.

ну так опен сорс, сообщество, репозитории? Мне вот за анальную девственность в сто раз спокойнее, когда я делаю apt install gimp, чем когда я на смартфон ставлю какой-нибудь вайбер...

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

Все верно. Но посмотри в истоки своей уверенности.

Все это происходит от того, что ты в целом доверяешь этому вендору и имеешь дело только с ним. Ты доверяешь ему и тем, кто его периодически проверяет.

Если ты используешь андройд, то ты точно также доверяешь гуглу. Гуглу и тем, кто за ним следит.

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

Но и то ни другое по моему настоящему не гарантирует безопасность! Поэтому система ограничений для сторонних программ, это хорошо. Это шаг вперед. Это возможность обеспечить ограниченое доверие к неизвестной программе.

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

Во первых deadbeef не от хорошей жизни включил поддержку всех gtk 2.x 3.x qt etc, т.к. он _вынужден_ подстраиваться под окружение. Включая нужный тулкит, проблема решается. Если большой выбор внешности это принципиальная позиция разработчика, то имеет смысл поставить весь этот зоопарк gtk-qt с приложением.

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

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

Во вторых deadbeef это не универсальный конструктор со всеми степенями свободы.

deadbeef - это универсальный конструктор со всеми степенями свободы.

(весь остальной текст становится нерелевантным после этой коррекции, поэтому дальше отвечать нет смысла)

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

и блокирования использования предустановленных библиотек

Не было до Android 7.

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

о как.. а что в 7м? надо с собой тащить весь жаба рантайм, всякие zlib, openssl, mediaserver? или ты что-то другое имел ввиду?

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

На сколько мне известно, то это всего-лишь аудиоплеер, и соответственно нужно дать ему доступ ко всевозможным аудио подсистемам Linux, а их не так уж и много.

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

С другой стороны не ясно где граница зависимостей пакета. Если уж он glibc запихивает, то и всю графическую подсистему? Как быть с модулями ядра?

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

На сколько мне известно, то это всего-лишь аудиоплеер, и соответственно нужно дать ему доступ ко всевозможным аудио подсистемам Linux, а их не так уж и много.

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

нужно сконструировать что-то и запаковать в пакет

это не укладывается в понятие «расширяемость».

Если уж он glibc запихивает, то и всю графическую подсистему? Как быть с модулями ядра?

думаю, что модули ядра не запихивает. графическую подсистему тоже врядли, т.к. взаимодействие с ней идет не напрямую, а через сокет и shared memory.

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

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

Это плеер, и задача его - играть музыку. Если кто-то решит на базе плеера сделать систему управления МКС, то нужно паковать в отдельный пакет.

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

Лол, это юношеский максимализм? Много за год звуковых подсистем появилось?

magres ()
Ответ на: комментарий от anonymous

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

такие как zlib, gles, opensl, log, dl, jnigraphics, libandroid (обертка для системных java-apis), ну и ессно тот же bionic (libc). наверняка я вспомнил не все.

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

Ты пользователь rythmbox?

Нет, я не на столько продвинутый, я слушаю музыку в вебе

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