LINUX.ORG.RU
ФорумTalks

В тестинге наконец-то появился dpkg с поддержкой multiarch

 , ,


0

1

В апдейтах пришла новая версия dpkg, которая умеет multiarch. Поставил, добавил в качестве foreign-architecture i386, счастлив.

Где-то с полгода назад пробовал dpkg из гита для того, чтобы попробовать multiarch, но тогда очень немногие пакеты его умели. Сейчас ситуация намного лучше.

Празднуем!

PS. Багу в aptitude не исправили.

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

Проведем мысленный эксперимент и предположим, что оно умеет ARM, Power, MIPS или чего там еще твоей душеньке угодно. Как твой x86-процессор будет это запускать?

во-первых их можно просто использовать для кросскомпиляции, во-вторых:

http://en.wikipedia.org/wiki/Rosetta_(software)

если запилят что-то похожее - для разработки под различные архитектуры будет самое оно

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

Могу я поставить, например, полный 32-битный Firefox на 64-битную систему из репозиториев при мультилибе?

Не понял, а что вам мешает?

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

В дебиане 100500 лет как в /usr/lib32 - 32битные либы, в /usr/lib - 64битные. Жили сносно, но ia32-libs - это костыль.

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

Как твой x86-процессор будет это запускать?

через qemu

а еще это надо будет когда до магазинов доедет loongson 3. Да и вообще не x86 совместимые процессоры

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

С сегодняшнего дня - ничего. До сегодняшнего - то, каким жутко костыльным способом это было возможно сделать (по крайней мере, в дебиане).

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

в дебобунте на 32х битной системе в lib лежат 32х битные либы, поэтому всё равно пришлось бы разносить по разным директориям, а в Федоре сделали изначально правильно

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

Достаточно было прочесть это: http://wiki.debian.org/Multiarch/TheCaseForMultiarch#Benefit В частности, первый же пункт. В multiarch не выделяются «основная» архитектура и «эмулируемая», то есть без костылей можно держать произвольную солянку из архитектур.

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

На 64 бита можно ставить те же самые пакеты что и на 32. Это лучше ia32-libs тем, что доступны _все_ либы, собранные под 32бита, а также чем, что не надо собирать отдельный пакет.

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

С сегодняшнего дня - ничего. До сегодняшнего - то, каким жутко костыльным способом это было возможно сделать (по крайней мере, в дебиане).

И в чём заключался способ и его костыльность?

Axon ★★★★★
()

Первый повод для счастья: теперь у меня в 32-битных приложениях работает 3D на сандибриже, которое было до этого сломано (в ia32-libs очень древние либы, не поддерживающие еще сандибридж).

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

Два возможных способа:

1) искать 32-битный фокс, собранный для 64-битного дебиана. костыльность очевидна

2) зафорсить 32-битный фокс из 32-битного дебиана, попутно создав адЪ зависимостей и загадив /usr/lib 32-битными либами. костыльность очевидна

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

Да, получается, федора сразу сделала адекватно (хоть и не лучший способ, т.к. ограничивается только двумя архитектурами).

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

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

Звучит как погоня за архитектурной аккуратностью, не дающей конечному пользователю ощутимых преимуществ. Что такого я могу сделать с multiarch, чего никак не могу с multilib?

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

1) искать 32-битный фокс, собранный для 64-битного дебиана. костыльность очевидна

Кому очевидна? Мне - нет.

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

На 64 бита можно ставить те же самые пакеты что и на 32. Это лучше ia32-libs тем, что доступны _все_ либы, собранные под 32бита, а также чем, что не надо собирать отдельный пакет.

Да, мейнтейнерам удобно, согласен.

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

В ia32-libs нет многих нужных либ.

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

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

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

может, но в действительно хороших дистрибутивах - он не обязан этого делать

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

о что ты предлагаешь называется костыль.

Про архитектурную аккуратность я уже понял. Про реальные преимущества - ещё нет.

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

Кто будет делать и поддерживать предлагаемый тобой костыль с запаковыванием нужных либ в ia32-wtf-lib ?

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

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

