LINUX.ORG.RU

Конфликт пакетов MyPaint и GIMP в ArchLinux

 , , ,


3

4

Много лет люди могли одновременно использовать GIMP и MyPaint из официального репозитория Арча. Но недавно всё изменилось. Теперь вы должны выбрать что-то одно. Или собирать один из пакетов самостоятельно, внося некоторые правки.

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

Оказалось, мейнтейнер Арча использовал патч, изменяющий имена некоторых файлов libmypaint. В их числе был файл конфигурации для pkg-config, влияющий на сборку зависящего от libmypaint Гимпа. По заверениям мейнтейнера, сделано это было ненамеренно и после жалобы древний патч был отменён. Однако, после его отмены возник неразрешимый конфликт пакетов libmypaint и MyPaint, ввиду того, что в пакетах есть совпадающие имена файлов.

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

Поговаривают, что после релиза MyPaint 2 проблема разрешится. Но на данный момент вторая версия находится только в стадии альфы. Последний релиз MyPaint 1.2.1 был в январе 2017 и кто знает, сколько придётся ждать до официального релиза второй версии.

Если у вас стоят одновременно GIMP и MyPaint, то теперь вам придётся либо удалить что-то одно, либо добавить опцию IgnorePkg = mypaint в секцию [options] файла /etc/pacman.conf и надеяться, что MyPaint будет продолжать работать до выхода новой версии.

Цитата из комментария другого мейнтейнера:

The fact that we fixed a longstanding bug in our libmypaint package, which caused a conflict with mypaint, is not inherently some sort of bad occurrence, and the fact that mypaint now conflicts against the gimp package's dependencies is not because we hate it or want to drop it to the AUR. It is... simply the unfortunate consequence of bad decisions by the upstream mypaint developers.

anonymous

Проверено: jollheef ()
Последнее исправление: mono (всего исправлений: 2)

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

Проблема такая будет во всех дистрах, где есть mypaint и при этом libmypaint вынесена в отдельный пакет

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

Теперь оказалось, что и в пакете mypaint и в libmypaint есть одна и та же библиотека libmypaint, которые, естественно конфликтуют друг с другом.

Вы думаете разрабы mypaint в курсе про какие то пакеты ?

mx__ ★★★★★
()

Общие зависимости и десктоп несовместимы.
Инфантилы не могут признать проблем в архитектуре и своей философии.

Exmor_RS ★★★
()

узнаю арч, лол.

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

Почему в генту ничего не конфликтует?

Есть gimp-2.10.12, зависит от mypaint-brushes-1.3.0 и libmypaint-1.3.0.

Есть mypaint-1.2.1, зависит от libmypaint-1.3.0.

Всё это одновременно ставится и не конфликтует. Без всяких слотов.

grem ★★★★★
()

Не пользуюсь ни тем, ни другим. Pinta - отличный графический редактор, если нужно сделать легкую обработку картинок.

Rinaldus ★★★★★
()

Целый конфликт пакетов из-за libmypaint.so? Арчемейнтейнеры совсем обленились? Аx да, они же уже показали свой уровень лени, дропнув x86…

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

Pinta

легкую обработку картинок

И целый Mono ставить из-за?

Оно всё равно до Paint.NET не дотягивает (или уже дотягивает?), с которым изначально решило равняться. У меня оно в своё время вообще падало на ровном месте.

mord0d ★★★★★
()

Раз уж эта мыльная опера на главной.

То - кто-нибудь может внятно, и четко, объяснить в чем ТЕХНИЧЕСКАЯ суть проблемы? Как вообще чисто технически такое возможно и как так получилось?

Лично я вообще ничего не понимаю. Как может библиотека приложения конфликтовать с этим же приложением???

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

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

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

Может ты мне объяснишь, потому что я вообще не вдупляю что-то.

Yet we were not going to add a suffix to the v1, because it would have broken older software which would have still been compatible.

Это как? Мы про опенсорс? Если добавление суффикса что-то ломает, то почему нельзя элементарно пропатчить ломаемое? О каком конкретно older software тут речь?

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

Теперь оказалось, что и в пакете mypaint и в libmypaint есть одна и та же библиотека libmypaint, которые, естественно конфликтуют друг с другом.

Вот в твоей же цитате написано - embedded STATICALLY. Как может статическая библиотека конфликтовать с динамической, притом между разными приложениями?

curufinwe ★★★★★
()

чинить собираются? мне оба редактора нужны

InterVi ★★★★
()

Что вообще мешало сделать libmypaint и libmypaint-immaspeshul? Безотносительно нужности самого mypaint.

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

Я и сам не понимаю, что он там имел в виду, я себе статическую компиляцию немного по-другому представлял. Факт в том, что вместе с mypaint приходится носить эту либу зачем-то кроме той, что есть в отдельном пакете. Такой же точно баг в редхате, во фряхе, везде.

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

Тоже не нашёл никого кто использует libmypaint. Если ставить обновлённый mypaint и обновлённый gimp, то кому это может помешать?

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

Лично я подозреваю криво написанные скрипты/конфиги системы сборки.

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

Может я ошибаюсь, но пока у меня подозрение, что в пакете libmypaint нет никакой библиотеки, а есть только .pc файлы. А библиотека идет в пакете mypaint вместе с приложением.

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

Безотносительно того - конфликтуют не только сами .so-шки, но и вспомогательные файлы типа переводов .mo

anonymous
()

DLL-hell, говорили они.

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

Да, я совсем не прав. Вижу в пакете mypaint есть статическая libmypaint.a, а в пакете libmypaint - динамическая. И в чем конфликт?

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

