LINUX.ORG.RU

Разжуйте про emerge

 , , ,


0

2

Здравствуйте, товарищи! Многим любителям всяких gentoo мой вопрос покажется наивным, а кто-то скажет -«хей, почему этот парень не пойдёт почитать мануал?». Но в таком виде мне проще изучить материал, когда в голове откладываются исключительно ответы на интересующие в данные момент вопросы, а не вся информация по теме. Как и водится у любителей линуксов, я решил снова попробовать gentoo. Опыты показали, что скрипты calculate намного полезнее меня в плане развёртывания дров под ati видеокарту, посему я бросил двухдневные попытки поднять иксы на gentoo и за десять минут поставил кальку.

К сожалению, не всё мне стало понятным в среде нового дистрибутива - почему вместо отдельного пакетика avr-gcc там отвратительный crossdev, чуть ле не собственный пакетный менеджер для какого-то там файлика-двух. Ну и самое интересное: зависимости, маски и анмаски.

Узнав, что для установки Inkscape потребуется листать гору литературы, я стал сомневаться в нужности калькулятора этого. Кстати, многое отличается от генту в том плане, что я не допускал во второй вот такого бардака:

elemashine [~]$ sudo emerge inkscape
Пароль: 

Local copy of remote index is up-to-date and will be used.
Calculating dependencies... done!
[ebuild  N     ] dev-libs/libatomic_ops-7.2d 
[binary     U  ] dev-lang/python-exec-2.0.1-r1 [2.0.1] PYTHON_TARGETS="(pypy%*) (-python3_4)" 
[ebuild  N     ] dev-libs/boehm-gc-7.2e  USE="cxx -static-libs -threads" 
[ebuild   R    ] media-libs/lcms-1.19  USE="python*" 
[ebuild  N     ] app-admin/eselect-cblas-0.1 
[ebuild  N     ] sci-libs/gsl-1.14  USE="-cblas-external" 
[ebuild  N     ] media-libs/netpbm-10.51.00-r2  USE="X jpeg jpeg2k png tiff zlib -jbig -rle (-svga) -xml" 
[ebuild  N     ] app-text/gtkspell-2.0.16 
[ebuild  N     ] media-libs/sk1libs-0.9.1 
[ebuild  N     ] media-gfx/uniconvertor-1.1.5 
[ebuild  N     ] media-gfx/inkscape-0.48.4-r1  USE="nls spell wmf -dia -gnome -inkjar -lcms -postscript" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6" 

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by media-libs/sk1libs-0.9.1
# required by media-gfx/uniconvertor-1.1.5
# required by media-gfx/inkscape-0.48.4-r1
# required by inkscape (argument)
=media-libs/lcms-1.19 python

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.

!!! The following installed packages are masked:
- sys-power/cpufreqd-2.4.2::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Pacho Ramos <pacho@gentoo.org> (06 Apr 2014)
# Multiple issues and dead for ages (#327735).
# You can use cpupower (from sys-power/cpupower or
# sys-apps/linux-misc-apps). Removal in a month.

- dev-lang/python-exec-0.3.1::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Michał Górny <mgorny@gentoo.org> (06 Mar 2014)
# Compatibility packages masked for removal in 30 days.

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

elemashine [~]$
да и emerge --sync не ругался на (здесь следует список, размером, превышающим дефолтный буфер запоминания выхлопа у konsole).

Так вот - не могли бы вы кратко рассказать (для простого сельского парня), что может требоваться для постановки inkscape'а без размаскировки ебыдлов. Ну а если нельзя без них, то так и скажите, дальше уж сам. Спасибо!

★★★★★

Во-первых, если у тебя калька, то синхронизировать portage надо через eix-sync. Во-вторых, ты, видимо, давно этого не делал, т.к. у тебя стоят пакеты, которые уже стали замаскированными. В-третьих, inkscape требует питона, нужно указать соответствующий use-флаг либо глобально, либо для пакета lcms. Последнее можно сделать автоматически, если запустить emerge --autounmask-write inkscape. Но для начала, я бы обновил систему до актуального состояния. И еще вопрос: какой у тебя выбран профиль? Бинарный или нет?

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)

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

!!! The following installed packages are masked:
- sys-power/cpufreqd-2.4.2::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Pacho Ramos <pacho@gentoo.org> (06 Apr 2014)
# Multiple issues and dead for ages (#327735).
# You can use cpupower (from sys-power/cpupower or
# sys-apps/linux-misc-apps). Removal in a month.

Что не ясно (английский базовый понимаешь же)? Пакет sys-power/cpufreqd объявлен дохлым (замаскирован по этой причине) и будет удален с дерева в течение месяца, а он-то у тебя установлен. Так что удаляй пакет и ставь на замену то, что предлагают (sys-power/cpupower, хотя я лично перешел на sys-power/cpufrequtils).

[binary     U  ] dev-lang/python-exec-2.0.1-r1 [2.0.1] PYTHON_TARGETS="(pypy%*) (-python3_4)"

- dev-lang/python-exec-0.3.1::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Michał Górny <mgorny@gentoo.org> (06 Mar 2014)
# Compatibility packages masked for removal in 30 days.

По питоновым кишкам: насколько я помню (год-полтора назад) у кальки были проблемы с питоном (поставляли дистр только с 2 или 3, не помню), которые конечно создают соотв. проблемы с python-exec, на которых разных версиях завязаны те или иные пакеты.

Тем не менее, пересобери (обнови) обе версии python-exec, а то у тебя вообще бинарная стоит.

