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

Re: proposal to split sgml-base



On Tue, Feb 20, 2001 at 01:12:24AM -0500, Adam Di Carlo wrote:
> Ardo van Rangelrooij <ardo@debian.org> writes:
> 
> > Hi,
> > 
> > Well, it seems I've to do things differently wrt sgml-base.  In the current
> > setup both conffiles /etc/sgml/catalog and /etc/sgml/transition.cat are
> > changed in the postinst and prerm scripts of sgml-base which makes forces
> > them to not be conffiles.  So, we've a catch 22 here.
> 
> I don't get it.  Why is it catch-22?  Why do they have to be
> conffiles?

I had a discussion about this with Joey Hess, because debhelper was making them
conffiles automatically (using DH_COMPAT=3).  They have to be conffiles because
the empty /etc/sgml/catalog in the package shouldn't overwrite an already filled
/etc/sgml/catalog.  But since the postinst/etc updates the super catalog it
cannot be conffiles without violating the policy.  The same applies to the
transitional.cat.  Hence my catch-22.  But read below for another solution.
 
> /etc/sgml/catalog is machine composed of delegated catalog statements
> so shouldn't be conffile.  

Correct, but we're starting with an empty file which shouldn't overwrite an
already filled one.
 
> /etc/sgml/transition.cat is also machine generated

Same here.
 
> /etc/sgml.catalog *used* to be a conffile I think but that seems like
> a bug to me.

Well, I tried it without being conffiles and it nicely overwrote the filled
files without hesitation.
 
> > My proposol for this is to split sgml-base into sgml-common and sgml-base.
> > The former will contain the setup for the new setup (update-catalog and
> > /etc/sgml/catalog) and the latter for the old setup (install-sgmlcatalog
> > and /etc/sgml/transition.cat), with sgml-base depending on sgml-common.
> > The postinst of sgml-common moves /etc/sgml.catalog to /etc/sgml/transition.cat
> > and the postinst of sgml-base adds /etc/sgml/transition.cat to the super
> > catalog /etc/sgml/catalog.  Both can now be conffiles again since neither
> > are changed in the respective postinst/etc scripts.
> > 
> > Packages moving over to the new setup have to change their dependency from
> > sgml-base to sgml-common.
> 
> Seems like needless complexity and again, why is it imperitive these
> files are conffiles?

Another solution is to start without /etc/sgml/catalog and have it in the postinst
put in place from a template in /usr/share/sgml-base (similar to what I'm doing
with the centralized catalogs).  We can do the same with the transitional.cat.

On the other hand I kinda like the idea of having a new package.  No need for 
versioned dependencies and it clearly separates the old from the new.

Thanks,
Ardo



Reply to: