unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Git repos with large submodules
@ 2020-05-25  0:04 raingloom
  2020-05-30 21:28 ` Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: raingloom @ 2020-05-25  0:04 UTC (permalink / raw)
  To: guix-devel

Hey all!

So, I recently gave a go to packaging EDK2 on my channel, and found out
that it requires several submodules, including OpenSSL, which take up
quite a bit of space and take way longer to download than necessary.

Since I couldn't find a way to shallow-init the submodules, I added
them as separate origins and copied / symlinked them after the unpack
phase.

Is there a better way to do this? I don't see any equivalent of
--shallow-submodules in guile-git or libgit2.

I was thinking of writing a bit of Scheme to handle importing git repos
with their submodules as origins, but that feels like a rather ugly
hack.
Maybe libgit or guile-git would be the best layer to fix this at.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Git repos with large submodules
  2020-05-25  0:04 Git repos with large submodules raingloom
@ 2020-05-30 21:28 ` Marius Bakke
  2020-05-31 16:32   ` Leo Famulari
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2020-05-30 21:28 UTC (permalink / raw)
  To: raingloom, guix-devel

[-- Attachment #1: Type: text/plain, Size: 694 bytes --]

raingloom <raingloom@riseup.net> writes:

> Hey all!
>
> So, I recently gave a go to packaging EDK2 on my channel, and found out
> that it requires several submodules, including OpenSSL, which take up
> quite a bit of space and take way longer to download than necessary.
>
> Since I couldn't find a way to shallow-init the submodules, I added
> them as separate origins and copied / symlinked them after the unpack
> phase.

That sounds like a decent workaround.  Even better to symlink
(package-source openssl) to use the OpenSSL sources from Guix.

The ideal solution would of course be to provide OpenSSL as a regular
input and make the build system use it, but that's not always feasible.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Git repos with large submodules
  2020-05-30 21:28 ` Marius Bakke
@ 2020-05-31 16:32   ` Leo Famulari
  0 siblings, 0 replies; 3+ messages in thread
From: Leo Famulari @ 2020-05-31 16:32 UTC (permalink / raw)
  To: Marius Bakke; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 928 bytes --]

On Sat, May 30, 2020 at 11:28:08PM +0200, Marius Bakke wrote:
> raingloom <raingloom@riseup.net> writes:
> 
> > Hey all!
> >
> > So, I recently gave a go to packaging EDK2 on my channel, and found out
> > that it requires several submodules, including OpenSSL, which take up
> > quite a bit of space and take way longer to download than necessary.
> >
> > Since I couldn't find a way to shallow-init the submodules, I added
> > them as separate origins and copied / symlinked them after the unpack
> > phase.
> 
> That sounds like a decent workaround.  Even better to symlink
> (package-source openssl) to use the OpenSSL sources from Guix.

Yes, we should definitely make that work instead of letting EDK2 handle
it. Same for the Oniguruma dependency, as that is also a very
security-sensitive program:

https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=oniguruma

Let us know if you need help raingloom!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-31 16:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-25  0:04 Git repos with large submodules raingloom
2020-05-30 21:28 ` Marius Bakke
2020-05-31 16:32   ` Leo Famulari

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).