Comment 28 for bug 831768

Revision history for this message
Shahar Or (mightyiam) wrote :

Some suggestions:
* aptitude search should show results from all architectures. For filtering of search results by architecture, a new search term should be made (list of serach terms(1))," ?architecture". Short form "~r". Examples: "?architecture(amd64)" and "~ramd64".
 It should show results from all architectures because aptitude's search behavior(2) is very simple: if a package matches all of the terms, it matches the search pattern. So treating the architecture as another search term leverages aptitude's searching mechanism to allow for flexible searching by architecture and also conforms with the expected behavior of aptitude's search.

* Generally, the system should treat multiarch packages as single packages. Mainly because they are. Multiarch packages should have a pseudo-architecture, "all". For example, "apache2-doc:all". This will conform to the filename policy, e.g: "apache2-doc_2.2.22-1ubuntu1_all.deb". This will allow easy and obvious searching in aptitude. For example, "aptitude search ~napache2" would provide all architectures and to filter by architecture One would go, for example, "aptitude search ~napache2~ramd64".
 Treating the multiarch packages as if they were multiple packages would cause confusion. I wouldn't want to even go in to that.

* Aptitude should always default to installing the native architecture when no architecture is specified. This is obvious.

When displaying package names, aptitude should always print their architecture as well, in the format "<name>:<architecture>".

Perhaps there can be a switch in Aptitude that hides packages of foreign architectures when the same name packages exist for the local architecture. With this switch on, Aptitude can also hide the ":<architecture>" part of the names of packages of the local architecture and only display this part for packages of foreign architectures. This would make Aptitude less cluttered. But I would advise against this switch because it could be utterly confusing. Users of Aptitude should be advanced enough to use it's flexible search and interactive mode filtering to display whatever packages / architectures they wish to see.

If multi-arch is disabled system-wide, then Aptitude should still display the full "<name>:<architecture>" format because there may still be foreign architecture packages installed.

There should be a switch in Aptitdue to disable display of the ":<architecture>" part of the format.

1. http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03s05.html
2. http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03.html