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

Re: debmake & dpkg

From: Ian Jackson <ian@chiark.greenend.org.uk>
> > - automatically locate packages when just a packagename is given
> >   (invoke ftp or whatever means configured to get the package)
> > 
> > - automatically install packages depended on by a package
> I think that this is the job of dselect.  dselect should have a
> `noninteractive' mode where you say:
>   dselect --install spong
> and it finds spong and things it depends on and installs them.

Since it's noninteractive, it might be better placed in a different
program than dselect. A front-end to dpkg to do this sort of thing
isn't absurd.

What I'd like would be an interpretive program that encompassed
all of the functionality of dselect _except_ for the GUI. GUIs would
be built on top of it. I'd suggest command-line, but the database parsing
on each command invocation would make this too slow. TCL would be
a good vehicle for this, as long as use of Tk isn't mandiatory.

> I think that this is best done with pattern-pased file exclusion.  I
> don't think that conditional compression is necessary.


> - Checksums stored in the .deb package and a function to verify the
>   integrity of installed files.

> My views on per-file checksums are well-known.

Uh, I forgot what your views are. I think per-file checksums are worthwhile,
but they should definitely be generated at package-build time unless it's a
control file. In the case of MD5 we are talking about 16 bytes per file,
not an astronomical amount.

>> - Get rid of all the single files in /var/lib/dpkg/info and use
>>   a database instead to provide faster operation
> This is a very bad idea.

Well, it does preclude breaking out the functionality of dselect into
a command-line application that could be called iteratively (see above).
I suggest a compromise: cache a pre-compiled version of the database.
Output both the text and precompiled versions with each status change,
and discard the precompiled version any time /var/lib/dpkg/status is
newer than the precompiled file. This gives us fast queries without
losing the integrity and recoverability of the text version. I am assuming
that a GUI separate from the guts of dselect would make a lot more queries
than status changes.


Bruce Perens K6BP   Bruce@Pixar.com   510-215-3502
Finger bruce@master.Debian.org for PGP public key.
PGP fingerprint = 88 6A 15 D0 65 D4 A3 A6  1F 89 6A 76 95 24 87 B3 

TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com

Reply to: