LINUX.ORG.RU
ФорумTalks

Как я люблю зависимости и вот это вот всё

 , , ,


1

2

Я уже много лет пользуюсь плеером Amarok. За это время в его базе накопилась немалая коллекция треков с тегами, обложками, рейтингами и т.д. Особенно ценны для меня рейтинги - я больше 6 лет сортировал треки по приятности, так что теперь мне достаточно включить сортировку по рейтингу, чтобы проигрывание началось с моих самых любимых треков.

Ну, так было.

Однажды репозитории начали вычищать от устаревших Qt4-пакетов и связанных с ними. Я намёк понял и вынес все дропнутые мантейнерами пакеты в отдельный каталог вместе с самим Амароком, и стал запускать его через скрипт (LD_LIBRARY_PATH и всё такое). Потом в один прекрасный день отвалилась коллекция. Оказалось, что проблема в libssh - разработчикам показалось, что будет прекрасной идеей внезапно перейти с gnutls на другую библиотеку (или обратно, я уже не помню). А что делать пользователям отвалившегося из-за этого софта? Ну, сидеть ждать починки от разработчиков этого софта или, на худой конец, мантейнеров. Почему бы и нет?

Тогда я вынес ещё и libssh прежней версии, а подумав - и ещё пачку пакетов, которые точно так же могли поломать в новых версиях. Оставил только совсем уж низкоуровневые вещи и пакеты mariadb. Ведь не может же быть такого, что разработчики аж целой СУБД что-то переделают так, что отвалится уже работающий софт, правда?

Ну вы поняли, что случилось на днях.

Концепция пакетных менеджеров с репозиториями, где всё зависит от всего, и уйма человекочасов тратится на бег на месте - это всё просто прекрасно, просто прекрасно. Конечно, самодостаточные пакеты, работоспособность которых гарантирована десятилетиями - это такое вендозное фу и куча дыр - вдруг Вася через баг в старой библиотеке скачки текстов с Википедии украдёт список моих песен. В Линуксе такое невозможно - тут если баг в одной библиотеке, то через него можно отпердолить сразу полсистемы, или из-за него отвалится куча программ. Зато какая стройная концепция, а! Ну и что, что из-за неё можно потерять многолетние данные, зато концепция стройная.

Да засуньте вы её себе в жопу.

У меня всё.

Deleted

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

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

Кароч, реанимировал старый Амарок, созданием симлинков вот этих вот libmysqlclient.so.18, не знаю надолго ли этого хватит.

То есть, смотрите что получается. Разработчики Амарока привязали программу к конкретной версии либы: so.18. И это как будто бы выглядит здраво, если не учитывать, что вчера этот so.18 был, а сегодня он пропал или превратился в so.19 или so.so.lalka

То есть, это как бы версионирование, но через попку. И непонятно, как защититься от такого в будущем.

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

Не пойму, что в этом такого. Это ж для удобства, а не просто так, от делать нефиг.

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

Не, стюардесса пока ещё юзабельна, если резких движений не делать и не тыкать туда куда не следует))

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

Меня много чего не устраивает, и есть шансы что в новых версиях это поправят. Если тебе нравится сидеть на нафталине - сиди дальше, для меня релизные дистры это неюзабельное говно, точка.

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

И непонятно, как защититься от такого в будущем.

Собрать контейнер с нужными версиями и забыть об обновлениях вообще.

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

Ну я что-то вроде этого и сделал, но как видишь, это не спасло. Или нужно запихивать в контейнер всё, кроме ядра и glibc.

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

Или нужно запихивать в контейнер всё, кроме ядра и glibc.

Да, я это имел в виду.

кроме ядра и glibc.

Однажды и оно отвалится ))).

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

Пока что неюзабельное говно у тебя выходит, см ОП)

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

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

То есть, это как бы версионирование, но через попку. И непонятно, как защититься от такого в будущем.

Ну у тебя Rolling. Который не предусматривает «замораживания» подобного. По идее за этим должен следить мейнтейнер, чтобы при обновлении .so.18 => .so.19 ничего не отвалилось.

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

