[MacPorts] #41796: binary package download ignores macosx_deployment_target set globally
MacPorts
noreply at macports.org
Fri Dec 13 16:03:15 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 ryandesign@…):
Replying to [comment:4 william@…]:
> I think there are good reasons to want to build packages which can be
used on older versions of Mac OS, and there's a variable defined in the
Portfile reference which does appear to achieve this effect when set in
the global config file with some success!
>
> 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.
> How can it be useful in any particular portfile if it is not useful when
used globally? I am not actually suggesting that this is done, though,
since that would make it harder for me to do what I'm doing (!), just
wondering what the use-case is that means it is still there in macports
(or is its presence just historical?).
The variable is used in portfiles. It serves a purpose there. Certain
individual ports may not be compatible with certain deployment targets or
SDKs. For example, textmate2 apparently fails to build on 10.8 when the
deployment target is set to 10.8, therefore the port sets
"macosx_deployment_target 10.7". A very small number of ports have such
problems so selective application of macosx_deployment_target is
sufficient.
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.
> 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.
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.
--
Ticket URL: <https://trac.macports.org/ticket/41796#comment:5>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list