microcode_ctl/microcode_ctl.spec
Dave Jones 07bb4517dd epoch
2005-02-18 00:03:26 +00:00

116 lines
3.2 KiB
RPMSpec

Summary: Tool to update x86/x86-64 CPU microcode.
Name: microcode_ctl
Version: 1.11
Release: %(R="$Revision$"; RR="${R##: }"; echo ${RR%%?})
Epoch: 1
Group: System Environment/Base
License: GPL
Source0: microcode_ctl-1.11.tar.gz
Source1: microcode_ctl.init
Buildroot: %{_tmppath}/%{name}-%{version}-root
Prereq: /sbin/chkconfig /sbin/service
Requires: fileutils kudzu
Obsoletes: kernel-utils
ExclusiveArch: i386 x86_64
Patch1: microcode_ctl.patch
%description
microcode_ctl - updates the microcode on Intel x86/x86-64 CPU's
%prep
%setup -q -c
%patch1 -p0
%build
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}/usr/sbin
mkdir -p %{buildroot}/usr/man
mkdir -p %{buildroot}/etc/rc.d/init.d
mkdir -p %{buildroot}/etc/sysconfig
cd microcode_ctl-1.11
make CFLAGS="$RPM_OPT_FLAGS"
cd ..
%install
mkdir -p %{buildroot}/usr/share/man/man{1,8}
cd microcode_ctl-1.11
make DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} \
INSDIR=/sbin MANDIR=%{_mandir}/man8 RCDIR=/etc MICDIR=/etc/firmware install clean
install %{SOURCE1} %{buildroot}/etc/rc.d/init.d/microcode_ctl
rm %{buildroot}/etc/init.d/microcode_ctl
cd ..
chmod -R a-s %{buildroot}
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
%files
%defattr(-,root,root)
/etc/rc.d/init.d/microcode_ctl
/etc/firmware/*
/sbin/microcode_ctl
%attr(0644,root,root) %{_mandir}/*/*
%preun
if [ "$1" = "0" ] ; then
/sbin/chkconfig --del microcode_ctl
fi
%post
# Only enable on Intel 686's and above.
vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'`
[ "$vendor" != "GenuineIntel" ] && exit 0
family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'`
[ $family -lt 6 ] && exit 0
/sbin/chkconfig --add microcode_ctl
%triggerpostun -- kernel-utils
# Only enable on Intel 686's and above.
vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'`
[ "$vendor" != "GenuineIntel" ] && exit 0
family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'`
[ $family -lt 6 ] && exit 0
/sbin/chkconfig --add microcode_ctl
exit 0
%changelog
* Thu Feb 17 2005 Dave Jones <davej@redhat.com>
- s/Serial/Epoch/
* Tue Jan 25 2005 Dave Jones <davej@redhat.com>
- Drop the node creation/deletion change from previous release.
It'll cause grief with selinux, and was a hack to get around
a udev shortcoming that should be fixed properly.
* Fri Jan 21 2005 Dave Jones <davej@redhat.com>
- Create/remove the /dev/cpu/microcode dev node as needed.
- Use correct path again for the microcode.dat.
- Remove some no longer needed tests in the init script.
* Fri Jan 14 2005 Dave Jones <davej@redhat.com>
- Only enable microcode_ctl service if the CPU is capable.
- Prevent microcode_ctl getting restarted multiple times on initlevel change (#141581)
- Make restart/reload work properly
- Do nothing if not started by root.
* Wed Jan 12 2005 Dave Jones <davej@redhat.com>
- Adjust dev node location. (#144963)
* Tue Jan 11 2005 Dave Jones <davej@redhat.com>
- Load/Remove microcode module in initscript.
* Mon Jan 10 2005 Dave Jones <davej@redhat.com>
- Update to upstream 1.11 release.
* Sat Dec 18 2004 Dave Jones <davej@redhat.com>
- Initial packaging, based upon kernel-utils.