Ну Amarok - динозавр тяжёлый, поэтому тут уж

Вот же новый KDE плеер Elisa уже засадили в flatpak

https://flatpak.org/setup/Arch/

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

flatpak install flathub org.kde.elisa
fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от mogwai

бубунта

Тот же дебиан, только подогретый. А дебиан на десктопе вообще неюзабелен.

федорой

Дистр, заточенный под gnome3, спасибо, досвидания. Плюс ещё ФГМ с лицензиями.

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

По идее за этим должен следить мейнтейнер, чтобы при обновлении .so.18 => .so.19 ничего не отвалилось

Вот об этом беге на месте я и писал в стартпосте. Надо или привязывать просто к libname.so без всяких циферок, либо изначально как-то гарантировать, что libname.so.version никогда не исчезнет из системной иерархии. А сейчас какой-то бред выходит.

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

Во-первых, дебиан юзабелен. Если тебе ехать, а не шашечки. Во-вторых, у федоры есть спин с кодое. В-третьих, это называется не «фгм с лицензиями», а забота о юридической чистоте.

Я бы мог тебе ответить, что в любом случае дистрибутив заточенный под gnome всегда будет лучше дистрибутива заточенного под kde, но мы же не хотим скатываться в срач на тему чья ДЕ ДЕстей?

Хотя… тут просто сам напрашивается вопрос: неужели в KDE всё настолько плохо, что пользователи с нетерпением ждут обновлений в надежде, что этот кусок Qt в новой версии хоть немного лучше станет? :P

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

Консольный плеер в 2k19, серьёзно?

А какая разница-то?

Алсо, он наверняка не умеет в рейтинги.

Умеет, кто-то плагин для этого делал.

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

дебиан юзабелен

Нет.

это называется не «фгм с лицензиями», а забота о юридической чистоте

Это называется ФГМ с лицензиями.

Я бы мог тебе ответить

Мне так важно твоё мнение, я аж кушать не могу.

неужели в KDE всё настолько плохо

Посредственно. И это лучшее, что есть для десктопного Линукса, потому всё другое либо полумёртвое и убогое, либо рождено даунами через жопу, которые слово «дизайн» считают синонимом «сделаем корявый закос под макось, так все подумают что мы офигеть спецы в UX»

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

Собстно, когда команда амарока притащила внутырь плеера мускуль стало ясно, что всё плохо, и пора валить.

Там он вроде не был прибит гвоздями. Кажется, ещё альтернатива в виде SQLite была

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

А какая разница-то?

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

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

Надо или привязывать просто к libname.so без всяких циферок, либо изначально как-то гарантировать, что libname.so.version никогда не исчезнет из системной иерархии.

Если привязывать без всяких циферок, то ситуация: в будущем выходит новая распрекрасная мажорная версия libmysqld (libmariadbd), ломающая совместимость со старой либой – вуаля: по симлинку без циферок становится доступна новая либа, твоё приложение снова превращается в тыкву.

А сейчас какой-то бред выходит.

Ну так в современном мире система этих упорошных SO-names родом из мохнатых 70х-80x от UNIX-дидов – выглядит бредово, да. В том же Android версионирование этих сошек принудительно ОТКЛЮЧИЛИ, потому что эта невменяемая срань не должна существовать вообще.

Всё это огрехи и костыли UNIX-мира, которые сегодня всё ещё стараются преодолеть.

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

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

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

спонтанность не нужна, только чёткий график, только пятилетний план, только хардкор! :)

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

Ты это, кушай… а то клавиши нажимать сил не будет :)

дебиан юзабелен

Нет.

И чем же это?

Это называется ФГМ с лицензиями.

Если у вас в KZ на лицензии кладут, это не значит, что во всём мире так.

И это лучшее, что есть для десктопного… сделаем корявый закос под макось

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

mogwai ★★★★
()

Может deadbeef + sort-rating plugin сойдёт?

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

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

Говорит нам чувак, держащий слакаризированную версию Amarok'а.

kirk_johnson ★☆
()

