去除Linux Kernel版本号后面加号的解决方法
发布时间:2022-09-16 20:58:38
不少用户表示,编译Linux Kernel的时候,生成的RPM包中的版本号都莫名其妙地带着一个加号,这是怎么回事呢?小编认为这可能是因为修改了Linux.git中的文件。对此,如何解决这个问题呢?下面,小编就给大家介绍去除Linux Kernel版本号后面加号的解决方法。
Linux Kernel
内核版本号是根据Makefile里提供的数字生成的。打开Makefile,文件开始可以看到:
1 VERSION = 3
2 PATCHLEVEL = 10
3 SUBLEVEL = 28
4 EXTRAVERSION =
5 NAME = TOSSUG Baby Fish
和内核版本号生成相关的文件是 scripts/setlocalversion, 其中有如下的部分脚本:
# scm version string if not at a tagged commit
if test “$CONFIG_LOCALVERSION_AUTO” = “y”; then
# full scm version string
res=“$res$(scm_version)”
else
# append a plus sign if the repository is not in a clean
# annotated or signed tagged state (as git describe only
# looks at signed or annotated tags - git tag -a/-s) and
# LOCALVERSION= is not specified
if test “${LOCALVERSION+set}” != “set”; then
scm=$(scm_version --short)
res=“$res${scm:++}”
fi
fi
如果
CONFIG_LOCALVERSION_AUTO
没有被配置, LOCALVERSION 也没有数值,那么,根据上面的脚本,+号就不会被添加了。
实际在编译代码的时候,可以执行:
LOCALVERSION= make
另外,在文件scripts/setlocalversion里面,有一句:
if test -d .git && head=`git rev-parse --verify --short HEAD 2》/dev/null`;
git rev-parse 是为了取出最近的 commit的id:
$ git rev-parse --verify --short HEAD
e77fcc1
charles@taotao:~/code/linux-3.10.28$ git rev-parse --verify HEAD
e77fcc1e9be7a0ab373f96d5b9d58e1136c8c4b0
或者用:
$ git log --pretty=format:‘%h’ -n 1
e77fcc1
${LOCALVERSION+set} 是variable expansion modfier.
它有一下几种形式:
${variable:–word}如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;反之,则是 word的值(variable的值不变)
${variable:=word} 如果 variale被set或者值非空,那么这个表达式的值就是 variable的值; 反之,则是 word的值(variable的值被更新)
${variable:+word} 如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;反之,为NULL。
${variable:offset} 获得字符串的一个子串(从variable字符串索引为 offset开始, offset值从0开始计算)
${variable:?word}如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;否则,打印 word的值,退出。
${variable:offset:length}获得variable的字串(从 offset开始,长度为length)
猜你喜欢
- 排版目标为下面原稿中后面四行文本添加带前导符的制表位,使文本与后面的数字(页码)用圆点隔开,所有的页码数字右对齐,排版效果参考终稿图。原稿图
- 我们在Excel中创建工作表时,都需要一个一个的添加表名,那么有没有什么办法可以一次性批量创建呢?下面就跟小编一起看看吧。Excel批量创建
- windows7经常上不了网怎么办?在桌面右下角托盘里的网络小图标出现了黄色的小叹号,难怪总是上不去网,难道是网络出现故障问题呢?针对此问题
- Win7双屏显示?小编在这里有一个流行的说法,即视频显示器实际连接到台式计算机中的两个显示器,然后连接到笔记本电脑中的外部显示器。 更好地展
- 在日常学习和生活中,我们经常会用到WPS。如果要使用放大镜,应该如何操作呢?今天我们就来学习一下如何在手机版WPS Office里是用放大镜
- 这篇文章主要介绍了win10系统update升级C盘低容量的解决方法,需要的朋友可以参考下windows已经不断的想一些能够搭载win10系
- 对于Win7系统而言,只需为电脑安装“Foxit PDF IFilter”插件,我们就可以轻松实现以文件内容为标准来搜索PDF文档。下面为大
- 怎么把pdf转换为word?pdf文件是无法直接操作编辑的,现在需要更改pdf内容的话只能是把pdf转换成word来编辑操作了,需要怎么转换
- 欢迎观看 Pixelmator Pro 教程,小编带大家学习 Pixelmator Pro 的基本工具和使用技巧,了解如何在 Pixelma
- Win10系统黑屏提示基于堆栈的缓冲区溢出怎么解决?一些用户使用电脑的时候会遇到黑屏然后提示系统错误,系统在此应用程序中检测到基于堆栈的缓冲
- 如下图所示,我用英语输入了我的名字,Word却对我的名字开始疑神疑鬼了,亮出红色波浪线向我献殷勤。 我不能容忍Wo
- WPS图片怎么添加创意的马卡龙边框?wps中想要给图片添加边框,该怎么添加边框呢?下面我们就来看看wps给图片添加边框的教程,需要的朋友可以
- Excel怎么添加货币符号?在Excel中数据操作中经常需要添加货币符号,如何去操作呢?1、选中要添加的数据区域,Ctrl+1进入设置单元格
- 自Win11镜像文件泄露以后,很多用户都想去安装尝试一下新的操作系统,但是又怕安装的Win11存在病毒等问题,因此今天小编给大家带来了Win
- 我们在使用表格时,可能对某个单元格输入内容的同时并设置了多种格式,甚至添加了批注,但如果你不再需要这些时如何快速删除呢?下面小编就为大家介绍
- 绝大多数用户都喜欢将办公软件的编辑界面设置为浅绿色,觉得这样保护眼睛。有些用户设置完绿色后,不知道如何改回白色。wps背景是浅绿色怎么变成白
- 让Word 2007跨页表格自动在各页顶端重复显示标题对于Word2007中一些内容跨越数页的表格,由于下一页的内容缺少标题行,查看起来很不
- 有时候我们打开电脑的时候,用鼠标右键电脑及桌面图标,一点反应都有没有,这是什么情况呢?其实只要找到注册框里的NoViewContextMen
- Focus是Mac平台上的网站和应用程序 * ,通过阻止分散注意力的网站和应用程序,来提高您的工作效率,并以最好的状态完成任务!有些朋友想要
- Dreamweaver CS6是重要的网站和移动应用设计制造软件,新版的增强了对HTML5和CSS3等的支持,并且优化了FTP的功能。有些用