So earlier on I posted about my work on declarative
diversions<http://blog.sam-dunne.com/post/5995015527/diversions-control-file>
.
I felt I needed to clarify a few things as a few people asked me different
questions and I don't think I made the post clear enough and I also left out
an important piece of information.


The new control file will be located in control.tar.gz and it's syntax will
be

One diversion per line

Blank lines and lines with # are comments

Two fields per diversion seperated by whitespace (SOURCE DESTINATION)


Now people have asked be about updating and removing diversions and how that
will be accomplished.

All diversions will be listed in this control file. If a diversion isn't
listed in the control file on upgrade dpkg will automatically remove the
diversion because it will see it is no longer needed. The same goes for
changing diversions, i.i. list them just as though they're new and it will
update them.


This project will infer --add, --remove and --package and will not allow you
to specify them.

The same is goes for --rename, it is being made default and not optional
(for now, I am aware of some special cases).

--divert will not be specifiable and will take the default format
"file.divert-$package".


Now, there are a number of things still left to do this week before a full
draft is prepared.

There is an email here by Ian
Jackson<http://lists.debian.org/debian-dpkg/2008/06/msg00081.html>
which
talks about ordering unpack in such a way to delay the the actual renaming
of the file. If anyone has any suggestions for this process it would be
greatly appreciated.


Another two things that need to be done is the proper handling of diversions
to non-existant directories and also escaping spaces within filenames for
the control file.


I should have another update tomorrow evening.

Until then,

-- 
Sam Dunne

Reply via email to