diff mbox series

[PATCHv4,1/5] net/lwip: add lwip-external submodule

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

Commit Message

Maxim Uvarov July 14, 2023, 2:19 p.m. UTC
This commit adds the lwip library as a git submodule. I think
there has to be advantages to compile lwip inside U-boot,
i.e. use the same compiler and flags as the main code.
One of them is LTO and the other is to enable additional debug
options for network protocol during development. Also we can
copy lwip library code inside U-boot, but for now I don't want
to send all lwip code to the mailing list. So it's git submodule.

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

Comments

Ilias Apalodimas July 27, 2023, 12:34 p.m. UTC | #1
Tom, Simon 
are you ok with submodules on this one?


thanks
/Ilias
On Fri, Jul 14, 2023 at 08:19:56PM +0600, Maxim Uvarov wrote:
> This commit adds the lwip library as a git submodule. I think
> there has to be advantages to compile lwip inside U-boot,
> i.e. use the same compiler and flags as the main code.
> One of them is LTO and the other is to enable additional debug
> options for network protocol during development. Also we can
> copy lwip library code inside U-boot, but for now I don't want
> to send all lwip code to the mailing list. So it's git submodule.
> 
> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
> ---
>  .gitmodules            | 3 +++
>  lib/lwip/lwip-external | 1 +
>  2 files changed, 4 insertions(+)
>  create mode 100644 .gitmodules
>  create mode 160000 lib/lwip/lwip-external
> 
> diff --git a/.gitmodules b/.gitmodules
> new file mode 100644
> index 0000000000..afc709af10
> --- /dev/null
> +++ b/.gitmodules
> @@ -0,0 +1,3 @@
> +[submodule "lib/lwip/lwip-external"]
> +	path = lib/lwip/lwip-external
> +	url = https://git.savannah.nongnu.org/git/lwip.git
> diff --git a/lib/lwip/lwip-external b/lib/lwip/lwip-external
> new file mode 160000
> index 0000000000..3fe8d2fc43
> --- /dev/null
> +++ b/lib/lwip/lwip-external
> @@ -0,0 +1 @@
> +Subproject commit 3fe8d2fc43a9b69f7ed28c63d44a7744f9c0def9
> -- 
> 2.30.2
>
Tom Rini July 28, 2023, 6:08 p.m. UTC | #2
On Thu, Jul 27, 2023 at 03:34:48PM +0300, Ilias Apalodimas wrote:

> Tom, Simon 
> are you ok with submodules on this one?

Still punting on that question and waiting for commentary from
distribution people.
Simon Glass July 28, 2023, 10:17 p.m. UTC | #3
Hi Tom,

On Fri, 28 Jul 2023 at 12:09, Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Jul 27, 2023 at 03:34:48PM +0300, Ilias Apalodimas wrote:
>
> > Tom, Simon
> > are you ok with submodules on this one?
>
> Still punting on that question and waiting for commentary from
> distribution people.

I really quite badly don't want the pain of submodules. They are used
in coreboot and I sometimes end up just deleting everything and
starting again.

Regards,
Simon
Peter Robinson July 30, 2023, 10:06 p.m. UTC | #4
On Fri, Jul 28, 2023 at 7:09 PM Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Jul 27, 2023 at 03:34:48PM +0300, Ilias Apalodimas wrote:
>
> > Tom, Simon
> > are you ok with submodules on this one?
>
> Still punting on that question and waiting for commentary from
> distribution people.

I would prefer not to have to deal with submodules unless the required
bits were pulled as part of the release tarball process where it
wouldn't then matter to distributions.

Peter
Maxim Uvarov Aug. 2, 2023, 8:03 a.m. UTC | #5
On Mon, 31 Jul 2023 at 04:06, Peter Robinson <pbrobinson@gmail.com> wrote:

> On Fri, Jul 28, 2023 at 7:09 PM Tom Rini <trini@konsulko.com> wrote:
> >
> > On Thu, Jul 27, 2023 at 03:34:48PM +0300, Ilias Apalodimas wrote:
> >
> > > Tom, Simon
> > > are you ok with submodules on this one?
> >
> > Still punting on that question and waiting for commentary from
> > distribution people.
>
> I would prefer not to have to deal with submodules unless the required
> bits were pulled as part of the release tarball process where it
> wouldn't then matter to distributions.
>
> Peter
>

Ilias pointed to an interesting alternative which edk2 uses its git
subtrees.
Docs:
https://www.atlassian.com/git/tutorials/git-subtree
https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt

Examples:
git subtree add --prefix lib/lwip/lwip-external
https://git.savannah.nongnu.org/git/lwip.git master --squash
$ git log
commit 83488286d287e53fad1efbfe1d4f5dbf69202f4a (HEAD -> master)
Merge: 27b050e91d 120e0665c3
Author: Maxim Uvarov <maxim.uvarov@linaro.org>
Date:   Wed Aug 2 07:53:17 2023 +0000

    Merge commit '120e0665c37ec69d46c10fc341e253ae2e69afca' as
'lib/lwip/lwip-external'

commit 120e0665c37ec69d46c10fc341e253ae2e69afca
Author: Maxim Uvarov <maxim.uvarov@linaro.org>
Date:   Wed Aug 2 07:53:17 2023 +0000

    Squashed 'lib/lwip/lwip-external/' content from commit 84fde1ebbf

    git-subtree-dir: lib/lwip/lwip-external
    git-subtree-split: 84fde1ebbfe35b3125fc2d89b8a456cbacf148e9


So it actually plases code of lwip.git into a subdirectory as a git
commit.  When you do git clone then all sources will be fetched.
No need for any additional commands after that. I vote for subtree instead
of plain code copy.

BR,
Maxim.
Tom Rini Aug. 2, 2023, 4:32 p.m. UTC | #6
On Wed, Aug 02, 2023 at 02:03:04PM +0600, Maxim Uvarov wrote:
> On Mon, 31 Jul 2023 at 04:06, Peter Robinson <pbrobinson@gmail.com> wrote:
> 
> > On Fri, Jul 28, 2023 at 7:09 PM Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Thu, Jul 27, 2023 at 03:34:48PM +0300, Ilias Apalodimas wrote:
> > >
> > > > Tom, Simon
> > > > are you ok with submodules on this one?
> > >
> > > Still punting on that question and waiting for commentary from
> > > distribution people.
> >
> > I would prefer not to have to deal with submodules unless the required
> > bits were pulled as part of the release tarball process where it
> > wouldn't then matter to distributions.
> >
> > Peter
> >
> 
> Ilias pointed to an interesting alternative which edk2 uses its git
> subtrees.
> Docs:
> https://www.atlassian.com/git/tutorials/git-subtree
> https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txt
> 
> Examples:
> git subtree add --prefix lib/lwip/lwip-external
> https://git.savannah.nongnu.org/git/lwip.git master --squash
> $ git log
> commit 83488286d287e53fad1efbfe1d4f5dbf69202f4a (HEAD -> master)
> Merge: 27b050e91d 120e0665c3
> Author: Maxim Uvarov <maxim.uvarov@linaro.org>
> Date:   Wed Aug 2 07:53:17 2023 +0000
> 
>     Merge commit '120e0665c37ec69d46c10fc341e253ae2e69afca' as
> 'lib/lwip/lwip-external'
> 
> commit 120e0665c37ec69d46c10fc341e253ae2e69afca
> Author: Maxim Uvarov <maxim.uvarov@linaro.org>
> Date:   Wed Aug 2 07:53:17 2023 +0000
> 
>     Squashed 'lib/lwip/lwip-external/' content from commit 84fde1ebbf
> 
>     git-subtree-dir: lib/lwip/lwip-external
>     git-subtree-split: 84fde1ebbfe35b3125fc2d89b8a456cbacf148e9
> 
> 
> So it actually plases code of lwip.git into a subdirectory as a git
> commit.  When you do git clone then all sources will be fetched.
> No need for any additional commands after that. I vote for subtree instead
> of plain code copy.

Since I think we could use this to start off on one stable tag and then
merge to the next as they come out (which is likely the cadence we
want), this does seem like the reasonable way forward.  Too late for v5,
but for v6 can you please make sure the doc contains (and an easy way to
test this would be to start with say STABLE_2_1_0_RELEASE and move it up
to STABLE_2_1_3_RELEASE) an example / instructions on how to use subtree
to perform the updates.
diff mbox series

Patch

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000000..afc709af10
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@ 
+[submodule "lib/lwip/lwip-external"]
+	path = lib/lwip/lwip-external
+	url = https://git.savannah.nongnu.org/git/lwip.git
diff --git a/lib/lwip/lwip-external b/lib/lwip/lwip-external
new file mode 160000
index 0000000000..3fe8d2fc43
--- /dev/null
+++ b/lib/lwip/lwip-external
@@ -0,0 +1 @@ 
+Subproject commit 3fe8d2fc43a9b69f7ed28c63d44a7744f9c0def9