[Aptitude-devel] aptitude: add "New Origin Browser" to the view menu
Getreu
jens at getreu.net
Wed Jul 13 19:31:47 UTC 2011
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.
> 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
> ---
(*) 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 :
> On 12 Nov 2010, Jens Getreu <getreu at web.de> wrote:
> > [...]
> > 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.
>
> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/aptitude-devel/attachments/20110713/15ae21ca/attachment.pgp>
More information about the Aptitude-devel
mailing list