[MacPorts] #41796: binary package download ignores macosx_deployment_target set globally
MacPorts
noreply at macports.org
Mon Dec 16 06:35:10 PST 2013
#41796: binary package download ignores macosx_deployment_target set globally
------------------------+--------------------------------
Reporter: william@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.2.1
Resolution: | Keywords:
Port: |
------------------------+--------------------------------
Comment (by william@…):
Replying to [comment:5 ryandesign@…]:
> Replying to [comment:4 william@…]:
> > If it is really the case that this should actually not be attempted
under any circumstances, I'd suggest that macosx_deployment_target should
be removed as a MacPorts variable.
>
> The reason it was added as a global option is because it was requested
in #19875. However it was never advertised or documented and remains an
unsupported option for now. This capability is not in high demand.
It is documented in “man portfile” without that caveat, thus:
{{{
macosx_deployment_target
Value for MACOSX_DEPLOYMENT_TARGET environment variable when
invoking the configure script.
Type: optional
Default: (current OS version)
Example:
macosx_deployment_target 10.4
}}}
[…]
> On the other hand, a probably much larger number of ports would have
problems building for a non-default deployment target, and many ports
probably ignore the setting entirely, so setting it globally to a non-
default value would probably cause many problems.
Understood … from my (not deep) understanding it's necessary for a port to
understand how weak linking works in order to work correctly when built
using an SDK for Mac OS 10.X, with a deployment target of Mac OS 10.Y,
where Y < X, so ports which don't (of which I expect there are many!) may
fail, where they make calls to any Mac OS system library which contains a
symbol which is new or has changed between OS 10.Y and OS 10.X.
> > Something which catches the attempted use of binary packages when in
fact the user's macports.conf means (through macosx_deployment_target or
any of the other (many, as you say) configurations which would mean they
“don't match”) and prevents their use (or just tells the user that she
''must'' add the {{{buildfromsource always}}} in order to use whichever
option it is, would be useful, I think. Should I open an enhancement
ticket to suggest this away from these various other reports?
>
> We already do this, for prefix, applications_dir, frameworks_dir, and
portarchivetype. See archive_sites.tcl. It is not so easy to add
macosx_deployment_target to this list because its default value varies by
OS X version, so there is no single default value that we could put in
archive_sites.tcl, like we do for the other variables.
OK, fair enough :)
> Other macports.conf settings that would presumably influence the final
product that are currently not taken into consideration when deciding
whether to allow a binary download include destroot_umask,
startupitem_type, amd startupitem_install.
>
> For now, if you are changing those values, you should set
"buildfromsource always" in macports.conf, as you found.
Is it possible to get something added to http://guide.macports.org/ and/or
the man pages for port / portfile / macports.conf to mention this as a way
to help others out in the future? At the moment I see:
{{{
configure.macosx_deployment_target, configure.macosx_deployment_target-
append, configure.macosx_deployment_target-delete
TODO: add description
Default: ???
Example:
TODO: add example
}}}
I guess this knowledge should either appear in the “buildfromsource”
section of the documentation, or in that for each of the variables which
can cause problems of this type when non-default.
Thanks for the detailed explanation :)
--
Ticket URL: <https://trac.macports.org/ticket/41796#comment:6>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list