currently crawling through the config/Config*.in files (i'm
determined to figure all this out), and i'm puzzled by the
relationship between a couple kernel git clone selection options in
the file Config-devel.in:

  first, this one (nothing to do with git yet):

        config EXTERNAL_KERNEL_TREE
                string "Use external kernel tree" if DEVEL
                default ""

from what i read, that is simply a reference to a local kernel source
directory, yes?  since i can see in include/kernel-defaults.mk the
snippet:

  define Kernel/Prepare/Default
        mkdir -p $(KERNEL_BUILD_DIR)
        if [ -d $(LINUX_DIR) ]; then \
                rmdir $(LINUX_DIR); \
        fi
        ln -s $(CONFIG_EXTERNAL_KERNEL_TREE) $(LINUX_DIR)
  endef

since a symlink is being used, it's obviously just pointing at some
kernel source directory on the local machine. so far, so good.

  but right after that in Config-devel.in, one reads:

        config KERNEL_GIT_CLONE_URI
                string "Enter git repository to clone" if DEVEL
                default ""
                help
                  Enter the full git repository path i.e.:
                  
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
                  This will create a git clone of the kernel in your build
                  directory.

        config KERNEL_GIT_LOCAL_REPOSITORY
                string "Enter path to local reference repository" if DEVEL
                depends on (KERNEL_GIT_CLONE_URI != "")
                default ""
                help
                  Enter a full pathname to a local reference git repository.
                  In this instance, the --reference option of git clone will
                  be used thus creating a quick local clone of your repo.

  the first, KERNEL_GIT_CLONE_URI, seems obvious -- some (possibly
remote) git repository. but (trivial observation), should that not
depend on EXTERNAL_KERNEL_TREE not being set? apparently, you can set
both of those options at the same time, which doesn't make much sense.
although, admittedly, kernel-defaults.mk handles that with:

  ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
    ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")

it still seems confusing that a user is allowed to set both options at
once, even though that's meaningless.

  more confusing is the last option, KERNEL_GIT_LOCAL_REPOSITORY,
which seems to be an alternative to KERNEL_GIT_CLONE_URI (that is, you
can clone from a remote URL, or from a "local reference repository"),
but that second option depends on the first one being *set*, which
confuses me.

  can someone clarify the possibilities above?

rday

p.s. it would seem that the above would be most correctly represented
by a menu with three (mutually exclusive) choices -- optionally
override the default kernel source selection with a single choice
from:

 1) local directory
 2) local git reference repository
 3) remote git repository

or am i totally misreading something?

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================
_______________________________________________
openwrt-users mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-users

Reply via email to