meta-openembedded/meta-networking
Paul Gortmaker 0939421972 netcf: fix mishandling of gnulib submodule causing build fail
netcf fails to build on certain hosts with newer versions
of git installed as follows:

| ./bootstrap: Bootstrapping from checked-out netcf sources...
| ./bootstrap: consider installing git-merge-changelog from gnulib
| ./bootstrap: getting gnulib files...
| error: pathspec 'gnulib' did not match any file(s) known to git.

If we do a devshell we will see that our configure prepend that
intended to _create_ the .gitmodules has instead _modified_ it
and left us with this change present:

  sh-4.3# git diff
  diff --git a/.gitmodules b/.gitmodules
  index 7acb1ea19ca7..2d10b0e0e0fe 100644
  --- a/.gitmodules
  +++ b/.gitmodules
  @@ -1,3 +1,3 @@
   [submodule "gnulib"]
  -       path = .gnulib
  -       url = git://git.sv.gnu.org/gnulib.git
  +       path = gnulib
  +       url = git://git.sv.gnu.org/gnulib
  sh-4.3#

What happens is that the newer git does not respect uncommitted
changes to the .gitmodules file, and hence the path ".gnulib" is
still considered valid vs. the in tree updated path "gnulib".  It
doesn't help any that the package has its own tracked files in
gnulib/ that we stomp over, but the real fail is just uncommitted
changes to the .gitmodule as this insertion of a random path shows:

  sh-4.3# git diff
  diff --git a/.gitmodules b/.gitmodules
  index 7acb1ea19ca7..91bd45f8e4d4 100644
  --- a/.gitmodules
  +++ b/.gitmodules
  @@ -1,3 +1,3 @@
   [submodule "gnulib"]
  -       path = .gnulib
  +       path = gnulibaaa
          url = git://git.sv.gnu.org/gnulib.git
  sh-4.3# git --version
  git version 2.7.4
  sh-4.3# git submodule init
  fatal: no submodule mapping found in .gitmodules for path '.gnulib'
  sh-4.3#

Since the original bbclass simply assumed there was no .gitmodules
file to begin with, we can easily solve this by not clobbering it
and respect the path choice used by the package itself.

As the version of ./bootstrap shipped with netcf supports this:

     --no-git       do not use git to update gnulib.  Requires that
                    --gnulib-srcdir point to a correct gnulib snapshot

we can use it in conjunction with the pathspec since we know the
gnulib was just copied in from the sysroot, and does not need
to try and pull any further updates.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
2016-05-12 11:53:30 -04:00
..
classes waf-samba.bbclass: move to meta-networking 2016-04-01 12:05:27 -04:00
conf waf-samba.bbclass: move to meta-networking 2016-04-01 12:05:27 -04:00
files/waf-cross-answers waf-cross-answers: Fix faulty link cross-answers-mipsel.txt 2016-04-06 09:14:44 -04:00
licenses crda: upgrade to 3.13 2015-02-23 13:21:07 -05:00
recipes-connectivity meta-networking: use bb.utils.contains() instead of base_contains() 2016-05-05 11:41:28 -04:00
recipes-daemons squid: CVE-2016-3947 2016-05-05 11:41:29 -04:00
recipes-extended/iscsitarget iscsitarget: resolve build error with linux kernel 4.3 and above 2016-04-20 15:10:45 -04:00
recipes-filter ebtables: enable KERNEL_64_USERSPACE_32 for powerpc 2016-02-29 16:23:35 -05:00
recipes-irc/znc znc: Blacklist 2016-02-22 15:51:18 -05:00
recipes-kernel/netmap Revert "netmap-modules: Modules may not have the same arch as userspace" 2016-03-03 11:23:05 -05:00
recipes-netkit meta-networking: use bb.utils.contains() instead of base_contains() 2016-05-05 11:41:28 -04:00
recipes-protocols meta-networking: use bb.utils.contains() instead of base_contains() 2016-05-05 11:41:28 -04:00
recipes-support netcf: fix mishandling of gnulib submodule causing build fail 2016-05-12 11:53:30 -04:00
COPYING.MIT meta-networking: add layer 2012-08-27 14:16:45 +02:00
MAINTAINERS MAINTAINERS: add self for recipes-netkit 2014-12-03 16:31:01 -05:00
README meta-networking: Update layer dependency information 2014-09-08 16:34:25 -04:00

meta-networking

This layer is intended to be a central point for networking-related packages and configuration. It should be useful directly on top of oe-core and compliments meta-openembedded. It should be primarily useful to the following groups:

  - Anyone building a small networking device (eg. a home router /
    bridge / switch).

  - Anyone wanting to add network services to their device (eg.
    anything that might benefit from a small ftp/tftp server)

Dependencies

This layer depends on:

URI: git://github.com/openembedded/openembedded-core.git branch: master revision: HEAD

For some recipes, the meta-oe layer is required:

URI: git://github.com/openembedded/meta-openembedded.git subdirectory: meta-oe branch: master revision: HEAD

URI: git://github.com/openembedded/meta-openembedded.git subdirectory: meta-python branch: master revision: HEAD

Maintenance

Please see the MAINTAINERS file for information on contacting the maintainers of this layer, as well as instructions for submitting patches.