当我尝试使用git子模块并git submodule在运行Yocto Linux和git 2.0.1的英特尔Edison上键入常用命令时,我只是收到以下错误消息:
$> git submodule init
git: 'submodule' is not a git command. See 'git --help'
Run Code Online (Sandbox Code Playgroud)
系统版本是:
$> uname -r
3.10.17-poky-edison+
$> git --version
git version 2.0.1
$> configure_edison --version
159
Run Code Online (Sandbox Code Playgroud)
在谷歌上没有该错误的跟踪.
是否有额外的包安装?或者是因为git 2.0.1?
在我的Ubuntu(git 1.9.1)上,这些命令工作正常.
小智 5
当git使用 Yocto构建时,它会出现预期的行为。不幸的是,预期的行为不是您所期望的。在 Ubuntu 上,git-submodule包含在 package 中git,在 Yocto 上包含在 package 中git-perltools。当你运行bitbake git下面的包被构建(Thud):
ferry@delfion:~/.../out/linux64/build/tmp/work/corei7-32-poky-linux/git/2.18.1-r0/deploy-debs/corei7-32$ ls -l
- git_2.18.1-r0_i386.deb
- git-bash-completion_2.18.1-r0_i386.deb
- git-dbg_2.18.1-r0_i386.deb
- git-dev_2.18.1-r0_i386.deb
- git-doc_2.18.1-r0_i386.deb
- git-perltools_2.18.1-r0_i386.deb
- gitweb_2.18.1-r0_i386.deb
Run Code Online (Sandbox Code Playgroud)
与git-perltools包含git-submodule.
你怎么能提前知道?结帐https://layers.openembedded.org。您可以轻松找到:http : //cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/git/git.inc?h=thud,其中包含:
PERLTOOLS = " \
${libexecdir}/git-core/git-add--interactive \
${libexecdir}/git-core/git-archimport \
${libexecdir}/git-core/git-cvsexportcommit \
${libexecdir}/git-core/git-cvsimport \
${libexecdir}/git-core/git-cvsserver \
${bindir}/git-cvsserver \
${libexecdir}/git-core/git-difftool \
${libexecdir}/git-core/git-send-email \
${libexecdir}/git-core/git-svn \
${libexecdir}/git-core/git-instaweb \
${libexecdir}/git-core/git-submodule \
${libexecdir}/git-core/git-am \
${libexecdir}/git-core/git-request-pull \
${datadir}/gitweb/gitweb.cgi \
${datadir}/git-core/templates/hooks/prepare-commit-msg.sample \
${datadir}/git-core/templates/hooks/pre-rebase.sample \
${datadir}/git-core/templates/hooks/fsmonitor-watchman.sample \
"
# Git tools requiring perl
PACKAGES =+ "${PN}-perltools"
FILES_${PN}-perltools += " \
${PERLTOOLS} \
${libdir}/perl \
${datadir}/perl5 \
"
Run Code Online (Sandbox Code Playgroud)
因此,不仅要添加git,还要添加git-perltools到您的core-image内容中,您将获得您想要的+ 多一点。
OTOH Yocto 有一个很好的功能,可以在您的主机上为您构建一个交叉编译器环境。因此,您可以配置为使用 fi QT Creator 使用 sdk 进行构建并从您的主机远程调试目标。这样您就无需在英特尔 Edison 上构建/安装您的工具链。更多关于这里:https : //edison-fw.github.io/meta-intel-edison/3-Building-the-SDK.html
Ferry Toth(又名 htot@github)
| 归档时间: |
|
| 查看次数: |
4280 次 |
| 最近记录: |