Re: создание своего пакета под несколько версий операционок

2017-04-03 Пенетрантность Дмитрий Фёдоров
Простите, тест, а то отлупы сплошные.

>> > Проблему понимаю, но решение - не очень. Добавление суффикса, как
>> > советует  Andrey Jr. Melnikov в соседнем письме достаточно для этого?
>> формировать версии так:
>> <версия ПО>-<версия пакета>~<версия ОС>


Re: создание своего пакета под несколько версий операционок

2017-04-03 Пенетрантность Andrey Jr. Melnikov
Alexander Gerasiov  wrote:
> Hello Andrey,

[skip]

> > Проблему понимаю, но решение - не очень. Добавление суффикса, как 
> > советует  Andrey Jr. Melnikov в соседнем письме достаточно для этого?
> формировать версии так:
> <версия ПО>-<версия пакета>~<версия ОС>

> где версия ОС для ubuntu - codename, благо они по алфавиту. Хотя вот
> скоро выйдет z и что там дальше я не очень в курсе.
> версия ОС для debian - debian<номер>, или, что совсем правильно
> bpo<номер>, см инструкцию на backports.d.o
Нуу, что будет написано после версии пакета - всёравно. Если вчитаться в 
https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version
то 1.2.50-1ubuntu2.14.04.2 - будет версия 1.2.50 и версия пакета 1ubuntu2.14.04,
у 4:4.8.5+git192-g085f851+dfsg-2ubuntu4.1 - эпоха 4, версия 
4.8.5+git192-g085f851+dfsg
версия пакета - 2ubuntu4.1.

При этом - первых пакет должен жить в дирьке пакет-1.2.50, а второй в
пакет-4.8.5+git192-g085f851+dfsg

Поэтому, проще для себя держать версии в виде: 
эпоха:версия-ревизия~локальный_идентификатор.



Re: создание своего пакета под несколько версий операционок

2017-04-03 Пенетрантность Alexander Gerasiov
Hello Andrey,

On Mon, 3 Apr 2017 08:26:30 +0700
Andrey A Lyubimets  wrote:

> On 29.03.2017 17:39, Victor Wagner wrote:
> > On Wed, 29 Mar 2017 15:29:08 +0700
> > Andrey Lyubimets  wrote:
> >  
> >> Навеяно параллельным тредом.
> >> Нужно собирать пакет для для двух версий debian и для четырех
> >> версий ubuntu, да для двух архитектур (пока ?)
> >>  
> 
> >> pbuilder + reprepro спасёт отца русской демократии ?  
> >
> > Спасет. Но нужно понимать что нужна какая-то основная архитектура,
> > на которой будешь патчить исходники, выполнять большую часть
> > отладки и т.д. А потом пересобирать для остальных.
> >
> > Когда я себе выстраивал подобную систему у меня сборка была
> > разделена на два этапа:
> >
> > 1. Собираем на архитектуре и релизе, совпадающими с хост-системой
> > (все равно в pbuilder, чтобы не загрязнять систему dev-пакетами).
> > 2. Если там все получилось - запускаем пересборку только
> > архитектурно-зависимых пакетов на всем остальном многообразии.
> >
> > С поддержкой разных релизов еще рекомендуется задуматься над
> > поддержкой версионирования. Чтобы потом у юзера при дистапгрейде
> > пакет, собранный под предыдущий релиз (с соответсвующими
> > зависимостями от библиотек) не зависал.  
> Проблему понимаю, но решение - не очень. Добавление суффикса, как 
> советует  Andrey Jr. Melnikov в соседнем письме достаточно для этого?
формировать версии так:
<версия ПО>-<версия пакета>~<версия ОС>

где версия ОС для ubuntu - codename, благо они по алфавиту. Хотя вот
скоро выйдет z и что там дальше я не очень в курсе.
версия ОС для debian - debian<номер>, или, что совсем правильно
bpo<номер>, см инструкцию на backports.d.o


-- 
Best regards,
 Alexander Gerasiov

 Contacts:
 e-mail: g...@cs.msu.su  Homepage: http://gerasiov.net  Skype: gerasiov
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1



Re: создание своего пакета под несколько версий операционок

2017-04-02 Пенетрантность Andrey A Lyubimets



On 29.03.2017 17:39, Victor Wagner wrote:

On Wed, 29 Mar 2017 15:29:08 +0700
Andrey Lyubimets  wrote:


Навеяно параллельным тредом.
Нужно собирать пакет для для двух версий debian и для четырех версий
ubuntu, да для двух архитектур (пока ?)




pbuilder + reprepro спасёт отца русской демократии ?


Спасет. Но нужно понимать что нужна какая-то основная архитектура, на
которой будешь патчить исходники, выполнять большую часть отладки и т.д.
А потом пересобирать для остальных.

Когда я себе выстраивал подобную систему у меня сборка была разделена
на два этапа:

1. Собираем на архитектуре и релизе, совпадающими с хост-системой (все
равно в pbuilder, чтобы не загрязнять систему dev-пакетами).
2. Если там все получилось - запускаем пересборку только
архитектурно-зависимых пакетов на всем остальном многообразии.

С поддержкой разных релизов еще рекомендуется задуматься над поддержкой
версионирования. Чтобы потом у юзера при дистапгрейде пакет, собранный
под предыдущий релиз (с соответсвующими зависимостями от библиотек) не
зависал.
Проблему понимаю, но решение - не очень. Добавление суффикса, как 
советует  Andrey Jr. Melnikov в соседнем письме достаточно для этого?




То есть у меня получалось так, что последняя запись в changelog-е
генерируется автоматическии и выглядит как "rebuild for release".







Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Andrey Jr. Melnikov
Igor Savlook  wrote:
> On Wed, 2017-03-29 at 18:28 +0300, Andrey Jr. Melnikov wrote:
> > Igor Savlook  wrote:
> > > On Wed, 2017-03-29 at 10:21 -0400, Tim Sattarov wrote:
> > > > On 29/03/17 04:29 AM, Andrey Lyubimets wrote:
> > > > > 
> > > > > Гугл подсказывает ещё про sbuild, Open Build Service и fpm
> > > > > [github.com/jordansissel/fpm]. Это то, что бегло просмотрел.
> > > > 
> > > > Не надо fpm, слёзно прошу не пользоваться этой говноподелкой.
> > > > Все кому не лень ей пользуются для тупого конвертирования из zip
> > > > архивов
> > > > в пакеты.
> > > > 
> > > А почему тупого, после генерации нельзя отредактировать пакет?
> > > Интересно а есть вменяемые debian-way утилиты для генерации
> > > debian/*
> > > контента?
> > 
> > dh_make ?
> > 
> Про dh_make я знаю я имел ввиду что-то типа fpm (говорят же что он не
> вменяем).
У всего, что генерит control.tar.gz из уже созданного где-то чужого пакета
есть один фатальный недостаток - оно не умеет нормально прописывать
зависимости.




Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность dimas



2017-088 20:46 Igor Savlook  wrote:
> Про dh_make я знаю я имел ввиду что-то типа fpm (говорят же что он не
> вменяем).
> 
checkinstall есть (был, по крайней мере)



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Tim Sattarov
On 29/03/17 01:46 PM, Igor Savlook wrote:
> Про dh_make я знаю я имел ввиду что-то типа fpm (говорят же что он
> невменяем).
первое что бросается в пакетах сгенерированных fpm:  changelog там
никакой. просто одна строчка

spotify-client (1:1.0.49.125.g72ee7853-111) whatever; urgency=medium

  * Package created with FPM.

 -- Spotify   Thu, 23 Feb 2017 10:10:33 +




Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Tim Sattarov
On 29/03/17 01:46 PM, Igor Savlook wrote:
> Про dh_make я знаю я имел ввиду что-то типа fpm (говорят же что он
> невменяем).
Если так хочется конвертировать архивы из формата в формат, то лучше уж
alien :)
(нет у меня доверия поделкам на nodejs, которые написаны на Apple Mac
Book, для пользователей Apple Mac Book, чтобы покрыть функционал нужный
для линуксоидов)



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Igor Savlook
On Wed, 2017-03-29 at 18:28 +0300, Andrey Jr. Melnikov wrote:
> Igor Savlook  wrote:
> > On Wed, 2017-03-29 at 10:21 -0400, Tim Sattarov wrote:
> > > On 29/03/17 04:29 AM, Andrey Lyubimets wrote:
> > > > 
> > > > Гугл подсказывает ещё про sbuild, Open Build Service и fpm
> > > > [github.com/jordansissel/fpm]. Это то, что бегло просмотрел.
> > > 
> > > Не надо fpm, слёзно прошу не пользоваться этой говноподелкой.
> > > Все кому не лень ей пользуются для тупого конвертирования из zip
> > > архивов
> > > в пакеты.
> > > 
> > А почему тупого, после генерации нельзя отредактировать пакет?
> > Интересно а есть вменяемые debian-way утилиты для генерации
> > debian/*
> > контента?
> 
> dh_make ?
> 
Про dh_make я знаю я имел ввиду что-то типа fpm (говорят же что он не
вменяем).



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Andrey Jr. Melnikov
Igor Savlook  wrote:
> On Wed, 2017-03-29 at 10:21 -0400, Tim Sattarov wrote:
> > On 29/03/17 04:29 AM, Andrey Lyubimets wrote:
> > > 
> > > Гугл подсказывает ещё про sbuild, Open Build Service и fpm
> > > [github.com/jordansissel/fpm]. Это то, что бегло просмотрел.
> > 
> > Не надо fpm, слёзно прошу не пользоваться этой говноподелкой.
> > Все кому не лень ей пользуются для тупого конвертирования из zip
> > архивов
> > в пакеты.
> > 

> А почему тупого, после генерации нельзя отредактировать пакет?
> Интересно а есть вменяемые debian-way утилиты для генерации debian/*
> контента?

dh_make ?



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Igor Savlook
On Wed, 2017-03-29 at 10:21 -0400, Tim Sattarov wrote:
> On 29/03/17 04:29 AM, Andrey Lyubimets wrote:
> > 
> > Гугл подсказывает ещё про sbuild, Open Build Service и fpm
> > [github.com/jordansissel/fpm]. Это то, что бегло просмотрел.
> 
> Не надо fpm, слёзно прошу не пользоваться этой говноподелкой.
> Все кому не лень ей пользуются для тупого конвертирования из zip
> архивов
> в пакеты.
> 

А почему тупого, после генерации нельзя отредактировать пакет?
Интересно а есть вменяемые debian-way утилиты для генерации debian/*
контента?



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Tim Sattarov
On 29/03/17 04:29 AM, Andrey Lyubimets wrote:
>
> Гугл подсказывает ещё про sbuild, Open Build Service и fpm
> [github.com/jordansissel/fpm]. Это то, что бегло просмотрел.
Не надо fpm, слёзно прошу не пользоваться этой говноподелкой.
Все кому не лень ей пользуются для тупого конвертирования из zip архивов
в пакеты.



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Andrey Jr. Melnikov
Andrey Lyubimets  wrote:
> Навеяно параллельным тредом.
> Нужно собирать пакет для для двух версий debian и для четырех версий ubuntu,
> да для двух архитектур (пока ?)

> > Ну это ты так сейчас думаешь. А вот когда у тебя этих машин больше 3, да еще
> > на разных релизах и архитектурах.. то проще завести pbuilder + reprepro.

> pbuilder + reprepro спасёт отца русской демократии ?

Частично. Автор pbuilder проживает в каменном веке, про overlayfs он не
знает, так что каждый раз будешь ждать пока разверентся tar.xx с базовой
системой. В версии не из sid'a - depends-resolver тупой, в версии из sid'a -
получше, но всеравно тупит, надо патчить.

Для reprepro надо опять-же дописывать суффиксы в версию пакета (как это
делается при бэкпорте) иначе не получиться для разных версий и одной
архитектуры держать одинаковые пакеты в одном пуле.

Для убунты - проще завести ppa, у них там был авто-билдер. Залил туда сорец
+ diff + dsc - получил на выходе в своем ppa готовую сборку. Или build.log с
ошибками.

Но будь готов, что в разных системах 
а) пакеты называются по разному, 
б) присутствует переход от одного к другому (скажем в jessie надо в
build-depends указывать libmariadbclient-dev, чтоб собралось с библиотеками
от mariadb, в stretch - надо libmariadbclient-dev-compat [который сам
притащит libmariadbclient-dev])
с) разные версии библиотек изредка мешают жить (особенно переход на 
openssl-1.1.0)



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Victor Wagner
On Wed, 29 Mar 2017 15:29:08 +0700
Andrey Lyubimets  wrote:

> Навеяно параллельным тредом.
> Нужно собирать пакет для для двух версий debian и для четырех версий
> ubuntu, да для двух архитектур (пока ?)
> 
> > Ну это ты так сейчас думаешь. А вот когда у тебя этих машин больше
> > 3, да еще на разных релизах и архитектурах.. то проще завести
> > pbuilder + reprepro.  
> 
> pbuilder + reprepro спасёт отца русской демократии ?

Спасет. Но нужно понимать что нужна какая-то основная архитектура, на
которой будешь патчить исходники, выполнять большую часть отладки и т.д.
А потом пересобирать для остальных.

Когда я себе выстраивал подобную систему у меня сборка была разделена
на два этапа:

1. Собираем на архитектуре и релизе, совпадающими с хост-системой (все
равно в pbuilder, чтобы не загрязнять систему dev-пакетами).
2. Если там все получилось - запускаем пересборку только
архитектурно-зависимых пакетов на всем остальном многообразии.

С поддержкой разных релизов еще рекомендуется задуматься над поддержкой
версионирования. Чтобы потом у юзера при дистапгрейде пакет, собранный
под предыдущий релиз (с соответсвующими зависимостями от библиотек) не
зависал.

То есть у меня получалось так, что последняя запись в changelog-е
генерируется автоматическии и выглядит как "rebuild for release".





Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Victor Wagner
On Wed, 29 Mar 2017 11:39:00 +0300
Igor Savlook  wrote:

>
> Я использую так systemd-nspawn/docker + sbuild + reprepro.
> Первое это чтобы основную систему не загрязнять пакетами
> девелоперскими.

А что докер уже научилися работать с архитектурами, отличными от
amd64? 



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Alexander Gerasiov
Hello Andrey,

On Wed, 29 Mar 2017 15:29:08 +0700
Andrey Lyubimets  wrote:

> Навеяно параллельным тредом.
> Нужно собирать пакет для для двух версий debian и для четырех версий
> ubuntu, да для двух архитектур (пока ?)
> 
> > Ну это ты так сейчас думаешь. А вот когда у тебя этих машин больше
> > 3, да еще на разных релизах и архитектурах.. то проще завести
> > pbuilder + reprepro.  
> 
> pbuilder + reprepro спасёт отца русской демократии ?

Лучше sbuild. инструкция по настройке в wiki.debian.org, рекомендуется
включить ccache и eatmydata. В качестве строражда я использую
btrfs-snapshot


-- 
Best regards,
 Alexander Gerasiov

 Contacts:
 e-mail: g...@cs.msu.su  Homepage: http://gerasiov.net  Skype: gerasiov
 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49  BAEA CA87 E9E8 2AAC 33F1



Re: создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Igor Savlook
On Wed, 2017-03-29 at 15:29 +0700, Andrey Lyubimets wrote:
> Навеяно параллельным тредом.
> Нужно собирать пакет для для двух версий debian и для четырех версий
> ubuntu,
> да для двух архитектур (пока ?)
> 
> > Ну это ты так сейчас думаешь. А вот когда у тебя этих машин больше
> > 3, да еще
> > на разных релизах и архитектурах.. то проще завести pbuilder +
> > reprepro.
> 
> pbuilder + reprepro спасёт отца русской демократии ?
> 
> Гугл подсказывает ещё про sbuild, Open Build Service и fpm
> [github.com/jordansissel/fpm]. Это то, что бегло просмотрел.
> 
> поделитесь опытом - кто чем пользуется для подобной задачи.
> 

Я использую так systemd-nspawn/docker + sbuild + reprepro.
Первое это чтобы основную систему не загрязнять пакетами
девелоперскими.



создание своего пакета под несколько версий операционок

2017-03-29 Пенетрантность Andrey Lyubimets
Навеяно параллельным тредом.
Нужно собирать пакет для для двух версий debian и для четырех версий ubuntu,
да для двух архитектур (пока ?)

> Ну это ты так сейчас думаешь. А вот когда у тебя этих машин больше 3, да еще
> на разных релизах и архитектурах.. то проще завести pbuilder + reprepro.

pbuilder + reprepro спасёт отца русской демократии ?

Гугл подсказывает ещё про sbuild, Open Build Service и fpm
[github.com/jordansissel/fpm]. Это то, что бегло просмотрел.

поделитесь опытом - кто чем пользуется для подобной задачи.