Bug#685354: unblock: sendfile/2.1b.20080616-5.1
Hi Adam,
On Mon, Aug 20, 2012 at 02:49:24PM +0100, Adam D. Barratt wrote:
> >>Am I reading the maintainer scripts correctly in that they modify
> >>(or at least attempt to modify) several files not shipped by the
> >>package, including /etc/services and /etc/csh.login, both of which
> >>are conffiles?
>
> On 20.08.2012 14:02, Andreas Tille wrote:
> >I admit that I basically applied the patch in the bug report and
> >did not
> >thought about this issue specifically but my (re)reading exactly fits
> >yours. I guess we agree that this is a policy violation (not only in
> >the package in question but also in previous versions).
>
> Yep. :-( At least for the /etc/services case, it looks like the
> desired change is already in the default file in squeeze, so the
> code could likely be removed with no ill effect.
The changes to these files in the postinst are no longer necessary and can be
removed, but this leaves another problem:
The version in squeeze added a line to /etc/profile (which is a policy
violation). The version currently in wheezy removes that line. If this last
part is removed from the postinst, the line remains in /etc/profile (where it
never should have been). Removing the line in the postinst of the package in
wheezy is a policy violation. Which is preferable:
- leaving the line in /etc/profile and having a package in wheezy that has no
policy violations
- having a package in wheezy that violates policy, but that cleans up the
changes caused by the policy violation in squeeze
Similar problems exist with /etc/services and /etc/csh.login, but only if
these files don't exist (if the packages that ship them aren't installed). If
those files exist, they will not be changed:
- /etc/services in squeeze contains the lines for the saft service, so no new
line is added
- the postinst script in squeeze removes the line in /etc/csh.login from a
previous version (but creates an empty file in the process if the file
doesn't exist).
For those wondering: the lines in /etc/profile and /etc/csh.login are replaced
by files in /etc/profile.d (in wheezy) and /etc/csh/login.d (in squeeze).
Cheers,
Ivo
Reply to: