On Jul 25, 2013, at 3:07 AM, Olivier Martin <olivier.mar...@arm.com> wrote:

> Grant did some investigation a while ago when Linaro started to work on UEFI 
> – see his email 
> http://lists.linaro.org/pipermail/boot-architecture/2012-December/000192.html
>  
> At some point I was also using 'git submodules' to avoid mixing EDK2 tree 
> source code with one of the platforms I was working on that was not intended 
> to go upstream.
> It is quite painful with git-submodules when you want your tree to contain 
> all the latest head of the sub repositories.
> If you want your root EDK2 repository to always track the latest version of 
> your platform repositories (a sub-directory of your root directory) then for 
> every changes in the platform repository you make, you need to commit a 
> change in the root directory to update the SHA1 of the git-submodule into the 
> root repository.
>  

I'd think we would be splitting up into multiple repositories and use git 
submodule to stitch together useful sets of things that people can download in 
a single operation, with an associated web page that helps you get started. 

In the project I'm playing with in the root of the main git tree there is a 
.gitmodules file that lists path and URL of the submodule. This submodule is a 
git wrapper for another svn code base. So if the submodule is Foo I can `cd 
Foo` and `git pull` to grab the TOT. If I do `cd ..` `git pull` It updates the 
main repository.  There seems like there should be some workflow that works for 
this with git? Maybe there is a way to test and make patches in the submodule 
and them commit to the raw git repo? 

> I like the idea to get a directory structure such as 
> Platform/<Vendor>/<PlatformNamePkg>.
>  
> FYI, I was also told that what I am currently doing for the ARM Platforms is 
> not compliant with the UEFI packaging spec. This spec does not support 
> packages under packages (eg: ArmPlatformPkg/ArmVExpressPkg).
>  
> It would be nice to get a 'Driver' directory as well. Today, drivers are 
> spread over the packages that do not make really easy to find them.
> And potentially having all the drivers into a same root directory could allow 
> some drivers to benefit fixes from other driver (eg: an engineer working on a 
> Ethernet driver could compare what other Ethernet drivers do and could find 
> issues in those drivers).
> I would not be surprise if we start to see more and more Open Source UEFI 
> driver contributions – an appropriate location in the EDK2 repository would 
> probably be welcome.
>  

Sounds like a good idea. 

Thanks,

Andrew Fish

> From: Andrew Fish [mailto:af...@apple.com] 
> Sent: 25 July 2013 00:57
> To: Chip Ueltschey
> Cc: edk2-devel@lists.sourceforge.net
> Subject: Re: [edk2] Platform Specific Contribution
>  
>  
> On Jul 24, 2013, at 4:51 PM, Chip Ueltschey <chipj...@gmail.com> wrote:
> 
> 
> I think it would be good to find some way to organize this better.
> Currently the DuetPkg and Nt32Pkg are part of the UDK releases. I think it 
> would be better to have a grouping of packages related to emulator support 
> that included these as well as EmulatorPkg, UnixPkg and OvmfPkg, and then 
> remove those packages from the set of UDK packages.
>  
> This sounds fine to me.
> 
> 
> The platform specific packages are at least not included in the UDK set, but 
> I certainly agree that it would better to group them somehow.
> It seems odd to me that all this sort of packages are located in the 
> edk2/trunk.
> I am very unfamiliar with how git reads into this (being a svn user today), 
> but it seems like thinks would be better with a slightly less flat structure.
>  
> I agree 100%.
>  
> Thanks,
>  
> Andrew Fish
> 
> 
> -chip
>  
>  
> 
> On Wed, Jul 24, 2013 at 9:41 AM, Andrew Fish <af...@apple.com> wrote:
> I've not seen any thoughts on this so here goes. Some one who understands 
> source control better than me might have a better idea.
> 
> I think something like this could work with git.
> 
> Add a Platform directory to /trunk/edk2. Move EmulatorPkg, Nt32Pkg, OvmfPkg 
> (we could make this a separate project too) and an other publicly available 
> emulation environments  into this directory. Remove hardware platforms.
> 
> Then add N projects to support hardware platforms, maybe per company, or per 
> project. A platform project looks like:
> 
> git submodules of a specific version of the edk2 tree (fat driver, etc.). It  
> could point to an svn branch that contains patches that are not yet merged 
> into the mainline.
> Platfom/BeagleBoardPkg is then a git submodule
> 
> So the N projects are hosted in a different svn/git than the ekd2, and then 
> there is a  git project that represents an edk2 version, plus a specific set 
> of platform code. This means platform consumers can just pull a single item. 
> The project git can be the working copy that users download, and the repo 
> where platform code lives could be for TOT development.
> 
> So again I'm no git expert but I've used a git project that has a submodule 
> that is an svn remote. The strange thing is you end up doing git pull from . 
> and Platfom/BeagleBoardPkg. Some one who knows git/svn better, may know a 
> better way to do this, but at least something like this scales to a large 
> number of platforms.
> 
> Thanks,
> 
> Andrew Fish
> 
> 
> On Jul 22, 2013, at 1:07 PM, Sivasakthivel Nainar <sivasakthiv...@ami.com> 
> wrote:
> 
> > Hi All,
> > Is Tianocore.org  supports platform specific contribution? I have seen   
> > couple of Arm Platform sources in ArmPlatformPkg and  Ti BeagleBoard 
> > source.  If so, Who is the contact point for creating such  packages?
> >
> > Thanks
> > Siva
> >
> > The information contained in this message may be confidential and 
> > proprietary to American Megatrends, Inc.  This communication is intended to 
> > be read only by the individual or entity to whom it is addressed or by 
> > their designee. If the reader of this message is not the intended 
> > recipient, you are on notice that any distribution of this message, in any 
> > form, is strictly prohibited.  Please promptly notify the sender by reply 
> > e-mail or by telephone at 770-246-8600, and then delete or destroy all 
> > copies of the transmission.
> >
> > ------------------------------------------------------------------------------
> > See everything from the browser to the database with AppDynamics
> > Get end-to-end visibility with application monitoring from AppDynamics
> > Isolate bottlenecks and diagnose root cause in seconds.
> > Start your free trial of AppDynamics Pro today!
> > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> 
> 
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>  

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to