This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Calling all sed wizards! Need a little help with possible fix: Subtle permissions bug in interaction between Makefiles & libtool (Cygwin-specific)

Max Bowsher wrote:
> I've located an awkward bug in the interaction between common-sense
> Makefile rules and Cygwin libtool.
> The package I was building at the time was libiconv, but the issue is
> common to any autoconf-libtool build system.
> The file is installed as data (i.e. 644) - which is
> correct. However the Cygwin specific postinstall_cmds in libtool use
> the same install command to install the DLL. This results in the DLL
> being installed without execute permission (on ntsec systems), and
> causes "The application failed to initialize properly (0xc0000022)."
> errors from dependent exes.
> As far as I can see, the fix would be to sed '-m 644' to '-m 755' in
> Cygwin's postinstall_cmds. The problem is how (whether?) to deal with
> 600, 640, etc.

I had an idea:
sedpat6='s,\(-m [0-7]*\)6,\17,g'
sedpat4='s,\(-m [0-7]*\)4,\15,g'
sed -e "$sedpat4" -e "$sedpat4" -e "$sedpat4" -e "$sedpat6" -e "$sedpat6" -e

but can anyone show me a way without repeating each pattern 3 times?

> The same problem exists with automake in the build system (example
> package: gettext), for the same reason.



Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]