在执行dpkg打包前的一个提示:
/../../linux/misc/myPkg.tmp.mkdeb
cp: cannot stat 'misc/mkdeb2': No such file or directory
make: *** No rule to make target 'install'. Stop.
find: ‘misc/debsrc/’: No such file or directory
/../../linux/misc/myPkg.tmp.mkdeb: line 20: [: xxxxx: integer expression expected
sed: can't read misc/debsrc/DEBIAN/control: No such file or directory
sed: can't read misc/debsrc/DEBIAN/preinst: No such file or directory
sed: can't read misc/debsrc/DEBIAN/preinst: No such file or directory
sed: can't read misc/debsrc/DEBIAN/preinst: No such file or directory
sed: can't read misc/debsrc/DEBIAN/control: No such file or directory
sed: can't read misc/debsrc/DEBIAN/control: No such file or directory
sed: can't read misc/debsrc/DEBIAN/postinst: No such file or directory
sed: can't read misc/debsrc/DEBIAN/postrm: No such file or directory
sed: can't read misc/debsrc/DEBIAN/postinst: No such file or directory
/../../linux/misc/myPkg.tmp.mkdeb: line 44: cd: misc/debsrc: No such file or directory
dpkg-deb: error: failed to open package info file './DEBIAN/control' for reading: No such file or directory
/../../linux/misc/myPkg.tmp.mkdeb: line 45: cd: OLDPWD not set
一直觉得上面这个很诡异,一度怀疑是后面的sh *.mkdeb执行产生的错误比它上面的命令输出要先输出,难道shell也有输出缓冲,但是顺序不可能调倒的啊。
最终通过屏蔽sh *.mkdeb 以及删除myPkg.tmp.mkdeb尝试发现了问题:
if "$debShell" != "" ]; then
do others.
fi
这个$debShell的左边缺少了一个中括号,在shell里面当作执行这个sh脚本了。
总结:不要怀疑计算机的诡异输出,必有原因。