Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/opal-utils/, sys-apps/opal-utils/files/
Date: Sun, 25 Aug 2019 01:38:40
Message-Id: 1566696866.9527a87a8646caba8eb53859f8cf20fc8675b436.gyakovlev@gentoo
1 commit: 9527a87a8646caba8eb53859f8cf20fc8675b436
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Sun Aug 25 00:44:18 2019 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Sun Aug 25 01:34:26 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9527a87a
7
8 sys-apps/opal-utils: new package, open-power firmware utils
9
10 Package-Manager: Portage-2.3.73, Repoman-2.3.17
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 sys-apps/opal-utils/Manifest | 1 +
14 sys-apps/opal-utils/files/opal-prd.confd | 4 ++
15 sys-apps/opal-utils/files/opal-prd.initd | 20 ++++++++
16 sys-apps/opal-utils/metadata.xml | 22 ++++++++
17 sys-apps/opal-utils/opal-utils-6.5.ebuild | 83 +++++++++++++++++++++++++++++++
18 5 files changed, 130 insertions(+)
19
20 diff --git a/sys-apps/opal-utils/Manifest b/sys-apps/opal-utils/Manifest
21 new file mode 100644
22 index 00000000000..76e3988e3ba
23 --- /dev/null
24 +++ b/sys-apps/opal-utils/Manifest
25 @@ -0,0 +1 @@
26 +DIST opal-utils-6.5.tar.gz 2080841 BLAKE2B cd8bda3b7f3bcbc620f922a6baa69f452a95c60a96eb9adf67d781dc5d1a75fc43cba7aa3ed82105de7a04041cfb61f43e909794702564819cda6f11afd23815 SHA512 f756307403ec49f24e5dbc06dbe8fe52898da27f2a0fa761164b1d85efd33dae8a8f96de3859eb7b11f85f43a790c9c213f9ebf0c7f4a859b590dcfb35e38571
27
28 diff --git a/sys-apps/opal-utils/files/opal-prd.confd b/sys-apps/opal-utils/files/opal-prd.confd
29 new file mode 100644
30 index 00000000000..a61415ef934
31 --- /dev/null
32 +++ b/sys-apps/opal-utils/files/opal-prd.confd
33 @@ -0,0 +1,4 @@
34 +# /etc/conf.d/opal-prd: config file for /etc/init.d/opal-prd
35 +# see OPAL-PRD(8)
36 +
37 +#OPAL_PRD_OPTS=""
38
39 diff --git a/sys-apps/opal-utils/files/opal-prd.initd b/sys-apps/opal-utils/files/opal-prd.initd
40 new file mode 100644
41 index 00000000000..935d39f6f94
42 --- /dev/null
43 +++ b/sys-apps/opal-utils/files/opal-prd.initd
44 @@ -0,0 +1,20 @@
45 +#!/sbin/openrc-run
46 +# Copyright 2019 Gentoo Authors
47 +# Distributed under the terms of the GNU General Public License v2
48 +
49 +name="OPAL PRD daemon"
50 +description="Processor RunTime Diagnostics daemon"
51 +command=/usr/sbin/opal-prd
52 +command_args="${OPAL_PRD_OPTS}"
53 +command_background="true"
54 +pidfile="/run/${RC_SVCNAME}.pid"
55 +
56 +depend() {
57 + need dev-mount sysfs
58 + use logger
59 + keyword -containers
60 +
61 +}
62 +
63 +required_dirs="/sys/firmware/devicetree/base/ibm,opal/diagnostics"
64 +required_files="/dev/opal-prd"
65
66 diff --git a/sys-apps/opal-utils/metadata.xml b/sys-apps/opal-utils/metadata.xml
67 new file mode 100644
68 index 00000000000..308277edf69
69 --- /dev/null
70 +++ b/sys-apps/opal-utils/metadata.xml
71 @@ -0,0 +1,22 @@
72 +<?xml version="1.0" encoding="UTF-8"?>
73 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
74 +<pkgmetadata>
75 + <maintainer type="person">
76 + <email>gyakovlev@g.o</email>
77 + <name>Georgy Yakovlev</name>
78 + </maintainer>
79 + <longdescription lang="en">
80 + This package contains utility programs for OpenPower systems:
81 + 'opal-prd' provides a daemon to load and run the OpenPower firmware's Processor Recovery Diagnostics binary.
82 + It's responsible for run time maintenance of OpenPower Systems hardware.
83 +
84 + 'gard' utility can read, parse and clear hardware gard partitions on OpenPower platforms.
85 +
86 + 'getscom' and 'putscom' utilities provide an interface to query or modify the registers of the different chipsets of an OpenPower system.
87 +
88 + 'pflash' is a tool to access the flash modules on such systems and update the OpenPower firmware.
89 + </longdescription>
90 + <upstream>
91 + <remote-id type="github">open-power/skiboot</remote-id>
92 + </upstream>
93 +</pkgmetadata>
94
95 diff --git a/sys-apps/opal-utils/opal-utils-6.5.ebuild b/sys-apps/opal-utils/opal-utils-6.5.ebuild
96 new file mode 100644
97 index 00000000000..a4dc62fddce
98 --- /dev/null
99 +++ b/sys-apps/opal-utils/opal-utils-6.5.ebuild
100 @@ -0,0 +1,83 @@
101 +# Copyright 2019 Gentoo Authors
102 +# Distributed under the terms of the GNU General Public License v2
103 +
104 +EAPI=7
105 +
106 +PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
107 +
108 +inherit linux-info python-any-r1 systemd toolchain-funcs
109 +
110 +DESCRIPTION="OPAL firmware utilities"
111 +HOMEPAGE="https://github.com/open-power/skiboot"
112 +SRC_URI="https://github.com/open-power/skiboot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
113 +
114 +LICENSE="Apache-2.0"
115 +SLOT="0"
116 +KEYWORDS="~ppc64"
117 +IUSE="doc"
118 +
119 +DEPEND=""
120 +RDEPEND="${DEPEND}"
121 +BDEPEND="doc? (
122 + $(python_gen_any_dep '
123 + dev-python/sphinx[${PYTHON_USEDEP}]
124 + dev-python/recommonmark[${PYTHON_USEDEP}]
125 + ')
126 +)"
127 +
128 +CONFIG_CHECK="~MTD_POWERNV_FLASH ~OPAL_PRD ~PPC_DT_CPU_FTRS ~SCOM_DEBUGFS"
129 +ERROR_MTD_POWERND_FLASH="CONFIG_MTD_POWERND_FLASH is required to use pflash and opal-gard"
130 +ERROR_OPAL_PRD="CONFIG_OPAL_PRD is required to run opal-prd daemon"
131 +ERROR_SCOM_DEBUGFS="CONFIG_SCOM_DEBUGFS is required to use xscom-utils"
132 +
133 +S="${WORKDIR}/skiboot-${PV}"
134 +
135 +python_check_deps() {
136 + has_version "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
137 + has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
138 +}
139 +
140 +pkg_setup() {
141 + linux-info_pkg_setup
142 + use doc && python-any-r1_pkg_setup
143 +}
144 +
145 +src_prepare() {
146 + default
147 + sed -i '/^CFLAGS +=/ s/-g2 -ggdb//' external/opal-prd/Makefile || die
148 +}
149 +
150 +src_configure() {
151 + tc-export CC LD
152 + export OPAL_PRD_VERSION="${PV}"
153 + export GARD_VERSION="${PV}"
154 + export PFLASH_VERSION="${PV}"
155 + export XSCOM_VERSION="${PV}"
156 +}
157 +
158 +src_compile() {
159 + emake V=1 -C external/opal-prd
160 + emake V=1 -C external/gard
161 + emake V=1 -C external/pflash
162 + emake V=1 -C external/xscom-utils
163 +
164 + use doc && emake V=1 -C doc html
165 +}
166 +
167 +src_install() {
168 + emake -C external/opal-prd DESTDIR="${D}" prefix="${EPREFIX}/usr" install
169 + emake -C external/gard DESTDIR="${D}" prefix="${EPREFIX}/usr" install
170 + emake -C external/pflash DESTDIR="${D}" prefix="${EPREFIX}/usr" install
171 + emake -C external/xscom-utils DESTDIR="${D}" prefix="${EPREFIX}/usr" install
172 +
173 + newinitd "${FILESDIR}"/opal-prd.initd opal-prd
174 + newconfd "${FILESDIR}"/opal-prd.confd opal-prd
175 +
176 + systemd_dounit external/opal-prd/opal-prd.service
177 +
178 + if use doc; then
179 +
180 + local HTML_DOCS=( doc/_build/html/. )
181 + fi
182 + einstalldocs
183 +}