ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Orlov <cray@neural.ru>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: [devel] QA: Unmets в питоновских модулях , как с ними боротся
Date: Mon, 24 May 2004 13:40:37 +0400
Message-ID: <200405241340.37717.cray@neural.ru> (raw)

Hi!

Это письмо уже проходило по рассылке, но судя по тому, что цитаты из него
попрежнему помогают решать проблемы, его стоит запостить еще раз:

Должен заметить - данная инструкция позволяет быстро решить проблему.
== CUT ==
Q15: Unmets в питоновксих модулях, как с ними боротся?
    > The following packages have unmet dependencies:
    >   solfege: Depends: python2.3(gnome) but it is not installable
    >            Depends: python2.3(gobject) but it is not installable
    >            Depends: python2.3(gtk) but it is not installable
    >            Depends: python2.3(mpd) but it is not installable
    >            Depends: python2.3(pango) but it is not installable
    >            Depends: python2.3(soundcard) but it is not installable
    >            Depends: python2.3(src) but it is not installable

    A15:

    Надо разбиратся с конкретными пакетами, которые провайдят эти дела и 
    разбираться почему они не встают. Типовой вариант один: автоматический
    поиск зависимостей нашел  такие зависимости, которые не могут быть 
    удовлетворены в принципе - напремер, на модули для макоса.

    Методы борьбы зависят от причин возникновения:

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

    Решение: прибить такие файлы

    2. Зависимости порождаются тестовыми модулями.

    Решение: вынести тестовые модули в отдельный подпакет (python-module-SOMETHAT-test)
    и поставить на нем AutoReqProv: nopython. Еще вариант - стереть.

    3. Зависимости порождаются конструкциями вида:

    if EXPR :
        import MACOSMODULE

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

    %add_python_req_skip <ИМЯ_МОДУЛЯ>

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

    %add_python_req_skip <ИМЯ_МОДУЛЯ>

    Provide: python%__python_version( <ИМЯ_МОДУЛЯ> )

    После этого подвесте баг на пакет rpm-build-python с указанием пакета и проблемной зависимости.

5. Наконец, есть плохой, неправильный, но очень быстрый способ решить проблему "временно": отключить
поиск зависимостей:

AutoReqProv: yes, nopython
Requires: python-strict

По зависимости python-strict вытянется "стандартная установка python", а поиск зависимостей
будет отключен. Помните, что в этом случае предполагается что все необходимые
зависимости вы проставите сами (скорее всего, они у вас уже стоят, только на сами пакеты, а не на 
автоматически найденные Provides, только обратите внимание еще и на то, что для подавляющегео большинства
пакетов-модулей изменилось  имя (например MySQL-python -> python-module-MySQLdb))).

Иными словами, вы возвращаетесь к ситуации, которая была до введения полиси. Разумеется, 
т.о., ваш пакет будет ее нарушать, но это даст вам время решить проблемы одним из более 
правильных способов, изложенных выше.
== CUT ==

-- 
WthBstRgrds -- Андрей Орлов --  
 --- http: www.neural.ru, mail: cray@neural.ru, jid: cray@altlinux.org ---
----------------------------------------


             reply	other threads:[~2004-05-24  9:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-24  9:40 Andrey Orlov [this message]
2004-06-18 13:54 ` Michael Shigorin
2004-06-18 14:28   ` Andrey Orlov
2004-06-23  9:54 ` Igor Tertishny
2004-06-23 10:19   ` Andrey Orlov
2004-06-23 10:32     ` Igor Tertishny
2004-06-23 13:26       ` Andrey Orlov
2004-06-23 14:21       ` Andrey Orlov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200405241340.37717.cray@neural.ru \
    --to=cray@neural.ru \
    --cc=devel@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git