#603269 aptitude: add "New Origin Browser" to the view menu

Package:
aptitude
Source:
aptitude
Description:
terminal-based package manager
Submitter:
Jens Getreu
Date:
2011-07-13 19:36:04 UTC
Severity:
wishlist
Blocked By:
Bug Title
298734

  3

aptitude should support sections by "server"

wishlist stable testing unstable about 11 years ago

#603269#5
Date:
2010-11-12 12:01:27 UTC
From:
To:
1. I sometime try out packages from a repository I include temporary. Then f. ex. I find out that these packages installed are not stable enough and I want to get rid of them.
It would be good if there where a "new Origine Browser" view like in synaptic, where you can browse package according to there origin.

2. Besides, there should be an entry "Reinstall package" in the package menu. This action is only available by typing "L" and new users will not find it.

3. It should be possible to export/import lists of packages tagged "manual" in order to clone easily installations.

Regards Jens

#603269#12
Date:
2011-07-13 17:40:45 UTC
From:
To:
clone 603269 -1
retitle 603269 aptitude: add "New Origin Browser" to the view menu
retitle -1 aptitude: add "Reinstall (shortcut L)" to the package menu
unblock -1 by 298734
thanks

This is a separate issue, so I have cloned this wishlist and retitled
appropriately.

This is already on wishlist #265758 so I am removing this part from
the title.  You can subscribe to that bug to keep updated on the
progress.

#603269#21
Date:
2011-07-13 18:53:01 UTC
From:
To:
What does this look like in Synaptic?

Synaptic does not support folder nesting and so presents an origin
view with groups labelled "archive/section (origin)":
  All
  Local
  experimental/iceweasel-beta (mozilla.debian.net)
  unstable/main (ftp.au.debian.org)
  unstable/main (mozilla.debian.net)

aptitude can do better than this simple flat view.  Here are
some, obvious, ideas:

a) policy "archive,site,section(topdir)"
   --\ experimental (4)
     --\ mozilla.debian.net (4)
       --- main
   --\ unstable (32900)
     --\ Local (12)
       --- main
     --- ftp.au.debian.org (32883)
     --- mozilla.debian.net (5)

b) policy "site,archive,section(topdir)"
   --- Local (12)
   --\ ftp.au.debian.org (34395)
     --\ unstable (32883)
       --- main
   --\ mozilla.debian.net (9)
     --\ experimental (4)
       --- iceweasel-beta (4)
     --- unstable (5)

I do not use "status" here, as the current debtags and categorical
browsers do not use it either.

There is neither "site" nor "archive" grouping policy currently in
aptitude.  The patch just submitted against #298734 adds support for
by-site, so I am blocking on it.

"archive" can be approximated as "pattern(?archive())", however,
packages will only be listed under a single archive, even if they
occur in more than one (only the first matching version is used to
determine where it a package gets placed--this is documented
behaviour).

Synaptic also suffers from this problem, atleast in squeeze.

There is the additional problem that a package can be place under an
incorrect archive for the given site.  This is because all available
package versions will be tested for each site, regardless of whether
those versions are available at that particular site.[1]
---[Example] sources.list: # Provides 3 distinct versions of iceweasel. deb http://ftp.au.debian.org/debian sid main deb http://ftp.au.debian.org/debian squeeze main deb http://mozilla.debian.net/ experimental iceweasel-beta origin browser a) with limit "^iceweasel$": --\ unstable (2) --\ ftp.au.debian.org (1) --\ main iceweasel --\ mozilla.debian.net (1) --\ main iceweasel should be: --\ experimental (1) --\ mozilla.debian.net (1) --\ iceweasel-beta iceweasel --\ stable (1) --\ ftp.au.debian.org (1) --\ main iceweasel --\ unstable (1) --\ ftp.au.debian.org (1) --\ main iceweasel --- It is good that this view can be somewhat approximated right now, however it would be even better to be able to implement it correctly. To this end I will file wishlist for "archive" grouping policy and investigate ways of correctly filtering VersionList in subtrees.
--- [1] Technically: 1. On add_package(), PkgIterator::VersionList() is scanned for a match. 2. PkgIterator is passed unmodified to matching subtree. 3. Subtree processes PkgIterator as though all versions in the original still apply. Modifying PkgIterator in step 2. is what we want to do, this can be done by passing a proxy whose ::VersionList() returns a filtered VerIterator. If a pkg is passed to the subtree for `mozilla.debian.net', then VersionList() should only iterate over versions available on that site. Of course, I have not yet thoroughly investigated the internal workings of the package tree to determine whether passing around such filtered packages is a good idea.
#603269#26
Date:
2011-07-13 19:31:47 UTC
From:
To:
Hello Daniel,

Here are my 2 use cases:

(*)  Most of the people using stable need a package from unstable from
time to time. The view below would help a lot to organize.


(*) Sometimes it is necessary to use an foreign repository in oder to
fix some problems. To get rid of these packages later your solution b)
would help a lot.

  b) policy "site,archive,section(topdir)"
   --- Local (12)
   --\ ftp.au.debian.org (34395)
     --\ unstable (32883)
       --- main
   --\ mozilla.debian.net (9)
     --\ experimental (4)
       --- iceweasel-beta (4)
     --- unstable (5)

I read somewhere that the tree code is very old and a big mess. I hope
you will succeed nevertheless.

best regards




Jens



Le jeudi 14 juillet 2011 à 02:53 +0800, Daniel Hartwig a écrit :