Если конфликтуют переводы, так надо выпилить их из mypaint, а в зависимости ему прописать пакет libmypaint с переводами. Из-за этого такая драма?

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

И целый Mono ставить из-за?

Ну и что? Это ведь не Gentoo, где нужно тратить время на сборку.

Оно всё равно до Paint.NET не дотягивает

Не знаю, я Paint.NET не использовал. Но Пинтой пользуюсь регулярно для таких вещей как обрезать/повернуть картинку, сделать простенький коллаж (поддержка слоев там имеется), отредактировать скриншот.

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

Это ведь не Gentoo, где нужно тратить время на сборку.

Мне всегда казалось, что ты гентушник…

Не знаю, я Paint.NET не использовал.

Я когда-то использовал. Даже плагины допиливал. Редкое приложение для Windows, которое во всём было хорошим (до GIMP не дотягивало, но рисовать в нём можно было). Не знаю как сейчас, но пару лет назад о Pinta подобного сказать было нельзя.

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

Но Пинтой пользуюсь регулярно для таких вещей как обрезать/повернуть картинку, сделать простенький коллаж (поддержка слоев там имеется), отредактировать скриншот.

MyPaint не про это. В нём это, наверное, можно сделать, но неудобно, и никто не стал бы заморачиваться. Он про рисование.

anonymous
()

Интересно. До этого события пакет libmypaint в Арче был практически сломан, но всё работало. Исправили проблему — последствия оказались ещё хуже. Хуже, потому что желающих собрать GIMP из исходников существенно меньше, наверное, чем тех, кто хочет держать у себя одновременно и GIMP, и MyPaint.

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

А при чём тут иерархия и вообще Linux? Пока есть любой общий неймспейс (директория, $PATH, названия пакетов, ldconfig cache, что угодно) будут конфликты. А fully qualified пути писать никто не будет, потому что это долго и негибко. Пока всё замечательно решается переименованиями в отдельных случаях. Если мантейнеры арча не могут справиться с такой элементарщиной, позор им.

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

О каком конкретно older software тут речь?

На моей памяти libmypaint используется ещё как минимум в Pencil 2D, Synfig и OpenToonz. И прикручивается прямо сейчас как минимум к PhotoFlare.

Если добавление суффикса что-то ломает, то почему нельзя элементарно пропатчить ломаемое?

Далее по треду:

Yes we complained about API breakage, and this resulted into… the creation of libmypaint 2! Hence the need for proper versionning. Now by backporting this change to the older libmypaint (v1), Arch maintainers basically broke configuration with it. The whole point of having bumped libmypaint version and adding a version was to not have to touch the older version so that no software using it already breaks. Arch packagers did the opposite of the wanted behavior.

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

Потому что ты так искал :) Я дал список выше :)

На самом деле надо додавить Бриена, чтоб он зафиналил все свои спектральные эксперименты и сделал релиз майпейнта вместе с либой. А затем проапгрейдить весь остальной софт до нового API.

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

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

Теперь понятно. Только я перестал понимать другие вещи (это не к тебе лично вопрос, а вообще):

1. Что мешает мейнтейнеру пакета в Арче зафиксить еще и конфиг скрипт от гимпа, раз такое развели,

2. Почему эта проблема так гремит, что аж попала тут на главную

3. Почему во многих других дистрибутивах все поломано тоже?

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

1. Что мешает мейнтейнеру пакета в Арче зафиксить еще и конфиг скрипт от гимпа, раз такое развели,

Это вопрос к арчешкол...ой, простите, арчеводам.

2. Почему эта проблема так гремит, что аж попала тут на главную

Мне тоже непонятно.

3. Почему во многих других дистрибутивах все поломано тоже?

А точно во многих?

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

Ну вот дебиан, федору называют. По числу пользователей это совсем не маргинальщина. Неужели там тоже .pc файл «пофиксили»? ))

curufinwe ★★★★★
()

Новость читается как детектив, убийства, интриги, расследования

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

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

В нормальных решаются, не обязательно таким способом, но этож школорач, что вы хотели?!

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

и по незнанию переключился на sid

по незнанию САМ прописал совершенно другие ссылки для обновления на унстейбл в соуслист? звучит как: по незнанию сунул писюн в муравейник или в точилку

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

В Debian аналогично: при установке MyPaint удаляется GIMP

Что наводит на мысли, что в Debian просочились рачесборщики. А я то думаю почему они так анально завязали системды на всё что можно, в отличие от других дистров, вононочо, Михалыч?!

anonymous
()
Ответ на: guix от Camel

Дали им guix, нет, хочу жрать говно!

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

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

Почему в генту ничего не конфликтует?

Потому что генту делают нормальные мужики, а рач рачешколота, этож очевидно!

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

зеваю

mypaint includes a copy of libmypaint embedded statically in the application

как статически слинкованная библиотека может с кем-то конфликтовать?

example_cat
()

садо-мазо-рачеводство.

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

Понимаю, бро, сам творю подобную хрень, потом разгребаю! ;-)

anonymous
()

И неудивительно. Арче-мейнтейнеры как правило каждый свежак быстро компилирует а потом выкладывают нестабильщину.

anonymous
()

Use AppImage, Luke!

Много лет люди могли одновременно использовать GIMP и MyPaint из официального репозитория Арча. Но недавно всё изменилось. Теперь вы должны выбрать что-то одно. Или собирать один из пакетов самостоятельно, внося некоторые правки.

Вот к чему приводит интеграция пользовательского ПО в основную систему!

Для предотвращения подобных ситуаций @probonopd и придумал формат AppImage!

РЕШЕНИЕ: Используйте GIMP-*.AppImage/MyPaint-*.AppImage/etc.AppImage – и будет вам счастье ;)

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