[Skiboot] [RFC PATCH] add a skiboot rpm spec file

Cédric Le Goater clg at fr.ibm.com
Thu Jan 7 19:01:15 AEDT 2016


On 01/07/2016 07:51 AM, Vasant Hegde wrote:
> On 12/01/2015 09:50 PM, Cédric Le Goater wrote:
>> On 12/01/2015 04:43 PM, Vasant Hegde wrote:
>>> On 12/01/2015 06:44 PM, Cédric Le Goater wrote:
> 
> .../...
> 
> Stewart,  Cedric,
> 
> IIUC we all agree to have 3 separate packages here..
>   opal-prd -- binary package contains opal-prd daemon
>   opal-firmware - contains skiboot.lid
>   opla-utils -- Contains developer utilities like gard, xscom utilities etc.
> 
> Thankfully Fedora folks haven't accepted opal-prd package. If everyone agrees
> with above 3 package/naming convention then I would like to propose changes now.

Please see below the .spec that I am using and in which I have taken into account 
your comments.

Tested on skiboot git HEAD with a f23/ppc64le.

>>>> +%build
>>>> +SKIBOOT_VERSION=%version CROSS= make V=1 %{?_smp_mflags}
>>>
>>> Not sure cross compilation works in build environment. Have you verified?
>>
>> No. I compiled on a f22/ppc64le which is good enough for skiboot. The above 
>> disables the cross compiler.
> 
> 
> But this will generate LE version of LID right? Are we fine with that?

No, skiboot is always '-mbig-endian -m64'

Cheers,

C.


From: Cédric Le Goater <clg at fr.ibm.com>
Subject: [PATCH] add a skiboot rpm spec file
Date: Tue, 01 Dec 2015 14:02:50 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This spec file is based on :  

     https://hegdevasant.fedorapeople.org/opal-prd/v4/opal-prd.spec

in which a new 'opal-firmware' package was added. It contains a
skiboot.lid and is generated as a noarch package.

Signed-off-by: Cédric Le Goater <clg at fr.ibm.com>
---

 skiboot.spec |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

Index: skiboot.git/skiboot.spec
===================================================================
--- /dev/null
+++ skiboot.git/skiboot.spec
@@ -0,0 +1,111 @@
+Name:		opal-prd
+Version:	5.1.12
+Release:	1%{?dist}
+Summary:	OPAL Processor Recovery Diagnostics Daemon
+
+Group:		System Environment/Daemons
+License:	ASL 2.0
+URL:		http://github.com/open-power/skiboot
+ExclusiveArch:	ppc64le
+
+BuildRequires:	systemd
+
+Requires:	systemd
+
+Source0:	https://github.com/open-power/skiboot/archive/skiboot-%{version}.tar.gz
+Source1:	opal-prd.socket
+Source2:	opal-prd.service
+
+%description
+This package provides a daemon to load and run the OpenPower firmware's
+Processor Recovery Diagnostics binary. This is responsible for run time
+maintenance of OpenPower Systems hardware.
+
+
+%package -n	opal-utils
+Summary:	OPAL firmware utilities
+Group:		Applications/System
+
+%description -n opal-utils
+This package contains utility programs.
+The 'gard' utility, can read, parse and clear hardware gard partitions
+on OpenPower platforms.
+
+%package -n     opal-firmware
+Summary:        OPAL firmware
+BuildArch:      noarch
+
+%description -n opal-firmware
+OPAL firmware, aka skiboot, loads the bootloader and provides runtime
+services to the OS (Linux) on IBM Power and Open Power systems.
+
+
+%prep
+
+%setup -q -n skiboot-skiboot-%version
+
+%build
+SKIBOOT_VERSION=%version CROSS= make V=1 %{?_smp_mflags}
+OPAL_PRD_VERSION=%version make %{?_smp_mflags} V=1 -C external/opal-prd
+GARD_VERSION=%version make V=1 %{?_smp_mflags} -C external/gard
+PFLASH_VERSION=%version make V=1 %{?_smp_mflags} -C external/pflash
+make V=1 %{?_smp_mflags} -C external/xscom-utils
+
+%install
+make -C external/opal-prd install DESTDIR=%{buildroot} prefix=/usr
+make -C external/gard install DESTDIR=%{buildroot} prefix=/usr
+cp external/xscom-utils/{get,put}scom %{buildroot}%{_sbindir}
+cp external/pflash/pflash %{buildroot}%{_sbindir}
+
+mkdir -p %{buildroot}%{_unitdir}
+install -m 644 -p %{SOURCE1} %{buildroot}%{_unitdir}/opal-prd.socket
+install -m 644 -p %{SOURCE2} %{buildroot}%{_unitdir}/opal-prd.service
+
+mkdir -p %{buildroot}%{_datadir}/qemu
+install -m 644 -p skiboot.lid %{buildroot}%{_datadir}/qemu/skiboot.lid
+
+%post
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /bin/systemctl enable opal-prd.service >/dev/null 2>&1 || :
+    /bin/systemctl start opal-prd.service >/dev/null 2>&1 || :
+fi
+
+%preun
+if [ $1 -eq 0 ] ; then
+    # Package removal, not upgrade
+    /bin/systemctl --no-reload disable opal-prd.service > /dev/null 2>&1 || :
+    /bin/systemctl stop opal-prd.service > /dev/null 2>&1 || :
+fi
+
+%postun
+systemctl daemon-reload >/dev/null 2>&1 || :
+if [ "$1" -ge 1 ] ; then
+    /bin/systemctl try-restart opal-prd.service >/dev/null 2>&1 || :
+fi
+
+%files
+%doc README
+%license LICENCE
+%{_sbindir}/opal-prd
+%{_unitdir}/opal-prd.socket
+%{_unitdir}/opal-prd.service
+%{_mandir}/man8/*
+
+%files -n opal-utils
+%doc README
+%license LICENCE
+%{_sbindir}/opal-gard
+%{_sbindir}/getscom
+%{_sbindir}/putscom
+%{_sbindir}/pflash
+%{_mandir}/man1/*
+
+%files -n opal-firmware
+%doc README
+%license LICENCE
+%{_datadir}/qemu/
+
+%changelog
+* Mon Nov 23 2015 Vasant Hegde <hegdevasant at linux.vnet.ibm.com> - 5.1.12
+- initial upstream spec file



More information about the Skiboot mailing list