[MacPorts] #41796: binary package download ignores macosx_deployment_target set globally
MacPorts
noreply at macports.org
Fri Dec 13 09:08:43 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: |
------------------------+--------------------------------
Changes (by ryandesign@…):
* cc: william@… (removed)
* cc: ryandesign@… (added)
Old description:
> As evinced in https://trac.macports.org/ticket/41589 , the binary
> packages appear to be built with the macports variable
> {{{macosx_deployment_target}}} set to {{{10.9}}} (or unset, and built on
> a 10.9 machine).
>
> When a user has set this variable to have a different value, but is still
> allowing binary ports, the binary ports are downloaded even though they
> were built with a different value to that specified globally by the user
> in macports.conf. Thise leads to incompatibilities such as those
> mentioned above.
>
> Possible solutions to this:
>
> • Force {{{buildfromsource always}}} if {{{macosx_deployment_target}}} is
> set to other than the current system's OS version (this is very easy and
> has an overhead only for the user)
> • Include the macosx_deployment_target as part of the request data when
> fetching a binary package (this is harder, and could lead to a
> proliferation of binary packages, one for each possible value of
> {{{macosx_deployment_target}}}
>
> Either way, the current situation leads to ports being installed which do
> not honour the value set in {{{macports.conf}}}, which is clearly a bug.
>
> The workaround is to add a {{{buildfromsource always}}} line to
> {{{macports.conf}}} then rebuild your system with {{{sudo port -n upgrade
> --force installed}}} (for example).
New description:
As evinced in #41589 , the binary packages appear to be built with the
macports variable {{{macosx_deployment_target}}} set to {{{10.9}}} (or
unset, and built on a 10.9 machine).
When a user has set this variable to have a different value, but is still
allowing binary ports, the binary ports are downloaded even though they
were built with a different value to that specified globally by the user
in macports.conf. Thise leads to incompatibilities such as those mentioned
above.
Possible solutions to this:
* Force {{{buildfromsource always}}} if {{{macosx_deployment_target}}} is
set to other than the current system's OS version (this is very easy and
has an overhead only for the user)
* Include the macosx_deployment_target as part of the request data when
fetching a binary package (this is harder, and could lead to a
proliferation of binary packages, one for each possible value of
{{{macosx_deployment_target}}}
Either way, the current situation leads to ports being installed which do
not honour the value set in {{{macports.conf}}}, which is clearly a bug.
The workaround is to add a {{{buildfromsource always}}} line to
{{{macports.conf}}} then rebuild your system with {{{sudo port -n upgrade
--force installed}}} (for example).
--
Comment:
There are four buildslaves at this time, one each for 10.6, 10.7, 10.8,
and 10.9, each building binary packages for use only on that operating
system. Yes, `macosx_deployment_target` is unset in their macports.conf
files; in general, their macports.conf files are almost completely (or
likely even completely) default.
Yes, there are any number of changes the user could make on their
system—from the settings in their macports.conf to the variants they use
to the version of Xcode they use—which would make using the MacPorts
binary packages unadvisable; you've found another one of them. If we do
anything to fix this, it should be to disable binary packages when
`macosx_deployment_target` is non-default. Or we might do nothing, since
there's no particularly good or particularly well-supported reason why a
user should ever change `macosx_deployment_target` within MacPorts.
--
Ticket URL: <https://trac.macports.org/ticket/41796#comment:2>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list