LINUX.ORG.RU

Вопрос про USE-флаги

 ,


0

1

Почему-то в документации по USE-флагам используются какие-то абстракции. Объясните, пожалуйста, как они конкретно работают? Я правильно понимаю, что каждому USE-флагу для каждой программы соответствуют определенные строки в исходниках, которые просто вырезаются(или упрощаются для совместимости с другими функциями) перед компиляцией? Типа:

программа:     httpd-2.4.18
use-флаг:      ssl
где находится: 30-40 строка в файле abc
Наверное, это что-то очевидное, раз этому не уделяют внимания в документации — но не для меня.


Нет, ничего не вырезается. USE-флаги влияют на опции сборки. Например, на то, что передаётся ./configure.

saahriktu ★★★★★ ()

USE флаг указывают какие параметры будут переданы в скрипт настройки исходников перед сборкой. Обычно это скрипт ./configure.

Соответствие USE флагов опциям конфигурирования указывается в ebuild`е устанавливаемого пакета.

ebuild Apache довольно сложен, в нём используются дополнительные eclass`ы, в которые вынесена часть функционала.

Для понимания будет проще ebuild mpv:
https://gitweb.gentoo.org/repo/gentoo.git/plain/media-video/mpv/mpv-0.25.0.eb...

Доступные USE флаги указываются в переменной IUSE:

IUSE="+alsa aqua archive bluray cdda +cli coreaudio cplugins cuda doc drm dvb
	dvd +egl encode gbm +iconv jack jpeg lcms +libass libav libcaca libmpv +lua
	luajit openal +opengl oss pulseaudio raspberry-pi rubberband samba sdl
	selinux test tools +uchardet v4l vaapi vdpau vf-dlopen wayland +X +xv
	zsh-completion"

Далее идут функции просчёта основных зависимостий и в зависимости от включенных USE флагов, наложения патчей, прочих подготовительных действий и далее непосредственно секции конфигурирования src_configure:

