gpt4 book ai didi

centos - Linux rpmbuild 临时文件错误

转载 作者:行者123 更新时间:2023-12-04 19:38:01 24 4
gpt4 key购买 nike

使用命令运行 rpmbuild 时

rpmbuild -v -ba --sign --clean ~/rpmbuild/SPECS/myspecfile.spec 

我得到这个输出:
Enter pass phrase:  
Pass phrase is good.
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.6akVI6
+ umask 022
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ $'\r'
**: command not foundwXWF: line 30:**
error: Bad exit status from /var/tmp/rpm-tmp.6akVI6 (%prep)

所以我编辑了临时文件 /var/tmp/rpm-tmp.6akVI6 ,搜索第 30 行,并在那里找到一个字符:
^M

如果我执行临时文件,我会得到同样的错误,但它会在 30 之后执行所有行,这与在该行中断并且不会继续执行的 rpmbuild 不同:

sudo sh/var/tmp/rpm-tmp.6akVI6
+ umask 022  
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ $'\r'
**: command not foundkVI6: line 30:**
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ rm -rf mysource-1.0.0
+ /usr/bin/gzip -dc /home/rpmbuilder/rpmbuild/SOURCES/mysource-1.0.0.tar.gz
+ /bin/tar -xvvf -
drwxrwxrwx 0/0 0 2014-11-04 17:10 mysource-1.0.0/
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd mysource-1.0.0
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0

如果我编辑文件并删除第 30 行( ^M ),我可以运行脚本而不会出现错误:
sudo sh /var/tmp/rpm-tmp.6akVI6  
+ umask 022
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/rpmbuilder/rpmbuild/BUILD
+ rm -rf mysource-1.0.0
+ /usr/bin/gzip -dc /home/rpmbuilder/rpmbuild/SOURCES/mysource-1.0.0.tar.gz
+ /bin/tar -xvvf -
drwxrwxrwx 0/0 0 2014-11-04 17:10 mysource-1.0.0/
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd mysource-1.0.0
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0

这表明由于第 30 行上的单个字符,rpmbuild 正在停止。

任何提示为什么会发生这种情况?

最佳答案

here 中找到答案
似乎保存在 Windows 上的文件,得到那个字符,它是一个 DOS 行结尾。
我在 Windows 上创建了我的规范文件,所以我对其进行了编辑并执行了建议的命令:

:set fileformat=unix

并重新运行 rpmbuild 并且它起作用了。

关于centos - Linux rpmbuild 临时文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26756184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com