Кто будет делать и поддерживать предлагаемый тобой костыль с запаковыванием нужных либ в ia32-wtf-lib ?

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

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

А как там?

32-битные библиотеки остались в /usr/lib, а 64-битные живут в /usr/lib64. Благодаря этому сохранилась совместимость со старыми 32-битными пакетами, которые можно было ставить на 64-битную систему без всяких лишних костылей. Естественным образом можно держать пакеты обеих битностей.

А дебианщики оказывается наконец-то начали решать проблему, которая уже в общем-то и не актуальна. :)

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

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

Актуальна. Выше я приводил ссылку.

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

Все rpm-based сто лет как работают по правильной схеме.

Ну Ok. Во всех остальных, кроме RPM.

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

Тут все поголовно майнтейнеры дебиана?

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

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

И если тебе кажется, что собирать недостающее придётся лишь в редких случаях, ты ошибаешься.

Возможно. Примерчиком не поможете?

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

Актуальна.

Ну, кому-нибудь конечно актуальна. Просто за годы, прошедшие с момента появления х86-64 версий дистрибутивов, почти весь софт был портирован и надобность в 32-битных библиотеках сейчас гораздо меньше, чем тогда. Как вообще жили дебианщики — не понятно.

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

Примерчиком не поможете?

Включаем ы ALSA хороший ресэмплер, пытаемся запустить под wine любую игру — wine падает. Причина в отсутствии 32-битной версии пресловутого плагина в системе. И таких мелочей(?) полно.

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

Причина в отсутствии 32-битной версии пресловутого плагина в системе.

Нет в репах вообще? Тогда понятно.

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

Ты вообще хоть читаешь, на что отвечаешь? Такое чувство, что вместо тебя постит какой-то рекламный бот, который просто заходит в рандомную тему и пишет: «Ждём в агилии!» Даже я, человек, которому, в общем-то, положить на агилию, помню, что один из основных пунктов их философии — не deb, не rpm. Вот прав был Синус, когда говорил, что такие фанаты хуже врагов.

Ну и уверенное заявление о том, что там это точно будет, хотя сами разработчики ещё даже толком не знают, что там вообще будет, в очередной раз напоминают о твоём возрасте.

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

На 64-битной машине собирать софт под 32/64, а также, например, отлаживать (valgrind-ом). Правда, у нас убунта. И multiarch там глючит (в частности с valgrind-ом). Но тем не менее.

queen3 ★★★★★
()
dpkg --foreign-architecture i386
dpkg: ошибка: укажите требуемое действие

man dpkg
--foreign-architecture architecture
              Add  architecture to the list of architectures for which packages can be installed without using --force-architecture, in addition to the architecture dpkg is built for (i.e.: the out‐
              put of --print-architecture).

dpkg --version 
Система управления пакетами Debian «dpkg», версия 1.16.1.2 (amd64).

Ubuntu 12.04

Чета кривой dpkg, приходится мультиарчность руками прописывать

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

franchukroman> В твоей убунте ман кривой.
GotF> Убунтопроблемы.

LOL

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

убунтомаинтейнеры накосячили?

убунтомаинтейнеры собирают как и положено из транка, а не бранча

vaino
()
Ответ на: комментарий от vaino
ACTIONS
       -i, --install package-file...
...
       --foreign-architecture architecture
              Add  architecture to the list of architectures for which packages can be installed without using --force-architecture, in addition to the architecture dpkg is built for (i.e.: the out‐
              put of --print-architecture).

вы неправы, это экшн

savgur
()
Ответ на: комментарий от savgur
dpkg --print-architecture 
amd64

это либо дебианщики либо убунтологи накосячили

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

вы неправы, это экшн

/* This table has both the action entries in it and the normal options.
 * The action entries are made with the ACTION macro, as they all
 * have a very similar structure. */
static const struct cmdinfo cmdinfos[]= {
  ACTION( "install",                        'i', act_install,              archivefiles    ),
...
  { "foreign-architecture", 0, 1, NULL,         NULL,      set_foreign_arch, 0 },
...

конечно экшн, расскажи это авторам dpkg, а то они в коде прописали другое

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

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

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