[pacman-dev] [PATCH] makepkg: avoid using comm for diff'ing package lists

Dan McGee dpmcgee at gmail.com
Tue Nov 22 05:24:24 EST 2011


On Tue, Nov 22, 2011 at 4:23 AM, Allan McRae <allan at archlinux.org> wrote:
> On 22/11/11 16:47, Dan McGee wrote:
>>
>> On Tue, Nov 22, 2011 at 12:33 AM, Allan McRae<allan at archlinux.org>  wrote:
>>>
>>> On 22/11/11 15:02, Dave Reisner wrote:
>>>>
>>>> Whereas comm will check inputs to see if they're sorted (and warn when
>>>> they aren't), grep doesn't even care about ordering. In this particular
>>>> instance -- neither do we. We're only interested that the two lists are
>>>> equivalent.
>>>>
>>>> Fixes FS#26580.
>>>>
>>>> Signed-off-by: Dave Reisner<dreisner at archlinux.org>
>>>> ---
>>>
>>> I had not seen this when I sent my patch.   Would comm not be more
>>> efficient
>>> than grep for doing this?
>>
>> I don't think your patch actually fixes the underlying problem, which
>> is that the sorts need to come back too and be consistent with
>> whatever we tell comm it should expect. No matter what, makepkg
>> shouldn't really assume anything regarding the ordering of pacman
>> output- The LC_COLLATE=C should be added to both the comm calls and
>> re-add a `| LC_COLLATE=C sort` call to -Qq output.
>>
>> grep avoids this completely; ordering doesn't matter at all. Perhaps
>> it is a bit less efficient, but this is 1) an operation that runs
>> once, and 2) the grep call is sticking to POSIX-conforming flags.
>>
>
> OK, I'm convinced.
>
> Ack-by-Allan

I should add I basically suggested everything your patch did, before
Dave presented this solution. :)

I'll stick this on maint.

-Dan


More information about the pacman-dev mailing list