diff --git a/kernel-firmware.changes b/kernel-firmware.changes index 2e926bc..3c9fc8b 100644 --- a/kernel-firmware.changes +++ b/kernel-firmware.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Oct 10 09:12:47 UTC 2022 - Takashi Iwai <tiwai@suse.com> + +- Apply the same workaround to uncompressed flat package, too + (bsc#1204103) + +------------------------------------------------------------------- +Sat Oct 8 15:46:30 UTC 2022 - Takashi Iwai <tiwai@suse.com> + +- Workaround for update failure of kernel-firmware-qcom package + due to the change from a directory to a symlink (bsc#1204103) + ------------------------------------------------------------------- Mon Oct 03 06:55:34 UTC 2022 - tiwai@suse.com diff --git a/kernel-firmware.spec b/kernel-firmware.spec index 2833732..a47b8e9 100644 --- a/kernel-firmware.spec +++ b/kernel-firmware.spec @@ -61,6 +61,9 @@ Source1011: fwtopics.py Source1012: check-topic.py Source1013: update-aliases.py Source1014: README.build +# workarounds +Source1100: qcom-post +Source1101: uncompressed-post BuildRequires: fdupes BuildRequires: suse-module-tools Requires(post): /usr/bin/mkdir /usr/bin/touch @@ -6271,13 +6274,32 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %fdupes -s %{buildroot} %if "%flavor" != "compressed" +%pre +# ugly workaround for changing qcom/LENOVO/21BX to a symlink (bsc#1204103) +if [ ! -L %{_firmwaredir}/qcom/LENOVO/21BX ]; then + if [ -d %{_firmwaredir}/qcom/LENOVO/21BX ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxold + fi +fi + %post +# ugly workaround (bsc#1204103) +if [ -d %{_firmwaredir}/qcom/LENOVO/21BX.xxxold ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxold %{_firmwaredir}/qcom/LENOVO/21BX +else %{?regenerate_initrd_post} +fi %postun %{?regenerate_initrd_post} %posttrans +# ugly workaround (bsc#1204103) +if [ -L %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew ]; then + rm -rf %{_firmwaredir}/qcom/LENOVO/21BX + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew %{_firmwaredir}/qcom/LENOVO/21BX +fi %{?regenerate_initrd_posttrans} %post -n ucode-amd @@ -6506,13 +6528,32 @@ sh %{_sourcedir}/list-license.sh < %{_sourcedir}/licenses.list %posttrans prestera %{?regenerate_initrd_posttrans} +%pre qcom +# ugly workaround for changing qcom/LENOVO/21BX to a symlink (bsc#1204103) +if [ ! -L %{_firmwaredir}/qcom/LENOVO/21BX ]; then + if [ -d %{_firmwaredir}/qcom/LENOVO/21BX ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxold + fi +fi + %post qcom +# ugly workaround (bsc#1204103) +if [ -d %{_firmwaredir}/qcom/LENOVO/21BX.xxxold ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxold %{_firmwaredir}/qcom/LENOVO/21BX +else %{?regenerate_initrd_post} +fi %postun qcom %{?regenerate_initrd_post} %posttrans qcom +# ugly workaround (bsc#1204103) +if [ -L %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew ]; then + rm -rf %{_firmwaredir}/qcom/LENOVO/21BX + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew %{_firmwaredir}/qcom/LENOVO/21BX +fi %{?regenerate_initrd_posttrans} %post qlogic diff --git a/kernel-firmware.spec.in b/kernel-firmware.spec.in index 30669d6..57e32a9 100644 --- a/kernel-firmware.spec.in +++ b/kernel-firmware.spec.in @@ -61,6 +61,9 @@ Source1011: fwtopics.py Source1012: check-topic.py Source1013: update-aliases.py Source1014: README.build +# workarounds +Source1100: qcom-post +Source1101: uncompressed-post BuildRequires: fdupes BuildRequires: suse-module-tools Requires(post): /usr/bin/mkdir /usr/bin/touch diff --git a/makespec.sh b/makespec.sh index bdd4c6d..643f82c 100644 --- a/makespec.sh +++ b/makespec.sh @@ -33,6 +33,14 @@ define_subpackage () { define_post () { local l="$*" + if [ -z "$l" -a -f uncompressed-post ]; then + cat uncompressed-post + return 0 + fi + if [ -n "$l" -a -f "$l"-post ]; then + cat "$l"-post + return 0 + fi test -n "$l" && l=" $l" echo "%post$l" echo "%{?regenerate_initrd_post}" diff --git a/qcom-post b/qcom-post new file mode 100644 index 0000000..ee79021 --- /dev/null +++ b/qcom-post @@ -0,0 +1,27 @@ +%pre qcom +# ugly workaround for changing qcom/LENOVO/21BX to a symlink (bsc#1204103) +if [ ! -L %{_firmwaredir}/qcom/LENOVO/21BX ]; then + if [ -d %{_firmwaredir}/qcom/LENOVO/21BX ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxold + fi +fi + +%post qcom +# ugly workaround (bsc#1204103) +if [ -d %{_firmwaredir}/qcom/LENOVO/21BX.xxxold ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxold %{_firmwaredir}/qcom/LENOVO/21BX +else +%{?regenerate_initrd_post} +fi + +%postun qcom +%{?regenerate_initrd_post} + +%posttrans qcom +# ugly workaround (bsc#1204103) +if [ -L %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew ]; then + rm -rf %{_firmwaredir}/qcom/LENOVO/21BX + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew %{_firmwaredir}/qcom/LENOVO/21BX +fi +%{?regenerate_initrd_posttrans} diff --git a/uncompressed-post b/uncompressed-post new file mode 100644 index 0000000..40f338e --- /dev/null +++ b/uncompressed-post @@ -0,0 +1,27 @@ +%pre +# ugly workaround for changing qcom/LENOVO/21BX to a symlink (bsc#1204103) +if [ ! -L %{_firmwaredir}/qcom/LENOVO/21BX ]; then + if [ -d %{_firmwaredir}/qcom/LENOVO/21BX ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxold + fi +fi + +%post +# ugly workaround (bsc#1204103) +if [ -d %{_firmwaredir}/qcom/LENOVO/21BX.xxxold ]; then + mv %{_firmwaredir}/qcom/LENOVO/21BX %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxold %{_firmwaredir}/qcom/LENOVO/21BX +else +%{?regenerate_initrd_post} +fi + +%postun +%{?regenerate_initrd_post} + +%posttrans +# ugly workaround (bsc#1204103) +if [ -L %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew ]; then + rm -rf %{_firmwaredir}/qcom/LENOVO/21BX + mv %{_firmwaredir}/qcom/LENOVO/21BX.xxxnew %{_firmwaredir}/qcom/LENOVO/21BX +fi +%{?regenerate_initrd_posttrans}