LINUX.ORG.RU
ФорумTalks

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

 , , ,


1

2

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

Ну, так было.

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

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

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

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

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

У меня всё.

Deleted

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

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

У тебя, по хорошему, зависимость вообще не должна обновляться

Да. Но там были какие-то коллизии в логике работы ПМ.

во всех программах меняешь симлинки

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

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

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

Да, может и не меняться. На усмотрение автора.

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

Ну и пусть все эти разные ОС лежат в отдельных подмножествах файловой иерархии, в своих неймспейсах. Под управлением нормального пакетного менеджера, а не очередного апта.

Попытка была: Bedrock Linux. Несколько дистрибутивов в одном, все склеено синей изолентой.

Thetan ★★★
()

Ох и вкусно вбросил...

Куча комментов, чо...

Ждите пацаны, ского всё порешают, репы больше никого не устраивают.

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

Выглядит весьма криво

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

плюс сборка из исходников

Нет, там в основном бинарные пакеты.

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

Завтра посмотрю, щас спать пора.

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

В общем, суть в том что зависимость от официальных или левых васянов сулит пользователям сопутствующие проблемы и, как следствие, пердолинг с ними.

Определенные неудобства есть. Вопрос в том, будет ли их меньше при другом подходе. Вспоминая ад с обновлениями в венде — не уверен.

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

Сырцы открыты, говорю же – тратил время и компилировал вместе с зависимостями

А почему ты такой неудачник, что не мог потребовать от поставщика софта, чтобы он собирал его под используемую заказчиком систему?

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

Поставщик тогда ориентировался на то, что было наиболее популярно – убунточки.

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

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

Однажды репозитории начали вычищать от устаревших Qt4-пакетов и связанных с ними.

Уже давно вычищают, да. Можно, конечно, скачать старые версии пакетов по зависимостям и поставить, а можно попробовать собрать текущий master https://github.com/KDE/amarok, он уже портирован на Qt5.

Собственно, Clementine

Собственно, Clementine тоже на Qt4, afair.

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

гениально, а теперь следующий гениальный ход: cp $your_cool_lib_location/your_lib.so ./ ; ./amarok

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

Google play music. Да, согласен, там нет многого из того, что я когда-то любил послушать. Но я как-то старею видимо, опопсел, бОльшая часть любимого мной нынче митола в наличии там есть.
Ну и б-же мой, я сейчас с улыбкой вспоминаю, как хранил гигантские коллекции лося на харде, как сам писал сервис, раздающий музло потоком со своей домашней машинки в интернеты, чтобы на работе слушать 8) Теперь все есть на любом устройстве в любое время.

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

хватит sqlite

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

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

А почему ты такой неудачник, что не мог потребовать от поставщика софта, чтобы он собирал его под используемую заказчиком систему?

Поставщик тогда ориентировался на то, что было наиболее популярно – убунточки.

И что? Вам нужно под RHEL 7, вы платите деньги - в чем блин проблема?

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

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

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

Я из дома через мпд стримал. Снова думаю вернуться к этому.

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

И что? Вам нужно под RHEL 7, вы платите деньги

Ну так я и заплатил. Только своим временем.

беспомощном нытье другой

Вот это вот – тоже беспомощное нытьё? Ну а что, все эти люди заслуживают презрения. Ишь, дистрибутив Linux’а в руки взяли и хотят чтобы без проблем всё работало. Нет уж, диды кололись, страдали, патчили, компилировали и нам с вами завещали.

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

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

Просто для протокола: Firefox, Chrome, Thunderbird используют SQLite. Более того, iTunes использует SQLite.

И вишенка на торте: Использование MySQL (MariaDB) никак не убыстрило тормозной Amarok. Более того, оно его замедлило и усложнило деплой.

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

Я помню. В итоге, ЕМНИП, никто, кроме авторов libav, ffmpeg и дистростроителей разницы не заметил.

Ну конечно, я помню период отсутствия ffmpeg в дистрах и сломанные скрипты, потому что кому-то там моча в голову ударила и ffmpeg удалили, а libav или подобную дичь пропихнули. На форумах драма была ещё покруче systemd.

До сих пор эта хрень аукается. Вроде в WSL на винде нету ffmpeg (но это не точно).

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

То есть у пользователей все ок было, я правильно понимаю? :)

Неправильно. Я – пользователь. У меня были скрипты для ffmpeg, которыми я конвертировал одни файлы – в другие. И мне не было ок, потому что ffmpeg внезапно удалили из всех дистров, а замена нормально не работала.

