source: trunk/base/NEWS @ 135689

Last change on this file since 135689 was 97072, checked in by and.damore@…, 7 years ago

base: fixed typo

  • Property svn:eol-style set to native
File size: 14.4 KB
1== Overview of changes from MacPorts 2.0.4 to 2.1.0 ==
3# For regular users:
5*) New 'rev-upgrade' action that checks for and rebuilds ports that may have
6   become incorrectly linked when a dependency was upgraded to a new,
7   binary-incompatible version. This runs automatically after upgrades and
8   installs by default, and can be turned off or configured to only report
9   problems in macports.conf.
11*) The pkg and mpkg targets will create flat packages on 10.6+.
13*) Build-time dependencies will no longer be installed if a prebuilt
14   archive is available for download (and port is configured to use it).
16*) Config file archive_sites.conf can be used to download archives from
17   custom locations.
19*) 'buildfromsource' macports.conf option allows permanently choosing
20   source-only or binary-only mode.
22*) New macports.conf options 'host_blacklist' and 'preferred_hosts', for
23   controlling which download hosts will be used.
25# For Portfile writers:
27*) New -W option for reinplace that sets a base directory for all file
28   arguments.
30*) Livecheck can now find multiple regex matches on each line.
32*) license_noconflict option can be used to override automatic license
33   compatibility checks.
35*) compiler.whitelist, compiler.blacklist, and compiler.fallback options allow
36   simpler, detailed control over which compilers are used to build ports.
39== Overview of changes from MacPorts 1.9.2 to 2.0.0 ==
41# For regular users:
43*) Downloaded archives are now checked for integrity using digital signatures.
44   New pubkeys.conf file allows configuring keys to trust.
46*) Actions can be abbreviated to an unambiguous prefix of the full name.
48*) Ports that create StartupItems (aka launchd plists) should now be
49   installable by unprivileged users.
51*) Port images are now stored as archives. Archive mode is now effectively
52   always on. Direct mode and the flat registry format are no longer
53   available. Conversion will happen automatically.
55# For Portfile writers:
57*) Multiple ports can now be defined in one Portfile using the 'subport'
58   procedure.
60*) New option 'add_users' can be set to ensure that the listed users are
61   created at the right times during the install process.
63*) SHA256 checksums are now supported.
65== Overview of changes from MacPorts 1.8.2 to 1.9.0 ==
67# For regular users:
69*) All output is now logged to a file, whose location will be shown if a port
70   target fails. This should be attached to bug reports. The new 'log' action
71   can also be used to view the log for a port.
72*) Command line options can be abbreviated if unambiguous.
73*) New actions: rdeps, rdependents, setrequested, unsetrequested
74*) --follow-dependencies option for uninstall (ports with the requested flag
75   set or with other dependents are skipped).
76*) New pseudo-ports and selectors: requested, unrequested, leaves, depof:,
77   rdepof:, dependentof:, rdependentof:.
78*) Architectures of dependencies are checked before install, and in many cases
79   will be automatically fixed by upgrading with +universal.
80*) New sqlite registry format which is faster and lacks some of the old
81   format's inconvenient limitations.
82*) Explicitly deselected variants (e.g. -foo) are now recorded, so they will
83   not be set to + when upgrading if +foo appears in variants.conf or
84   the port's default_variants.
86# For Portfile writers:
88*) New os.subplatform variable.
89*) New configure.ld_archflags option to match configure.cc_archflags et al.
90*) 'platform' acts like an 'if' statement rather than a variant.
91*) New supported_archs option for indicating a port only supports certain
92   archs or is noarch.
93*) pre-/post-deactivate and pre-/post-uninstall procedures can now be used,
94   and pre-/post-activate procedures are run every time the port is activated,
95   not just the first time when it is installed.
97== Overview of changes from MacPorts 1.7.1 to 1.8.0 ==
99# For regular users:
101*) Compatible with Mac OS X 10.6 Snow Leopard, requires at least 10.4 Tiger
102*) CPU architecture to build for is now configurable
103*) Performance and memory usage improvements
104*) New -y option for dry-run
105*) 'port search' has many new options that make it more flexible
106*) 'port upgrade' now follows the right dependencies when variants change them
107*) 'port info' and 'port variants' indicate selected and default variants;
108   'port variants' also shows conflicts and dependencies between variants
109*) A port can be marked as being replaced by another port; upgrading will
110   perform the replacement
111*) upgrade accepts new options: --force, --enforce-variants, --no-replace
112*) Ports can be marked as conflicting, and conflicts will be detected before
113   the install process starts
114*) Proxy information can now be obtained from System Preferences and from
115   macports.conf
116*) Activating a port will now first deactivate any other version of the same
117   port that is already active
118*) MacPorts can be configured to drop root privileges when not needed
119*) port(1) will exit with an appropriate status code when an error is
120   encountered (use -p to continue despite errors)
122# For Portfile writers:
124*) New options: replaced_by, conflicts, depends_fetch, depends_extract, license
125*) build_arch variable indicates which architecture should be targeted. Flags
126   used to implement this are configured per-compiler, for example,
127   configure.cc_archflags will be passed to in CFLAGS
128*) Dependencies can be satisfied by ports that are installed but not
129   available in the ports tree
130*) Deleting all the contents of an option no longer unsets the option entirely
131*) Using an alternative fetch or extract type now adds appropriate
132   dependencies automatically, e.g. 'use_zip yes' adds a dep on unzip, and
133   'fetch.type svn' adds a dep on subversion
134*) Running phases prior to install should now work reliably when the port is
135   already installed
137== Overview of changes from MacPorts 1.6.0 to 1.7.0 ==
139# For regular users:
141*) The resources directory (containing port group information and the mirror sites) has been moved into the ports tree, so a new MacPorts release is no longer needed to update these items
142*) The error message from 'port upgrade outdated' when no ports are outdated is much improved
143*) Improvement on handling of MacPorts configuration files (global and user-defined options)
144*) Case-insensitive issues have been fixed
145*) 'port help' is improved
146*) The MacPorts mirror,, is automatically checked when the normal sites fail to respond
147*) The search command of port now searches the name, description, and long_description fields
148*) Numerous improvements to dependency handling
149*) Work around a bug in 10.5's Tcl environment handling
150*) Fetching distfiles now tries to ping all mirror sites first in an attempt to pick the best source
151*) A new option was added to uninstall: --recursive
152*) The output for the port commands info, deps, dependents, and search has been improved
153*) Two new options to selfupdate: --pretend and --nosync
154*) A platform command has been added to port to display your platform information
155*) A suitable message is output when the requested port is not installed when polling its dependents;
156*) Fixed the "Error: Unable to open port: invalid command name "ui_prefix"" runtime error on Panther;
157*) Fixed the "Error: Unable to open port: invalid command name "ui_channels"" runtime error on Panther;
158*) Fixed a MacPorts, Panther specific build failure due to missing sqlite headers on that platform;
159*) Fixed a MacPorts build failure when building itself in universal fashion;
162# For Portfile writers:
164*) ruby port group adds a new parameter to ruby.setup for multiple ruby version support
165*) New use_dmg option allows DMG-format distfiles
166*) ruby.setup (part of the ruby port group) now takes a fetch type
167*) git has been added as a valid fetch.type
168*) On Mac OS X, MACOSX_DEPLOYMENT_TARGET is now always set to workaround various issues
169*) Several universal-specific variables added to the configure.* group
170*) A merge function is now available for easier merging of multiple architectures for universal support
171*) Pre-fabricated statements with correct checksums are output when in verbose mode if the existing ones in the Portfile are incorrect;
172*) "port lint" now recognizes non-canonical modelines;
173*) Added a 'configure.pipe' Portfile option for using pipes rather than intermediate files when compiling C/C++ based ports;
177== Overview of changes from MacPorts 1.5.2 to 1.6.0 ==
179# For regular usage:
181*) Revived and thoroughly refreshed web presence at , with more improvements still on the way;
182*) New project guide at
183*) Fixed the "upgrade" target of the port(1) command to properly handle installed versions beginning with letters;
184*) Improved the "variants" target of the port(1) command to behave like the "info" target to poll the requested Portfile directly
185    rather than the index for more up-to-date information, while also providing a --index flag for legacy behavior;
186*) Fixed a bug by which a user-specific 'macports.conf' file would not be read;
187*) Tightened security by installing MacPorts in 0755 mode (no write permission for group and others) by default;
188*) Added 'none' as a possible option for supported types of startupitems scripts;
189*) Disabled readline support in interactive mode of the port(1) command by deafult;
190*) Fixed a bug by which the "variants" target of the port(1) command would spit out an error backtrace to the terminal when no match
191    was found for the requested port;
192*) Revamped the "postflight" script that takes care of setting a MacPorts-compatible shell environment after installation from our
193    "pkg" is complete; it now gracefully handles the addition of PATH, MANPATH and DISPLAY environment variables separately and only
194    if strictly needed, properly backing up appropriate shell configuration files before proceeding to modify them
195    ( for more information);
198# Individual port-building-related improvements:
200*) Eugene Pimenov's GSoC2007 work on improving "trace mode" for the building of ports in clean environments,
201 ;
202*) Added 'bsdmake' and 'gnumake' defaults for building ports on the FreeBSD and Linux platforms;
203*) Added 'configureccache' and 'configuredistcc' configuration options to the main 'macports.conf' for distributed
204    builds (defaulting to no);
205*) Improved building of configure-based universal ports on Leopard;
206*) Fixed a bug by which the 'universal' variant would disappear if a 'macosx' variant was selected;
207*) Added a 'macosx_deployment_target' option to the main 'macports.conf' file for ports that benefit from this Mac OS X specific flag;
208*) Added a 'configurepipe' option to the main 'macports.conf' file for using pipes rather than intermediate files when compiling C/C++
209    based ports;
210*) Removed LD_PREBIND & LD_PREBIND_ALLOW_OVERLAP variables from MacPorts' environment to prevent prebinding of binaries, which can be harmful
211    on Tiger and above;
214# Packaging-related improvements:
216*) Created pkg's no longer have /etc, /var/ or /tmp directories in them;
217*) Fixed a bug by which all .mpkg packages were missing their welcome page;
218*) Fixed a bug by which HTML contents were written as a pkg's Welcome.rtf file, causing it to not display at all;
219*) Made the homepage clickable in a pkg's welcoming screen;
220*) Added support for lzma compression for archives;
221*) Improved pkg & dmg creation on Leopard, for both Intel and PowerPC platforms;
222*) Added an 'mdmg' target, for the creation of a dmg for a port and its dependencies;
223*) Dramatically improved performace of the port(1) command's Portfile level actions like "file", "dir", "work" and "url"
226# For Portfile writers:
228*) Added more compiler suites as options to the 'configure.compiler' Portfile option;
229*) Added 'configure.fflags' 'configure.fcflags' 'configure.f90flags' Portfile options for Fortran based ports;
230*) Added 'configure.javac' and 'configure.classpath' Portfile options for Java ports;
231*) Added 'configure.objc' 'configure.objcflags' Portfile options for Objective-C based ports;
232*) Added 'build.nice' and '' Portfile options for parallel builds and build prioritizing;
233*) Added 'startupitem.netchange' boolean flag Portfile option for generated startup scripts;
234*) Added a "lint" target to the port(1) command, for Portfile verification and beautification;
235*) Added Portfile group code for Python 3.0 based ports and deprecated the plain 'python' group code;
236*) Added generic GNU livecheck rules;
237*) The "x86" platform has been normalized as "i386";
238*) Added a 'use_parallel_build' Portfile option for declaring if a particular port can be built in parallel through make's -j flag,
239    defaulting to no;
240*) Added 'configure.awk', 'configure.bison', 'configure.pkg_config', 'configure.pkg_config_path' Portfile options to point to the
241    relevant programs/paths to use;
242*) Added a 'extract.mkdir' Portfile option to better deal with so-called "tar bombs";
245# For MacPorts scripting:
247*) Moved the 'ui_isset' and 'global_option_isset' Tcl procedures for testing of the UI and global options to the macports1.0 API
248    sparing its clients from having to implement them;
249*) Improved defaults for implicit ui_prefix and ui_channels behaviour at the macports1.0 layer;
252# Miscellaneous:
254*) Added MacPorts-configure time checks for Mac OS X and Xcode versions and warnings for old versions;
255*) Added a 'user-agent' parameters to our libcurl-based fetching of sources for sites that require a user agent;
256*) 'livecheck' regular expressions are now checked against each entry in the listed master_site in the Portfile;
257*) Fixed regexp in livecheck code to work when there is both a tag and a subdir in the mirror uri;
258*) Improved the integrated "daemondo" program to better handle the death of startupitem-based programs;
259*) Added a "--restart-wait=n" argument to the integrated "daemondo" program to control the number of seconds to wait during restart of
260    the process it is monitoring, defaulting to 3;
261*) Enabled building of our objc bridge against GNUStep on platforms other than Mac OS X;
262*) Added support for packing of MacPorts itself on FreeBSD and Fedora platforms;
263*) Added to our list of SourceForge-based mirrors for sources fetching;
264*) Added http mirror sites for the postgresql mirrors list;
265*) Added the mirror to the GNU mirrors list;
266*) Fixed a bug by which paths with embedded spaces would cause the "dp2mp-move" upgrade code to fail when trying to find user-specific
267    'macports.conf' files;
Note: See TracBrowser for help on using the repository browser.