[ebuild   R    ] media-libs/lcms-1.19  USE="python*"

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by media-libs/sk1libs-0.9.1
# required by media-gfx/uniconvertor-1.1.5
# required by media-gfx/inkscape-0.48.4-r1
# required by inkscape (argument)
=media-libs/lcms-1.19 python

чтобы собрать вышеуказанный список пакетов, нужно пакет media-libs/lcms-1.19 собрать с юзфлагом «python», для этого:

echo ">=media-libs/lcms-1.19 python" >> /etc/portage/package.use/custom
и смело емержить.

science ★★☆
()

1) Вруби глобально USE python в make.conf

2) Удали python-exec, удали cpufreqd и поставь cpupower (как и написано, собственно)

Про eix-sync уже выше написали (я его и в генте пользую, вместо emerge --sync && layman -S && eix-update).
И добавь в make.conf PYTHON_TARGETS=«python2_7 python3_2» (это инкскейпу нужно).
После этого emerge -uDN @world (-u - обновить, -D - глубокий анализ вроде, -N - использовать новые флаги из make.conf). После этого emerge inkscape.

Стоит инкскейп, брат жив.

А, да, «emerge --autounmask-write пакет» превращает конфиг в лапшу. Я бы не советовал, дописать ручками строчечку в файлик имхо не проблема совершенно.

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

проще поставить USE=«python» в make.conf, чем проставлять его потом для каждого пакета.

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

В make.conf стоят безусловно нужные и точные флаги, остальное в кишки.

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

чтобы собрать вышеуказанный список пакетов, нужно пакет media-libs/lcms-1.19 собрать с юзфлагом «python», для этого:
echo «>=media-libs/lcms-1.19 python» >> /etc/portage/package.use/custom
и смело емержить.

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

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

А, да, «emerge --autounmask-write пакет» превращает конфиг в лапшу. Я бы не советовал, дописать ручками строчечку в файлик имхо не проблема совершенно.

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

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Меня после бездумного пользования этой команды спас мегабаксовский portconf. Годная вещь, конфиги стали чистыми и шелковистыми :)

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

не вижу сакрального смысла не включить его глобальным юзом...

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

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Ну это да. Я просто скриптами на питоне иногда балуюсь, потому лишняя пачка его библиотек совершенно не парит. Как-то не подумал.

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

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

Питон есть, а кучи дерьма - нет (не по размеру, но смыслу, которое будет входить в конфликты в будущем), сакральный смысл состоит в том, чтобы не пачкать систему и не разводить мусор.

Простой пример, а таких множество, одно время назад, флаг python app-emulation/virtualbox тянул кроме биндингов еще всякой ненужной хери. Поэтому, начиная с 4.2.2 собираю только так:

>=app-emulation/virtualbox-4.2.2 -python -sdk

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

Флаг python может означать обертку для питона, а надо ли тебе обертки к 100500 пакетам, когда ты их из питона никогда не вызываешь?

iVS ★★★★★
()

Так вот - не могли бы вы кратко рассказать (для простого сельского парня), что может требоваться для постановки установки inkscape'а без размаскировки ебыдлов ebuild-ов.

^ fxd не благодари.

а теперь по пунктам:

что может требоваться для установки inkscape'а

emerge inkscape

без размаскировки ebuild-ов

Наглая ошибка логики - нарушена причинно-следственная связь!

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

Будь так Бобр осилить рукокнигу и конкретно те места где описаны азы работы с portage а потом возвращайся обратно.

И вообще на взгляд анонимуса несколько упорото ставить calculate ради того чтобы разобратся в gentoo и при этом не читая рукокниги и ничего не зная про gentoo/portage.

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

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

На текущий момент калькулятор ругается на xorg-server, предлагает удалить smplayer (из-за "-ru_RU*" вроде), если я правильно распарсил

[ebuild   R    ] media-video/smplayer-0.8.5  LINGUAS="-bg* -de* -es* -fr* -it* -pl* -pt* -pt_BR* -ru_RU*"
ну и по мелочи кучу пакетиков. Пока размышляю. Спасибо, товарищи!

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

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

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

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

В дебиане примитивный менеджер пакетов, по сравнению с emerge.

Попробуй emerge emerge -uDNav world (без @)

В твоем выводе, все что до 784 строки - это нормально (ebuild scheduled for merge), ниже идут вопросы по флагам.

С 784 по 833 указанным пакетам требуется KEYWORD ~amd64 (нестабильная ветка). Можно разрешить ~ для каждого пакета отдельно, либо для всей системы в make.conf - ACCEPT_KEYWORDS=«~amd64».

Если обновляется такое количество пакетов, то, я думаю, от глобального ~amd64 хуже не станет.

C 835 по 862 от тебя хотят флаги:

app-arch/bzip2 static-libs
dev-lang/python sqlite
media-libs/libpng static-libs
media-libs/mesa xa gbm
sys-libs/gpm static-libs
x11-libs/libdrm libkms

Это можно добавить в /etc/portage/package.use

Если чудесным образом обновишься, читай внимательно все, что будет написано в терминале после апдейта (обычно зеленым текстом и со звездочками). Там будут рекомендации или пояснения. Сохрани их куда-нибудь, что бы при возникновении проблем знать куда копать.

После апдейта обязательно:

etc-update (обновляет конфиги, нужно читать что он хочет поменять)
emerge --depclean -a (тоже надо смотреть, что он хочет удалить)
revdep-rebuild
python-updater

А ещё, покажи вывод eselect profile list и содержимое make.conf

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