Вроде nixos’ер, а притянуть amarok из прошлого среза nixpkgs не смог? О-хо-хо.

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

И чем же это?

Давайте обмажемся дополнительными репами, чтобы системой можно было хоть как-то пользоваться. Это очень весело, особенно при апдейтах.

Вы говорите, что вам нужен свежий Virtualbox? Скачайте пакет с сайта компании (вы ведь скучали по винде, не так ли?) и установите его вручную. Не забудьте вручную же собрать модули ядра. Ой, у вас они конфликтуют со старыми, попердольтесь малёх в консольке. Не упрямьтесь, глаза должны быть немножко розовыми.

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

Программа работает с ошибкой, падает при запуске? Я не дам вам удалить этот пакет просто так, потому что в каком-то его конфиге есть ошибка. Да, конфиг ничего не значит при удалении пакета, но я тонко чувствующая натура, и вообще я обиделась.

Этот список можно продолжать долго.

Если у вас в KZ на лицензии кладут, это не значит, что во всём мире так

Предлагаешь мне заболеть лицензионным ФГМ чтобы миру обидно не было?

Тараканы твои, или маковод в детстве покусал?

Не, я просто лоллирую с того, как гномовцы немощно копируют макось, лажая при этом в основах эргономики.

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

В хорошем ПМ это как два пальца об асфальт, а не то, что ты подумал.

Какая разница, какой PM? Положить кучу библиотек в пакет можно хоть в rpm.

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

но разве можно покушаться на святой FHS

Ты что, не уважаешь идеологию дидов? В мире UNIX по святым и незыблемым заветам программа должна быть тонким слоем размазана по /usr/bin, /usr/lib, /usr/share, ~/.config/ и ~/.local/ как дерьмо по поверхности унитаза.

А тех, кто этот беспорядок постарается привести к человеческому виду – предать анафеме!

«У каждой программы должен быть отдельный каталог, потому что это удобно?» ЧТОО??? Гоните виндузятнков отсюда!

«Мы сделали пакетный менеджер, который позволяет обойти dependency hell благодаря костылям в виде хешей/симлинков/монтирования и т.д» ЧТОО??? Хипстеры сраные и геи! Валите на macOS и долбитесь в жопу!

Собственно вся суть. Когда разработчики прикладного обеспечения начинают портировать свою программу на Linux и сталкиваются с этой ахинеей – многие из них тупо бросают дальнейшую работу над портированием, ибо нужно перелопачивать код «дебианизировать» (правильнее сказать «дебиланизировать») ресурсы, учить спеки deb/rpm и заниматься прочими «пердольнецкими» вещами, чтобы подготовить релиз своего ПО.

А потом все вопрошают, почему никто не пишет прикладной софт под Linux? Потому что Linux это Ад и Израиль без каких-либо гарантий. В Windows, в macOS или блин даже в Haiku OS хотя бы можно положиться на системные API и фреймворки. В Linux можно положиться только на ядро. И то с опаской. Даже с glibc проблем дохренища.

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

Familiarity: accessibility, ease of comprehension, ease of use

У гноморазрабов этот пункт при чтении постоянно попадает в слепое пятно, похоже

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

«У каждой программы должен быть отдельный каталог, потому что это удобно?» ЧТОО??? Гоните виндузятнков отсюда!

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

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

А потом все вопрошают, почему никто не пишет прикладной софт под Linux? Потому что Linux это Ад и Израиль без каких-либо гарантий. В Windows, в macOS или блин даже в Haiku OS хотя бы можно положиться на системные API и фреймворки. В Linux можно положиться только на ядро. И то с опаской. Даже с glibc проблем дохренища.

Пажжи, давно в glibc ломали API (ну путать с ABI)?

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

Или когда программы пишут в C:\Program Files\Progname, только в последних версиях венды костылями кое-как отучили

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

Повелители башепортянок не могут написать скрипт, выбирающий конфиги? XD

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

Сирисли: данные в ~/.local/share, конфиги в ~/.config, кеш в ~/.cache. Что в этом сложного? :D

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