[pacman-dev] pacman sorting incompatible with 'sort' command

brainpower brainpower at mailbox.org
Fri May 5 13:57:48 UTC 2017


> Andrew Gregory <andrew.gregory.8 at gmail.com> wrote:
> 
> 
> On 05/05/17 at 09:19am, Adesh Kumar wrote:
> > pacman internal sorting on package names differ from the one implemented in linux 'sort' command.
> > 
> > pacman treats '-' (hyphen) differently.
> > 
> > 
> > Testcase:
> > 
> > 1. Install i3 group. It will install i3-wm, i3lock and i3status
> > 
> > 2. Check the following commands:
> > 
> >   --($:~)-- pacman -Qeq | grep i3
> >   i3-wm
> >   i3lock
> >   i3status
> > 
> > 
> >   --($:~)-- pacman -Qeq | grep i3 | sort
> >   i3lock
> >   i3status
> >   i3-wm
> > 
> >   --($:~)-- pacman -Qeq | grep i3 | sort -c
> >   sort: -:2: disorder: i3lock
> 
> pacman sorts according to the C locale.  Why does this matter though?
> I don't believe we make any promises about query output order at all,
> let alone that it will match `sort`.
> 
> apg

Hi.

Well there are no promises I'm aware of, as Andrew said,
but if pacman sorts according to C locale, then you just have to tell `sort` to use that, too.
It makes sense that the output is different with different locales after all
and if the same locale is used, chances of matching output are higher.

The only thing one could complain about is, that it isn't mentioned in the documentation
that pacman always sorts according to C locale regardless of the systems locale...
But I don't mind...

PoC:

$ pacman -Slq | grep '^i3'                
i3-wm
i3blocks
i3lock
i3status
$ pacman -Slq | grep '^i3' | LC_COLLATE=C sort
i3-wm
i3blocks
i3lock
i3status


--
regards,
brainpower


More information about the pacman-dev mailing list