Update to 15.8

This commit is contained in:
eabdullin 2024-05-10 16:15:25 +03:00
parent 7b7c17dc74
commit e285a36891
11 changed files with 63 additions and 51 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/shim-15.6.tar.bz2 SOURCES/shim-15.8.tar.bz2

View File

@ -1 +1 @@
3df0ab5cefc74fdf865cb36aea0e923cb4b6b3ed SOURCES/shim-15.6.tar.bz2 cdec924ca437a4509dcb178396996ddf92c11183 SOURCES/shim-15.8.tar.bz2

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

0
SOURCES/dbx.esl Normal file
View File

View File

@ -0,0 +1 @@
shim.almalinux,3,AlmaLinux,shim,15.8,security@almalinux.org
1 shim.almalinux 3 AlmaLinux shim 15.8 security@almalinux.org

View File

@ -1 +0,0 @@
shim.cloudlinux,2,CloudLinux,shim,15.6,security@cloudlinux.com
1 shim.cloudlinux 2 CloudLinux shim 15.6 security@cloudlinux.com

View File

@ -20,9 +20,9 @@ fi
findsource() findsource()
{ {
( (
cd "${RPM_BUILD_ROOT}" cd ${RPM_BUILD_ROOT}
find usr/src/debug/ -type d | sed -e "s,^,%dir /," | sort -u | tac find usr/src/debug/ -type d | sed "s,^,%dir /,"
find usr/src/debug/ -type f | sed -e "s,^,/," | sort -u | tac find usr/src/debug/ -type f | sed "s,^,/,"
) )
} }
@ -32,12 +32,9 @@ finddebug()
declare -a dirs=() declare -a dirs=()
declare -a files=() declare -a files=()
declare -a excludes=() declare -a excludes=()
declare -a tmp=()
pushd "${RPM_BUILD_ROOT}" >/dev/null 2>&1 pushd ${RPM_BUILD_ROOT} >/dev/null 2>&1
for x in $(find usr/lib/debug/ -type f -iname *.efi.debug); do
mapfile -t tmp < <(find usr/lib/debug/ -type f -iname "*.efi.debug")
for x in "${tmp[@]}" ; do
if ! [ -e "${x}" ]; then if ! [ -e "${x}" ]; then
break break
fi fi
@ -60,10 +57,8 @@ finddebug()
excludes[${#excludes[@]}]=${x%%.debug} excludes[${#excludes[@]}]=${x%%.debug}
fi fi
done done
for x in "${files[@]}" ; do for x in ${files[@]} ; do
declare name declare name=$(dirname /${x})
name=$(dirname "/${x}")
while [ "${name}" != "/" ]; do while [ "${name}" != "/" ]; do
case "${name}" in case "${name}" in
"/usr/lib/debug"|"/usr/lib"|"/usr") "/usr/lib/debug"|"/usr/lib"|"/usr")
@ -72,24 +67,24 @@ finddebug()
dirs[${#dirs[@]}]=${name} dirs[${#dirs[@]}]=${name}
;; ;;
esac esac
name=$(dirname "${name}") name=$(dirname ${name})
done done
done done
popd >/dev/null 2>&1 popd >/dev/null 2>&1
for x in "${dirs[@]}" ; do for x in ${dirs[@]} ; do
echo "%dir ${x}" echo "%dir ${x}"
done | sort | uniq done | sort | uniq
for x in "${files[@]}" ; do for x in ${files[@]} ; do
echo "/${x}" echo "/${x}"
done | sort | uniq done | sort | uniq
for x in "${excludes[@]}" ; do for x in ${excludes[@]} ; do
echo "%exclude /${x}" echo "%exclude /${x}"
done done
} }
findsource > "build-${mainarch}/debugsource.list" findsource > build-${mainarch}/debugsource.list
finddebug "${mainarch}" > "build-${mainarch}/debugfiles.list" finddebug ${mainarch} > build-${mainarch}/debugfiles.list
if [ -v altarch ]; then if [ -v altarch ]; then
finddebug "${altarch}" > "build-${altarch}/debugfiles.list" finddebug ${altarch} > build-${altarch}/debugfiles.list
fi fi

View File

@ -15,26 +15,26 @@
%global __debug_install_post %{SOURCE100} %{efiarch} %{efialtarch} %global __debug_install_post %{SOURCE100} %{efiarch} %{efialtarch}
%undefine _debuginfo_subpackages %undefine _debuginfo_subpackages
# currently here's what's in our dbx: nothing
%global dbxfile %{nil}
Name: shim-unsigned-%{efiarch} Name: shim-unsigned-%{efiarch}
Version: 15.6 Version: 15.8
Release: 1.el9.alma Release: 2.el9.alma.1
Summary: First-stage UEFI bootloader Summary: First-stage UEFI bootloader
ExclusiveArch: x86_64 ExclusiveArch: x86_64
License: BSD License: BSD
URL: https://github.com/rhboot/shim URL: https://github.com/rhboot/shim
Source0: https://github.com/rhboot/shim/releases/download/%{version}/shim-%{version}.tar.bz2 Source0: https://github.com/rhboot/shim/releases/download/%{version}/shim-%{version}.tar.bz2
Source1: clsecureboot001.cer # currently here's what's in our dbx:
%if 0%{?dbxfile} # nothing.
Source2: %{dbxfile} Source2: dbx.esl
%endif Source3: sbat.almalinux.csv
Source3: sbat.cloudlinux.csv
Source4: shim.patches Source4: shim.patches
Source100: shim-find-debuginfo.sh Source100: shim-find-debuginfo.sh
Source101: almalinux-sb-cert-1.der
Source102: almalinux-sb-cert-2.der
Source103: almalinux-sb-cert-3.der
%include %{SOURCE4} %include %{SOURCE4}
BuildRequires: gcc make BuildRequires: gcc make
@ -103,19 +103,27 @@ mkdir build-%{efialtarch}
cp %{SOURCE3} data/ cp %{SOURCE3} data/
%build %build
COMMITID=$(cat commit) # Prepare vendor_db.esl file
MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMITID=${COMMITID} " openssl x509 -inform DER -in %{SOURCE101} -out 01.pem
openssl x509 -inform DER -in %{SOURCE102} -out 02.pem
openssl x509 -inform DER -in %{SOURCE103} -out 03.pem
cert-to-efi-sig-list -g 9DD8A2AC-0977-4AEF-99A0-E794FD2A31FE 01.pem 01.esl
cert-to-efi-sig-list -g 33D81FE3-5EC0-44F8-AB02-C9DA554F63D8 02.pem 02.esl
cert-to-efi-sig-list -g 50413300-1AC7-49DA-B755-BB0D93E634B6 03.pem 03.esl
cat 01.esl 02.esl 03.esl > vendor_db.esl
COMMIT_ID=5914984a1ffeab841f482c791426d7ca9935a5e6
MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMIT_ID=${COMMIT_ID} "
MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} " MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} "
MAKEFLAGS+="ENABLE_SHIM_HASH=true " MAKEFLAGS+="ENABLE_SHIM_HASH=true "
MAKEFLAGS+="SBAT_AUTOMATIC_DATE=2023012900 "
MAKEFLAGS+="%{_smp_mflags}" MAKEFLAGS+="%{_smp_mflags}"
if [ -f "%{SOURCE1}" ]; then if [ -s vendor_db.esl ]; then
MAKEFLAGS="$MAKEFLAGS VENDOR_CERT_FILE=%{SOURCE1}" MAKEFLAGS="$MAKEFLAGS VENDOR_DB_FILE=../vendor_db.esl"
fi fi
%if 0%{?dbxfile} if [ -s "%{SOURCE2}" ]; then
if [ -f "%{SOURCE2}" ]; then
MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}" MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}"
fi fi
%endif
cd build-%{efiarch} cd build-%{efiarch}
make ${MAKEFLAGS} \ make ${MAKEFLAGS} \
@ -124,18 +132,17 @@ make ${MAKEFLAGS} \
cd .. cd ..
%install %install
COMMITID=$(cat commit) COMMIT_ID=5914984a1ffeab841f482c791426d7ca9935a5e6
MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMITID=${COMMITID} " MAKEFLAGS="TOPDIR=.. -f ../Makefile COMMIT_ID=${COMMIT_ID} "
MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} " MAKEFLAGS+="EFIDIR=%{efidir} PKGNAME=shim RELEASE=%{release} "
MAKEFLAGS+="ENABLE_SHIM_HASH=true " MAKEFLAGS+="ENABLE_SHIM_HASH=true "
if [ -f "%{SOURCE1}" ]; then MAKEFLAGS+="SBAT_AUTOMATIC_DATE=2023012900 "
MAKEFLAGS="$MAKEFLAGS VENDOR_CERT_FILE=%{SOURCE1}" if [ -s vendor_db.esl ]; then
MAKEFLAGS="$MAKEFLAGS VENDOR_DB_FILE=../vendor_db.esl"
fi fi
%if 0%{?dbxfile} if [ -s "%{SOURCE2}" ]; then
if [ -f "%{SOURCE2}" ]; then
MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}" MAKEFLAGS="$MAKEFLAGS VENDOR_DBX_FILE=%{SOURCE2}"
fi fi
%endif
cd build-%{efiarch} cd build-%{efiarch}
make ${MAKEFLAGS} \ make ${MAKEFLAGS} \
@ -149,21 +156,31 @@ cd ..
%dir %{shimrootdir} %dir %{shimrootdir}
%dir %{shimversiondir} %dir %{shimversiondir}
%dir %{shimdir} %dir %{shimdir}
%{shimdir}/*.CSV
%{shimdir}/*.efi %{shimdir}/*.efi
%{shimdir}/*.hash %{shimdir}/*.hash
%{shimdir}/*.CSV
%files debuginfo -f build-%{efiarch}/debugfiles.list %files debuginfo -f build-%{efiarch}/debugfiles.list
%files debugsource -f build-%{efiarch}/debugsource.list %files debugsource -f build-%{efiarch}/debugsource.list
%changelog %changelog
* Fri Jun 17 2022 Eduard Abdullin <eabdullin@almalinux.org> - 15.6-1.el9.alma * Tue Mar 26 2024 Eduard Abdullin <eabdullin@almalinux.org> - 15.8-2.el9.alma.1
- Use CloudLinux vendor cert and SBAT entry - Update to shim-15.8
* Wed Feb 07 2024 Peter Jones <pjones@redhat.com> - 15.8-2.el9
- Rebuild to fix the commit ident and MAKEFLAGS
Resolves: RHEL-11262
* Tue Jan 23 2024 Peter Jones <pjones@redhat.com> - 15.8-1.el9
- Update to shim-15.8 for CVE-2023-40547
Resolves: RHEL-11262
* Wed Jun 01 2022 Peter Jones <pjones@redhat.com> - 15.6-1.el9 * Wed Jun 01 2022 Peter Jones <pjones@redhat.com> - 15.6-1.el9
- Update to shim-15.6 - Update to shim-15.6 for CVE-2022-28737
Resolves: CVE-2022-28737
* Tue May 24 2022 Peter Jones <pjones@redhat.com> - 15.6~rc1-1.el9
- Update to shim-15.6~rc1 for CVE-2022-28737
* Wed Mar 09 2022 Peter Jones <pjones@redhat.com> - 15.5-1 * Wed Mar 09 2022 Peter Jones <pjones@redhat.com> - 15.5-1
- Update to shim-15.5 - Update to shim-15.5