src_configure() {
	tc-export CC PKG_CONFIG AR

	if tc-is-cross-compiler && use raspberry-pi; then
		export EXTRA_PKG_CONFIG_LIBDIR="${SYSROOT%/}${EPREFIX}/opt/vc/lib/pkgconfig"
		# Drop next line when Gentoo bug 607344 is fixed or if you fixed it locally.
		die "${PN} can't be cross built with raspberry-pi USE enabled. See Gentoo bug 607344."
	fi

	local mywafargs=(
		--confdir="${EPREFIX}/etc/${PN}"
		--docdir="${EPREFIX}/usr/share/doc/${PF}"
		--htmldir="${EPREFIX}/usr/share/doc/${PF}/html"

		$(usex cli '' '--disable-cplayer')
		$(use_enable libmpv libmpv-shared)

		--disable-libmpv-static
		--disable-static-build
		# See deep down below for build-date.
		--disable-optimize		# Don't add '-O2' to CFLAGS.
		--disable-debug-build	# Don't add '-g' to CFLAGS.
		--enable-html-build

		$(use_enable doc pdf-build)
		$(use_enable cplugins)
		$(use_enable vf-dlopen vf-dlopen-filters)
		$(use_enable zsh-completion zsh-comp)
		$(use_enable test)

		$(use_enable iconv)
		$(use_enable samba libsmbclient)
		$(use_enable lua)
		$(usex luajit '--lua=luajit' '')
		$(use_enable libass)
		$(use_enable libass libass-osd)
		$(use_enable encode encoding)
		$(use_enable bluray libbluray)
		$(use_enable dvd dvdread)
		$(use_enable dvd dvdnav)
		$(use_enable cdda)
		$(use_enable uchardet)
		$(use_enable rubberband)
		$(use_enable lcms lcms2)
		--disable-vapoursynth	# Only available in overlays.
		--disable-vapoursynth-lazy
		$(use_enable archive libarchive)

		--enable-libavdevice

разберём две вот эти строки:

		$(use_enable doc pdf-build)
		$(use_enable cplugins)
первая, если включен USE флаг doc, то в скрипт конфигурирования будет передан параметр '--pdf-build', во-второй строке в скрит конфигурирования, если вклечен USE флаг cplugins, будет передана опция '--cplugins'.

Читайте ebuild`ы, разбирайтесь, если вам интересно.

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

Спасибо большое за подробное объяснение. Теперь я знаю куда копать: скрипт кофигурирования.

Читайте ebuild`ы, разбирайтесь, если вам интересно.

Я хочу понять, дают ли какие-то весомые преимущества над другими дистрибутивами Gentoo use-флаги. Если «да» — тогда перейду на него; если нет — уйду на Fedora.

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

Я хочу понять, дают ли какие-то весомые преимущества над другими дистрибутивами Gentoo use-флаги.

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

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

Я хочу понять, дают ли какие-то весомые преимущества над другими дистрибутивами Gentoo use-флаги.

Если тебе просто надо работающую ОС, то преимущества минимальны. Если же хочешь нечто специфичное, то можно собрать Генту без поддержки bluetooth или pulseaudio в программах, с особыми патчами для шрифтов, и т.д.

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

В общем, я примерно разобрался что к чему. Но, видимо, упустил какой-то момент из виду, потому что никак не могу понять: что особенного в use-флагах, ведь они всего лишь соответствуют опциям сборки? Что мне мешает в той же Ubuntu использовать опции сборки, соответствующие use-флагам, и получить тот же самый результат?

Я не уверен, но мне кажется, ответ лежит в плоскости «более легкое включение функционала через use-флаги по сравнению с опциями». Если так, то почему? Судя по примерам, каждому use-флагу соответствует 1 опция. Возможно, разрешения конфликтов опций сборки? Объясните, пожалуйста, хотя бы вкратце.

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

Ничто не мешает повторить это в Убунте, главное - при конфигурации указать --prefix, чтобы результаты сборки установились в определённую директорию, а не просто «в систему». Для установки «в систему» в Убунте существует apt-get.

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

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

P.S. Учту на будущее, что вопросы надо делать максимально простыми, чтобы не терялась основная мысль.

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

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

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

Компилировать-то нигде не запрещено, просто пакетный менеджер генты позволяет достаточно удобно управлять этим процессом. Например, при сборке голым configure && make все зависимости вам придётся добавлять руками, тогда как emerge решает эту проблему автоматически.

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

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

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

Может попробуете переформулировать? Но вообще говоря, выше по треду на ваш исходный вопрос уже ответили.

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

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

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

USE флаги это больше, чем абстракция над опциями сборки.

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

Генту без поддержки bluetooth

не такое уж и специфичное. мне кажется так и следует делать всегда кроме случаев, если тебе необходим bluetooth на этом компьютере

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

Что мне мешает в той же Ubuntu использовать опции сборки, соответствующие use-флагам, и получить тот же самый результат?

В генте единый набор юз флагов. Включив, например, в юз флагах какой-то кодек и запустив emerge он тебе пересоберет ffmpeg, vlc, зависимые пакеты, может еще поставит новые либы с кодеком. В Убунте же нужно будет собирать каждый пакет вручную и вкуривать опции сборки, ты замучаешься это делать. Еще в Генте сборка из исходников намного удобнее, так что если ты хочешь что-то компилировать, патчить, или сильно кастомизировать систему, то Гента это то, что надо. Я сидел на ней много лет, но потом вернулся на убунту, Гента все таки требует внимание. В Убунте программы скомпилены со всем подряд (почти), и это ок, может быть небольшая просадка производительности в несколько процентов, но тебе не нужно знать, что нужно включить в ядре, чтобы заработал недавно купленный HTC Vive :)

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

может быть небольшая просадка производительности в несколько процентов

И уязвимости еще

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

А вообще, твой ответ очень ценный для меня. Я ведь раньше думал, что все порядочные линуксоиды переходят с убунту на генту, это вроде как эволюция; и никто не возвращается обратно. Ну типа learning curve, всё такое. А оказалось, что это не так. Слишком много времени на поддержку Gentoo уходило?

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

letni, комментирую в первую очередь для тебя.

В генте единый набор юз флагов.

Не совсем так. Например, с выходом Qt5 юз qt теперь может вводить в заблуждение, где-то тащить qtcore:5, где-то — qtcore:4, то же самое касается и юзов gtk, gstreamer и ряда других. Это не плохо и не хорошо, это процесс.

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

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

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

Причём в генте для наложения патчей достаточно просто положить нужный патч в нужную директорию, и ничего редактировать руками не надо (за редким исключением).

Гента все таки требует внимание.

Но настроенное однажды будет работать всегда (долгое время).

В Убунте программы скомпилены со всем подряд (почти), и это ок

Во всяком случае, это удобно, если надо работать, а не разбираться. (Вчерашний случай: нужно ПРЯМО ЩАЗ открыть pdf, а у меня poppler не хочет собираться, и софт, базирующийся на mupdf, не собирается. Я потратил время на то, чтобы разобраться, что не так со всем этим трэшем.)

может быть небольшая просадка производительности в несколько процентов

Просадка незначительна, если конечно, у тебя не недобук на атоме или селероне вместо процессора и всего 512M/1G рамы (на таком железе компилять генту тоже совершенно невыгодно — прирост ничтожен в сравнении с потраченным временем и насилием над железом).

но тебе не нужно знать, что нужно включить в ядре, чтобы заработал недавно купленный HTC Vive :)

А в генте можно долго, очень долго возиться с ядром, чтобы добиться не совсем очевидных вещей. А можно их и не добиться.

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

