summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cwiid-wmdemo-bluetooth.patch11
-rw-r--r--ros-humble-cwiid.spec12
2 files changed, 22 insertions, 1 deletions
diff --git a/cwiid-wmdemo-bluetooth.patch b/cwiid-wmdemo-bluetooth.patch
new file mode 100644
index 0000000..56de0de
--- /dev/null
+++ b/cwiid-wmdemo-bluetooth.patch
@@ -0,0 +1,11 @@
+diff --git a/wmdemo/Makefile.in b/wmdemo/Makefile.in
+--- a/wmdemo/Makefile.in
++++ b/wmdemo/Makefile.in
+@@ -9,7 +9,7 @@ SOURCES = wmdemo.c
+ CFLAGS += -I@top_builddir@/libcwiid
+ LDFLAGS += -L@top_builddir@/libcwiid
+-LDLIBS += -lcwiid
++LDLIBS += -lcwiid -lbluetooth
+ INST_DIR = @bindir@
+
+ include $(COMMON)/include/app.mak
diff --git a/ros-humble-cwiid.spec b/ros-humble-cwiid.spec
index a557c22..8f1833a 100644
--- a/ros-humble-cwiid.spec
+++ b/ros-humble-cwiid.spec
@@ -6,7 +6,7 @@
Name: ros-humble-cwiid
Version: 0.6.00
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: CWiid Wiimote Interface — libcwiid and tools (wmgui/wminput/lswm)
License: GPLv2
@@ -21,6 +21,11 @@ Patch0: cwiid-cflags.patch
# 格式串参数,触发 -Werror=format-security(RPM optflags 含 -Werror=format-security)。
# 修复:改用 "%s", message 显式格式串。
Patch1: cwiid-format-security.patch
+# wmdemo/Makefile.in 的 LDLIBS 仅含 -lcwiid,缺 -lbluetooth;wmdemo.c 调用
+# str2ba()(libbluetooth 符号)。generic-hardened-ld 的 -z,now 禁止
+# 传递性 DSO 解析,导致 "DSO missing from command line" 链接失败。
+# 修复:与 wmgui/lswm/wminput 一致,LDLIBS 追加 -lbluetooth。
+Patch2: cwiid-wmdemo-bluetooth.patch
Group: Development/Libraries
Packager: openEuler Builder <builder@openeuler.org>
@@ -66,6 +71,7 @@ for %{name}.
%setup -n %{name}-%{version}
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build
# 源码仅含 configure.ac,需先生成 configure 脚本
@@ -100,6 +106,10 @@ autoreconf -if
%{_libdir}/pkgconfig/cwiid.pc
%changelog
+* Thu Oct 22 2026 openEuler Builder <builder@openeuler.org> - 0.6.00-5
+- Fix wmdemo link failure: add -lbluetooth to LDLIBS in wmdemo/Makefile.in
+ (str2ba symbol from libbluetooth; -z,now forbids transitive DSO resolution).
+
* Thu Oct 22 2026 openEuler Builder <builder@openeuler.org> - 0.6.00-4
- Fix Patch1 apply failure ("No file to patch"): replace %autosetup with
explicit %setup + %patch -p1; this chroot's rpm expands %autosetup to