再現段階:
質問
cd /usr/portage && grep -R "systemd_dounit" *
複数のebuildを開いて読んでください。
ほとんどすべてのebuildが使用します。systemd_dounit確認しないでくださいシステムまず、USE フラグを使用します。
ロゴは次のように説明されています。
https://www.gentoo.org/support/use-flags/
systemd.eclassの説明は次のとおりです。
https://devmanual.gentoo.org/eclass-reference/systemd.eclass/index.html
いいえ、機能コードも確認されません。
# @FUNCTION: systemd_dounit
# @USAGE: <unit>...
# @DESCRIPTION:
# Install systemd unit(s). Uses doins, thus it is fatal in EAPI 4
# and non-fatal in earlier EAPIs.
systemd_dounit() {
debug-print-function ${FUNCNAME} "${@}"
(
insinto "$(_systemd_get_unitdir)"
doins "${@}"
)
}
答え1
Gentoo開発者コミュニティは、systemdの依存関係が導入されていない限り、これらのファイルを無条件にインストールするのに問題がないと信じているからです。INSTALL_MASK=/usr/lib/systemd
これを防ぐためにinを使用できますmake.conf
(参考資料を参照man 5 make.conf
)。
答え2
IUSE は、実際に ebuild で USE フラグを参照する場合にのみ必要です。
私が確認したいくつかのebuildでは、systemd USEフラグを使用せずに/usr/lib/systemd/system/にsystemdサービス定義を盲目的にインストールしました。 openrc USEフラグをチェックせずにOpenRC initスクリプトを盲目的にインストールしたのと同じです。 。
systemd(およびopenrc)USEフラグは、サービスまたはinitスクリプトをインストールするのではなく、initシステムが重要な違いを生むebuildで使用されます。