все порядочные линуксоиды переходят с убунту на генту, это вроде как эволюция

На генту идут в первую очередь для расширения кругозора. Кто-то сваливает ниасилив; кто-то сваливает, осознав ненужность её преимуществ или весомость недостатков; кто-то сваливает просто из-за недостатка времени; кто-то сваливает, но возвращается; кто-то остаётся.

типа learning curve

А почему нет?

Слишком много времени на поддержку Gentoo уходило?

Как гентушник с многолетним стажем, имеющий свой оверлей, скажу, что чем больше опыта, тем меньше затрачивается времени на непосредственный контакт (раскуривание исходников для того, чтобы написать отсутствующий в дереве ebuild; чтение логов для решения проблем); основное время уходит на компиляцию, и если она жрёт не 100% ресурсов, то на нормальном железе почти не ощутима.

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

Слишком много времени на поддержку Gentoo уходило?

Нет, не много, но все же. У меня развелось слишком много вещей, которые требуют время. Кроме того, у меня в генте стояла юнити из оверлея (как то не понравились мне ни гном ни кеды), в которой был один надоедливый баг с которым не хотелось возится, поэтому я просто перешел на Убунту чтобы не парится.

В любом случае Генту стоит попробовать.

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

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

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

Кстати, intelfx, может быть ты можешь прояснить эти моменты по arch? Твое мнение по этой теме имеет для меня вес.

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

Момент с арч я вроде более-менее прояснил: нестабильно. Тогда буду вкатываться в генту. Только, блин, компилить всё подряд не очень горю желанием(особенно тяжеловесные браузеры, офисные пакеты). Может знаешь где бинарники можно взять?

А для компиляции, наверное, арендую специальный VPS, ибо это не для моего ноутбука работа.

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

А про arch что скажешь?

Некоторые его даже на сервера ставят, но я бы не рискнул — bleeding edge.

У арча вроде как тоже неплохой уровень кастомизации, но плюс еще и бинарники?

Наоборот: у арча бинарники (которые, кстати, как и в убунте, тащат почти всё, что только поддерживается), плюс есть AUR с кастомными PKGBUILD. Я рач тыкал уже слишком давно, чтобы что-то конкретное сказать, там многое могло измениться.

Вместо генты можно потыкать Calculate, но мне он не нравится, слишком много лишних прослоек.

Говорят, арч очень нестабилен. Так ли это?

От рук зависит. Но если тебе нужно на сервер, то лучше посмотреть на FreeBSD (серьёзно) или Debian.

Только, блин, компилить всё подряд не очень горю желанием(особенно тяжеловесные браузеры, офисные пакеты). Может знаешь где бинарники можно взять?

Такие тяжеловесы, как, например, Libreoffice, Firefox и ещё много чего, есть в бинарном виде, плюс можно подключить оверлей Calculate, там много что в бинарном виде можно найти.

А для компиляции, наверное, арендую специальный VPS, ибо это не для моего ноутбука работа.

Если грамотно настроить, то можно и на ноутбуке компилять (я бы кастанул DeadEye, но).

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

Ладно, пока буду стремиться к раскладке: «генту для десктопа, а убунту(по инерции) для сервера», а дальше будет видно — может и поставлю генту на сервер, как пойму что к чему; а может и другой дистр поставлю на сервер.

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

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

Ладно, пока буду стремиться к раскладке

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

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

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

Хотя понимаю, что отличия минимальны.

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

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

Говорят, арч очень нестабилен. Так ли это?

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

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

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

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

2 партиции для /, чтоб в дальнейшем можно было систему переустановить на другую

Ты имеешь в виду держать два линукса в дуалбуте? Да легко.

Но о переустановке генты, если она сломалась, забудь — она чинится гораздо проще и приятнее, чем переустанавливается. Это же касается рача. За дебьян не скажу, я его ниасилил. :3

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

PulseAudio или ALSA? Говорят, у Pulse звук чище, и не весь софт поддерживает ALSA. Но если ставить Pulse, то нужно либо systemd(что геморрно в данный момент), либо ConsoleKit, который тянет мусор из gnome-base/. Вот и хз что выбрать...

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

PulseAudio или ALSA?

ALSA.

Говорят, у Pulse звук чище

Чушь! Но без pa ты будешь долго совокупляться с bluetooth-наушниками, например.

systemd

Уже давно использую systemd в Gentoo, никаких проблем не испытываю.

что геморрно в данный момент

eselect profile set default/linux/amd64/13.0/systemd
# или default/linux/amd64/13.0/desktop/plasma/systemd, если планируешь использовать KF5 (KDE5)
emerge -NDuv world

Ничего геморройного нет.

ConsoleKit

На ладан дышит, если ещё не сдохло.

тянет мусор из gnome-base/

