From: Jiří P. <jpa...@we...> - 2009-12-19 02:05:04
|
Hello, I'm sorry it took me some time to get to this. On Sat, 05 Dec 2009 07:39:10 +0100, Garrett Cooper <yan...@gm...> wrote: > On Fri, Dec 4, 2009 at 5:19 PM, Jiří Paleček <jpa...@we...> wrote: >> On Fri, 04 Dec 2009 20:06:40 +0100, Mike Frysinger <va...@ge...> >> wrote: >> >>> On Friday 04 December 2009 11:58:13 Jiri Palecek wrote: >>>> the makefiles install all files with executable mode by default. This >>>> patch >>>> changes it for some of the Makefiles, that install data files, which >>>> should IMHO not be executable. The change makes INSTALL_MODE decide >>>> the >>>> actual mode when it is expanded inside the install rule (depending on >>>> $@, >>>> which is the install target name). >>> >>> that's pretty fugly way to go about it. let's go the more natural >>> route >>> and >>> have the common code default to $(INSTALL_MODE_$@) and if that's unset, >>> use >>> the default $(INSTALL_MODE). >> >> Sorry, but I don't agree with that. This is a function-like approach >> which >> is not any less "natural" than what you propose - and it makes no >> demands >> on anyone who doesn't need it, and gives great power to those who need >> it. >> >> The main reason I don't like the INSTALL_MODE_$@ thing, is that eg. >> INSTALL_TARGETS can contain wildcards (eg. dir/*.ext), and there cannot >> be >> any such thing as $(INSTALL_MODE_dir/*.ext). You would have to enumerate >> all data files - or all program files - which would be a chore esp. if >> any >> of these isn't known in the makefile until "make all" is ran. >> >> OTOH I would agree on some method to automagically determine the correct >> mode. > > We can do it one of a few ways... > 1. Anything not going into $(datarootdir), $(libdir), $(mandir), > etc (e.g. bin, testcases/bin, etc) should be 00664. You meant 755? (ie. not $(mandir) etc. -> 755). > 2. We can filter by extension, e.g. INSTALL_TARGETS with > extensions like .py, .sh, etc can have 00755. I think 1 is not satisfactory here, given that we install some datafiles in testcases/bin. 2 would be possible if it would work for most cases automatically and allowed a simple way of fixing corner cases. I thought we could engage "file" command in determining what is what, but it may be really an overkill. Regards Jiri Palecek |