]> code.delx.au - refind/blobdiff - refind.spec
install.sh & related: Improved Secure Boot detection & removed error
[refind] / refind.spec
index 57563af56778248d17d7a59da53720ac86757fa4..76d95333bb3094bcf344348f1bf95d32315a9c74 100644 (file)
@@ -1,7 +1,8 @@
 Summary: EFI boot manager software
 Name: refind
-Version: 0.6.2
-Release: 2%{?dist}
+Version: 0.8.6.1
+Release: 1%{?dist}
+Summary: EFI boot manager software
 License: GPLv3
 URL: http://www.rodsbooks.com/refind/
 Group: System Environment/Base
@@ -48,7 +49,7 @@ when paired with Linux kernels that provide EFI stub support.
 %setup -q
 
 %build
-if [[ -d /usr/local/UDK2010 ]] ; then
+if [[ -d /usr/local/UDK2014 ]] ; then
    make
    make fs
 else
@@ -70,9 +71,14 @@ if [[ -f %{keydir}/refind.key && -x $SBSign ]] ; then
    for File in `ls drivers_%{efiarch}/*_x64.efi` ; do
       $SBSign --key %{keydir}/refind.key --cert %{keydir}/refind.crt --output $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/$File $File
    done
+   mkdir -p $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/tools_%{efiarch}
+   $SBSign --key %{keydir}/refind.key --cert %{keydir}/refind.crt --output $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/tools_%{efiarch}/gptsync_%{efiarch}.efi gptsync/gptsync_%{efiarch}.efi
 else
    install -Dp -m0644 refind/refind*.efi $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/
-   cp -a drivers_* $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/
+   mkdir -p $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/drivers_%{efiarch}
+   cp -a drivers_%{efiarch}/* $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/drivers_%{efiarch}/
+   mkdir -p $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/tools_%{efiarch}
+   install -Dp -m0644 gptsync/gptsync_%{efiarch}.efi $RPM_BUILD_ROOT/usr/share/refind-%{version}/refind/tools_%{efiarch}/gptsync_%{efiarch}.efi
 fi
 
 # Copy configuration and support files to /usr/share/refind-%{version}
@@ -89,17 +95,23 @@ install -Dp -m0644 NEWS.txt COPYING.txt LICENSE.txt README.txt CREDITS.txt $RPM_
 mkdir -p $RPM_BUILD_ROOT/etc/refind.d/keys
 install -Dp -m0644 keys/* $RPM_BUILD_ROOT/etc/refind.d/keys
 
-# Copy mkrlconf.sh to /usr/sbin
+# Copy scripts to /usr/sbin
 mkdir -p $RPM_BUILD_ROOT/usr/sbin
 install -Dp -m0755 mkrlconf.sh $RPM_BUILD_ROOT/usr/sbin/
+install -Dp -m0755 mvrefind.sh $RPM_BUILD_ROOT/usr/sbin/
+
+# Copy banners and fonts to /usr/share/refind-%{version}
+cp -a banners $RPM_BUILD_ROOT/usr/share/refind-%{version}/
+cp -a fonts $RPM_BUILD_ROOT/usr/share/refind-%{version}/
 
 %clean
-rm -rf $RPM_BUILD_ROOT
+#rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(-,root,root -)
 %doc /usr/share/doc/refind-%{version}
 /usr/sbin/mkrlconf.sh
+/usr/sbin/mvrefind.sh
 /usr/share/refind-%{version}
 /etc/refind.d/
 
@@ -113,8 +125,17 @@ fi
 
 cd /usr/share/refind-%{version}
 
-declare VarFile=`ls -d /sys/firmware/efi/vars/SecureBoot* 2> /dev/null`
-declare ShimFile=`find /boot -name shim\.efi 2> /dev/null | grep -v refind | head -n 1`
+if [[ -f /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data ]] ; then
+   IsSecureBoot=`od -An -t u1 /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data | tr -d '[[:space:]]'`
+else
+   IsSecureBoot="0"
+fi
+# Note: Two find operations for ShimFile favors shim over PreLoader -- if both are
+# present, the script uses shim rather than PreLoader.
+declare ShimFile=`find /boot -name shim\.efi -o -name shimx64\.efi -o -name PreLoader\.efi 2> /dev/null | head -n 1`
+if [[ ! -n $ShimFile ]] ; then
+   declare ShimFile=`find /boot -name PreLoader\.efi 2> /dev/null | head -n 1`
+fi
 declare SBSign=`which sbsign 2> /dev/null`
 declare OpenSSL=`which openssl 2> /dev/null`
 
@@ -127,7 +148,7 @@ declare OpenSSL=`which openssl 2> /dev/null`
 # enroll an extra MOK. I'm including it here because I'm NOT a
 # distribution maintainer, and I want to encourage users to use
 # their own local keys.
-if [[ -n $VarFile && -n $ShimFile ]] ; then
+if [[ $IsSecureBoot == "1" && -n $ShimFile ]] ; then
    if [[ -n $SBSign && -n $OpenSSL ]] ; then
       ./install.sh --shim $ShimFile --localkeys --yes
    else
@@ -142,7 +163,23 @@ fi
 # wiping out the just-updated files.
 
 %changelog
-* Mon Dec 31 2012 R Smith <rodsmith@rodsbooks.com> - 0.6.2-2
-- Improved installation procedures
-* Sun Dec 30 2012 R Smith <rodsmith@rodsbooks.com> - 0.6.2
-- Created spec file for 0.6.2 release
+* Sun Feb 8 2015 R Smith <rodsmith@rodsbooks.com> - 0.8.6
+- Updated spec file for 0.8.6
+* Sun Feb 2 2015 R Smith <rodsmith@rodsbooks.com> - 0.8.5
+- Updated spec file for 0.8.5
+* Mon Dec 8 2014 R Smith <rodsmith@rodsbooks.com> - 0.8.4
+- Updated spec file for 0.8.4
+* Sun Jul 6 2014 R Smith <rodsmith@rodsbooks.com> - 0.8.3
+- Updated spec file for 0.8.3
+* Sun Jun 8 2014 R Smith <rodsmith@rodsbooks.com> - 0.8.2
+- Updated spec file for 0.8.2
+* Thu May 15 2014 R Smith <rodsmith@rodsbooks.com> - 0.8.1
+- Updated spec file for 0.8.1
+* Sun May 4 2014 R Smith <rodsmith@rodsbooks.com> - 0.8.0
+- Updated spec file for 0.8.0
+* Sun Apr 20 2014 R Smith <rodsmith@rodsbooks.com> - 0.7.9
+- Updated spec file for 0.7.9
+* Sun Mar 9 2014 R Smith <rodsmith@rodsbooks.com> - 0.7.8
+- Updated spec file for 0.7.8
+* Fri Jan 3 2014 R Smith <rodsmith@rodsbooks.com> - 0.7.7
+- Created spec file for 0.7.7 release