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