Il 25/06/2014 21:42, Jordan Justen ha scritto:
> On Wed, Jun 25, 2014 at 12:10 PM, Paolo Bonzini <[email protected]> wrote:
>> Il 25/06/2014 20:52, Jordan Justen ha scritto:
>>
>>>>> The patches make it possible to separately package tools in /usr
>>>>> and use them compile EDK2.
>>>
>>> How are you envisioning the packaging to work? I think that installing
>>> all the edk2 BaseTools executables in /usr/bin would be silly.
>>
>> Why?  That's not very different from binutils.
>
> Well, for one, installing a package that from then on makes the
> 'build' command mean edk2's build seems strange.

As long as there are no conflicts, that's okay.  Fedora doesn't have any 
other package that provides /usr/bin/build, in fact.

> All of the other edk2
> buildtools are only of use during an edk2 build, so it seems
> reasonable to only have them in the PATH during the edk2 build.

At least EfiRom is generic and not only of use during an edk2 build.  I 
suppose others could be useful (such as PatchPcdValue or VolInfo).

>>    /usr/share/edk2
>>        BuildEnv
>>        Conf/
>>            *.template etc.
>>        Scripts/
>>            gcc4.4-ld-script
>>        Source/
>>            Python/
>>                ...
>>
>> you can then do
>>
>>     export EDK_TOOLS_PATH=/usr/share/edk2
>>     source edksetup.sh
>>
>> and everything just works.
>
> I would prefer to be able to run:
> $ cd src/edk2
> $ edk2-build
>  (or 'edk2 build')

The problem is that BuildEnv can write to the current directory's Conf 
subdirectory (both to save the environment, and to copy the templates). 
  So it seems wrong to have edk2-build unconditionally run BuildEnv.

>>> I have two ideas:
>>> 1. /usr/bin/edk2-build would be a script that would add
>>> /usr/lib/edk2-buildtools/bin to the PATH and run
>>> /usr/lib/edk2-buildtools/bin/build
>>> 2. Same as 1, except use 'edk2' for the command name, and 'build' as
>>> the first parameter. (Ie, use sub-commands like svn/git)
>>
>> That would break the aforementioned makefiles that use EfiRom.
>>> I also think it might be convenient if the templates in
>>> /usr/lib/edk2-buildtools/Conf were used for Conf files if
>>> $WORKSPACE/Conf is empty.
>>
>> Yes, that already happens when you source edksetup.sh.
>
> Not quite. It copies them. I would rather than it not copy them, but
> just use the templates. That way if the edk2-buildtools package is
> upgraded, you use the new Conf files from the package. (Unless you
> have specifically copied them under $WORKSPACE/Conf to customize them.

Ok, I think that's a separate change.  You're basically asking to change 
tools to work without having BuildEnv invoked.  Then I agree that it is 
useful to have an edk2-build wrapper that does

     #! /bin/bash
     export EDK_TOOLS_PATH=/usr/share/edk2
     export WORKSPACE=`pwd`
     build "$@"

But that's a much larger scope than what these patches try to achieve.

Paolo

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to