Install both ramdisks in the ipa downloader #84
4
_config
4
_config
@@ -86,6 +86,7 @@ BuildFlags: onlybuild:release-manifest-image
|
|||||||
BuildFlags: onlybuild:metallb-controller-image
|
BuildFlags: onlybuild:metallb-controller-image
|
||||||
BuildFlags: onlybuild:metallb-speaker-image
|
BuildFlags: onlybuild:metallb-speaker-image
|
||||||
BuildFlags: onlybuild:nm-configurator
|
BuildFlags: onlybuild:nm-configurator
|
||||||
|
BuildFlags: onlybuild:shim-noarch
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -112,6 +113,9 @@ BuildFlags: onlybuild:release-manifest-image
|
|||||||
%if "%_repository" == "standard"
|
%if "%_repository" == "standard"
|
||||||
# for build openstack-ironic-image
|
# for build openstack-ironic-image
|
||||||
BuildFlags: allowrootforbuild
|
BuildFlags: allowrootforbuild
|
||||||
|
|
||||||
|
# ironic-ipa-ramdisk are noarch packages that need to be availble to both archs
|
||||||
|
ExportFilter: ^ironic-ipa-ramdisk-.*\.noarch\.rpm$ aarch64 x86_64
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Enable reproducible builds
|
# Enable reproducible builds
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
<service name="obs_scm">
|
<service name="obs_scm">
|
||||||
<param name="url">https://github.com/metal3-io/baremetal-operator</param>
|
<param name="url">https://github.com/metal3-io/baremetal-operator</param>
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
<param name="revision">v0.9.0</param>
|
<param name="revision">v0.9.1</param>
|
||||||
<param name="version">_auto_</param>
|
<param name="version">_auto_</param>
|
||||||
<param name="versionformat">@PARENT_TAG@</param>
|
<param name="versionformat">@PARENT_TAG@</param>
|
||||||
<param name="changesgenerate">enable</param>
|
<param name="changesgenerate">enable</param>
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: baremetal-operator
|
Name: baremetal-operator
|
||||||
Version: 0.9.0
|
Version: 0.9.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Implements a Kubernetes API for managing bare metal hosts
|
Summary: Implements a Kubernetes API for managing bare metal hosts
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3
|
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.4
|
||||||
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%
|
#!BuildTag: %%IMG_PREFIX%%ironic:26.1.2.4-%RELEASE%
|
||||||
#!BuildVersion: 15.6
|
#!BuildVersion: 15.6
|
||||||
|
|
||||||
ARG SLE_VERSION
|
ARG SLE_VERSION
|
||||||
@@ -8,14 +8,8 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
|||||||
|
|
||||||
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
||||||
|
|
||||||
#!ArchExclusiveLine: x86_64
|
RUN zypper -n in --no-recommends shim-x86_64 shim-aarch64 grub2-x86_64-efi grub2-arm64-efi dosfstools mtools
|
||||||
RUN if [ "$(uname -m)" = "x86_64" ];then \
|
|
||||||
zypper -n in --no-recommends gcc git make xz-devel shim dosfstools mtools glibc-extra grub2-x86_64-efi grub2; zypper -n clean; rm -rf /var/log/*; \
|
|
||||||
fi
|
|
||||||
#!ArchExclusiveLine: aarch64
|
|
||||||
RUN if [ "$(uname -m)" = "aarch64" ];then \
|
|
||||||
zypper -n rm kubic-locale-archive-2.31-10.36.noarch openssl-1_1-1.1.1l-150500.17.37.1.aarch64; zypper -n in --no-recommends gcc git make xz-devel openssl-3 mokutil shim dosfstools mtools glibc glibc-extra grub2 grub2-arm64-efi; zypper -n clean; rm -rf /var/log/* ;\
|
|
||||||
fi
|
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
COPY prepare-efi.sh /bin/
|
COPY prepare-efi.sh /bin/
|
||||||
RUN set -euo pipefail; chmod +x /bin/prepare-efi.sh
|
RUN set -euo pipefail; chmod +x /bin/prepare-efi.sh
|
||||||
@@ -46,8 +40,8 @@ LABEL org.opencontainers.image.description="Openstack Ironic based on the SLE Ba
|
|||||||
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
LABEL org.opencontainers.image.url="https://www.suse.com/products/server/"
|
||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||||
LABEL org.opencontainers.image.version="26.1.2.3"
|
LABEL org.opencontainers.image.version="26.1.2.4"
|
||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.3-%RELEASE%"
|
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic:26.1.2.4-%RELEASE%"
|
||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||||
@@ -88,7 +82,8 @@ RUN if [ "$(uname -m)" = "aarch64" ]; then\
|
|||||||
cp /usr/share/ipxe/snp-arm64.efi /tftpboot/ipxe.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp-arm64.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp.efi ;\
|
cp /usr/share/ipxe/snp-arm64.efi /tftpboot/ipxe.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp-arm64.efi; cp /usr/share/ipxe/snp-arm64.efi /tftpboot/snp.efi ;\
|
||||||
fi
|
fi
|
||||||
|
|
||||||
COPY --from=base /tmp/esp.img /tmp/uefi_esp.img
|
COPY --from=base /tmp/esp-x86_64.img /tmp/uefi_esp-x86_64.img
|
||||||
|
COPY --from=base /tmp/esp-aarch64.img /tmp/uefi_esp-arm64.img
|
||||||
|
|
||||||
COPY ironic.conf.j2 /etc/ironic/
|
COPY ironic.conf.j2 /etc/ironic/
|
||||||
COPY inspector.ipxe.j2 httpd-ironic-api.conf.j2 ipxe_config.template /tmp/
|
COPY inspector.ipxe.j2 httpd-ironic-api.conf.j2 ipxe_config.template /tmp/
|
||||||
|
@@ -68,7 +68,7 @@ if [[ -n "$IRONIC_EXTERNAL_IP" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IMAGE_CACHE_PREFIX=/shared/html/images/ironic-python-agent
|
IMAGE_CACHE_PREFIX="/shared/html/images/ironic-python-agent-${DEPLOY_ARCHITECTURE}"
|
||||||
if [[ -f "${IMAGE_CACHE_PREFIX}.kernel" ]] && [[ -f "${IMAGE_CACHE_PREFIX}.initramfs" ]]; then
|
if [[ -f "${IMAGE_CACHE_PREFIX}.kernel" ]] && [[ -f "${IMAGE_CACHE_PREFIX}.initramfs" ]]; then
|
||||||
export IRONIC_DEFAULT_KERNEL="${IMAGE_CACHE_PREFIX}.kernel"
|
export IRONIC_DEFAULT_KERNEL="${IMAGE_CACHE_PREFIX}.kernel"
|
||||||
export IRONIC_DEFAULT_RAMDISK="${IMAGE_CACHE_PREFIX}.initramfs"
|
export IRONIC_DEFAULT_RAMDISK="${IMAGE_CACHE_PREFIX}.initramfs"
|
||||||
|
@@ -5,6 +5,6 @@ echo In inspector.ipxe
|
|||||||
imgfree
|
imgfree
|
||||||
# NOTE(dtantsur): keep inspection kernel params in [mdns]params in
|
# NOTE(dtantsur): keep inspection kernel params in [mdns]params in
|
||||||
# ironic-inspector-image and configuration in configure-ironic.sh
|
# ironic-inspector-image and configuration in configure-ironic.sh
|
||||||
kernel --timeout 60000 http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/images/ironic-python-agent.kernel ipa-insecure=1 ipa-inspection-collectors={{ env.IRONIC_IPA_COLLECTORS }} systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-enable-vlan-interfaces={{ env.IRONIC_ENABLE_VLAN_INTERFACES }} ipa-inspection-dhcp-all-interfaces=1 ipa-collect-lldp=1 {{ env.INSPECTOR_EXTRA_ARGS }} initrd=ironic-python-agent.initramfs {% if env.IRONIC_RAMDISK_SSH_KEY %}sshkey="{{ env.IRONIC_RAMDISK_SSH_KEY|trim }}"{% endif %} {{ env.IRONIC_KERNEL_PARAMS|trim }} || goto retry_boot
|
kernel --timeout 60000 http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/images/ironic-python-agent-${buildarch}.kernel ipa-insecure=1 ipa-inspection-collectors={{ env.IRONIC_IPA_COLLECTORS }} systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-enable-vlan-interfaces={{ env.IRONIC_ENABLE_VLAN_INTERFACES }} ipa-inspection-dhcp-all-interfaces=1 ipa-collect-lldp=1 {{ env.INSPECTOR_EXTRA_ARGS }} initrd=ironic-python-agent.initramfs {% if env.IRONIC_RAMDISK_SSH_KEY %}sshkey="{{ env.IRONIC_RAMDISK_SSH_KEY|trim }}"{% endif %} {{ env.IRONIC_KERNEL_PARAMS|trim }} || goto retry_boot
|
||||||
initrd --timeout 60000 http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/images/ironic-python-agent.initramfs || goto retry_boot
|
initrd --timeout 60000 http://{{ env.IRONIC_URL_HOST }}:{{ env.HTTP_PORT }}/images/ironic-python-agent-${buildarch}.initramfs || goto retry_boot
|
||||||
boot
|
boot
|
||||||
|
@@ -83,7 +83,7 @@ send_sensor_data = {{ env.SEND_SENSOR_DATA }}
|
|||||||
# Power state is checked every 60 seconds and BMC activity should
|
# Power state is checked every 60 seconds and BMC activity should
|
||||||
# be avoided more often than once every sixty seconds.
|
# be avoided more often than once every sixty seconds.
|
||||||
send_sensor_data_interval = 160
|
send_sensor_data_interval = 160
|
||||||
bootloader = {{ env.IRONIC_BOOT_BASE_URL }}/uefi_esp.img
|
bootloader = {{ env.IRONIC_BOOT_BASE_URL }}/uefi_esp-{{ env.DEPLOY_ARCHITECTURE }}.img
|
||||||
verify_step_priority_override = management.clear_job_queue:90
|
verify_step_priority_override = management.clear_job_queue:90
|
||||||
# We don't use this feature, and it creates an additional load on the database
|
# We don't use this feature, and it creates an additional load on the database
|
||||||
node_history = False
|
node_history = False
|
||||||
|
@@ -2,41 +2,26 @@
|
|||||||
|
|
||||||
set -euxo pipefail
|
set -euxo pipefail
|
||||||
|
|
||||||
ARCH=$(uname -m)
|
declare -A efi_arch=(
|
||||||
DEST=${2:-/tmp/esp.img}
|
["x86_64"]="X64"
|
||||||
OS=${1:-sles}
|
["aarch64"]="AA64"
|
||||||
|
)
|
||||||
|
|
||||||
if [ $ARCH = "aarch64" ]; then
|
for arch in "${!efi_arch[@]}"; do
|
||||||
BOOTEFI=BOOTAA64.EFI
|
|
||||||
GRUBEFI=grubaa64.efi
|
DEST=/tmp/esp-${arch}.img
|
||||||
else
|
|
||||||
BOOTEFI=BOOTX64.efi
|
|
||||||
GRUBEFI=grubx64.efi
|
|
||||||
fi
|
|
||||||
|
|
||||||
dd bs=1024 count=6400 if=/dev/zero of=$DEST
|
dd bs=1024 count=6400 if=/dev/zero of=$DEST
|
||||||
mkfs.msdos -F 12 -n 'ESP_IMAGE' $DEST
|
mkfs.msdos -F 12 -n 'ESP_IMAGE' $DEST
|
||||||
|
|
||||||
|
mmd -i $DEST EFI
|
||||||
|
mmd -i $DEST EFI/BOOT
|
||||||
|
|
||||||
|
mcopy -i $DEST -v /usr/share/efi/${arch}/shim.efi ::EFI/BOOT/BOOT${efi_arch[$arch]}.EFI
|
||||||
|
mcopy -i $DEST -v /usr/share/efi/${arch}/grub.efi ::EFI/BOOT/GRUB.EFI
|
||||||
|
|
||||||
|
mdir -i $DEST ::EFI/BOOT;
|
||||||
|
done
|
||||||
|
|
||||||
mkdir -p /boot/efi/EFI/BOOT
|
|
||||||
mkdir -p /boot/efi/EFI/$OS
|
|
||||||
if [ $ARCH = "aarch64" ]; then
|
|
||||||
cp -L /usr/share/efi/aarch64/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
|
||||||
cp -L /usr/share/efi/aarch64/grub.efi /boot/efi/EFI/BOOT/grub.efi
|
|
||||||
cp /usr/share/grub2/arm64-efi/grub.efi /boot/efi/EFI/$OS/grubaa64.efi
|
|
||||||
else
|
|
||||||
cp -L /usr/lib64/efi/shim.efi /boot/efi/EFI/BOOT/$BOOTEFI
|
|
||||||
#cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/$GRUBEFI
|
|
||||||
cp /usr/share/grub2/x86_64-efi/grub.efi /boot/efi/EFI/$OS/grub.efi
|
|
||||||
fi
|
|
||||||
|
|
||||||
mmd -i $DEST EFI
|
|
||||||
mmd -i $DEST EFI/BOOT
|
|
||||||
mcopy -i $DEST -v /boot/efi/EFI/BOOT/$BOOTEFI ::EFI/BOOT
|
|
||||||
if [ $ARCH = "aarch64" ]; then
|
|
||||||
mcopy -i $DEST -v /boot/efi/EFI/BOOT/grub.efi ::EFI/BOOT
|
|
||||||
mcopy -i $DEST -v /boot/efi/EFI/$OS/$GRUBEFI ::EFI/BOOT
|
|
||||||
else
|
|
||||||
mcopy -i $DEST -v /boot/efi/EFI/$OS/grub.efi ::EFI/BOOT
|
|
||||||
fi
|
|
||||||
mdir -i $DEST ::EFI/BOOT;
|
|
||||||
|
|
||||||
|
@@ -39,7 +39,7 @@ export INSPECTOR_EXTRA_ARGS
|
|||||||
|
|
||||||
# Copy files to shared mount
|
# Copy files to shared mount
|
||||||
render_j2_config /tmp/inspector.ipxe.j2 /shared/html/inspector.ipxe
|
render_j2_config /tmp/inspector.ipxe.j2 /shared/html/inspector.ipxe
|
||||||
cp /tmp/uefi_esp.img /shared/html/uefi_esp.img
|
cp /tmp/uefi_esp*.img /shared/html/
|
||||||
|
|
||||||
# Render the core httpd config
|
# Render the core httpd config
|
||||||
render_j2_config /etc/httpd/conf/httpd.conf.j2 /etc/httpd/conf/httpd.conf
|
render_j2_config /etc/httpd/conf/httpd.conf.j2 /etc/httpd/conf/httpd.conf
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.2
|
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.3
|
||||||
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.2-%RELEASE%
|
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.3-%RELEASE%
|
||||||
#!BuildVersion: 15.6
|
#!BuildVersion: 15.6
|
||||||
ARG SLE_VERSION
|
ARG SLE_VERSION
|
||||||
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
||||||
@@ -8,15 +8,8 @@ FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
|||||||
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
||||||
COPY --from=micro / /installroot/
|
COPY --from=micro / /installroot/
|
||||||
RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
|
RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
|
||||||
#!ArchExclusiveLine: x86_64
|
RUN zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 ironic-ipa-ramdisk-aarch64 tar gawk curl xz zstd shadow cpio findutils
|
||||||
RUN if [ "$(uname -m)" = "x86_64" ];then \
|
|
||||||
zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*; \
|
|
||||||
fi
|
|
||||||
#!ArchExclusiveLine: aarch64
|
|
||||||
RUN if [ "$(uname -m)" = "aarch64" ];then \
|
|
||||||
zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-aarch64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*; \
|
|
||||||
fi
|
|
||||||
#RUN zypper --installroot /installroot --non-interactive install --no-recommends sles-release;
|
|
||||||
RUN cp /usr/bin/getopt /installroot/
|
RUN cp /usr/bin/getopt /installroot/
|
||||||
|
|
||||||
FROM micro AS final
|
FROM micro AS final
|
||||||
@@ -26,11 +19,11 @@ FROM micro AS final
|
|||||||
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
||||||
LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
|
LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
|
||||||
LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
|
LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
|
||||||
LABEL org.opencontainers.image.version="3.0.2"
|
LABEL org.opencontainers.image.version="3.0.3"
|
||||||
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
|
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
|
||||||
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
||||||
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
||||||
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.2-%RELEASE%"
|
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.3-%RELEASE%"
|
||||||
LABEL org.openbuildservice.disturl="%DISTURL%"
|
LABEL org.openbuildservice.disturl="%DISTURL%"
|
||||||
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
||||||
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
||||||
@@ -41,8 +34,9 @@ LABEL com.suse.release-stage="released"
|
|||||||
|
|
||||||
COPY --from=base /installroot /
|
COPY --from=base /installroot /
|
||||||
RUN cp /getopt /usr/bin/
|
RUN cp /getopt /usr/bin/
|
||||||
RUN cp /srv/tftpboot/openstack-ironic-image/initrd.xz /tmp
|
RUN cp /srv/tftpboot/openstack-ironic-image/initrd*.zst /tmp
|
||||||
RUN cp /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel /tmp
|
RUN cp /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel /tmp
|
||||||
|
RUN sha256sum /srv/tftpboot/openstack-ironic-image/initrd*.zst /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel > /tmp/images.sha256
|
||||||
# configure non-root user
|
# configure non-root user
|
||||||
COPY configure-nonroot.sh /bin/
|
COPY configure-nonroot.sh /bin/
|
||||||
RUN set -euo pipefail; chmod +x /bin/configure-nonroot.sh
|
RUN set -euo pipefail; chmod +x /bin/configure-nonroot.sh
|
||||||
|
@@ -6,12 +6,33 @@ export http_proxy=${http_proxy:-$HTTP_PROXY}
|
|||||||
export https_proxy=${https_proxy:-$HTTPS_PROXY}
|
export https_proxy=${https_proxy:-$HTTPS_PROXY}
|
||||||
export no_proxy=${no_proxy:-$NO_PROXY}
|
export no_proxy=${no_proxy:-$NO_PROXY}
|
||||||
|
|
||||||
|
if [ -d "/tmp/ironic-certificates" ]; then
|
||||||
|
sha256sum /tmp/ironic-certificates/* > /tmp/certificates.sha256
|
||||||
|
if cmp "/shared/certificates.sha256" "/tmp/certificates.sha256"; then
|
||||||
|
CERTS_CHANGED=0
|
||||||
|
else
|
||||||
|
CERTS_CHANGED=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Which image should we use
|
# Which image should we use
|
||||||
if [ -z "${IPA_BASEURI}" ]; then
|
if [ -z "${IPA_BASEURI}" ]; then
|
||||||
# SLES BASED IPA - ironic-ipa-ramdisk-x86_64 package
|
if cmp "/shared/images.sha256" "/tmp/images.sha256"; then
|
||||||
|
if [ "${CERTS_CHANGED:-0}" = "0" ]; then
|
||||||
|
# everything is the same exit early
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
IMAGE_CHANGED=1
|
||||||
|
# SLES BASED IPA - ironic-ipa-ramdisk-x86_64 and ironic-ipa-ramdisk-aarch64 packages
|
||||||
mkdir -p /shared/html/images
|
mkdir -p /shared/html/images
|
||||||
cp /tmp/initrd.xz /shared/html/images/ironic-python-agent.initramfs
|
cp /tmp/initrd-x86_64.zst /shared/html/images/ironic-python-agent-x86_64.initramfs
|
||||||
cp /tmp/openstack-ironic-image*.kernel /shared/html/images/ironic-python-agent.kernel
|
cp /tmp/openstack-ironic-image.x86_64*.kernel /shared/html/images/ironic-python-agent-x86_64.kernel
|
||||||
|
# Use arm64 as destination for iPXE compatibility
|
||||||
|
cp /tmp/initrd-aarch64.zst /shared/html/images/ironic-python-agent-arm64.initramfs
|
||||||
|
cp /tmp/openstack-ironic-image.aarch64*.kernel /shared/html/images/ironic-python-agent-arm64.kernel
|
||||||
|
|
||||||
|
cp /tmp/images.sha256 /shared/images.sha256
|
||||||
else
|
else
|
||||||
FILENAME=ironic-python-agent
|
FILENAME=ironic-python-agent
|
||||||
FILENAME_EXT=.tar
|
FILENAME_EXT=.tar
|
||||||
@@ -25,47 +46,56 @@ else
|
|||||||
# If we have a CACHEURL and nothing has yet been downloaded
|
# If we have a CACHEURL and nothing has yet been downloaded
|
||||||
# get header info from the cache
|
# get header info from the cache
|
||||||
ls -l
|
ls -l
|
||||||
if [ -n "$CACHEURL" -a ! -e $FFILENAME.headers ] ; then
|
if [ -n "$CACHEURL" ] && [ ! -e $FFILENAME.headers ] ; then
|
||||||
curl -g --verbose --fail -O "$CACHEURL/$FFILENAME.headers" || true
|
curl -g --verbose --fail -O "$CACHEURL/$FFILENAME.headers" || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Download the most recent version of IPA
|
# Download the most recent version of IPA
|
||||||
if [ -e $FFILENAME.headers ] ; then
|
if [ -e $FFILENAME.headers ] ; then
|
||||||
ETAG=$(awk '/ETag:/ {print $2}' $FFILENAME.headers | tr -d "\r")
|
ETAG=$(awk '/ETag:/ {print $2}' $FFILENAME.headers | tr -d "\r")
|
||||||
cd $TMPDIR
|
cd "$TMPDIR"
|
||||||
curl -g --verbose --dump-header $FFILENAME.headers -O $IPA_BASEURI/$FFILENAME --header "If-None-Match: $ETAG" || cp /shared/html/images/$FFILENAME.headers .
|
curl -g --verbose --dump-header $FFILENAME.headers -O "$IPA_BASEURI/$FFILENAME" --header "If-None-Match: $ETAG" || cp /shared/html/images/$FFILENAME.headers .
|
||||||
# curl didn't download anything because we have the ETag already
|
# curl didn't download anything because we have the ETag already
|
||||||
# but we don't have it in the images directory
|
# but we don't have it in the images directory
|
||||||
# Its in the cache, go get it
|
# Its in the cache, go get it
|
||||||
ETAG=$(awk '/ETag:/ {print $2}' $FFILENAME.headers | tr -d "\"\r")
|
ETAG=$(awk '/ETag:/ {print $2}' $FFILENAME.headers | tr -d "\"\r")
|
||||||
if [ ! -s $FFILENAME -a ! -e /shared/html/images/$FILENAME-$ETAG/$FFILENAME ] ; then
|
if [ ! -s $FFILENAME ] && [ ! -e "/shared/html/images/$FILENAME-$ETAG/$FFILENAME" ] ; then
|
||||||
mv /shared/html/images/$FFILENAME.headers .
|
mv /shared/html/images/$FFILENAME.headers .
|
||||||
curl -g --verbose -O "$CACHEURL/$FILENAME-$ETAG/$FFILENAME"
|
curl -g --verbose -O "$CACHEURL/$FILENAME-$ETAG/$FFILENAME"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
cd $TMPDIR
|
cd "$TMPDIR"
|
||||||
curl -g --verbose --dump-header $FFILENAME.headers -O $IPA_BASEURI/$FFILENAME
|
curl -g --verbose --dump-header $FFILENAME.headers -O "$IPA_BASEURI/$FFILENAME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -s $FFILENAME ] ; then
|
if [ -s $FFILENAME ] ; then
|
||||||
tar -xf $FFILENAME
|
tar -xf $FFILENAME
|
||||||
|
xz -d -c -k --fast $FILENAME.initramfs | zstd -c > $FILENAME.initramfs.zstd
|
||||||
|
mv $FILENAME.initramfs.zstd $FILENAME.initramfs
|
||||||
|
ARCH=$(file -b ${FILENAME}.kernel | cut -d ' ' -f 3)
|
||||||
|
if [ "$ARCH" = "x86" ]; then
|
||||||
|
ARCH="x86_64"
|
||||||
|
fi
|
||||||
ETAG=$(awk '/ETag:/ {print $2}' $FFILENAME.headers | tr -d "\"\r")
|
ETAG=$(awk '/ETag:/ {print $2}' $FFILENAME.headers | tr -d "\"\r")
|
||||||
cd -
|
cd -
|
||||||
chmod 755 $TMPDIR
|
chmod 755 "$TMPDIR"
|
||||||
mv $TMPDIR $FILENAME-$ETAG
|
mv "$TMPDIR" "$FILENAME-$ETAG"
|
||||||
ln -sf $FILENAME-$ETAG/$FFILENAME.headers $FFILENAME.headers
|
ln -sf "$FILENAME-$ETAG/$FFILENAME.headers" "$FFILENAME.headers"
|
||||||
ln -sf $FILENAME-$ETAG/$FILENAME.initramfs $FILENAME.initramfs
|
ln -sf "$FILENAME-$ETAG/$FILENAME.initramfs" "$FILENAME-${ARCH,,}.initramfs"
|
||||||
ln -sf $FILENAME-$ETAG/$FILENAME.kernel $FILENAME.kernel
|
ln -sf "$FILENAME-$ETAG/$FILENAME.kernel" "$FILENAME-${ARCH,,}.kernel"
|
||||||
|
|
||||||
|
IMAGE_CHANGED=1
|
||||||
else
|
else
|
||||||
rm -rf $TMPDIR
|
rm -rf "$TMPDIR"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "/tmp/ironic-certificates" ]; then
|
if [ "${CERTS_CHANGED:-0}" = "1" ] || [ "${IMAGE_CHANGED:-0}" = "1" ]; then
|
||||||
mkdir -p /tmp/ca/tmp-initrd && cd /tmp/ca/tmp-initrd
|
mkdir -p /tmp/ca/tmp-initrd && cd /tmp/ca/tmp-initrd
|
||||||
xz -d -c -k --fast /shared/html/images/ironic-python-agent.initramfs | fakeroot -s ../initrd.fakeroot cpio -i
|
|
||||||
mkdir -p etc/ironic-python-agent.d/ca-certs
|
mkdir -p etc/ironic-python-agent.d/ca-certs
|
||||||
cp /tmp/ironic-certificates/* etc/ironic-python-agent.d/ca-certs/
|
cp /tmp/ironic-certificates/* etc/ironic-python-agent.d/ca-certs/
|
||||||
find . | fakeroot -i ../initrd.fakeroot cpio -o -H newc | xz --check=crc32 --x86 --lzma2 --fast > /shared/html/images/ironic-python-agent.initramfs
|
for initramfs in /shared/html/images/ironic-python-agent-*.initramfs; do
|
||||||
|
find . | cpio -o -H newc --reproducible | zstd -c >> "${initramfs}"
|
||||||
|
done
|
||||||
|
cp /tmp/certificates.sha256 /shared/certificates.sha256
|
||||||
fi
|
fi
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<image schemaversion="7.4" name="openstack-ironic-image-302">
|
<image schemaversion="7.4" name="openstack-ironic-image">
|
||||||
<description type="system">
|
<description type="system">
|
||||||
<author>Cloud developers</author>
|
<author>Cloud developers</author>
|
||||||
<contact>cloud-devel@suse.de</contact>
|
<contact>cloud-devel@suse.de</contact>
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: ironic-ipa-ramdisk
|
Name: ironic-ipa-ramdisk
|
||||||
Version: 3.0.2
|
Version: 3.0.3
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Kernel and ramdisk image for OpenStack Ironic
|
Summary: Kernel and ramdisk image for OpenStack Ironic
|
||||||
License: SUSE-EULA
|
License: SUSE-EULA
|
||||||
@@ -148,10 +148,8 @@ TDIR=`mktemp -d /tmp/openstack-ironic-image.XXXXX`
|
|||||||
cd /tmp/openstack-ironic-image/img/build/image-root
|
cd /tmp/openstack-ironic-image/img/build/image-root
|
||||||
find . | cpio --create --format=newc --quiet > $TDIR/initrdtmp
|
find . | cpio --create --format=newc --quiet > $TDIR/initrdtmp
|
||||||
cd $TDIR
|
cd $TDIR
|
||||||
gzip -9 -f initrdtmp
|
zstd initrdtmp -o initrd-%{_arch}.zst
|
||||||
INITRDGZ=`ls *.gz | head -1`
|
INITRD=`ls *.zst | head -1`
|
||||||
gzip -cd $INITRDGZ | xz --check=crc32 -c9 > initrd.xz
|
|
||||||
INITRD=`ls *.xz | head -1`
|
|
||||||
|
|
||||||
ls /tmp/openstack-ironic-image/img/openstack-ironic-image*
|
ls /tmp/openstack-ironic-image/img/openstack-ironic-image*
|
||||||
KERNEL=`ls /tmp/openstack-ironic-image/img/openstack-ironic-image*default*kernel | head -1`
|
KERNEL=`ls /tmp/openstack-ironic-image/img/openstack-ironic-image*default*kernel | head -1`
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.10.1
|
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.2_up0.11.0
|
||||||
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.10.1-%RELEASE%
|
#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.2_up0.11.0-%RELEASE%
|
||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 0.10.1
|
appVersion: 0.11.0
|
||||||
dependencies:
|
dependencies:
|
||||||
- alias: metal3-baremetal-operator
|
- alias: metal3-baremetal-operator
|
||||||
name: baremetal-operator
|
name: baremetal-operator
|
||||||
repository: file://./charts/baremetal-operator
|
repository: file://./charts/baremetal-operator
|
||||||
version: 0.9.0
|
version: 0.9.1
|
||||||
- alias: metal3-ironic
|
- alias: metal3-ironic
|
||||||
name: ironic
|
name: ironic
|
||||||
repository: file://./charts/ironic
|
repository: file://./charts/ironic
|
||||||
version: 0.9.4
|
version: 0.10.0
|
||||||
- alias: metal3-mariadb
|
- alias: metal3-mariadb
|
||||||
condition: global.enable_mariadb
|
condition: global.enable_mariadb
|
||||||
name: mariadb
|
name: mariadb
|
||||||
@@ -25,4 +25,4 @@ description: A Helm chart that installs all of the dependencies needed for Metal
|
|||||||
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
|
icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg
|
||||||
name: metal3
|
name: metal3
|
||||||
type: application
|
type: application
|
||||||
version: "%%CHART_MAJOR%%.0.0+up0.10.1"
|
version: "%%CHART_MAJOR%%.0.2+up0.11.0"
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
appVersion: 0.9.0
|
appVersion: 0.9.1
|
||||||
description: A Helm chart for baremetal-operator, used by Metal3
|
description: A Helm chart for baremetal-operator, used by Metal3
|
||||||
name: baremetal-operator
|
name: baremetal-operator
|
||||||
type: application
|
type: application
|
||||||
version: 0.9.0
|
version: 0.9.1
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
{{- $ironicApiHost := print $ironicIP ":6385" }}
|
{{- $ironicApiHost := print $ironicIP ":6385" }}
|
||||||
{{- $ironicBootHost := print $ironicIP ":6180" }}
|
{{- $ironicBootHost := print $ironicIP ":6180" }}
|
||||||
{{- $ironicCacheHost := print $ironicIP ":6180" }}
|
{{- $ironicCacheHost := print $ironicIP ":6180" }}
|
||||||
|
{{- $deployArch := .Values.global.deployArchitecture }}
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
data:
|
data:
|
||||||
@@ -19,8 +20,9 @@ data:
|
|||||||
{{- $protocol = "http" }}
|
{{- $protocol = "http" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
CACHEURL: "{{ $protocol }}://{{ $ironicCacheHost }}/images"
|
CACHEURL: "{{ $protocol }}://{{ $ironicCacheHost }}/images"
|
||||||
DEPLOY_KERNEL_URL: "{{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent.kernel"
|
DEPLOY_KERNEL_URL: "{{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent-{{ $deployArch }}.kernel"
|
||||||
DEPLOY_RAMDISK_URL: "{{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent.initramfs"
|
DEPLOY_RAMDISK_URL: "{{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent-{{ $deployArch }}.initramfs"
|
||||||
|
DEPLOY_ARCHITECTURE: "{{ $deployArch }}"
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: baremetal-operator-ironic
|
name: baremetal-operator-ironic
|
||||||
|
@@ -28,7 +28,7 @@ images:
|
|||||||
baremetalOperator:
|
baremetalOperator:
|
||||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/baremetal-operator
|
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/baremetal-operator
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: "0.9.0"
|
tag: "0.9.1"
|
||||||
|
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
nameOverride: "manger"
|
nameOverride: "manger"
|
||||||
|
@@ -3,4 +3,4 @@ appVersion: 26.1.2
|
|||||||
description: A Helm chart for Ironic, used by Metal3
|
description: A Helm chart for Ironic, used by Metal3
|
||||||
name: ironic
|
name: ironic
|
||||||
type: application
|
type: application
|
||||||
version: 0.9.4
|
version: 0.10.0
|
||||||
|
@@ -12,6 +12,7 @@ data:
|
|||||||
{{- $ironicApiHost := print $ironicIP ":6385" }}
|
{{- $ironicApiHost := print $ironicIP ":6385" }}
|
||||||
{{- $ironicBootHost := print $ironicIP ":6180" }}
|
{{- $ironicBootHost := print $ironicIP ":6180" }}
|
||||||
{{- $ironicCacheHost := print $ironicIP ":6180" }}
|
{{- $ironicCacheHost := print $ironicIP ":6180" }}
|
||||||
|
{{- $deployArch := .Values.global.deployArchitecture }}
|
||||||
|
|
||||||
{{- if ( .Values.global.enable_dnsmasq ) }}
|
{{- if ( .Values.global.enable_dnsmasq ) }}
|
||||||
DNSMASQ_BOOT_SERVER_ADDRESS: {{ $ironicBootHost }}
|
DNSMASQ_BOOT_SERVER_ADDRESS: {{ $ironicBootHost }}
|
||||||
@@ -39,8 +40,9 @@ data:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
IRONIC_EXTERNAL_HTTP_URL: {{ $protocol }}://{{ $ironicCacheHost }}
|
IRONIC_EXTERNAL_HTTP_URL: {{ $protocol }}://{{ $ironicCacheHost }}
|
||||||
CACHEURL: {{ $protocol }}://{{ $ironicCacheHost }}/images
|
CACHEURL: {{ $protocol }}://{{ $ironicCacheHost }}/images
|
||||||
DEPLOY_KERNEL_URL: {{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent.kernel
|
DEPLOY_KERNEL_URL: {{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent-{{ $deployArch }}.kernel
|
||||||
DEPLOY_RAMDISK_URL: {{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent.initramfs
|
DEPLOY_RAMDISK_URL: {{ $protocol }}://{{ $ironicBootHost }}/images/ironic-python-agent-{{ $deployArch }}.initramfs
|
||||||
|
DEPLOY_ARCHITECTURE: {{ $deployArch }}
|
||||||
IRONIC_BOOT_BASE_URL: {{ $protocol }}://{{ $ironicBootHost }}
|
IRONIC_BOOT_BASE_URL: {{ $protocol }}://{{ $ironicBootHost }}
|
||||||
IRONIC_VMEDIA_HTTPD_SERVER_NAME: {{ $ironicBootHost }}
|
IRONIC_VMEDIA_HTTPD_SERVER_NAME: {{ $ironicBootHost }}
|
||||||
ENABLE_PXE_BOOT: "{{ .Values.global.enable_pxe_boot }}"
|
ENABLE_PXE_BOOT: "{{ .Values.global.enable_pxe_boot }}"
|
||||||
|
@@ -56,11 +56,11 @@ images:
|
|||||||
ironic:
|
ironic:
|
||||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
|
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: 26.1.2.3
|
tag: 26.1.2.4
|
||||||
ironicIPADownloader:
|
ironicIPADownloader:
|
||||||
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
|
repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/ironic-ipa-downloader
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
tag: 3.0.2
|
tag: 3.0.3
|
||||||
|
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
fullnameOverride: ""
|
fullnameOverride: ""
|
||||||
|
@@ -63,6 +63,9 @@ global:
|
|||||||
# Name for the MariaDB service
|
# Name for the MariaDB service
|
||||||
databaseServiceName: metal3-mariadb
|
databaseServiceName: metal3-mariadb
|
||||||
|
|
||||||
|
# Architecture for deployed nodes (either x86_64 or arm64)
|
||||||
|
deployArchitecture: x86_64
|
||||||
|
|
||||||
# In a multi-node cluster use the node selector to ensure the pods
|
# In a multi-node cluster use the node selector to ensure the pods
|
||||||
# all run on the same host where the dnsmasqDNSServer and provisioningIP
|
# all run on the same host where the dnsmasqDNSServer and provisioningIP
|
||||||
# and /opt/media exist. Uncomment the nodeSelector and update the
|
# and /opt/media exist. Uncomment the nodeSelector and update the
|
||||||
|
BIN
shim-noarch/shim-15.7-150300.4.16.1.aarch64.rpm
Normal file
BIN
shim-noarch/shim-15.7-150300.4.16.1.aarch64.rpm
Normal file
Binary file not shown.
BIN
shim-noarch/shim-15.7-150300.4.16.1.x86_64.rpm
Normal file
BIN
shim-noarch/shim-15.7-150300.4.16.1.x86_64.rpm
Normal file
Binary file not shown.
1099
shim-noarch/shim.changes
Normal file
1099
shim-noarch/shim.changes
Normal file
File diff suppressed because it is too large
Load Diff
90
shim-noarch/shim.spec
Normal file
90
shim-noarch/shim.spec
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
#
|
||||||
|
# spec file for package shim
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
%undefine _debuginfo_subpackages
|
||||||
|
%undefine _build_create_debug
|
||||||
|
# Move 'efi'-executables to '/usr/share/efi' (FATE#326960, bsc#1166523)
|
||||||
|
%define sysefibasedir %{_datadir}/efi
|
||||||
|
|
||||||
|
Name: shim
|
||||||
|
Version: 15.7
|
||||||
|
Release: 0
|
||||||
|
Summary: UEFI shim loader
|
||||||
|
License: BSD-2-Clause
|
||||||
|
Group: System/Boot
|
||||||
|
URL: https://github.com/rhboot/shim
|
||||||
|
Source: shim-15.7-150300.4.16.1.x86_64.rpm
|
||||||
|
Source1: shim-15.7-150300.4.16.1.aarch64.rpm
|
||||||
|
Requires: perl-Bootloader
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description
|
||||||
|
shim is a trivial EFI application that, when run, attempts to open and
|
||||||
|
execute another application.
|
||||||
|
|
||||||
|
%package aarch64
|
||||||
|
Provides: shim(aarch64)
|
||||||
|
Group: System/Boot
|
||||||
|
Summary: UEFI shim loader
|
||||||
|
|
||||||
|
%package x86_64
|
||||||
|
Provides: shim(x86_64)
|
||||||
|
Group: System/Boot
|
||||||
|
Summary: UEFI shim loader
|
||||||
|
|
||||||
|
%description aarch64
|
||||||
|
shim is a trivial EFI application that, when run, attempts to open and
|
||||||
|
execute another application.
|
||||||
|
|
||||||
|
%description x86_64
|
||||||
|
shim is a trivial EFI application that, when run, attempts to open and
|
||||||
|
execute another application.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
rpm2cpio %{SOURCE0} | cpio --extract --unconditional --preserve-modification-time --make-directories
|
||||||
|
rpm2cpio %{SOURCE1} | cpio --extract --unconditional --preserve-modification-time --make-directories
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
%install
|
||||||
|
# purely repackaged
|
||||||
|
cp -a * %{buildroot}
|
||||||
|
rm -rf %{buildroot}/usr/lib64/efi
|
||||||
|
rm %{buildroot}/etc/uefi/certs/BCA4E38E-shim.crt %{buildroot}/usr/sbin/shim-install %{buildroot}/usr/share/doc/packages/shim/COPYRIGHT
|
||||||
|
|
||||||
|
%files aarch64
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %{?sysefibasedir}
|
||||||
|
%dir %{sysefibasedir}/aarch64
|
||||||
|
%{sysefibasedir}/aarch64/shim.efi
|
||||||
|
%{sysefibasedir}/aarch64/shim-*.efi
|
||||||
|
%{sysefibasedir}/aarch64/shim-*.der
|
||||||
|
%{sysefibasedir}/aarch64/MokManager.efi
|
||||||
|
%{sysefibasedir}/aarch64/fallback.efi
|
||||||
|
|
||||||
|
%files x86_64
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%dir %{?sysefibasedir}
|
||||||
|
%dir %{sysefibasedir}/x86_64
|
||||||
|
%{sysefibasedir}/x86_64/shim.efi
|
||||||
|
%{sysefibasedir}/x86_64/shim-*.efi
|
||||||
|
%{sysefibasedir}/x86_64/shim-*.der
|
||||||
|
%{sysefibasedir}/x86_64/MokManager.efi
|
||||||
|
%{sysefibasedir}/x86_64/fallback.efi
|
||||||
|
|
||||||
|
%changelog
|
Reference in New Issue
Block a user