Package: debhelper

This is a patch to rationallse how debhelper calls install, with the
idea that OSes that need install to be called differently for programs,
libs, etc, can change just one place in Dh_Lib. It also cleans up use of
755 => 0755 in chmod calls, etc.

----- Forwarded message from Martin Koeppe <[EMAIL PROTECTED]> -----

From: Martin Koeppe <[EMAIL PROTECTED]>
Date: Wed, 18 Apr 2007 02:15:23 +0200 (CEST)
To: Joey Hess <[EMAIL PROTECTED]>
Subject: Re: debhelper and install


On Mon, 16 Apr 2007, Joey Hess wrote:

> Martin Koeppe wrote:
>>> Stricly speaking this is a behavior change. Especially since dh_fixperms
>>> does not currently chmod/chown files in /usr/share/info, this could
>>> cause wrong permissions in packages that install other info files and
>>> rely on dh_installinfo's current behavior of fixing their owners and
>>> modes.
>>
>> I didn't want a behavior change. And I think I didn't change the
>> behavior. If you non-recursively cp files and then chmod to 644 and
>> chown to root:root, I think it's the same as install the files with
>> -m644 and run the install cmd as root.
>
> The difference is that info files may already have been installed into
> usr/share/info by some other means, and would previously be
> chowned/modded.

Oh yes, I now see. Thank you. Is this intended or documented behavior? Or 
shouldn't this better be moved to dh_fixperms?


>>>> Maybe it would be better to introduce 3 new functions (names ok?) in
>>>> Dh_Lib:
>>>> sub doinstfile() { doit("install","-p","-m0644",@_) }
>>>> sub doinstprog() { doit("install","-p","-m0755",@_) }
>>>> sub doinstdir() { doit("install","-d","-m0755"(?),@_) }
>>>> I volunteer for doing that and changing everything accordingly.
>>
>> What about this one?
>
> I think this is reasonable, although I don't think the functions need to
> have "do" in their names.

Then you might be interested in the attached patch. I also rtrimmed the 
scripts while editing, so the diff is somewhat larger.

I have added an extra function for .so shared libs, as these may require 
mode 0755 depending on the platform. E.g. interix requires 0755. It isn't 
used yet, however.

Another thing I noticed while making the changes: In dh_gconf there is used 
doit() instead of complex_doit(). I changed that, so that the verbose 
output is no longer escape_shell()'d.


Martin



----- End forwarded message -----

-- 
see shy jo

Attachment: debhelper_5.0.47-0.1.diff.gz
Description: Binary data

Attachment: signature.asc
Description: Digital signature

Reply via email to