[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