Re: Я хочу попробовать себя мейтенером.

Nicholas Guriev <[email protected]>
Newsgroups gmane.linux.debian.user.russian
Message-ID <[email protected]>
On Вс, 2022-02-06 at 11:43 +0500, Leonid . wrote:
> Ну я имел в виду, что собирать я должен "системным" GCC, а не clang или
> чем-нибудь подобным?
> (Просто некоторые проекты рекомендуют использовать конкретный
> компилятор.)

Сперва стоит попробовать собрать компилятором по умолчанию в Debian -
GCC. Если всё-таки требуется какая-то особая функциональность Clang,
скажем -fblocks, то придётся задействовать его. Надо учитывать, что у
LLVM в Debian более низкий уровень поддержки по сравнению с дефолтным
инструментарием. Например, на днях я столкнулся с тем, что Clang не
способен собрать рабочие исполняемые файлы для IBM System z из кода на
C++ с исключениями. Впрочем, это уже другая история, но если ваш пакет
не соберётся для одной из выпускающих архитектур[1], это заблокирует его
переход в тестируемый и стабильный выпуски.

 [1]: https://www.debian.org/ports/#released 


Чтобы выбрать конкретный компилятор, пропишите зависимость в d/control.

   Build-Depends-Arch: clang | c-compiler

А в d/rules как один из вариантов установите переменную окружения.

   export CC ?= clang

Не прописывайте жёстко конкретную версию компилятора, потому что это
создаст проблемы при обновлении.

> Могу ли я поставлять скрипты в пакете не только для systemd, но еще и
> для sysVinit, openrc, runit?

Да, конечно! Если они работоспособные. Тогда Devuan сможет напрямую
использовать ваш пакет, без доп. изменений.

Раздел 9.3 руководства по политике Debian[2] настаивает (написано should
have), чтобы они назывались также как и сервисы для systemd. Также есть
условие, чтобы сервис назывался бы также как и сам пакет.

 [2]: https://www.debian.org/doc/debian-policy/ch-opersys.html#s-services-intro


> А про флаги... То есть я выбираю поддержку чего выкинуть и чего
> включить?
> Нет какого-нибудь регламента?

О какой-то кодифицированной спецификации или регламенте мне не известно.
Общее соглашение таково, что сопровождающий сам решает, какой функционал
полезен в Debian, ориентируясь на мнение пользователей. Моё мнение:
имеет смысл включать по умолчанию максимально неконфликтующую
функциональность. Можно рассмотреть возможность сборки нескольких
двоичных пакетов за раз из одного исходника, включая разные функции в
разных пакетах. В пример такого подхода можно привести Vim или Qt.
Вынужден отметить, что в таком случае есть сложности при использовании
рекомендуемого инструмента dh(1) из состава Debhelper.
signature.asc (application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE-----

iHUEABYIAB0WIQQRm7llN8yxifaG60cF2qh9JI3wlQUCYf+GQgAKCRAF2qh9JI3w
lfMXAQCqugbCfStIg0NXs4d0RgNuEllCRMYojgZZCHIy0EAaAAD/QgHjdKyJhddJ
8vQNhCFIMqmr6xhzgaZ7/kRAzafgjw0=
=knfM
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.