LINUX.ORG.RU

Gentoo vs Ubuntu


1

1

Вот не знаю куда запостить- сюда или в девеломент? Поскольку проблема не в сборке, пусть будет тут.

Вобщем в 0х39 царстве в 0х3А государстве в компании СуперЛапти-Софт трудились два программиста. Ежи и Петруччо. Ежи любил виндовс а Петруччо на всех своих компах любил ставить Генту.

На дворе во всю шел 21 век. Руководство СуперЛапти-Софт наконец то обратило свое внимание в сторону Линукса и приказало Ежи и Петруччо написать некую софтину. Петруччо очень обрадовался. Ура! наконец то на рабочем компе можно снести виндовс и накатить люибимый Линукс, что он собственно незамедлительно и сделал. Ежи тоже не особо расстроился. В конце концов он был професионалом и навыками програмирования под Линукс владел достаточно хорошо. В результате, Ежи поставил себе Убунту, как самый популярный и дружелюбный к пользователю дистрибутив. А компьютер Петруччо принялся греметь винтом и увеличивать темепературу помещения, перемалывая очередную порцию исходников в оптимизированный исключительно под его комп код.

Возможно, что мне не пришлось бы писать эту историю, да случилось так, что Ежи и Петруччо решили использовать в своем проекте sqlite. Вроде бы ничего особенного, скажите вы? Да случился у них спор. Ежи, как виндузятник, утверждал, что исходники sqlite надо положить в свой репозиторий и собирать их исключительно вместе с своим приложением. Дескать тот sqlite, который находится в системе штука ненадежная. Сегодня он один, а завтра обновится на что-то другое. А вдруг обновление сломает ихнюю программу? Петруччо же в ответ утверждал, что обновление sqlite способно сломать только изначально кривую программу. И вообще! Обновление фиксит баги, уязвимости. И вообще, держать в системе несколько одинаковых библиотек - это не юниксвейно!

То ли Ежи не особо сопротивлялся, то ли Петруччо был особо убедителен, но решили они использовать системный sqlite. Весь месяц Ежи и Петруччо трудились не покладая рук. А под конец месяца решили они, что sqlite им нужен не простой, а с поддержкой icu.

А вот теперь - внимание! Оказалось, что в Генте поддержка icu добавляется с помощью одного юза. А в убунте sqlite только один, и собран он без поддержки чего бы то ни было!

Вопрос. Как вообще в Убунте принято решать такие проблемы? Неужели, как и в винде, путем вкомпиливания своей версии sqlite в каждое приложение?

UPD: Народ, у кого бинарный дистр, у вас sqlite icu, fts или еще какие либо екстеншены поддерживает?

★★★

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

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

Даже на Core2Duo система с крысой собирается за 3 часа с перерывом на обед.

devl547 ★★★★★
()

системный sqlite с поддержкой icu

вы лично под себя пишите? или требуете от пользователей ставить генту?

путем вкомпиливания своей версии sqlite в каждое приложение?

там всего два файла, sqlite изначально заточен на «вкомпиливание»

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

вы лично под себя пишите? или требуете от пользователей ставить генту?

Была бы только Гента, небыло бы этого топика

там всего два файла, sqlite изначально заточен на «вкомпиливание»

Ну в убунте это шареная библиотека.

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

AF ★★★
() автор топика

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

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

Была бы только Гента, небыло бы этого топика

ну так на убунте свет клином не сошелся - в бинарных дистрах везде собрано без icu, ибо это дефолт для sqlite

Ну в убунте это шареная библиотека.

и не только в ней

Вопрос в идеологии.

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

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

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

Кто сказал проприетарный? О распространении вообще ни одного слова не было.

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

вы не хотите ее сами собрать

