blob: a8a24b552a3b616b5476148575b93c48c572c3b9 [file] [log] [blame]
Gunnar Mills02ac8062017-01-27 13:13:24 -06001SUMMARY = "Phosphor Software Management"
2DESCRIPTION = "Phosphor Software Manager provides a set of system software \
3management daemons. It is suitable for use on a wide variety of OpenBMC \
4platforms."
Ed Tanous9936f862022-09-19 09:13:20 -07005DEPENDS += " \
6 openssl \
7 phosphor-dbus-interfaces \
8 phosphor-logging \
9 ${PYTHON_PN}-sdbus++-native \
10 sdbusplus \
11"
Konstantin Aladyshevba319382023-04-20 10:20:00 +030012PACKAGECONFIG[verify_signature] = "-Dverify-signature=enabled, -Dverify-signature=disabled"
Ed Tanous9936f862022-09-19 09:13:20 -070013PACKAGECONFIG[sync_bmc_files] = "-Dsync-bmc-files=enabled, -Dsync-bmc-files=disabled"
14PACKAGECONFIG[usb_code_update] = "-Dusb-code-update=enabled, -Dusb-code-update=disabled, cli11"
15PACKAGECONFIG[side_switch_on_boot] = "-Dside-switch-on-boot=enabled, -Dside-switch-on-boot=disabled, cli11"
16PACKAGECONFIG[ubifs_layout] = "-Dbmc-layout=ubi"
17PACKAGECONFIG[mmc_layout] = "-Dbmc-layout=mmc"
18PACKAGECONFIG[flash_bios] = "-Dhost-bios-upgrade=enabled, -Dhost-bios-upgrade=disabled"
19PACKAGECONFIG[static-dual-image] = "-Dbmc-static-dual-image=enabled, -Dbmc-static-dual-image=disabled"
Patrick Venture1bf12f52018-10-27 08:40:53 -070020PV = "1.0+git${SRCPV}"
Ed Tanous9936f862022-09-19 09:13:20 -070021PR = "r1"
Gunnar Mills02ac8062017-01-27 13:13:24 -060022
23SOFTWARE_MGR_PACKAGES = " \
24 ${PN}-version \
Deepak Kodihallib74ceea2017-04-13 23:23:42 -050025 ${PN}-download-mgr \
Gunnar Millscfe00842017-05-15 15:40:58 -050026 ${PN}-updater \
Adriana Kobylakc763ceb2018-06-04 13:06:52 -050027 ${PN}-updater-ubi \
Adriana Kobylak88ec2af2020-06-04 14:03:03 -050028 ${PN}-updater-mmc \
Adriana Kobylak7d2e8ef2018-04-20 14:52:40 -050029 ${PN}-sync \
Andrew Geissler503e4742021-12-14 19:50:46 +000030 ${PN}-usb \
Andrew Geissler6ab23382022-04-11 15:41:37 -050031 ${PN}-side-switch \
Gunnar Mills02ac8062017-01-27 13:13:24 -060032"
Gunnar Mills02ac8062017-01-27 13:13:24 -060033# Set SYSTEMD_PACKAGES to empty because we do not want ${PN} and DBUS_PACKAGES
34# handles the rest.
35SYSTEMD_PACKAGES = ""
Ed Tanous9936f862022-09-19 09:13:20 -070036SYSTEMD_SERVICE:${PN}-updater += " \
37 force-reboot.service \
38 obmc-flash-bmc-setenv@.service \
39 reboot-guard-disable.service \
40 reboot-guard-enable.service \
41 usr-local.mount \
42"
43SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'flash_bios', 'obmc-flash-host-bios@.service', '', d)}"
44SYSTEMD_SERVICE:${PN}-usb += "${@bb.utils.contains('PACKAGECONFIG', 'usb_code_update', 'usb-code-update@.service', '', d)}"
45SYSTEMD_SERVICE:${PN}-side-switch += "${@bb.utils.contains('PACKAGECONFIG', 'side_switch_on_boot', 'phosphor-bmc-side-switch.service', '', d)}"
46SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'static-dual-image', 'obmc-flash-bmc-alt@.service', '', d)}"
47SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'static-dual-image', 'obmc-flash-bmc-static-mount-alt.service', '', d)}"
48SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'static-dual-image', 'obmc-flash-bmc-prepare-for-sync.service', '', d)}"
49S = "${WORKDIR}/git"
Adriana Kobylakacff95b2018-03-29 15:16:09 -050050
Adriana Kobylakb3f2bb82020-05-06 13:14:28 -050051inherit meson pkgconfig
Gunnar Mills02ac8062017-01-27 13:13:24 -060052inherit obmc-phosphor-dbus-service
Adriana Kobylakcb8ef5c2020-03-30 15:59:31 -050053inherit python3native
Adriana Kobylakc763ceb2018-06-04 13:06:52 -050054inherit ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'phosphor-software-manager-ubi-fs', '', d)}
Adriana Kobylak88ec2af2020-06-04 14:03:03 -050055inherit ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'phosphor-software-manager-mmc', '', d)}
Gunnar Mills02ac8062017-01-27 13:13:24 -060056
Ed Tanous9936f862022-09-19 09:13:20 -070057EXTRA_OEMESON:append = " -Dtests=disabled"
58
59do_install:append() {
60 install -d ${D}/usr/local
61}
Gunnar Mills02ac8062017-01-27 13:13:24 -060062
Andrew Geisslerd0da8202022-03-18 06:30:15 +000063# The repo installs several scripts that depends on bash
64RDEPENDS:${PN} += " bash"
Patrick Williams12fc9392021-08-06 09:16:53 -050065RDEPENDS:${PN}-updater += " \
Lei YUbc3a2302018-07-23 13:26:15 +080066 bash \
Patrick Williams21d65692017-08-09 17:36:04 -050067 virtual-obmc-image-manager \
Adriana Kobylak27583a22020-05-29 12:57:11 -050068 ${@bb.utils.contains('PACKAGECONFIG', 'verify_signature', 'phosphor-image-signing', '', d)} \
Adriana Kobylak029e1502023-05-22 20:54:42 +000069 ${@bb.utils.contains('PACKAGECONFIG', 'mmc_layout', 'e2fsprogs-e2fsck', '', d)} \
Lei YU15ef0be2018-05-11 17:26:35 +080070"
Patrick Williams21d65692017-08-09 17:36:04 -050071
Patrick Williams12fc9392021-08-06 09:16:53 -050072RPROVIDES:${PN}-version += " \
Patrick Williams21d65692017-08-09 17:36:04 -050073 virtual-obmc-image-manager \
Gunnar Millscfe00842017-05-15 15:40:58 -050074"
Gunnar Mills02ac8062017-01-27 13:13:24 -060075
Patrick Williams12fc9392021-08-06 09:16:53 -050076FILES:${PN}-version += "${bindir}/phosphor-version-software-manager ${exec_prefix}/lib/tmpfiles.d/software.conf"
77FILES:${PN}-download-mgr += "${bindir}/phosphor-download-manager"
78FILES:${PN}-updater += " \
Patrick Venture47ba9da02019-03-30 08:03:17 -070079 ${bindir}/phosphor-image-updater \
80 ${bindir}/obmc-flash-bmc \
Adriana Kobylakd284df92019-10-25 13:02:36 -050081 /usr/local \
Lei YUbc3a2302018-07-23 13:26:15 +080082 "
Patrick Williams12fc9392021-08-06 09:16:53 -050083FILES:${PN}-sync += " \
Patrick Venture47ba9da02019-03-30 08:03:17 -070084 ${bindir}/phosphor-sync-software-manager \
Adriana Kobylake18f1162018-05-22 12:33:45 -050085 ${sysconfdir}/synclist \
86 "
Andrew Geissler503e4742021-12-14 19:50:46 +000087FILES:${PN}-usb += "\
88 ${base_libdir}/udev/rules.d/70-bmc-usb.rules \
89 ${bindir}/phosphor-usb-code-update \
90 "
Andrew Geissler6ab23382022-04-11 15:41:37 -050091FILES:${PN}-side-switch += "\
92 ${bindir}/phosphor-bmc-side-switch \
93 "
Ed Tanous9936f862022-09-19 09:13:20 -070094
95require ${BPN}.inc
96
97ALLOW_EMPTY:${PN} = "1"
98
99PACKAGE_BEFORE_PN += "${SOFTWARE_MGR_PACKAGES}"
100DBUS_PACKAGES = "${SOFTWARE_MGR_PACKAGES}"
Patrick Williams12fc9392021-08-06 09:16:53 -0500101DBUS_SERVICE:${PN}-version += "xyz.openbmc_project.Software.Version.service"
102DBUS_SERVICE:${PN}-download-mgr += "xyz.openbmc_project.Software.Download.service"
103DBUS_SERVICE:${PN}-updater += "xyz.openbmc_project.Software.BMC.Updater.service"
104DBUS_SERVICE:${PN}-sync += "xyz.openbmc_project.Software.Sync.service"
Andrew Geissler9216e2e2023-05-15 15:30:07 -0500105
106pkg_postinst:${PN}-side-switch() {
107 if ${@bb.utils.contains('PACKAGECONFIG', 'side_switch_on_boot', 'true', 'false', d)} ; then
108 mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
109 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phosphor-bmc-side-switch.service"
110 TARGET="../phosphor-bmc-side-switch.service"
111 ln -s $TARGET $LINK
112 fi
113}
114pkg_prerm:${PN}-side-switch() {
115 if ${@bb.utils.contains('PACKAGECONFIG', 'side_switch_on_boot', 'true', 'false', d)} ; then
116 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phosphor-bmc-side-switch.service"
117 rm $LINK
118 fi
119}