[Skiboot] [RFC PATCH] add a skiboot rpm spec file
Vasant Hegde
hegdevasant at linux.vnet.ibm.com
Wed Dec 2 02:46:41 AEDT 2015
On 12/01/2015 09:13 PM, Vasant Hegde wrote:
> On 12/01/2015 06:44 PM, Cédric Le Goater wrote:
>> This spec file is based on :
>
> Cedric,
>
> Thanks for the patch.
>
>>
>> https://hegdevasant.fedorapeople.org/opal-prd/v4/opal-prd.spec
Note that this is specific link and I may remove after we complete integrating
opal-prd to fedora.
-Vasant
>>
>> in which a new 'opal-firmware' package was added. It contains a
>> skiboot.lid and is generated as a noarch package.
>
> I think skiboot.lid also used by developers .. Not in real system. Hence I think
> we should include this in opal-utils itself .. Not in separate package.
>
>>
>> Signed-off-by: Cédric Le Goater <clg at fr.ibm.com>
>> ---
>>
>> I think that pflash and also, to some extent, the *scom commands
>> should be part of a package. opal-utils ?
>
> Yes. I had discussed with Stewart and JK on this sometime back in IRC.
> I just added them to my local specfile and rebuilt rpms for RHEL 7.2. I can
> send my spec file.
>
>
>>
>> This rfc is a way to discuss on what and how we should provide tools
>> and various blobs to the distros. I do not expect this patch to get
>> commited. Well, not as is :)
>
> IMO upstream spec file is a reference spec file. It will provide guideline like
> what is the package name, what are the files needs to be included etc. That way
> we can make sure various distros ships same package and binaries.
>
> It need not follow all the guideline set by various distros. Current spec file
> follows fedora standard .. Its because I'm more familiar with Fedora
> environment :-)
>
>>
>> Cheers,
>>
>> C.
>>
>>
>> skiboot.spec | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 118 insertions(+)
>>
>> Index: skiboot.git/skiboot.spec
>> ===================================================================
>> --- /dev/null
>> +++ skiboot.git/skiboot.spec
>
> If everyone agrees to include skiboot.lid then this is the right place. Else we
> can think of adding it under external/opal-prd directory.. as I consider
> opal-prd is main package and opal-util as subpackage.
>
>> @@ -0,0 +1,118 @@
>> +Name: opal-prd
>> +Version: 5.1.11
>> +Release: 5%{?dist}
>
> Generally release number starts with 1 and distro guys increments whenever they
> make changes. Hence lets keep it as 1.
>
>
>> +Summary: OPAL Processor Recovery Diagnostics Daemon
>> +
>> +Group: System Environment/Daemons
>> +License: ASL 2.0
>> +URL: http://github.com/open-power/skiboot
>> +ExclusiveArch: ppc64 ppc64le
>
> My understanding is these packages are applicable for LE systems only.
> My mock build environment was fedora BE. Hence I've added "ppc64". I think we
> can remove it.
>
>> +
>> +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}
>
> Not sure cross compilation works in build environment. Have you verified?
>
>> +OPAL_PRD_VERSION=%version make %{?_smp_mflags} V=1 -C external/opal-prd
>> +make V=1 %{?_smp_mflags} -C external/gard
>
> +make V=1 %{?_smp_mflags} -C external/xscom-utils
> +PFLASH_VERSION=%version make V=1 %{?_smp_mflags} -C external/pflash
>
>> +
>> +%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 $RPM_BUILD_DIR/skiboot-skiboot-%version/skiboot.lid %{buildroot}%{_datadir}/qemu/skiboot.lid
>
> We don't need "$RPM_BUILD_DIR/skiboot-skiboot-%version" . Just skiboot.lid works.
>
>
>> +
>> +%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}/getscom
> +%{_sbindir}/putscom
> +%{_sbindir}/pflash
> +%{_sbindir}/opal-gard
>
>> +%{_sbindir}/opal-gard
>> +%{_mandir}/man1/*
>> +
>> +
>> +%files -n opal-firmware
>> +%doc README
>> +%license LICENCE
>> +%{_datadir}/qemu/
>> +
>> +%changelog
>> +* Tue Dec 1 2015 Cédric Le Goater <clg at fr.ibm.com> - 5.1.11-5
>> +- added opal-firmware package
>> +
>> +* Wed Nov 25 2015 Vasant Hegde <hegdevasant at linux.vnet.ibm.com> - 5.1.11-4
>> +- Fixed specfile based on Dan's review comment (#1284527)
>> +
>> +* Tue Nov 24 2015 Vasant Hegde <hegdevasant at linux.vnet.ibm.com> - 5.1.11-3
>> +- Consistent use of build macros
>> +- Removed defattr from files section
>> +
>> +* Tue Nov 24 2015 Vasant Hegde <hegdevasant at linux.vnet.ibm.com> - 5.1.11-2
>> +- Minor update to spec file
>> +
>> +* Mon Nov 23 2015 Vasant Hegde <hegdevasant at linux.vnet.ibm.com> - 5.1.11
>> +- Initial Fedora packaging
>
> These are fedora specific changelog and it doesn't apply to upstream. Hence lets
> remove this. And add changelog specific to upstream. May be we can just with
> "initial upstream spec file".
>
> -Vasant
>
More information about the Skiboot
mailing list