Мне создали пердолинг на ровном месте, потому что кому-то там ударила моча в голову и кто-то громко хлопнул дверью, но не ушёл (вот прямо как на ЛОРе).

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

в этой базе текст один, откуда там 2ГБ взяться?

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

Кстати GLIBC тот ещё кусок глючного кала, который может сегфолтиться даже с хелловорлдов, как недавно выяснили на ЛОРе.

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

сегфолт - это нормально и юниксвейно, говорит программисту, что он в чём-то неправ

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

На маках айфонах и прочем они просто обновляют версию. Никакой dependency hell там нет и в помине не было, так как «все свое тащу с собой». Да и то на маке только если поставлены через app store.

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

когда размер базы перевалит пару гигов.

Ню давай, 200 байт на трек. Ну ок. Сколько там пять миллионов треков? На 5мб трек… получается 25 требайт музыки.

Плиз пересчитай, друже. Походу я ошибся, слишком упорото.

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

Извините дараагия линуксойды..

Наличие проблемы указывали первосходцы с Вин95 и далее по списку.
20 лет повторять мантру, что репы - сила! Ну нормально! Так вот и десктоп завоевали...

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

А чо тут думать?

ОДИН ДЕ - системный софт

ДВА И БОЛЕЕ - а кувыркайтесь-ка голубки вы все в предeлах /opt и не пугайте пользователя.

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

Я не помню, как это было решено в свое время на фре, но там система точно была отдельно от портов - отдельно обновлялась, отдельно компилялась. Проблема даже не во всяких apt/rpm, а в том что в этом тазике бурлят и система и пользовательский софт, у которых, обычно, разные циклы жизни и обновлений.

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

Скорее всего изначально. В каком-то там 2000 году я ставил 3.5 и всё там было уже /usr/ports/
Возможно что это от рождения она такая.


History
Jordan Hubbard committed his port make macros to the FreeBSD CVS repository on August 21, 1994.[7] His package install suite Makefile had been committed a year earlier (August 26, 1993).[8] The core ports framework was at first maintained by Hubbard along with Satoshi Asami for several years. The Ports Management Team was later formed to handle this task.

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

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

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

Поправил.

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

Суть в некомпетентности одной стороны и беспомощном нытье другой.

Но куда же без нытья? Слушай, почему я 20 лет линуксом пользуюсь и у меня нет проблем со шрифтами, зависимостями или выбором DE?

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

Вам нужно под RHEL 7, вы платите деньги

Ну так я и заплатил. Только своим временем.

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

Вот это вот – тоже беспомощное нытьё?

Если там описываются проблемы вроде твоих - да.

хотят чтобы без проблем всё работало.

Причем хотят, не приходя в сознание.

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

Вот это вот – тоже беспомощное нытьё? Ну а что, все эти люди заслуживают презрения. Ишь, дистрибутив Linux’а в руки взяли и хотят чтобы без проблем всё работало. Нет уж, диды кололись, страдали, патчили, компилировали и нам с вами завещали.

Я не понимаю одного — тебя беспокоит, что в лялехе нет обратной совместимости в плане ABI? Попроси мейнтейнеров собрать тебе пакетик, денег им дай. Если мейнтейнеры не могут — купи венду и не ной.

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

Да ТНБ с ними, шрифтами и DE - там еще можно сказать «зато это бесплатно». Но тут люди заплатили за софт, им дали софт, не запускающийся на нужной им платформе, и они не требуют у поставщика это исправить. Ну как так можно? Я бы понял, если бы скачанный из Интернета бинарь не запустился из-за старой glibc - но тут же заказной софт.

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

Тут - где? Автора поста может собрать нужную версию Амарока в нужном окружении, просто не хочет или не умеет.

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

Что мешает сделать то же в Линуксе? Добавить к библиотекам базу.

question4 ★★★★★
()

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

Это не столько к линуксу вообще, сколько к холивару статической линковки против динамической.

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

Вещи всё же разные.

Статическая/динамическая шинковка, и дистрибуция с опорой на свои библиотеки или дистрибутива

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

До сих пор эта хрень аукается. Вроде в WSL на винде нету ffmpeg (но это не точно).

Да, конечно. Ffmpeg был повернут взад в Ubuntu 16.04.

Сейчас дефолтной для WSL является 18.04.

fornlr ★★★★★
()

Истеричка!
* Отвешивает звонкую пощечину.

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

А пм'ы - така да, говно. Нужны пм ориентированные на интерфейсы и фичи либ, а не на сами либы. Снапы и флатпаки - это тоже говно, просто в другую крайность.

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