Пакеты Debian

Заблуждение, которое я развеял, как только более-менее изучил тему, что пакеты Debian — простой архив с хорошо формализованным простым порядком создания. На деле оказалось, что это несколько однобокий framework с двумя языками программирования: make (язык описания файлов make) и (обычно, но не обязательно) UNIX shell. Всё.

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

Так же такое понимание сборки должно отвечать на вопрос «почему так долго» в отношении первой версии. Уложить в пакет какой-нибудь не совсем элементарное приложение действительно невесёлое занятие, а если ещё и делать всё «по правилами», занятие требующее допиливания этого самого приложения, если изначально оно не писалось с тем расчётом, что ставится будет из пакета. В нашей группе некоторые приложения укладываются в первую версию буквально неделями.

Конечно, дальше идёт всё сильно веселее и следующие версии пакета, часто, готовятся за время близкое ко времени ввода комманд, плюс упаковка пакета.
15 сентября 2009 22:46

isagalaev (softwaremaniacs.org/about/)
16 сентября 2009, 11:30

На деле оказалось, что это несколько однобокий framework
Если речь идёт офреймворке, то я бы сказал, что он наоборот -- слишком "многобокий":

- это формат пакета с зависимостями, chnagelog'ом и т.д.
- де-факто устоявшаяся система сборки, но не имеющая на самом деле отношения к формату
- хелперы над устоявшейся системой сборки
- система скачивания, каталогизации, установки и maintenance'а пакетов (apt), которая тоже в общем-то не имеет отношения к формату
- организация репозитория на сервере

И всё это, а не только первый пункт, обычно имеют в виду, когда говорят про "Debian пакеты".
make (язык описания файлов make)
Кстати, это не обязательно :-). Файл rules -- исполняемый, и может быть написан как угодно. Единственное требование -- это чтобы он создал конечные файлы в определённом формате. Но конечно на практике это всегда make, потому что глупо игнорировать весь написанный вокруг фреймворк с кучей неявных соглашений и традиций.
Соответственно, каждый процесс начальной сборки самой первой версии пакета следует рассматриваться как отдельный проект
Я тоже так думал, когда собрал свой первый пакет :-). Потом привыкаешь, и сборка первой версии своего пятого проекта уже далеко не такое необъятное приключение. Они (пакеты), всё таки, во многом похожи.

bolk (bolknote.ru)
16 сентября 2009, 12:31, ответ предназначен isagalaev (softwaremaniacs.org/about/):

Я тоже так думал, когда собрал свой первый пакет :-). Потом привыкаешь, и сборка первой версии своего пятого проекта уже далеко не такое необъятное приключение. Они (пакеты), всё таки, во многом похожи.
Да-да, Ваня, у вас, наверное, так и есть :) А у нас куча опенсорса, который писался не для пакетов, а заворачивать его надо в пакеты. Одна Вики чего стоит.

arikon (sergeybelov.ru)
19 сентября 2009, 23:59, ответ предназначен bolk (bolknote.ru):

Всё правильно, «Debian пакеты» — это отдельный пласт знаний. Если погрузится в эту тему достаточно глубокого, то время сборки первой версии пакета сократится с нескольких недель до нескольких дней, если нужно допиливать софт и до пары часов, если не нужно.
Ещё нужно иметь в виду, что для многих вещей сделаны вспомогательные штуки. Например, используя CDBS можно питоновую либу завернуть в пакет не дольше, чем за 15-30 минут.
Скоро мы будем уметь так же быстро заворачивать в первую версию пакета все наши сервисы на Django.

bolk (bolknote.ru)
20 сентября 2009, 13:11, ответ предназначен arikon (sergeybelov.ru):

Пакет, в связи с которым я упомянул несколько недель — это Вики. Там долго не потому что пакеты это что-то сложное, потому что Вики надо допилить до пакета. Какими знаниями не обладай по сборке пакетов, процесс этот до нескольких дней не сократишь.

Про сервисы, которые пишутся изначально под пакеты, я написал: «занятие требующее допиливания этого самого приложения, если изначально оно не писалось с тем расчётом, что ставится будет из пакета». Понятно, что это не то место, где возникают проблемы.

arikon (sergeybelov.ru)
20 сентября 2009, 19:37, ответ предназначен bolk (bolknote.ru):

Если параллельно с этим не заниматься разработкой нового функционала, то можно всё сделать за, примерно, неделю. Это на примере Рассылок, которые не сильно отличаются от Вики (та же дикая смесь php + django).

bolk (bolknote.ru)
21 сентября 2009, 14:42, ответ предназначен arikon (sergeybelov.ru):

Вики плоха не смесью технологий, а тем, что она дикая сама по себе.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)