From 25a9af69d11ad68355252347d3e17a491a8f1f9e00b87e38b663b8c97f5f51ba Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Sun, 9 Oct 2022 09:23:23 +0000 Subject: [PATCH] Accepting request 1009071 from home:tiwai:branches:Kernel:HEAD - Workaround for update failure of kernel-firmware-qcom package due to the change from a directory to a symlink (bsc#1204103) OBS-URL: https://build.opensuse.org/request/show/1009071 OBS-URL: https://build.opensuse.org/package/show/Kernel:HEAD/kernel-firmware?expand=0&rev=390 --- kernel-firmware.changes | 6 ++++++ kernel-firmware.spec | 20 ++++++++++++++++++++ kernel-firmware.spec.in | 1 + makespec.sh | 4 ++++ qcom-post | 27 +++++++++++++++++++++++++++ 5 files changed, 58 insertions(+) create mode 100644 qcom-post diff --git a/kernel-firmware.changes b/kernel-firmware.changes index 2e926bc..54e868e 100644 --- a/kernel-firmware.changes +++ b/kernel-firmware.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sat Oct 8 15:46:30 UTC 2022 - Takashi Iwai + +- 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..9bb5319 100644 --- a/kernel-firmware.spec +++ b/kernel-firmware.spec @@ -61,6 +61,7 @@ Source1011: fwtopics.py Source1012: check-topic.py Source1013: update-aliases.py Source1014: README.build +Source1100: qcom-post BuildRequires: fdupes BuildRequires: suse-module-tools Requires(post): /usr/bin/mkdir /usr/bin/touch @@ -6506,13 +6507,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..0411ec3 100644 --- a/kernel-firmware.spec.in +++ b/kernel-firmware.spec.in @@ -61,6 +61,7 @@ Source1011: fwtopics.py Source1012: check-topic.py Source1013: update-aliases.py Source1014: README.build +Source1100: qcom-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..2e150d7 100644 --- a/makespec.sh +++ b/makespec.sh @@ -33,6 +33,10 @@ define_subpackage () { define_post () { local l="$*" + 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}