On Fri, 01 Dec 2017 at 12:35:39 +0100, Axel Beckert wrote: > Simon McVittie wrote: > > --\ New Packages (1) > > --\ games Games, toys, and fun programs (1) > > --\ main The main Debian archive (1) > > p steam-launcher <none> > > 1.0.0.54 > > The string "The main Debian archive" is a static description string > for archives called "main"
I assume you mean archive areas (which is what Policy calls the conceptual division between main, contrib and non-free) or components (which is what apt calls the data layout that implements that conceptual division). The component containing steam-launcher is called steam, and its Section is games, so it can't be coming from an explicit mention of main. Presumably aptitude is applying this pseudocode: if '/' in Section: archive-area, section = Section.split('/') else: archive-area = 'main' section = Section Debian Policy ยง2.4 does talk about how the Section field should reflect the archive area, but non-Debian archives aren't bound by Policy. In practice, I think third-party .deb distributors like Valve and GOG will probably choose an unadorned Section like 'games' more often than they choose one that encodes an archive area like 'non-free/games', even if arguably they should be using 'non-free/games' or 'steam/games' or similar. I can see that the information available to aptitude doesn't make this at all easy, because it can know which apt origin an available package comes from (it's in the Release file), but cannot in general know which origin an already-installed package came from (all it knows is the dpkg metadata, which doesn't include the origin); so it can't know whether the absence of an archive area prefix in the Section means Debian main, or Ubuntu main, or some third-party thing that isn't necessarily even Free Software. smcv