Having a Tier 0 for cmake and git submodules

Kevin Ottens ervin at kde.org
Sun Nov 10 16:57:00 UTC 2013


Hello,

Since there's been several times discussions about having a kind of "Tier 0" 
for building our frameworks containing what is right now in ECM kde-modules 
directory, but the idea was never really on the table because of the extra 
dependency it'd bring, I looked a bit at the git submodule option to get 
there.

The motivation for going with a git submodule is that it would allow such a 
Tier 0 to be completely transparent to third parties who would want to grab a 
Tier 1 framework and not bother about installing anything else than our main 
dependencies (namely Qt, CMake and ECM).

Again: If we force third parties to install another KDE specific dependency to 
build a Tier 1 framework from sources we failed.

So after playing a bit with several solutions (I looked at git subtree too for 
instance), I still think that git submodule is the solution to use if we got 
for such a Tier 0... it's not perfect though.

Indeed, submodules keep the information of the exact sha-1 used, there's no 
way to have them track a branch automatically. That's likely to turn into a 
problem (not for third parties this time but for our own developers) as from 
the master branch of a framework we probably always want the tipping point of 
the master branch of the repository containing the cmake files.

Also git archive ignores submodules when generating the archive... But that's 
easy to fix and there's a git archive-all script available which does the 
recursive export.

Now back to the submodules sha-1 update... The only thing I see to easily 
overcome that for our developers, is to have a hook, which would update the 
submodules for all the frameworks every time someone pushes in the tier 0 
repository. Is it something the sysadmins would agree to have on the server?

Any opinions or thoughts on that?

If we agree on the approach I think we have a potential solution for injecting 
a tier 0 in all our frameworks that could be put into place when we start 
splitting the repositories.

Regards.
-- 
Kévin Ottens, http://ervin.ipsquad.net

KDAB - proud supporter of KDE, http://www.kdab.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131110/a8caed30/attachment.sig>


More information about the Kde-frameworks-devel mailing list