# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

EAPI=5

inherit systemd

DESCRIPTION="Package that installs and configures system-sysdaemons.slice"
LICENSE="BSD-Google"
SLOT="0"
KEYWORDS="*"
S="${WORKDIR}"

# node-problem-detector.service should not be put here.
# upstream test https://github.com/kubernetes/kubernetes/blob/master/test/e2e/node/node_problem_detector.go#L282
# assume NPD is in system.slice
SERVICES="
	device_policy_manager.service
	google-osconfig-agent.service
	google-guest-agent.service
	update-engine.service
"

src_install() {
	local -r unitdir=$(systemd_get_unitdir)

	insinto "${unitdir}"
	doins "${FILESDIR}"/system-sysdaemons.slice

	for service in ${SERVICES[@]}; do
		insinto "${unitdir}"/"${service}".d
		doins "${FILESDIR}"/00-system-sysdaemons-slice.conf
	done
}
