[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