diff mbox

[RFC] add a skiboot rpm spec file

Message ID 568E1B4B.6040007@fr.ibm.com
State Superseded
Headers show

Commit Message

Cédric Le Goater Jan. 7, 2016, 8:01 a.m. UTC
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@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@fr.ibm.com>
---

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

Comments

Vasant Hegde Jan. 11, 2016, 5:25 a.m. UTC | #1
On 01/07/2016 01:31 PM, Cédric Le Goater wrote:
> 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'

Yep. You are right.

> 
> 
> From: Cédric Le Goater <clg@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.
> 

Patch looks good. Few minor comments.


> Signed-off-by: Cédric Le Goater <clg@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.

Please add description for other tools as well.

> +
> +%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.

s/Open Power/OpenPower/ ?

-Vasant
diff mbox

Patch

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@linux.vnet.ibm.com> - 5.1.12
+- initial upstream spec file