#32782 closed enhancement (fixed)
Feature: add source only option to macports.conf
Reported by: | bm55b@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Low | Milestone: | MacPorts 2.1.0 |
Component: | base | Version: | 2.0.3 |
Keywords: | Cc: | mackyle@… | |
Port: |
Description
Version 2.x of macports will try to install binary packages from http://packages.macports.com. You can turn this off with the "-s" command line switch. The "portarchivemode" switch in macports.conf does not have any effect on the binary install behavior. Would like a macports.conf setting to turn off installs from http://packages.macports.com
Attachments (1)
Change History (7)
comment:1 Changed 13 years ago by jmroot (Joshua Root)
Component: | ports → base |
---|---|
Milestone: | → MacPorts Future |
Resolution: | → fixed |
Status: | new → closed |
comment:2 Changed 13 years ago by bm55b@…
macports.conf options is 'buildfromsource' with possible values 'never', 'always' or 'ifneeded'
comment:3 Changed 13 years ago by mackyle@…
I attempted to use this in MacPorts-2.0.3 by applying the r81540 diff to macports.tcl. The patch applies cleanly (no fuzz or offset).
However, the result does not work. The buildfromsource option in macports.conf is ignored.
But after making these changes to the r81540 diff to macports.tcl, it does work with MacPorts-2.0.3:
- Add buildfromsource to the bootstrap_options variable at the top of the file
- Where the patch has set macports::global_options (2 places) change it to set global_options instead
Looking at the trunk version of the entire macports.tcl file, I don't see how this can work on trunk either without buildfromsource in bootstrap_options.
Here is the patch against r81540 to make the changes mentioned above:
--- macports.tcl 2012-02-01 23:56:01.000000000 +0000 +++ macports.tcl.new 2012-02-02 00:49:17.000000000 +0000 @@ -42,7 +42,7 @@ namespace export bootstrap_options user_options portinterp_options open_mports ui_priorities port_phases variable bootstrap_options "\ portdbpath libpath binpath auto_path extra_env sources_conf prefix portdbformat \ - portarchivetype portautoclean \ + portarchivetype portautoclean buildfromsource \ porttrace portverbose keeplogs destroot_umask variants_conf rsync_server rsync_options \ rsync_dir startupitem_type place_worksymlink xcodeversion xcodebuildcmd \ mp_remote_url mp_remote_submit_url configureccache ccache_dir ccache_size configuredistcc configurepipe buildnicevalue buildmakejobs \ @@ -691,9 +691,9 @@ && ![info exists macports::global_options(ports_source_only)] && [info exists macports::buildfromsource]} { if {${macports::buildfromsource} == "never"} { - set macports::global_options(ports_binary_only) yes + set global_options(ports_binary_only) yes } elseif {${macports::buildfromsource} == "always"} { - set macports::global_options(ports_source_only) yes + set global_options(ports_source_only) yes } elseif {${macports::buildfromsource} != "ifneeded"} { ui_warn "'buildfromsource' set to unknown value '${macports::buildfromsource}', using 'ifneeded' instead" }
comment:5 Changed 13 years ago by mackyle@…
Whoops, accidentally left out one of the changes:
- Add global_options to the global line
Revised patch against r81540 macports.tcl is
--- macports.tcl 2012-02-01 23:56:01.000000000 +0000 +++ macports.tcl.new 2012-02-02 02:10:14.000000000 +0000 @@ -42,7 +42,7 @@ namespace export bootstrap_options user_options portinterp_options open_mports ui_priorities port_phases variable bootstrap_options "\ portdbpath libpath binpath auto_path extra_env sources_conf prefix portdbformat \ - portarchivetype portautoclean \ + portarchivetype portautoclean buildfromsource \ porttrace portverbose keeplogs destroot_umask variants_conf rsync_server rsync_options \ rsync_dir startupitem_type place_worksymlink xcodeversion xcodebuildcmd \ mp_remote_url mp_remote_submit_url configureccache ccache_dir ccache_size configuredistcc configurepipe buildnicevalue buildmakejobs \ @@ -438,7 +438,7 @@ macports::ui_init $priority } - global auto_path env tcl_platform + global auto_path env tcl_platform global_options global macports::autoconf::macports_conf_path global macports::macports_user_dir global macports::bootstrap_options @@ -691,9 +691,9 @@ && ![info exists macports::global_options(ports_source_only)] && [info exists macports::buildfromsource]} { if {${macports::buildfromsource} == "never"} { - set macports::global_options(ports_binary_only) yes + set global_options(ports_binary_only) yes } elseif {${macports::buildfromsource} == "always"} { - set macports::global_options(ports_source_only) yes + set global_options(ports_source_only) yes } elseif {${macports::buildfromsource} != "ifneeded"} { ui_warn "'buildfromsource' set to unknown value '${macports::buildfromsource}', using 'ifneeded' instead" }
Changed 13 years ago by mackyle@…
Attachment: | patch-buildfromsource-r81540.diff added |
---|
comment:6 Changed 13 years ago by jmroot (Joshua Root)
Milestone: | MacPorts Future → MacPorts 2.1.0 |
---|
Already done in trunk, r81540.