Юзами многое регулируется, в том числе зависимости. Используй equery u название-пакета или смотри в ebuild, если не всё понятно.

Вот и хз что выбрать...

Всё зависит от твоих хотелок. Гента — это не тот дистр, где за тебя всё решают мейнтейнеры.

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

А что ты скажешь про такой вид инициализации? В данный момент он мне очень импонирует. Минималистично и не нужно использовать никакие монструозные systemd.

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

Ладно, еще раз спасибо за советы. Пока поставлю ALSA, а в дальнейшем, возможно, буду смотреть на systemd с Pulse. Надо будет понять что этот монстр из себя представляет, возможно даже и перейду на него.

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

А что ты скажешь про такой вид инициализации?

А чего мне про него говорить?

У меня система грузится от двух до пяти секунд: deluge (сервер и веб-морда), dhcpcd (поднимает wpa_supplicant и tor по надобности), mpd, nut (сервер и монитор), slim, остальное или крутится в юзерспейсе, или не автоматизировано.

монструозные systemd

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

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

Вот это более рациональный подход.

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

Я на FreeBSD засмотрелся. Сама система вроде выглядит более логичной, упорядоченной. А там можно каждый пакет компилировать как в Gentoo? Аналогов USE-флагов, нет, как я понимаю? Мне просто это понравилось, и на бинарный дистр я вряд ли уже вернусь.
____
In FreeBSD world there are WITH_X and WITHOUT_X flags that can be used in the make.conf, for example, casual WITHOUT_X11=yes on servers. Compiling all the things from scratch is definitely overrated, I used to do that because I came from Gentoo to FreeBSD, but now compiling my time is the last thing I would want to do, I use only binary packages.
____
Может быть можешь что-нибудь добавить? Напутствие какое-нибудь, совет?

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

PulseAudio или ALSA? Говорят, у Pulse звук чище,

Говорят, что кур доят, а мы пошли да сисек не нашли.

Пульса не работает сама по себе, она — надстройка. Соответсвенно, микширование пульсой никак не может добавить качества звуку, скорее наоборот. Разве что эффект плацебо или эквалайзера (звучит после микширования пульсой «сочнее»).

и не весь софт поддерживает ALSA

i-rinat под это дело минимальную прослойку apulse написал.

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

more /usr/ports/Mk/bsd.options.mk

# These variables can be used in make.conf to configure options.  They are
# processed in the order listed below, i.e. later variables override the effects
# of previous variables.  Options saved using the options dialog are processed
# right before OPTIONS_SET_FORCE.  When building a port a dialog to configure
# options will only appear if there are new options, i.e. options which have not
# been configured before either using the option dialog in a previous build or
# using the variables below.  You can force the dialog to appear by running
# "make config".
#
# OPTIONS_SET                   - List of options to enable for all ports.
# OPTIONS_UNSET                 - List of options to disable for all ports.
# ${OPTIONS_NAME}_SET           - List of options to enable for a specific port.
# ${OPTIONS_NAME}_UNSET         - List of options to disable for a specific port.
#
# OPTIONS_SET_FORCE             - List of options to enable for all ports.
# OPTIONS_UNSET_FORCE           - List of options to disable for all ports.
# ${OPTIONS_NAME}_SET_FORCE     - List of options to enable for a specific port.
# ${OPTIONS_NAME}_UNSET_FORCE
#                               - List of options to disable for a specific port.
#
# These variables can be used on the command line. They override the effects of
# the make.conf variables above.
#
# WITH                          - Set options from the command line
# WITHOUT                       - Unset options from the command line
пример: make.conf
OPTIONS_UNSET+=NLS DOCS EXAMPLES PULSEAUDIO NOUVEAU SAMBA
OPTIONS_SET+=MPG123
#CC=/usr/local/bin/clang40
#CXX=/usr/local/bin/clang++40
#CPP=/usr/local/bin/clang-cpp40
WRKDIRPREFIX=/build-tmpfs
DEFAULT_VERSIONS+=  ssl=openssl
WITHOUT_MODULES= drm cmx ubsec s3 wbwd if_ndis if_iwm iwm iwmfw ndis atp ahc <cut>

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

Сама система вроде выглядит более логичной, упорядоченной.

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

А там можно каждый пакет компилировать как в Gentoo?

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

Аналогов USE-флагов, нет, как я понимаю?

Перед компиляцией порта тебе выдаст меню для выбора опций.

на бинарный дистр я вряд ли уже вернусь

Я тебя обломаю: FreeBSD вполне себе бинарная, хоть и роллинг. (=

Может быть можешь что-нибудь добавить? Напутствие какое-нибудь, совет?

Вряд ли. Можешь добавиться в жаббер или писать на почту за помощью (не референсить на треды ЛОРа, я подписан на теги!). Да и просто потрепаться на технические темы я иногда не против.

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