Hi Daniel,

>   The string "now" actually comes directly from apt.
>
>   I could filter it in search patterns (it's already filtered in
> various parts of the UI), but I know that people use the aptitude
> command-line in scripts, and making "now" no longer match anything
> would be a backwards-incompatible change.  So, +wontfix on that.  

yes, I found the filtering for "now" in the source code for the UI parts. I 
understand not wanting to make a backwards-incompatible change. Perhaps it 
should be documented for ?archive() in that case to save people spending 
quite so much time as I did the other day trying to work out why they 
couldn't negate the match properly.

>   As for the rest of your report, I think that you want a ?downloadable
> pattern that would apply on a per-version basis, right?  I don't think
> there's really a way to get at that information via the current set of
> patterns, so a new one would make sense.  (it's similar to making
> ?obsolete check per version, but doesn't break backwards compatibility)

Yes! a ?downloadable would be good. I presume it would automatically limit 
itself to package-versions that are installed and not return all versions of 
packages like ?installed does. Not limiting itself like that would require 
the use of ?narrow() all the time, I think.

Would it actually make more sense to be in the negated sense already 
(something like, ?noarchive), since I would imagine that its primary use will 
be to find things that *aren't* downloadable.

        ?noarchive

looks a lot nicer to deal with than

        ?not(?downloadable)?installed

which I think is assuming that the ?downloadable package-version set would be 
equal to ?narrow(?version(CURRENT),?downloadable). If it's not, then there 
would need to be additional ?narrow statements in there somewhere.

[or, more likely, I've misunderstood what you're suggesting here]

>   Another option would be to implement an idea I've had for a while, to
> more fully support more "types" in the search language.  So you'd have
> something like:
>
>     ?has-version(?has-archive(?not(?archive(now))))

I know you said "something like", but I'm not quite sure how that will work 
since '?not(?archive(now))' will provide a list of all packages in a "p" 
state and not any of the not-downloadable packages.

But I can see what you're trying to sketch here. Yes, having the ability to 
include some sorts of tests in the search language would be nice.


Since I presume that these sorts of things won't be available until squeeze+1 
at this stage, I'll stick with the monstrosity I included earlier for the 
time being. I'm sort of glad that there isn't some really easy way to do this 
that I'd just fundamentally missed.

thanks for your thoughts
Stuart



-- 
Stuart Prescott                 www.nanoNANOnano.net

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to