* [devel] Library + Python bindings build
@ 2005-05-16 21:34 Mikhail Yakshin
2005-05-17 7:59 ` Aleksey Avdeev
0 siblings, 1 reply; 6+ messages in thread
From: Mikhail Yakshin @ 2005-05-16 21:34 UTC (permalink / raw)
To: ALT Devel discussion list
Приветствую!
Есть такая задачка: есть новый 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]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Library + Python bindings build
2005-05-16 21:34 [devel] Library + Python bindings build Mikhail Yakshin
@ 2005-05-17 7:59 ` Aleksey Avdeev
2005-05-17 9:04 ` Mikhail Yakshin
0 siblings, 1 reply; 6+ messages in thread
From: Aleksey Avdeev @ 2005-05-17 7:59 UTC (permalink / raw)
To: ALT Devel discussion list
Mikhail Yakshin пишет:
...
>
> 2. Запаковать отдельно пакет libtunepimp (порождающий 3 вполне понятных
> пакета - libtunepimp, libtunepimp-devel и libtunepimp-utils) и оставить
> его таким. Запаковать тот же самый тарболл отдельно, после чего сделать
> ему нормальный спек нормального питонного пакета, соответствующий полиси
> и примеру спека, с единственной разницей в %setup вроде:
>
> %setup -q -n %name-%version-pre4/python
>
> вместо обычного %setup -q, скажем.
>
> Минусы: пакуем один не очень маленький (~850 кил) тарболл два раза, во
> втором случае из всего 850-килобайтного тарболла нам нужны десять
> килобайт одного маленького питонного враппера над этой самой либой;
>
> Плюсы: проще, больше соответствует policy.
>
> Посоветуйте, как быть?..
Может имеет смысл запаковать исходники вообще отдельно, и
использовать данный пакет при сборке данных двух? (Решение по типу
kernel-source-*)
>
> Есть еще метод 3, но он мне совсем не нравится: плюнуть на все полиси,
> setup.py и любые подобия мейкфайлов как таковые и просто поставить этот
> несчастный .py файл ручками в директорию, куда надо. Еще более
> quick-n-dirty, но проще всего...
>
--
С уважением. Алексей.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Library + Python bindings build
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 10:42 ` [devel] " Aleksey Avdeev
0 siblings, 2 replies; 6+ messages in thread
From: Mikhail Yakshin @ 2005-05-17 9:04 UTC (permalink / raw)
To: ALT Devel discussion list
Aleksey Avdeev пишет:
> Mikhail Yakshin пишет:
> ...
>
>>
>> 2. Запаковать отдельно пакет libtunepimp (порождающий 3 вполне понятных
>> пакета - libtunepimp, libtunepimp-devel и libtunepimp-utils) и оставить
>> его таким. Запаковать тот же самый тарболл отдельно, после чего сделать
>> ему нормальный спек нормального питонного пакета, соответствующий полиси
>> и примеру спека, с единственной разницей в %setup вроде:
>>
>> %setup -q -n %name-%version-pre4/python
>>
>> вместо обычного %setup -q, скажем.
>>
>> Минусы: пакуем один не очень маленький (~850 кил) тарболл два раза, во
>> втором случае из всего 850-килобайтного тарболла нам нужны десять
>> килобайт одного маленького питонного враппера над этой самой либой;
>>
>> Плюсы: проще, больше соответствует policy.
>>
>> Посоветуйте, как быть?..
>
> Может имеет смысл запаковать исходники вообще отдельно, и использовать
> данный пакет при сборке данных двух? (Решение по типу kernel-source-*)
Да вы что, там один файлик на десяток килобайт на этом несчастном питоне
- и из-за такой ерунды будем городить инфраструктуру а ля ядерная
сборка? %))
--
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [devel] Re: Library + Python bindings build
2005-05-17 9:04 ` Mikhail Yakshin
@ 2005-05-17 9:58 ` Michael Shigorin
2005-05-17 9:57 ` Mikhail Yakshin
2005-05-17 10:42 ` [devel] " Aleksey Avdeev
1 sibling, 1 reply; 6+ messages in thread
From: Michael Shigorin @ 2005-05-17 9:58 UTC (permalink / raw)
To: ALT Devel discussion list
On Tue, May 17, 2005 at 01:04:36PM +0400, Mikhail Yakshin wrote:
> Да вы что, там один файлик на десяток килобайт на этом
> несчастном питоне - и из-за такой ерунды будем городить
> инфраструктуру а ля ядерная сборка? %))
Посмотрим на вопрос с другой стороны. А он кому-то сейчас нужен?
Понадобится -- вот пусть сами и озабачиваются, не впервой как бы.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Re: Library + Python bindings build
2005-05-17 9:58 ` [devel] " Michael Shigorin
@ 2005-05-17 9:57 ` Mikhail Yakshin
0 siblings, 0 replies; 6+ messages in thread
From: Mikhail Yakshin @ 2005-05-17 9:57 UTC (permalink / raw)
To: ALT Devel discussion list
Michael Shigorin пишет:
> On Tue, May 17, 2005 at 01:04:36PM +0400, Mikhail Yakshin wrote:
>
>>Да вы что, там один файлик на десяток килобайт на этом
>>несчастном питоне - и из-за такой ерунды будем городить
>>инфраструктуру а ля ядерная сборка? %))
>
>
> Посмотрим на вопрос с другой стороны. А он кому-то сейчас нужен?
> Понадобится -- вот пусть сами и озабачиваются, не впервой как бы.
Блин, да он мне нужен, вот в чем фигня %(
Вообще-то у libtunepimp есть и мейнтейнер и все такое. Я его именно ради
этой самой штуки и чуть большего номера версии и пересобираю...
--
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [devel] Library + Python bindings build
2005-05-17 9:04 ` Mikhail Yakshin
2005-05-17 9:58 ` [devel] " Michael Shigorin
@ 2005-05-17 10:42 ` Aleksey Avdeev
1 sibling, 0 replies; 6+ messages in thread
From: Aleksey Avdeev @ 2005-05-17 10:42 UTC (permalink / raw)
To: ALT Devel discussion list
Mikhail Yakshin пишет:
> Aleksey Avdeev пишет:
>
>> Mikhail Yakshin пишет:
>> ...
>>
>>>
>>> 2. Запаковать отдельно пакет libtunepimp (порождающий 3 вполне понятных
>>> пакета - libtunepimp, libtunepimp-devel и libtunepimp-utils) и оставить
>>> его таким. Запаковать тот же самый тарболл отдельно, после чего сделать
>>> ему нормальный спек нормального питонного пакета, соответствующий полиси
>>> и примеру спека, с единственной разницей в %setup вроде:
>>>
>>> %setup -q -n %name-%version-pre4/python
>>>
>>> вместо обычного %setup -q, скажем.
>>>
>>> Минусы: пакуем один не очень маленький (~850 кил) тарболл два раза, во
>>> втором случае из всего 850-килобайтного тарболла нам нужны десять
>>> килобайт одного маленького питонного враппера над этой самой либой;
>>>
>>> Плюсы: проще, больше соответствует policy.
>>>
>>> Посоветуйте, как быть?..
>>
>>
>> Может имеет смысл запаковать исходники вообще отдельно, и
>> использовать данный пакет при сборке данных двух? (Решение по типу
>> kernel-source-*)
>
>
> Да вы что, там один файлик на десяток килобайт на этом несчастном питоне
> - и из-за такой ерунды будем городить инфраструктуру а ля ядерная
> сборка? %))
А зачем она сдесь в полном объёме? :-) Достаточно идеи от туда:
1. libtunepimp-source, кладущий тарболл куданибудь в район
/usr/src/*. Возможно, его функции способен взять на себя
libtunepimp-devel (будет нечто, похожее на php-devel)... Но сдесь
надо смотреть как лучше/проще/удобнее.
2. Пакеты {libtunepimp,python-module-tunepimp}-*.src.rpm,
использующие в качестве тарболла то, что положил libtunepimp-source...
Заодно python-module-tunepimp можно будет собрать как noarch... ;-)
--
С уважением. Алексей.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-05-17 10:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-16 21:34 [devel] Library + Python bindings build Mikhail Yakshin
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
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