This one time, at band camp, Josip Rodin said:
> On Sat, Sep 08, 2007 at 12:41:12PM +0100, Stephen Gran wrote:
> > > > This is an automatic notification regarding your Bug report
> > > > #434505: example *.cvd files should be in an arch-indep package,
> > > > which was filed against the clamav-freshclam package.
> > > 
> > > >  clamav (0.91.1-2) unstable; urgency=low
> > > >  .
> > > >    * Move database files to -base package (closes: #434505)
> > > 
> > > OK, this fixed the bug that I filed, but it introduced a new bug, really -
> > > now the users who just use clamav with clamav-data, but don't use 
> > > freshclam,
> > > also have to download those files with clamav-base.
> > 
> > If you can think of a way to express in the dependency system that two
> > files need to be on disk before clamd's postinst is run without
> > requiring network access, I'm all ears.  I can't think of one, frankly.
> > Until we come up with a way to express that relationship, I am inclined
> > to think of this as a necessary limitation rather than a bug.
> 
> If you create a new package, let's call it clamav-data-bootstrap,
> you can have:
> 
> clamav-freshclam
>       Recommends: clamav-data-bootstrap
> clamav
>       Depends: clamav-data | clamav-data-bootstrap | clamav-freshclam
>       Recommends: clamav-data | clamav-data-bootstrap
> clamav-daemon
>       Depends: clamav-data | clamav-data-bootstrap | clamav-freshclam
>       Recommends: clamav-data | clamav-data-bootstrap

Why do you need to Depend and Recommend the same packages?  What does
this buy you?  

> That should work out fine for all practical cases - whenever a user tries
> to install the packages, aptitude, apt-get and dselect will all get the data
> files, but there will be a way for people to remove the packaged copies of
> the data files once they set up freshclam.
> 
> Obviously that same method allows people to select the wrong route on an
> initial install, but that should not be a statistically significant amount
> of people :)

What it will preferentially do, as far as I can tell, is to install
clamav-data (or whichever is first in the list).  This will probably be
the wrong thing, no matter how you order it - clamav-data will be wrong
for people who have network connections (which is the most common case,
but something that policy prevents us from relying on).  Putting
freshclam first in the list will guarantee that no files are installed.
clamav-data-bootstrap will put the files on disk, and then never update
until the next version of the package releases, which is also clearly
wrong.  The package relationship described above makes it much harder
for a user to just run apt-get install and have things work out of the
box without manually specifying a second run to end up with what they
really want.  Do you really think that:
apt-get install clamav-daemon
apt-get install clamav-freshclam
apt-get remove clamav-data-bootstrap

is an intuitive way to arrive at what you wanted in the first place?

I tend to think we are getting into the territory of overengineering a
solution to a problem that arguably doesn't exist, as well.

> (Also, if you need something on disk before the postinst is run, you really
> need Pre-Depends:...?)

No, you need Pre-Depends when you need something configured before
preinst is run.
-- 
 -----------------------------------------------------------------
|   ,''`.                                            Stephen Gran |
|  : :' :                                        [EMAIL PROTECTED] |
|  `. `'                        Debian user, admin, and developer |
|    `-                                     http://www.debian.org |
 -----------------------------------------------------------------

Attachment: signature.asc
Description: Digital signature

Reply via email to