Sent from my iPhone
> On Aug 28, 2014, at 10:56 AM, "Kinney, Michael D" > <michael.d.kin...@intel.com> wrote: > > Andrew, > > A [Packages] section in the DSC file would be global and would not support > multiple versions of the same package installed in a WORKSPACE with different > modules requiring different versions of the same package to build. > > If and only if you had a single version of each package in WORKSPACE would > this be unambiguous. > Which is what I want. The multiple versions was forced by running UPT. > Mike > > -----Original Message----- > From: Tim Lewis [mailto:tim.le...@insyde.com] > Sent: Monday, August 25, 2014 11:07 PM > To: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] [Patch 2/2] [MdePkg] INF/DEC file updates to EDK II > packages > > Andrew -- > > Your 1st example works for me also. > > Tim > > -----Original Message----- > From: Andrew Fish [mailto:af...@apple.com] > Sent: Tuesday, August 26, 2014 2:01 PM > To: edk2-devel@lists.sourceforge.net > Subject: Re: [edk2] [Patch 2/2] [MdePkg] INF/DEC file updates to EDK II > packages > > >> On Aug 25, 2014, at 10:12 PM, Tim Lewis <tim.le...@insyde.com> wrote: >> >> Liming -- >> >> I think the real problem is: I don't like having tools change *any* files in >> other packages. This has been a long-standing issue with EDK2 and the >> packaging spec. Source code control can detect a 1 byte difference and show >> it as a change to me. Then I must do a file compare to determine if the >> change is real or not. >> >> Every other item in the EDK2 build system can be controlled through the .dsc >> or the .fdf file *except* the location of package .dec files. So, why not >> add a section to the .dsc file to specify the location of the package files. >> If the [Packages] section in an INF has no path, then look it up in the >> .dsc file. Otherwise use the path specified in the .inf file. >> >> Something like this: >> .dsc >> >> [Packages] >> MdePkg.dec|MdePkg\MdePkg.dec (match MdePkg.dec from INF and use >> $(WORKSPACE)-relative 2nd half) > > Tim, > > I think this would be easier to implement, and understand: > [Packages] > MdePkg/MdePkg.dec | Core/MdePkg/MdePkg.dec > > So basically original package location vs. shifted location in this build > tree. It also does not require any changes to support non adjusted .dec paths. > > An alternate form could be the path to pre-pend: > [Packages] > MdePkg/MdePkg.dec | Core > > > I made a cheap hack to add an environment variable called ALT_WORKSPACE to > add alternate places to search for .dec files. > export ALT_WORKSPACE="$WORKSPACE/edk2/;$WORKSPACE/Vendor/Xyz/XyzProjectK/" > > So in this example the search path for a *.dec would be $WORKSPACE, then > "$WORKSPACE/edk2, and $WORKSPACE/Vendor/Xyz/XyzProjectK/. Basically the edk2 > is a subdirectory in the tree, and the vendor code is not all in the root of > the tree. Putting the info in the .dsc file would be a better solution, but > the ALT_WORKSPACE environment variable is only requires a few lines of new > Python code. > > Thanks, > > Andrew Fish > >> Tim >> >> >> -----Original Message----- >> From: Gao, Liming [mailto:liming....@intel.com] >> Sent: Tuesday, August 26, 2014 1:05 PM >> To: edk2-devel@lists.sourceforge.net >> Subject: Re: [edk2] [Patch 2/2] [MdePkg] INF/DEC file updates to EDK >> II packages >> >> Andrew: >> Yes. 100% change in INF file should be the path difference if they are from >> the same package.dist file. But, if original one is not UPT clean, the >> difference will be hard to be seen. >> >> The main UPT change is [Section] order and some alignment. Why do you think >> it will bring hard to the real work? >> >> Thanks >> Liming >> -----Original Message----- >> From: Andrew Fish [mailto:af...@apple.com] >> Sent: Tuesday, August 26, 2014 11:38 AM >> To: edk2-devel@lists.sourceforge.net >> Subject: Re: [edk2] [Patch 2/2] [MdePkg] INF/DEC file updates to EDK >> II packages >> >> >>> On Aug 25, 2014, at 7:01 PM, Gao, Liming <liming....@intel.com> wrote: >>> >>> Jordan: >>> The real requirement is that some users use UPT to install core package >>> into the different directories, such as Core\MdePkg. After the >>> installation, they want to easily compare the original package and >>> installed package. >> >> How is this compare done? How is it going to be easy if I get the weakly >> development version from some one who has a different location for the >> MdePkg than in my tree? So I will get a diff hit on 100% of the INF files, >> when I really just looking for the incremental changes. Not the relative >> changes caused by the path differences. >> >> How does the build deal with MdePkg and MdeModulePkg containing >> MdePkg/MdePkg.dec and the "Other code" containing Core/MdePkg/MdePkg.dec. >> How do I combine edk2 + vendor a + vendor b code together in a working tree >> and still grep against their original drops? As the edk2, vendor a, and >> vendor b should all not get the final say in the tree structure we end up >> with. Do I need to put all the edk2 packages in / (edk2) Core/ (vendor a) >> and edk2/ (vendor b) so each version matches? >> >> Currently we work around this by adding search paths to $WORKSPACE as a >> local hack to the BaseTools. >> >> Also when is this stuff going to be real? It looks like UDK 2014 is svn tags >> and a Zip file of code. Does that mean the UDK 2017 (2014 + (2014 - 2011)) >> we will use UPT to install the packages as the only option? The folks doing >> Core\MdePkg also like to release zip files with code. So all this UPT >> cleanup is making getting real work done harder... >> >> Seems like you guys should add some features to the build system so that >> daily development is not made worse by these UPT changes. >> 1) Allow search paths in the $WORKSPACE. So if some one moves the edk2 >> packages to Core/ you can add $(WORKSPACE)/Core as a search path and not >> need to change every INF in the system. >> 2) Given the current UPT cleanup we should add $WORKSPACE aliases so you >> don't need to have MdePkg in /, Core/, and edk2/. >> >> Thanks, >> >> Andrew Fish >> >> >>> This change is required by EDKII project major release, but not required >>> for daily development. >>> >>> The section order will not be changed unless new section are introduced in >>> INF/DEC. >>> >>> Yes. Those changes are directly output from UPT tool. And, we have test to >>> cover this tool. So, I have confidence. >>> >>> So far, I have no branch for those change. If you request, I could send zip >>> the source INF/DEC (before UPT and after UPT) to you. >>> >>> Thanks >>> Liming >>> -----Original Message----- >>> From: Jordan Justen [mailto:jljus...@gmail.com] >>> Sent: Tuesday, August 26, 2014 5:03 AM >>> To: edk2-devel@lists.sourceforge.net >>> Subject: Re: [edk2] [Patch 2/2] [MdePkg] INF/DEC file updates to EDK >>> II packages >>> >>>> On Mon, Aug 25, 2014 at 3:17 AM, Gao, Liming <liming....@intel.com> wrote: >>>> Hi, all >>>> >>>> This patch is for below ITEM 7. INF/DEC are generated from UPT tool. >>>> DEC_SPECIFICATION and INF_VERSION will be updated to 0x00010017. >>>> Please help review them. >>>> >>>> MdePkg: Make sure order of DEC/INF content matches the order that >>>> UPT generates in the XML -> INF conversion >>> >>> This patch subject line is much longer than the recommended 70 character >>> limit: >>> https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message- >>> F >>> ormat >>> >>> How about: >>> MdePkg DEC/INF: Match format required by UPT >>> >>> These changes seem to arbitrarily match the 'order of some tool', but why >>> is that required? >>> >>> What happens when someone edits these files, and doesn't get the order >>> 'just right'? >>> >>> Is the order that UPT uses strict, or will it potentially change in the >>> future, if for example, the version of some library being used by the tool >>> decides to change the way it orders things. >>> >>> There seems to be other formatting happening, such as spaces removed from >>> the copyright notice. >>> >>> All this rolled up into a single change seems to have produced something >>> that is not reviewable in a reasonable amount of time. >>> >>> Another question I have is, were these changes the result of the output of >>> the tool? I guess it would be easier to have some confidence in the output >>> of a tool rather than all of these changes having been manually applied. >>> >>> Do you have the changes available in a branch to make it easy to test? >>> (No, I would not want an svn branch to be added for this.) >>> >>> -Jordan >>> >>>> 1) Section Order in INF/DEC to match the ones generated from UPT >>>> >>>> 2) Guid value in section will be align. >>>> >>>> 3) Usage comments in section will be align. >>>> >>>> 4) One PCD section includes one PCD type. If one PCD supports more PCD >>>> types, it will be listed in each PCD type section in DEC file. >>>> >>>> >>>> >>>> Contributed-under: TianoCore Contribution Agreement 1.0 >>>> >>>> Signed-off-by: Gao, Liming <liming....@intel.com> >>>> >>>> >>>> >>>> Thanks >>>> >>>> Liming >>>> >>>> From: Gao, Liming [mailto:liming....@intel.com] >>>> Sent: Thursday, August 14, 2014 10:13 AM >>>> To: edk2-devel@lists.sourceforge.net >>>> Subject: [edk2] [Patch 1/2] [MdePkg] INF/DEC file updates to EDK II >>>> packages >>>> >>>> >>>> >>>> Hi, all >>>> >>>> Could you help review this patch? It includes the following changes >>>> 1-6 for MdePkg. The patch is a little big. For new added UNI file, I >>>> zip them together. >>>> >>>> >>>> >>>> The second patch for below item 7 will be sent later >>>> >>>> >>>> >>>> Thanks >>>> >>>> Liming >>>> >>>> From: Kinney, Michael D [mailto:michael.d.kin...@intel.com] >>>> Sent: Thursday, August 07, 2014 5:32 AM >>>> To: edk2-devel@lists.sourceforge.net >>>> Subject: [edk2] INF/DEC file updates to EDK II packages >>>> >>>> >>>> >>>> Hello, >>>> >>>> >>>> >>>> I wanted to let everyone know about a number of patch reviews for >>>> EDK II packages that will be sent out over the next couple of weeks. >>>> These patches impact the order of content in INF/DEC files and >>>> comment blocks in INF/DEC files, and should not have any build or >>>> functionality impacts. These patches will address the following issues: >>>> >>>> >>>> >>>> 1) Usage information in INF file comment blocks are either incomplete >>>> or incorrect. This includes usage information for >>>> Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes. The syntax for >>>> usage information in comment blocks is defined in the EDK II Module >>>> Information >>>> (INF) Specification >>>> >>>> 2) Add MODULE_UNI_FILE to INF [Defines] section along with UNI file >>>> that contains the localized Abstract and Description of a module. >>>> >>>> a. Addresses an information gap between INF files and the UEFI >>>> Distribution Packaging Specification XML schema >>>> >>>> b. There will be an associated update to UPT in BaseTools to consume >>>> MODULE_UNI_FILE and associated UNI file during UDP creation that >>>> performs the INF -> XML conversion. >>>> >>>> c. There will be an associated update to UPT in BaseTools to produce >>>> MODULE_UNI_FILE and associated UNI file during UDP installation that >>>> performs the XML -> INF conversion. >>>> >>>> 3) Add [UserExtensions.TianoCore."ExtraFiles"] section to INF files >>>> along with associated UNI file that provides the localized Name of a >>>> module. >>>> >>>> a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method >>>> for >>>> a module to specify extra files not listed in [Sources] or >>>> [Binaries] sections to be added to a UDP without having to list the >>>> files in the UPT package information data file. >>>> >>>> b. There will be an associated update to UPT in BaseTools to package >>>> up >>>> files listed in [UserExtensions.TianoCore."ExtraFiles"] during UDP >>>> creation. >>>> >>>> c. UNI file contains localized name of a module to go along with the >>>> localized Abstract and Description from the MODULE_UNI_FILE. >>>> >>>> 4) PCD information in DEC file comment blocks are either incomplete or >>>> incorrect. This includes detailed description, @Prompt, >>>> @ValidRange, @ValidList, @Expression, and [Error.<TokenSpaceGuid>] >>>> validation error messages >>>> >>>> 5) Add PACKAGE_UNI_FILE to DEC [Defines] section along with UNI file >>>> that contains the localized Abstract and Description of a package >>>> and localized strings associated with PCDs. >>>> >>>> a. Addresses an information gap between DEC files and the UEFI >>>> Distribution Packaging Specification XML schema >>>> >>>> b. There will be an associated update to UPT in BaseTools to consume >>>> PACKAGE_UNI_FILE and associated UNI file during UDP creation that >>>> performs the DEC -> XML conversion. >>>> >>>> c. There will be an associated update to UPT in BaseTools to produce >>>> PACKAGE_UNI_FILE and associated UNI file during UDP installation >>>> that performs the XML -> DEC conversion. >>>> >>>> 6) Add [UserExtensions.TianoCore."ExtraFiles"] section to DEC files >>>> along with associated UNI file that provides the localized Name of a >>>> package. >>>> >>>> a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method >>>> for >>>> a package to specify extra files to be added to a UDP without having >>>> to list the files in the UPT package information data file. >>>> >>>> b. There will be an associated update to UPT in BaseTools to package >>>> up >>>> files listed in [UserExtensions.TianoCore."ExtraFiles"] during UDP >>>> creation. >>>> >>>> c. UNI file contains localized name of a package to go along with the >>>> localized Abstract and Description from the PACKAGE_UNI_FILE. >>>> >>>> 7) Make sure order of DEC/INF content matches the order that UPT >>>> generates in the XML -> INF conversion >>>> >>>> a. This allows UDP packages installed by UPT to be compared against >>>> EDK II trunk/branches using standard diff utilities. >>>> >>>> >>>> >>>> Patches for the following EDK II packages are being prepared >>>> >>>> 1) MdePkg >>>> >>>> 2) MdeModulePkg >>>> >>>> 3) IntelFrameworkPkg >>>> >>>> 4) IntelFrameworkModulePkg >>>> >>>> 5) FatPkg >>>> >>>> 6) ShellPkg >>>> >>>> 7) PcAtChipsetPkg >>>> >>>> 8) UefiCpuPkg >>>> >>>> 9) SourceLevelDebugPkg >>>> >>>> 10) CryptoPkg >>>> >>>> 11) SecurityPkg >>>> >>>> 12) NetworkPkg >>>> >>>> >>>> >>>> Best regards, >>>> >>>> >>>> >>>> Mike >>>> >>>> >>>> >>>> >>>> -------------------------------------------------------------------- >>>> - >>>> - >>>> -------- >>>> Slashdot TV. >>>> Video for Nerds. Stuff that matters. >>>> http://tv.slashdot.org/ >>>> _______________________________________________ >>>> edk2-devel mailing list >>>> edk2-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel >>> >>> --------------------------------------------------------------------- >>> - >>> -------- >>> Slashdot TV. >>> Video for Nerds. Stuff that matters. >>> http://tv.slashdot.org/ >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/edk2-devel >>> --------------------------------------------------------------------- >>> - >>> -------- >>> Slashdot TV. >>> Video for Nerds. Stuff that matters. >>> http://tv.slashdot.org/ >>> _______________________________________________ >>> edk2-devel mailing list >>> edk2-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/edk2-devel >> >> >> ---------------------------------------------------------------------- >> -------- >> Slashdot TV. >> Video for Nerds. Stuff that matters. >> http://tv.slashdot.org/ >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/edk2-devel >> >> ---------------------------------------------------------------------- >> -------- >> Slashdot TV. >> Video for Nerds. Stuff that matters. >> http://tv.slashdot.org/ >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/edk2-devel >> >> ---------------------------------------------------------------------- >> -------- >> Slashdot TV. >> Video for Nerds. Stuff that matters. >> http://tv.slashdot.org/ >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/edk2-devel > > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > Slashdot TV. > Video for Nerds. Stuff that matters. > http://tv.slashdot.org/ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel