Summary: Tool to update x86/x86-64 CPU microcode. Name: microcode_ctl Version: 1.17 Release: %(R="$Revision$"; RR="${R##: }"; echo ${RR%%?})%{?dist} Epoch: 1 Group: System Environment/Base License: GPLv2+ URL: http://www.urbanmyth.org/microcode/ Source0: http://www.urbanmyth.org/microcode/microcode_ctl-%{version}.tar.gz Source1: microcode_ctl.init # Microcode now distributed directly by Intel, at # http://downloadcenter.intel.com (just search for microcode) Source2: microcode-20090927.dat # http://www.amd64.org/support/microcode.html Source3: amd-ucode-2009-10-09.tar Buildroot: %{_tmppath}/%{name}-%{version}-root Requires(pre): /sbin/chkconfig /sbin/service Requires(pre): grep gawk coreutils Obsoletes: kernel-utils ExclusiveArch: %{ix86} x86_64 Patch1: microcode_ctl.patch %description microcode_ctl - updates the microcode on Intel and AMD x86/x86-64 CPU's %prep %setup -q %patch1 -p1 tar xf %{SOURCE3} %build make CFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags} %install rm -rf %{buildroot} mkdir -p %{buildroot}/usr/share/man/man{1,8} mkdir -p %{buildroot}%{_sysconfdir}/sysconfig mkdir -p %{buildroot}/lib/firmware/amd-ucode/ make DESTDIR=%{buildroot} PREFIX=%{_prefix} \ INSDIR=/sbin MANDIR=%{_mandir}/man8 RCDIR=%{_sysconfdir} install clean install %{SOURCE1} %{buildroot}%{_sysconfdir}/init.d/microcode_ctl install -m 644 %{SOURCE2} %{buildroot}/lib/firmware/microcode.dat install -m 644 amd-ucode-2009-10-09/microcode_amd.bin %{buildroot}/lib/firmware/amd-ucode/microcode_amd.bin install -m 644 amd-ucode-2009-10-09/LICENSE LICENSE.microcode_amd install -m 644 amd-ucode-2009-10-09/README README.microcode_amd install -m 644 amd-ucode-2009-10-09/INSTALL INSTALL.microcode_amd chmod -R a-s %{buildroot} %clean rm -rf %{buildroot} %files %defattr(-,root,root) %{_sysconfdir}/init.d/microcode_ctl /lib/firmware/* /sbin/microcode_ctl %doc LICENSE.microcode_amd README.microcode_amd INSTALL.microcode_amd %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 or AMD family 0x10 and above vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'` family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'` if [ "$vendor" = "GenuineIntel" ]; then [ $family -lt 6 ] && exit 0 elif [ "$vendor" = "AuthenticAMD" ]; then [ $family -lt 16 ] && exit 0 else exit 0 fi /sbin/chkconfig --add microcode_ctl exit 0 %triggerpostun -- kernel-utils # Only enable on Intel 686's and above or AMD family 0x10 and above vendor=`cat /proc/cpuinfo | grep "^vendor_id" | sort -u | awk -F ": " '{ print $2 }'` family=`cat /proc/cpuinfo | grep "^cpu family" | sort -u | awk -F ": " '{ print $2 }'` if [ "$vendor" = "GenuineIntel" ]; then [ $family -lt 6 ] && exit 0 elif [ "$vendor" = "AuthenticAMD" ]; then [ $family -lt 16 ] && exit 0 else exit 0 fi /sbin/chkconfig --add microcode_ctl exit 0 %changelog * Fri Dec 04 2009 Kyle McMartin 1.17-1.57 - Fix duplicate message pointed out by Edward Sheldrake. * Wed Dec 02 2009 Kyle McMartin 1.17-1.56 - Add AMD x86/x86-64 microcode. (Dated: 2009-10-09) Doesn't need microcode_ctl modifications as it's loaded by request_firmware() like any other sensible driver. - Eventually, this AMD firmware can probably live inside kernel-firmware once it is split out. * Wed Sep 30 2009 Dave Jones - Update to microcode-20090927.dat * Fri Sep 11 2009 Dave Jones - Remove some unnecessary code from the init script. * Sat Jul 25 2009 Fedora Release Engineering - 1:1.17-1.52.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Jun 25 2009 Dave Jones - Shorten sleep time during init. This really needs to be replaced with proper udev hooks, but this is a quick interim fix. * Wed Jun 03 2009 Kyle McMartin 1:1.17-1.50 - Change ExclusiveArch to i586 instead of i386. Resolves rhbz#497711. * Wed May 13 2009 Dave Jones - update to microcode 20090330 * Wed Feb 25 2009 Fedora Release Engineering - 1:1.17-1.46.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Fri Sep 12 2008 Dave Jones - update to microcode 20080910 * Tue Apr 01 2008 Jarod Wilson - Update to microcode 20080401 * Sat Mar 29 2008 Dave Jones - Update to microcode 20080220 - Fix rpmlint warnings in specfile. * Mon Mar 17 2008 Dave Jones - specfile cleanups. * Fri Feb 22 2008 Jarod Wilson - Use /lib/firmware instead of /etc/firmware * Wed Feb 13 2008 Jarod Wilson - Fix permissions on microcode.dat * Thu Feb 07 2008 Jarod Wilson - Spec cleanup and macro standardization. - Update license - Update microcode data file to 20080131 revision. * Mon Jul 2 2007 Dave Jones - Update to upstream 1.17 * Thu Oct 12 2006 Jon Masters - BZ209455 fixes. * Mon Jul 17 2006 Jesse Keating - rebuild * Fri Jun 16 2006 Bill Nottingham - remove kudzu requirement - add prereq for coreutils, awk, grep * Thu Feb 09 2006 Dave Jones - rebuild. * Fri Jan 27 2006 Dave Jones - Update to upstream 1.13 * Fri Dec 16 2005 Jesse Keating - rebuilt for new gcj * Fri Dec 09 2005 Jesse Keating - rebuilt * Mon Nov 14 2005 Dave Jones - initscript tweaks. * Tue Sep 13 2005 Dave Jones - Update to upstream 1.12 * Wed Aug 17 2005 Dave Jones - Check for device node *after* loading the module. (#157672) * Tue Mar 1 2005 Dave Jones - Rebuild for gcc4 * Thu Feb 17 2005 Dave Jones - s/Serial/Epoch/ * Tue Jan 25 2005 Dave Jones - 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 - 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 - 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 - Adjust dev node location. (#144963) * Tue Jan 11 2005 Dave Jones - Load/Remove microcode module in initscript. * Mon Jan 10 2005 Dave Jones - Update to upstream 1.11 release. * Sat Dec 18 2004 Dave Jones - Initial packaging, based upon kernel-utils.