blob: df814b4c26266cd2962f53cc9a8adcea16b649b6 [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"
12PACKAGECONFIG[verify_signature] = " \
13 -Dverify-full-signature=enabled, \
14 -Dverify-full-signature=disabled"
15PACKAGECONFIG[sync_bmc_files] = "-Dsync-bmc-files=enabled, -Dsync-bmc-files=disabled"
16PACKAGECONFIG[usb_code_update] = "-Dusb-code-update=enabled, -Dusb-code-update=disabled, cli11"
17PACKAGECONFIG[side_switch_on_boot] = "-Dside-switch-on-boot=enabled, -Dside-switch-on-boot=disabled, cli11"
18PACKAGECONFIG[ubifs_layout] = "-Dbmc-layout=ubi"
19PACKAGECONFIG[mmc_layout] = "-Dbmc-layout=mmc"
20PACKAGECONFIG[flash_bios] = "-Dhost-bios-upgrade=enabled, -Dhost-bios-upgrade=disabled"
21PACKAGECONFIG[static-dual-image] = "-Dbmc-static-dual-image=enabled, -Dbmc-static-dual-image=disabled"
Patrick Venture1bf12f52018-10-27 08:40:53 -070022PV = "1.0+git${SRCPV}"
Ed Tanous9936f862022-09-19 09:13:20 -070023PR = "r1"
Gunnar Mills02ac8062017-01-27 13:13:24 -060024
25SOFTWARE_MGR_PACKAGES = " \
26 ${PN}-version \
Deepak Kodihallib74ceea2017-04-13 23:23:42 -050027 ${PN}-download-mgr \
Gunnar Millscfe00842017-05-15 15:40:58 -050028 ${PN}-updater \
Adriana Kobylakc763ceb2018-06-04 13:06:52 -050029 ${PN}-updater-ubi \
Adriana Kobylak88ec2af2020-06-04 14:03:03 -050030 ${PN}-updater-mmc \
Adriana Kobylak7d2e8ef2018-04-20 14:52:40 -050031 ${PN}-sync \
Andrew Geissler503e4742021-12-14 19:50:46 +000032 ${PN}-usb \
Andrew Geissler6ab23382022-04-11 15:41:37 -050033 ${PN}-side-switch \
Gunnar Mills02ac8062017-01-27 13:13:24 -060034"
Gunnar Mills02ac8062017-01-27 13:13:24 -060035# Set SYSTEMD_PACKAGES to empty because we do not want ${PN} and DBUS_PACKAGES
36# handles the rest.
37SYSTEMD_PACKAGES = ""
Ed Tanous9936f862022-09-19 09:13:20 -070038SYSTEMD_SERVICE:${PN}-updater += " \
39 force-reboot.service \
40 obmc-flash-bmc-setenv@.service \
41 reboot-guard-disable.service \
42 reboot-guard-enable.service \
43 usr-local.mount \
44"
45SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'flash_bios', 'obmc-flash-host-bios@.service', '', d)}"
46SYSTEMD_SERVICE:${PN}-usb += "${@bb.utils.contains('PACKAGECONFIG', 'usb_code_update', 'usb-code-update@.service', '', d)}"
47SYSTEMD_SERVICE:${PN}-side-switch += "${@bb.utils.contains('PACKAGECONFIG', 'side_switch_on_boot', 'phosphor-bmc-side-switch.service', '', d)}"
48SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'static-dual-image', 'obmc-flash-bmc-alt@.service', '', d)}"
49SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'static-dual-image', 'obmc-flash-bmc-static-mount-alt.service', '', d)}"
50SYSTEMD_SERVICE:${PN}-updater += "${@bb.utils.contains('PACKAGECONFIG', 'static-dual-image', 'obmc-flash-bmc-prepare-for-sync.service', '', d)}"
51S = "${WORKDIR}/git"
Adriana Kobylakacff95b2018-03-29 15:16:09 -050052
Adriana Kobylakb3f2bb82020-05-06 13:14:28 -050053inherit meson pkgconfig
Gunnar Mills02ac8062017-01-27 13:13:24 -060054inherit obmc-phosphor-dbus-service
Adriana Kobylakcb8ef5c2020-03-30 15:59:31 -050055inherit python3native
Adriana Kobylakc763ceb2018-06-04 13:06:52 -050056inherit ${@bb.utils.contains('DISTRO_FEATURES', 'obmc-ubi-fs', 'phosphor-software-manager-ubi-fs', '', d)}
Adriana Kobylak88ec2af2020-06-04 14:03:03 -050057inherit ${@bb.utils.contains('DISTRO_FEATURES', 'phosphor-mmc', 'phosphor-software-manager-mmc', '', d)}
Gunnar Mills02ac8062017-01-27 13:13:24 -060058
Ed Tanous9936f862022-09-19 09:13:20 -070059EXTRA_OEMESON:append = " -Dtests=disabled"
60
61do_install:append() {
62 install -d ${D}/usr/local
63}
Gunnar Mills02ac8062017-01-27 13:13:24 -060064
Andrew Geisslerd0da8202022-03-18 06:30:15 +000065# The repo installs several scripts that depends on bash
66RDEPENDS:${PN} += " bash"
Patrick Williams12fc9392021-08-06 09:16:53 -050067RDEPENDS:${PN}-updater += " \
Lei YUbc3a2302018-07-23 13:26:15 +080068 bash \
Patrick Williams21d65692017-08-09 17:36:04 -050069 virtual-obmc-image-manager \
Adriana Kobylak27583a22020-05-29 12:57:11 -050070 ${@bb.utils.contains('PACKAGECONFIG', 'verify_signature', 'phosphor-image-signing', '', d)} \
Lei YU15ef0be2018-05-11 17:26:35 +080071"
Patrick Williams21d65692017-08-09 17:36:04 -050072
Patrick Williams12fc9392021-08-06 09:16:53 -050073RPROVIDES:${PN}-version += " \
Patrick Williams21d65692017-08-09 17:36:04 -050074 virtual-obmc-image-manager \
Gunnar Millscfe00842017-05-15 15:40:58 -050075"
Gunnar Mills02ac8062017-01-27 13:13:24 -060076
Patrick Williams12fc9392021-08-06 09:16:53 -050077FILES:${PN}-version += "${bindir}/phosphor-version-software-manager ${exec_prefix}/lib/tmpfiles.d/software.conf"
78FILES:${PN}-download-mgr += "${bindir}/phosphor-download-manager"
79FILES:${PN}-updater += " \
Patrick Venture47ba9da02019-03-30 08:03:17 -070080 ${bindir}/phosphor-image-updater \
81 ${bindir}/obmc-flash-bmc \
Adriana Kobylakd284df92019-10-25 13:02:36 -050082 /usr/local \
Lei YUbc3a2302018-07-23 13:26:15 +080083 "
Patrick Williams12fc9392021-08-06 09:16:53 -050084FILES:${PN}-sync += " \
Patrick Venture47ba9da02019-03-30 08:03:17 -070085 ${bindir}/phosphor-sync-software-manager \
Adriana Kobylake18f1162018-05-22 12:33:45 -050086 ${sysconfdir}/synclist \
87 "
Andrew Geissler503e4742021-12-14 19:50:46 +000088FILES:${PN}-usb += "\
89 ${base_libdir}/udev/rules.d/70-bmc-usb.rules \
90 ${bindir}/phosphor-usb-code-update \
91 "
Andrew Geissler6ab23382022-04-11 15:41:37 -050092FILES:${PN}-side-switch += "\
93 ${bindir}/phosphor-bmc-side-switch \
94 "
Ed Tanous9936f862022-09-19 09:13:20 -070095
96require ${BPN}.inc
97
98ALLOW_EMPTY:${PN} = "1"
99
100PACKAGE_BEFORE_PN += "${SOFTWARE_MGR_PACKAGES}"
101DBUS_PACKAGES = "${SOFTWARE_MGR_PACKAGES}"
Patrick Williams12fc9392021-08-06 09:16:53 -0500102DBUS_SERVICE:${PN}-version += "xyz.openbmc_project.Software.Version.service"
103DBUS_SERVICE:${PN}-download-mgr += "xyz.openbmc_project.Software.Download.service"
104DBUS_SERVICE:${PN}-updater += "xyz.openbmc_project.Software.BMC.Updater.service"
105DBUS_SERVICE:${PN}-sync += "xyz.openbmc_project.Software.Sync.service"
Andrew Geissler9216e2e2023-05-15 15:30:07 -0500106
107pkg_postinst:${PN}-side-switch() {
108 if ${@bb.utils.contains('PACKAGECONFIG', 'side_switch_on_boot', 'true', 'false', d)} ; then
109 mkdir -p $D$systemd_system_unitdir/obmc-host-startmin@0.target.wants
110 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phosphor-bmc-side-switch.service"
111 TARGET="../phosphor-bmc-side-switch.service"
112 ln -s $TARGET $LINK
113 fi
114}
115pkg_prerm:${PN}-side-switch() {
116 if ${@bb.utils.contains('PACKAGECONFIG', 'side_switch_on_boot', 'true', 'false', d)} ; then
117 LINK="$D$systemd_system_unitdir/obmc-host-startmin@0.target.wants/phosphor-bmc-side-switch.service"
118 rm $LINK
119 fi
120}