Какое изощренное издевательство - советовать пользователю бинарного дистрибутива собрать что нибудь (-:

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

Как вообще в Убунте принято решать такие проблемы?

убунтоюзеры не смотрят наркоманские мультики, и в большинстве своем делают квадратные глаза при слове «sqlite».
а вообще, вроде апт умеет собирать из сорцов, apt-build штука зовется.

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

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

наиболее логично собирать и поддерживать дефолтный вариант, и логично рассчитывать только на него, а если распространять самостоятельно - то лучше вообще все таскать с собой, ну разве что кроме всяких gtk/x11/qt etc.

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

Какое изощренное издевательство - советовать пользователю бинарного дистрибутива собрать что нибудь (-:

так вам sqlite + icu просто так нужны - поржать, так бы сразу и сказали

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

апт умеет собирать из сорцов, apt-build штука зовется.

Ну соберу я deb пакет, а дальше что? С первым же апдейтом sqlite мой пакет будет деинсталирован.

А если завтра появится третий девелопер и поставить себе арч?

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

Нет ничего плохого в сборке своей версии sqlite прямо с проектом.

Вчера просмотрел такой годный камент!

Поясняю свою мысль.

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

А есть Линукс, который типа более совершенный и который имеет систему пакетов + автоматическую работу с зависимостями. Одно из премуществ подхода Линукса - отсутствие лишних копий библиотек.

И тут вдруг получается, что на Убунте почти каждое приложение должно тягать свой sqlite. Получается, что Убунта не юниксвей?

Как вы вообще на убунте живете? Неудобно же!

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

Обновлятор неглядя детектед.Собери в отдельный пакет (другой!), который реплейсит sqlite - это будет наиболее unixway и правильно, тащемто.

Реплейсит по правилам контрол-файла ессно.

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

Реплейсит по правилам контрол-файла ессно.

Я не знаток дебов (

Можно ссылку или обьяснение на пальцах, как такая фича у них работает?

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

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

Хорошее решение для открытого софта — сделать возможность собирать и со встроенной библиотекой, и с системной. Выбором конкретного варианта будет заниматься мейнтейнер.

Если появляются такие вопросы — включайте amalgamation сборку прямо рядом с использованием, и спите спокойно. SQLite — проект с параноидальным покрытием тестами, в Вашем коде ошибок и уязвимостей точно будет больше.

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

Внезапно, убунта - мейнстримный дистр, они собирают то, что востребовано большинством.

Если 2 гика хотят добавить изюминку, есть несколько путей.

Можно статически линковать с нужной версией. Можно нужную версию притащить с собой, как и на винде. Можно вытянуть apt-ом исходники, переконфигурить по-своему и опакетить. И наконец, можно написать ментейнеру пакета и убедить его в том, что он собирает неправильно.

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

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

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

Хорошее решение для открытого софта — сделать возможность собирать и со встроенной библиотекой, и с системной. Выбором конкретного варианта будет заниматься мейнтейнер.

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

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

Внезапно, убунта - мейнстримный дистр, они собирают то, что востребовано большинством.

Задумался. Блин, вот не ожидал, что sqlite+icu = нестандартное решение.

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

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

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

но как то это костыльно что ли?

Почему? Библиотеки разные бывают. Да и приложения тоже: eclipse и netbeans не принято ставить из репозиториев, несмотря на то, что они там есть. А OpenOffice не принято пересобирать даже в генте.

Пока, по факту, гента удобнее убунты.

Пока пишешь под генту.

note173 ★★★★★
()

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

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

Из http://changelogs.ubuntu.com/changelogs/pool/main/s/sqlite3/sqlite3_3.7.13-1/...

sqlite3 (3.6.11-1) unstable; urgency=low

* New upstream release, upload to unstable. * Enable ICU support (closes: #494987). * Update debhelper compatibility level to 5 as 4 is deprecated now.

 — Laszlo Boszormenyi (GCS) <gcs@debian.hu> Sat, 14 Mar 2009 21:18:18 +0000

sqlite3 (3.6.14.2-1) unstable; urgency=low

* New upstream release. Disable ICU support, it causes more trouble than good. * Add 20-hurd-locking-style.patch for proper locking on Hurd (closes: #529734).

 — Laszlo Boszormenyi (GCS) <gcs@debian.hu> Sun, 31 May 2009 16:28:06 +0000

Можно сделать вывод, что всё это неспроста. Впрочем вариантов просто дохрена как получить желаемое.

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

Статически линкуйся со своим sqlite, который собран с любыми нужными флагами.

unfo ★★★★★
()

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

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

The default configuration of SQLite only supports case-insensitive comparisons of ASCII characters. The reason for this is that doing full Unicode case-insensitive comparisons and case conversions requires tables and logic that would nearly double the size of the SQLite library. The SQLite developers reason that any application that needs full Unicode case support probably already has the necessary tables and functions and so SQLite should not take up space to duplicate this ability.

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

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

Ну соберу я deb пакет, а дальше что? С первым же апдейтом sqlite мой пакет будет деинсталирован.

Ну сама святая простота. Неужели ты думаешь, что это нельзя убрать? Прочитал бы сначала маны, перед тем как сраться.

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

А OpenOffice не принято пересобирать даже в генте.

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

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

Ну да, «не принято» примерно это и означает. А что не так?

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

Почему? Библиотеки разные бывают.

И чего такого особенного к sqlite, что его должно быть так много?

AF ★★★
() автор топика

Братюнь, тебя зенитур покусал?

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

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

Проблемы сборки - это проблемы мантейнеров. В генте мантейнеру достаточно прописать в зависимостях sqlite c юзом icu. Все остальное за него сделает portage.

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

AF ★★★
() автор топика

Вопрос. Как вообще в Убунте принято решать такие проблемы?

Какие проблемы? У пользователей убунты потребности в sqlite с поддержкой icu нет.

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

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

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

А OpenOffice не принято пересобирать даже в генте.

А LibreOffice можно?

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

тыц иногда там появляется пакет sqlite-icu...

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

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

Это после того, как ты сначала потратил пол жизни, чтобы её накатить?

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

На тебе еще вариант: http://stackoverflow.com/questions/611459/how-to-sort-text-in-sqlite3-with-sp...

Спасибо, подумаю

Какие проблемы? У пользователей убунты потребности в sqlite с поддержкой icu нет.

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

И собирать этот софт под мак, винду,

Не, в маке и винде есть только один путь - все носить с собой. Посему такой вопрос там не актуален.

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

тыц юниксвэй в том что можно и так и так.

Походу в убунте выбора нет.(

я собираю -_- мне не лень

Я для винды тоже собираю и не парюсь. Но тож винда, она ж ущербная.

О блин, это про офис ответ был... Впрочем офис я тоже собираю

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