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

Re: XFree86 4.0.1 and app-defaults



On Thu, Jul 27, 2000 at 12:21:54AM -0500, Branden Robinson wrote:
> Hi folks.
> 
> As some of you know, highly unstable and experimental 4.0.1 .debs were
> produced on Friday and made available to a few people for testing.  These
> things were way broken, but not as badly as I feared.  I got some valuable
> feedback, made some fixes, and am preparing for a real Phase 1 release as I
> write this.
> 
> But XFree86 4 has thickened the plot in a way I didn't foresee.
> 
> It has to do with app-defaults files.  Current Debian policy says these
> can't be conffiles, so they go in /usr/X11R6/lib/X11/app-defaults.
> 
> Well, upstream has changed things, and it putting them in
> /etc/X11/app-defaults.  Rather than buck this trend, I think we should roll
> with it.
> 
> However, this means changing Debian policy.  That part's not hard.
> (Unless the -policy group wants to prove me wrong on this point.)
> 
> What's worse is that /usr/X11R6/lib/X11/app-defaults is going to need to
> become a symbolic link to /etc/X11/app-defaults, and because dpkg does not
> clobber directories by overwriting them with symlinks (rather, it just
> fails to make the symlink), a *LOT* of packages are going to have to change
> the way they do things.  So, the current app-defaults policy is going to be
> taken out back and shot.
> 
> Things will break spectacularly if that symlink doesn't exist.  So it HAS
> to be there.  So here's what I'm going to do.
> 
> We all know there is a "root" XFree86 package that all other X Window
> System packages depend on, and that is xfree86-common.  In the preinst of
> this package will be something like the following logic:
> 
> if [ ! -L /usr/X11R6/lib/X11/app-defaults ]; then
>   # uh oh, we need to move this
>   mv /usr/X11R6/lib/X11/app-defaults /usr/X11R6/lib/X11/app-defaults.MOVING
>   ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11/app-defaults
>   mv /usr/X11R6/lib/X11/app-defaults.MOVING/* /etc/X11/app-defaults
>   rmdir /usr/X11R6/lib/X11/app-defaults.MOVING
> fi
> 
> dpkg-divert doesn't make a lot of sense here because the files will be
> resolvable using same path they were before --- AFTER the preinst has done
> its work.  Since only one preinst runs at a time, and this preinst handles
> the whole migration, this is an atomic operation from the package system's
> perspective.
> 
> *HOWEVER*, dpkg's databases will contain bogus information about the
> locations of files installed to that directory.  So it is imperative that
> these packages have new versions that will clean up the mess.
> 
> All these new packages have to do is ship those app-defaults files in
> /etc/X11/app-defaults instead.  I suggest marking them as conffiles as
> well, but this is ultimately up to the package maintainer's discretion.
> 
> So here is what I suggest.  Packages that currently ship app-defaults
> files MUST, when they are built against xlib6g 4.0.1, implement this
> transition.  This will make everything as clean and neat as it can be
> because:

I think what you propose is a good solution. I suppose 4.0.1 will be woody's
primary X server, will it not ? or else each package will have to be compiled
differently for XF3.3.6 and XF4.0.1.

Also, please remeber to have lintian check about app-default stuff when you
release the XF4 packages. Best way to make all developper of package aware of
the problem (well sure you could fill bugs to all package using app-defaults
also, with a nice bug reporting script doing the job) ...

Friendly,

Svne LUTHER



Reply to: