On Wed, Jun 25, 2014 at 12:51 PM, Paolo Bonzini <[email protected]> wrote: > 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).
I think all these tools are too generically named to be installed in the main bin path. (Even if they don't happen to conflict with any other commands.) I still think access to these tools would be better as: $ edk2 build $ edk2 EfiRom $ edk2 VolInfo etc... >>> /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 nearly always run OvmfPkg/build.sh, which does just that. I find it a lot more preferable than polluting my shell's environment, and I really don't see a downside. I think if someone runs 'edk2 build' then they should not be surprised if something changes within their build tree. :) >>>> 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. You are right. I was just hoping that we could discuss what the standard build process would look like after installing an edk2-buildtools package. But, I suppose it is not necessarily set in stone and we can add the wrapper later. -Jordan ------------------------------------------------------------------------------ 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
