如何为Buildroot中的Qt5WebKit及qt-webkit-kiosk应用补丁
如何为指定Buildroot路径的文件应用补丁?
目标路径
~/buildroot-2024.08.2/package/qt5/qt5webkit/~/buildroot-2024.08.2/package/qt-webkit-kiosk/
补丁应用步骤
1. 准备补丁文件
将提供的补丁内容保存为一个补丁文件,比如命名为qt5webkit-fix-paths.patch(注意原补丁中的>是显示截断,若实际使用时出现语法错误,需补全被截断的命令内容)。
2. 为qt5webkit目录应用补丁
进入目标目录:
cd ~/buildroot-2024.08.2/package/qt5/qt5webkit/
执行补丁命令:
patch -p1 < /path/to/qt5webkit-fix-paths.patch
如果补丁文件就在当前目录下,直接使用:
patch -p1 < qt5webkit-fix-paths.patch
参数-p1用于忽略补丁文件中路径的a/、b/前缀,适配当前目录的文件结构。
3. 处理qt-webkit-kiosk目录
检查~/buildroot-2024.08.2/package/qt-webkit-kiosk/目录下是否存在需要修改的同名文件(如qt5webkit.mk):
- 若存在,重复步骤2,进入该目录后执行相同的补丁命令。
- 若不存在相关文件,则无需额外操作。
完整补丁内容
diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk index 6912359674..a850a03ca9 100644 --- a/package/qt5/qt5webkit/qt5webkit.mk +++ b/package/qt5/qt5webkit/qt5webkit.mk @@ -50,6 +50,23 @@ ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) QT5WEBKIT_CONF_OPTS += -DENABLE_SAMPLING_PROFILER=OFF endif +define QT5WEBKIT_CONF_PRI + $(SED) 's/QT.webkit.includes =.*/QT.webkit.includes = \$$\$$QT_MODULE_INCLUDE_BASE \$$\$$QT_MODULE_INCLUDE_BASE\/QtWebKit/g' -e 's/QT.webkit.libs =.*/QT.webkit.libs = \$$\$$QT_MODULE_LI> + + $(SED) 's/QT.webkit_private.includes =.*/QT.webkit_private.includes = \$$\$$QT_MODULE_INCLUDE_BASE\/QtWebKit\/5.212.0 \$$\$$QT_MODULE_INCLUDE_BASE\/QtWebKit\/5.212.0\/QtWebKit/g' -e 's/> + + $(SED) 's/QT.webkitwidgets.includes =.*/QT.webkitwidgets.includes = \$$\$$QT_MODULE_INCLUDE_BASE \$$\$$QT_MODULE_INCLUDE_BASE\/QtWebKitWidgets/g' -e 's/QT.webkitwidgets.libs =.*/QT.webk> + + $(SED) 's/QT.webkitwidgets_private.includes =.*/QT.webkitwidgets_private.includes = \$$\$$QT_MODULE_INCLUDE_BASE\/QtWebKitWidgets\/5.212.0 \$$\$$QT_MODULE_INCLUDE_BASE\/QtWebKitWidgets\&> +endef +QT5WEBKIT_POST_CONFIGURE_HOOKS += QT5WEBKIT_CONF_PRI + +define QT5WEBKIT_CREATE_SYMLINK + ln -sf $(HOST_DIR)/arm-buildroot-linux-gnueabihf/sysroot/usr/mkspecs/modules/*.pri $(HOST_DIR)/mkspecs/modules/ + ln -sf $(HOST_DIR)/arm-buildroot-linux-gnueabihf/sysroot/usr/include/QtWebKit* $(HOST_DIR)/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/ +endef +QT5WEBKIT_POST_INSTALL_STAGING_HOOKS += QT5WEBKIT_CREATE_SYMLINK + QT5WEBKIT_CONF_OPTS += \ -DENABLE_TOOLS=OFF \ -DPORT=Qt \
内容的提问来源于stack exchange,提问作者kovarov
相关产品推荐
相关产品推荐

