[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: upgrading only urgency=high packages

>>>>> "Matt" == Matt Zimmerman <mdz@debian.org> writes:

    Matt> I had an idea (and a working script) to extract changelogs
    Matt> from source packages and insert them into a SQL database.
    Matt> My original intention was to allow apt-listchanges to
    Matt> display changelogs for packages before downloading them, but
    Matt> such a database would also allow for queries like this.  It
    Matt> would also allow the CGI changelog viewer to work again.

    Matt> If the daily lintian runs start up again, this script could
    Matt> easily be run when a source package is unpacked, to keep the
    Matt> database up-to-date as new packages come into the archive.

I have previously debated if I should mention this or not, and have in
the past wondered if there would be any benefit in replacing the
Packages file with some sort of distributed SQL database (could LDAP
be used???).

(sorry, my SQL is currently rather fuzzy, so please don't complain)

Current method:
1. apt-get update
1.1. apt downloads complete package file for everything for current architecture.

2. apt-get install foo
2.1. apt checks available package and sees what packages it depends on.
2.2. apt downloads and installs package.

Instead could you skip step 1 and do it:

1. apt-get install foo
1.1 apt queries SQL server "SELECT * FROM packages WHERE package=foo, architecture=i386, operatingsystem=linux"
1.2 apt gets result, and installs package.

Other potential queries:
SELECT * FROM packages WHERE package=foo, architecture=i386, operatingsystem=hurd, urgency>=HIGH
SELECT version FROM packages WHERE package=foo or fee, ...
SELECT * FROM packages WHERE description contains UPS

The other benefit is you can have any number of fields used to
distinguish the file, eg architecture, and you don't have to
artificially separate the Packages file up into different
{architecture,os} combinations. This in turn (combined with better
headers) *could* help solve some of the issues surrounding
Architecture: all packages being incompatible with the Hurd.

The biggest problem could be the load imposed by "apt-get upgrade" or
"apt-get dist-upgrade" or "dselect", I am not sure how these should be
done. Automatically extract the data according to some preset criteria
and put it in a number of compressed Packages file?
Brian May <bam@debian.org>

Reply to: