From 420a22a4c1179c0c2e5225a98a85204603848a45 Mon Sep 17 00:00:00 2001 From: Hyotaek Shim Date: Wed, 23 Jun 2021 10:15:47 +0900 Subject: [PATCH] Resolve conflict with /lib/modules when using baselibs In tw3 images, kernel is based on 64bit while platform is on 32bit. Thanks to baselibs, aarch64 rpms containing tw3 kernel modules can be repackaged to arm rpms. $ rpm -ql linux-tizen-modules-tw3-aarch64-6.5.0-0.armv7l.rpm /lib/modules /lib/modules/4.9.59 /lib/modules/4.9.59/extra /lib/modules/4.9.59/extra/logger.ko Unfortunately, however, /lib/modules, which is implicitly packaged, is conflict with filesystem package. INFO: Next install: filesystem WARNING: file /lib/modules conflicts between attempted installs of linux-tizen-modules-tw3-aarch64-6.5.0-1.1.armv7l and filesystem-3.1-3.3.armv7l ERROR: Could not run transaction. This patch avoids generating /lib/modules in the linux-tizen-modules-tw3-aarch64.armv7l.rpm Change-Id: I8be870f9999e1e2f626c99bae7bced3ac623d44d Signed-off-by: Hyotaek Shim --- packaging/baselibs.conf | 3 ++- packaging/linux-tizen-modules.spec | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf index 443bcc4..879d5d6 100644 --- a/packaging/baselibs.conf +++ b/packaging/baselibs.conf @@ -2,4 +2,5 @@ arch aarch64 targets armv7l:aarch64 linux-tizen-modules-tw3 +/ - -/lib/modules \ No newline at end of file + post "/bin/cp -r /aarch64/modules/* /lib/modules/" + post "/bin/rm -rf /aarch64" diff --git a/packaging/linux-tizen-modules.spec b/packaging/linux-tizen-modules.spec index 2e6042b..bb1c8b1 100644 --- a/packaging/linux-tizen-modules.spec +++ b/packaging/linux-tizen-modules.spec @@ -58,10 +58,16 @@ make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tw3 INS %install mkdir -p %{buildroot}/%{KMOD_PATH} + pushd lib/modules find -name "*.ko" -exec cp -a --parents {} %{buildroot}/%{KMOD_PATH}/ \; popd +%ifarch aarch64 +mkdir -p %{buildroot}/aarch64/modules +mv %{buildroot}/%{KMOD_PATH}/4.9.59 %{buildroot}/aarch64/modules/ +%endif + %clean rm -rf %{buildroot} rm -rf %{_builddir}/%{name}-%{version}/lib @@ -80,5 +86,5 @@ rm -rf %{_builddir}/%{name}-%{version}/lib %files tw3 %manifest %{name}.manifest %license COPYING -%{KMOD_PATH}/4.9.59/extra +/aarch64/modules/4.9.59/extra %endif -- 2.34.1