去除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)


猜你喜欢
- 使用阅读功能的方法:1.打开wps演示2016,然后首先登录您的帐户,并在登录后创建一个新的演示文稿。2.在文本框中输入一首古诗。注意标点符
- Win10电脑很多软件都显示模糊怎么解决?最近有用户反映这个问题,在使用电脑的时候,,显示的界面总是很模糊,这是怎么一回事呢?遇到这种情况应
- IntelliJ IDEA 2018 for Mac是一个综合性的Java编程环境,被许多开发人员和行业专家誉为市场上最好的IDE,它提供了
- 以下是wps每天都会弹出的新闻热点窗口,相信很多人对它并不陌生吧,在该窗口的右上角有一个设置图标,点击之后可以设置该窗口为"当天显
- Epic游戏平台是一款汇聚了海量精品游戏的平台,云存储这个功能刚开始用的时候都就是系统默认打开的,主要就是为了更好的保存内容,但是很多的用户
- 在我们使用excel2003查看数据的时候,经常会先使用排序来整理一番。下面让小编为你带来2003版excel表格如何排序的方法。2003版
- word雷达图怎么做?word中想要制作一个雷达图,该怎么制作呢?下面我们就来看看word制作雷达图的教程,很简单,需要的朋友可以参考下wo
- 我们在使用win10操作系统的时候,有些情况下可能会需要调出蓝色的选定框。但是有的小伙伴们发现自己的电脑没有蓝色的选定框。对于这种问你题小编
- 如果浏览网页,看上了页面上的内容或者数据,如何将其制成Excel表格呢?一般人可能首先想到的就是复制粘贴,确实,可以实现,但是表格格式要自己
- 当我们使用win10操作系统时,有些人可能在某些情况下希望将当前系统的win10专业版恢复为家庭版win10。所以对于这样的问题小编觉得我们
- MOS认证考试是以Office for Windows为准的。由于Office for Mac的界面和功能与Office for Windo
- Windows 10e 10149手机版主要更新日志,本次更新主要带来了数项功能改善,其中主要内容为,微软Edge浏览器:首先在该版本中微软
- 很多用户反映在安装升级了Win11系统之后,发现Win11的WiFi密码输入不了了,这是什么原因呢?下面一起来看看解决方法吧。方法一1、当我
- 1.打开Excel表格,点击工具栏的“数据”然后选择“数据有效性” 2.在数据有效性里我们可以将有效性条件修改为“
- ppt幻灯片怎么给图片添加聚焦效果?ppt幻灯片中的图片想要添加聚焦效果,该怎么制作聚焦效果呢?下面我们就来看看详细的教程,需要的朋友可以参
- Windows系统怎么快速批量添加字?我们知道Windows自带字体有时候并不能满足我们的需要,因此需要安装新字体。本文分享给大家如何快速批
- VALUE函数:将表示数字的文字串转换成数字,它可以是Excel 可以识别的任意常数、日期或时间格式。接下来小编举例简单的例子告诉大家exc
- 随着Win11系统的推出,很多用户都纷纷升级更新了Win11系统,但是在后续的使用中,就有细心的用户发现了Win11右键菜单中没有刷新选项。
- 随着Win11系统的火热推出,很多用户都已经升级更新了新的系统了,但是在后续的使用中,有部分用户出现了网络问题,无法正常的连接网络。那么对于
- win10系统中有很多实用的功能,比如snap分屏功能,可以自动将屏幕分成几等份,让windows在屏幕上自动并排显示,但是很多win10新