因为软件漏洞问题,需要升级软件包,如 ncurses、libpwquality 等;
我目前采用的方法如下:
环境:
下载一个 buildroot 的最新版本:
git clone git://git.buildroot.net/buildroot.git
我使用的 linux 环境为:
Linux ubuntu 5.4.0-122-generic #138~18.04.1-Ubuntu SMP Fri Jun 24 14:14:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
方法一:去补丁网址查找
在 2022-12-20 号,查看 ncurses 的软件包版本,为 6.1
查看 ncurses 的下载地址为:Index of /gnu/ncurses
进入下载地址,可以发现目前最新版本为 6.3
1.1 下载补丁
进入补丁网址:Buildroot development - Patchwork
按如下填写搜索框:
state 为 any
serach 为 ncurses
archived 为 both
点击 apply,可以看出搜索结果中存在 6.3 版本的补丁; 点击箭头的链接;
点击下图的 series 下载补丁;
将下载好的补丁拷贝到 buildroot 顶层目录;见下图的 1-2-ncurses-bump-to-6.3.patch;
1.2 打补丁
使用如下命令来检查补丁,如果有问题,就百度解决;
git apply --check 1-2-ncurses-bump-to-6.3.patch
使用如下命令来打补丁,如果有问题,就百度解决;
git apply 1-2-ncurses-bump-to-6.3.patch
使用 git status . 来查看仓库状态;
可以看到 package 已经更新完毕;后面将对应的 package/ncurses/ 目录拷贝到你的 buildroot 工程即可;
方法二:自己手动修改版本号
如 libpwquality 包,目前的版本为 1.4.4
进入箭头指的网址查看:Releases · libpwquality/libpwquality · GitHub
可以发现最新版本为:1.4.5
进入 github 查看版本差异:libpwquality/NEWS at master · libpwquality/libpwquality · GitHub
只是修复了一些小问题,
那我们只要将 libpwquality.hash 文件删除,
修改 libpwquality.mk 文件中版本号为 1.4.5 ,即可;
如果你想保留 libpwquality.hash 文件,那么使用 sha256sum 工具来计算软件指纹值并填入即可,一个是 libpwquality-1.4.5.tar.bz2 压缩文件,一个是 libpwquality-1.4.5.tar.bz2 解压后,libpwquality 包里的 COPYING 文件;
检查修改的 package
可以使用如下命令来检查自己修改的 package 是否存在语法错误;
如果有,按保存提示来修改即可;
# 在 buildroot 顶层目录执行
make check-package