diff mbox series

[PATHv11,01/43] submodule: add lwIP as git submodule

Message ID 20231127125726.3735-2-maxim.uvarov@linaro.org
State New
Headers show
Series net/lwip: add lwip library for the network stack | expand

Commit Message

Maxim Uvarov Nov. 27, 2023, 12:56 p.m. UTC
add external lwIP library as a git submodule.
Use STABLE-2_2_0_RELEASE tag.

Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
---
 .gitmodules            | 4 ++++
 Makefile               | 8 +++++++-
 net/lwip/lwip-external | 1 +
 3 files changed, 12 insertions(+), 1 deletion(-)
 create mode 100644 .gitmodules
 create mode 160000 net/lwip/lwip-external

Comments

Tom Rini Nov. 27, 2023, 6:16 p.m. UTC | #1
On Mon, Nov 27, 2023 at 06:56:44PM +0600, Maxim Uvarov wrote:

> add external lwIP library as a git submodule.
> Use STABLE-2_2_0_RELEASE tag.
> 
> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>

And just for the record, we'll re-visit submodule/subtree/whatever later
on, this (and the final parts for CI to be happy about it) are a means
to an end.
Simon Glass Nov. 30, 2023, 2:45 a.m. UTC | #2
Hi Tom,

On Mon, 27 Nov 2023 at 11:16, Tom Rini <trini@konsulko.com> wrote:
>
> On Mon, Nov 27, 2023 at 06:56:44PM +0600, Maxim Uvarov wrote:
>
> > add external lwIP library as a git submodule.
> > Use STABLE-2_2_0_RELEASE tag.
> >
> > Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
>
> And just for the record, we'll re-visit submodule/subtree/whatever later
> on, this (and the final parts for CI to be happy about it) are a means
> to an end.

While I understand this, I would still like to see a patch containing
the actual code. We are at v11 here.

Regards,
Simon
Michal Suchánek Nov. 30, 2023, 11:43 a.m. UTC | #3
Hello,

On Wed, Nov 29, 2023 at 07:45:28PM -0700, Simon Glass wrote:
> Hi Tom,
> 
> On Mon, 27 Nov 2023 at 11:16, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Mon, Nov 27, 2023 at 06:56:44PM +0600, Maxim Uvarov wrote:
> >
> > > add external lwIP library as a git submodule.
> > > Use STABLE-2_2_0_RELEASE tag.
> > >
> > > Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
> >
> > And just for the record, we'll re-visit submodule/subtree/whatever later
> > on, this (and the final parts for CI to be happy about it) are a means
> > to an end.
> 
> While I understand this, I would still like to see a patch containing
> the actual code. We are at v11 here.

This is why submodules are evil.

You *can* produce a patch that contains the code but you have to
*remember* to pass the argument.

And if the patch does contains the code it is likely not applicable
because then it does not contain the revision to which the submodule
should be updated.

Submoudules may be a generally good idea but they are not well
implemented in git.

Thanks

Michal
diff mbox series

Patch

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000..7930a8b563
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,4 @@ 
+[submodule "lwip"]
+	path = net/lwip/lwip-external
+	url = https://git.savannah.nongnu.org/git/lwip.git
+	branch = master
diff --git a/Makefile b/Makefile
index 08604ed3c7..132a60575a 100644
--- a/Makefile
+++ b/Makefile
@@ -1872,6 +1872,12 @@  endef
 include/config/uboot.release: include/config/auto.conf FORCE
 	$(call filechk,uboot.release)
 
+initsubmodules:
+	(cd $(srctree) && \
+	if [ ! -f $(srctree)/net/lwip/lwip-external/README ]; then \
+	flock `git rev-parse --git-dir`/config git submodule init && \
+	flock `git rev-parse --git-dir`/config git submodule update; \
+	fi; )
 
 # Things we need to do before we recursively start building the kernel
 # or the modules are listed in "prepare".
@@ -1896,7 +1902,7 @@  ifneq ($(KBUILD_SRC),)
 endif
 
 # prepare2 creates a makefile if using a separate output directory
-prepare2: prepare3 outputmakefile cfg
+prepare2: prepare3 outputmakefile cfg initsubmodules
 
 prepare1: prepare2 $(version_h) $(timestamp_h) $(dt_h) $(env_h) \
                    include/config/auto.conf
diff --git a/net/lwip/lwip-external b/net/lwip/lwip-external
new file mode 160000
index 0000000000..0a0452b2c3
--- /dev/null
+++ b/net/lwip/lwip-external
@@ -0,0 +1 @@ 
+Subproject commit 0a0452b2c39bdd91e252aef045c115f88f6ca773