On 21 October 2016 at 21:40, Laszlo Ersek <ler...@redhat.com> wrote:
> On 10/21/16 22:19, Ard Biesheuvel wrote:
>> On 21 October 2016 at 21:14, Laszlo Ersek <ler...@redhat.com> wrote:
>>> On 10/21/16 21:58, Jordan Justen wrote:
>>>> On 2016-10-21 12:37:21, Ard Biesheuvel wrote:
>>>>> I don't remember seeing any discussion regarding
>>>>> DISABLE_NEW_DEPRECATED_INTERFACES on the list, so I am a bit surprised
>>>>> seeing these bugs being filed and assigned.
>>>>>
>>>>
>>>> I agree.
>>>>
>>>> Also, the terminology seems confusing. 'new deprecated' seems like a
>>>> contradiction. I guess it means 'newly deprecated', but that seems
>>>> like a term that is quickly going to become obsolete. Soon there will
>>>> be old deprecated items that are disabled with this switch.
>>>> DISABLE_DEPRECATED_INTERFACES sounds better.
>>>>
>>>> But, shouldn't we have platforms opt-in to using the deprecated
>>>> interfaces rather than adding DISABLE_NEW_DEPRECATED_INTERFACES to the
>>>> build command line for every EDK II platform?
>>>>
>>>> Not using deprecated items should be the default for EDK II platforms.
>>>> If a platform has to opt-in to the deprecated content in their .dsc,
>>>> then it is obvious that they are relying on deprecated functionality.
>>>>
>>>> So, I guess I'd propose adding ENABLE_DEPRECATED_INTERFACES instead.
>>>
>>> I'm about to post a ~20-part series for OvmfPkg and ArmVirtPkg together
>>> that solves these BZs. :/ The DISABLE_NEW_DEPRECATED_INTERFACES feature
>>> test macro is already being used in three MdePkg library class header
>>> files (and a number of library instances), so I thought it was a done deal.
>>>
>>> I don't want to stifle the discussion of course, but at this point I
>>> think I will post the patches for review.
>>>
>>
>> Yes, please. Removing uses of deprecated interfaces is something we
>> should do anyway. What we shouldn't do is configure our platforms in
>> such a way that additional future deprecation automatically break the
>> build, unless we have a strong commitment from the other package
>> owners that they will ensure that this does not happen.
>>
>
> Well, my expectation is that the onus of keeping the tree working is on
> the patch submitter. Assume we adopt DISABLE_NEW_DEPRECATED_INTERFACES
> now (weaning ourselves off the functions that are *currently* disabled
> by the macro). Then whenever someone moves further functions under the
> scope of the macro -- thereby possibly breaking platform code --, it's
> going to be their responsibility to grep the tree for platform DSCs that
> enable DISABLE_NEW_DEPRECATED_INTERFACES, and either test-build those
> platforms reasonably extensively, or ask for help *in advance* (before
> committing the patches).
>
> For example, in the current work I'm about the post, I couldn't
> build-test everything (no RVCT over here, for example :)) Also I don't
> run Xen, so the Xen-related changes can't be functionally tested on my
> side -- but, I do ask for help with testing those. Same goes for the
> 32-bit ARM changes (which, it turns out, Michael and myself managed to
> fix separately, independently, and differently :))
>
> It's okay to modify code one can't build or test himself/herself, but
> then help should be asked for, and given too.
>
> TL;DR: the strong commitment you speak about is the default for any open
> source project, isn't it? ;)
>

Yes it is. But it should be made explicit.
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to