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: