Open Bug 990196 Opened 10 years ago Updated 2 years ago

icu tries to use INSTALL_SCRIPT during build

Categories

(Core :: JavaScript: Internationalization API, defect)

x86_64
OpenBSD
defect

Tracking

()

Tracking Status
firefox28 --- unaffected
firefox29 --- affected
firefox30 --- ?
firefox31 --- ?

People

(Reporter: gaston, Unassigned)

Details

During build of icu within 29.0b3 as regular user, it tries to use INSTALL_SCRIPT (at http://mxr.mozilla.org/mozilla-beta/source/intl/icu/source/Makefile.in#314), which for some reason (the ports build environment is like this) is set to:

../build-amd64/js/src/intl/icu/target/config.log:INSTALL_SCRIPT='install -c -o root -g bin -m 555'

Obviously since i'm building as regular user, this fails with:
install: config/icu-config: chown/chgrp: Operation not permitted

I can workaround this by replacing INSTALL_SCRIPT by a plain install call:

-       $(INSTALL_SCRIPT) $(top_srcdir)/config/icu-config-top $@
+       install -m 555 $(top_srcdir)/config/icu-config-top $@

but that's rather ugly. Since that's coming from upstream i suppose we dont want to patch Makefile.in either...
I'm only seeing this on beta when building from the source tarball using configure/make within the bsd ports infrastructure, not on aurora/central when building via mach/gmake -f client.mk in my buildbot..
Mike, any idea how to workaround this build subtile failure ?
Flags: needinfo?(mh+mozilla)
I can't see a reason why this would be a problem on beta/release and not aurora/central, except if your autoconf2.13 creates a configure script very different from the one shipped in our tarballs. If that's the case, then it means your autoconf2.13 has openbsd patches that you'd need in your configure.
Flags: needinfo?(mh+mozilla)
As i said in comment 0, the difference here is that i build beta/release in our packaging infrastructure (ports), which sets INSTALL_SCRIPT (via the environment) to  install -c -o root -g bin -m 555 (which fails to be used as regular user during the build step) while when building aurora/central manually from a src tree, there's no such env var so INSTALL_SCRIPT defaults to INSTALL, ie INSTALL='/usr/bin/install -c' -> no problem as regular user.

While i agree this is a local problem on OpenBSD, and should be discussed upstream, i think the INSTALL* macros should only be used when in an installation target (usually ran as root) and not during a build target. Especially since right after, a chmod is done to u+w.. i dont think itd be a huge issue if INSTALL_SCRIPT would be replaced by 'hardcoding' install -m 555.
Except that, as you said, this comes from upstream ICU.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.