ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Mikhail Yakshin <greycat@altlinux.org>
To: ALT Devel discussion list <devel@altlinux.ru>
Subject: [devel] Library + Python bindings build
Date: Tue, 17 May 2005 01:34:13 +0400
Message-ID: <428911D5.5040700@altlinux.org> (raw)

Приветствую!

Есть такая задачка: есть новый libtunepimp, который нужно по хорошему
разделить на 2 пакета:

1. Собственно libtunepimp - это бинарно-собираемая библиотека на C/C++,
собирается средствами autoconf/automake/libtool и ставится относительно
безпроблемно;

2. В поддиректории python у исходного тарболла есть по сути совершенно
отдельный пакет, собирающийся в принципе абсолютно отдельно от исходного
и представляющего собой стандартный питоновский модуль (биндинги к этой
C-шной библиотеке посредством ctypes), который бы хотелось оформить в
отдельный пакет python-module-tunepimp и к которому хотелось бы иметь
спек в виде простой и понятной почти копии со стандартного спека из
Python Policy.

Вариантов решения я пока вижу 2, и оба они мне не нравятся, но я
склоняюсь ко второму, несмотря на некий оверхед для Сизифа:

1. Сделать %package python в libtunepimp, получив таким образом
libtunepimp-python и решив какими-то полукустарными методами проблемы
билда и инсталла такого пакета, запихнув какие-то особо хитрые
конструкции в %build и %install основного пакета libtunepimp.

Минусы: нарушаем по сути Python policy, обретаем массу (по крайней мере
потенциальных) проблем с обновлениями и корректными зависимостями на
попиленный Питон.

Плюсы: компактно, все-таки более-менее штатный способ построения всего
из одного тарболла.

2. Запаковать отдельно пакет libtunepimp (порождающий 3 вполне понятных
пакета - libtunepimp, libtunepimp-devel и libtunepimp-utils) и оставить
его таким. Запаковать тот же самый тарболл отдельно, после чего сделать
ему нормальный спек нормального питонного пакета, соответствующий полиси
и примеру спека, с единственной разницей в %setup вроде:

%setup -q -n %name-%version-pre4/python

вместо обычного %setup -q, скажем.

Минусы: пакуем один не очень маленький (~850 кил) тарболл два раза, во
втором случае из всего 850-килобайтного тарболла нам нужны десять
килобайт одного маленького питонного враппера над этой самой либой;

Плюсы: проще, больше соответствует policy.

Посоветуйте, как быть?..

Есть еще метод 3, но он мне совсем не нравится: плюнуть на все полиси,
setup.py и любые подобия мейкфайлов как таковые и просто поставить этот
несчастный .py файл ручками в директорию, куда надо. Еще более
quick-n-dirty, но проще всего...

-- 
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]


             reply	other threads:[~2005-05-16 21:34 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-16 21:34 Mikhail Yakshin [this message]
2005-05-17  7:59 ` Aleksey Avdeev
2005-05-17  9:04   ` Mikhail Yakshin
2005-05-17  9:58     ` [devel] " Michael Shigorin
2005-05-17  9:57       ` Mikhail Yakshin
2005-05-17 10:42     ` [devel] " Aleksey Avdeev

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=428911D5.5040700@altlinux.org \
    --to=greycat@altlinux.org \
    --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