On Пт, 2022-01-28 at 14:11 +0500, Leonid wrote: > Я хочу попробовать быть сопроводителем пакетов debian.
Отличное начинание! 🙌 > Подскажите пожалуйста, какие пакеты стоит попробовать пособирать для > начала. Посмотрите PDF-презентацию о пакетировании из пакета packaging-tutorial. Ознакомьтесь с Debian Policy Manual (есть только английский вариант). Много полезных ссылок вы найдёте на <https://wiki.debian.org/Packaging>. Если уже примерно разбираетесь как создавать пакеты, то в поисках идей взгляните на список WNPP <https://www.debian.org/devel/wnpp/>. Есть сайт с удобным поиском <https://wnpp.debian.net/>. После того, как ваш новый пакет с исходным кодом будет готов (файл .dsc и связанные), загрузите его на <https://mentors.debian.net/> и откройте RFS запрос в псевдопакете sponsorship-requests. Можно воспользоваться шаблоном, предлагаемым на mentors.d.n сайте. > Какие требования к сборке (каким компилятором, с какими опциями)? Особых требований нет. Вполне можно положиться на upstream, какие опции они используют. Компилятор, конечно же, зависит от языка программирования, на котором написана программа. Среди build-essential пакетов есть компиляторы C и C++ из пакета src:gcc-defaults. Все другие компиляторы надо указывать явно в поле Build-Depends. За флаги сборки отвечает утилита dpkg-buildflags(1). От сборочной системы, применяемой в пакете, требуется лишь учитывать переменные окружения CFLAGS, CXXFLAGS, DFLAGS и подобные. > Обязательно ли делать кросс-компиляцию для всех архитектур или можно > собирать только под удобные? В большинстве случаев достаточно убедиться, что программа вообще компилируется хотя бы на вашем компьютере. Все пакеты в Debian "нативно" собираются специальной сетью сборочных машин, buildd <https://www.debian.org/devel/buildd/>. Возможность кросскомпиляции не обязательна, но желательна. К счастью для простых программ APT и Dpkg способны самостоятельно разобраться с кросскомпиляцией прозрачно для сопровождающего. Из-за кросскомпиляции в файле d/control появляются некоторые нюансы, связанные с кодогенерацией или запуском Python/Perl/Ruby/PHP (и подобных) сценариев. Если потребуется, могу рассказать про них отдельно.
signature.asc
Description: This is a digitally signed message part