Files
macports-base/ChangeLog
2026-03-17 19:52:41 -04:00

3368 lines
142 KiB
Plaintext

###
# This is a log of major user-visible changes in each MacPorts release.
###
Release 2.13.0 (unreleased)
- Added a -T flag to prepend ISO 8601 timestamps to each line of
output, and elapsed time logging for each phase.
(#2020, herbygillot in 037d168)
Release 2.12.4 (2026-03-18 by jmr)
- Fixed occasional lchown errors when upgrading ports.
(#73514, jmr in 07ff611)
- Fixed occasional permissions errors when using a ports tree in a
git repo. (pguyot in b4709d0)
- Fixed 'port deps' error with unindexed ports. (jmr in 2dff719)
- Added --with-git option to configure.
(#72451, herbygillot in 3ea4d20)
Release 2.12.3 (2026-03-09 by jmr)
- Fixed checksum mismatch when ports that share one or more
distfiles are fetched by an action. (#73587, jmr in c4d2176)
- Fixed duplicate "Upgrading already installed dependencies"
message. (jmr in dcbe314)
Release 2.12.2 (2026-02-28 by jmr)
- Files in the destroot owned by the unprivileged macports user are
now chowned to ${install.user}. (#73516, jmr in a1223b7, fc5a3d6)
- Fixed error when starting archive fetch under some circumstances.
(jmr in 4508cb3)
- Fixed unnecessarily downloading an archive when a port has
already been destrooted locally. (jmr in bbca8be)
Release 2.12.1 (2026-02-06 by jmr)
- Fixed error extracting ports synced with rsync on systems with an
older version of tar. (#73467, jmr in cf8e6d5)
- Fixed 'port upgrade' not respecting the -p option.
(#73472, jmr in c81f3d6)
- Enabled signature verification for the daily tarball, now that a
signature is being published for it. (jmr in a472c5a)
- Enabled threaded fetching for 'port mirror'. (jmr in be806ac)
Release 2.12.0 (2026-02-03 by jmr)
- Files are now downloaded in background threads, so downloads
needed for upcoming port installations can progress while other
ports are being installed. The new fetch_threads macports.conf
option controls the maximum number of simultaneous downloads.
(jmr in 632eab5)
- Performance of dependency calculation is improved by checking
availability of archives in background threads, and by processing
ports that don't need that check first.
(jmr in 2eed186, e668a7b, e83422f)
- 'port upgrade' now displays the list of ports that will be
upgraded or installed before starting, and asks for confirmation
if running interactively. (jmr in e3def17)
- 'port upgrade' now has a progress counter showing the total
number of ports to be upgraded and the current port's position in
the list. (#5001, jmr in 82964b8)
- Syncing the ports tree via rsync should now perform better by
only extracting updated files from the tarball. (jmr in df4d61b)
- Updated the bundled Tcl to 8.6.17. (jmr in 1555f20)
- The use_* options related to the type of distfile (use_bzip2,
use_xz, etc) have been reworked. Setting one of them now unsets
the rest. The extract.cmd, extract.pre_args, extract.post_args,
and extract.suffix options now have dynamic defaults based on
which of the use_* options are set (if any). Extract dependencies
are now added in a callback at the end of Portfile parsing,
rather than immediately on setting a use_* option, so the
dependencies reflect the final option values.
(#64960, jmr in 4d1304b)
- Timestamps in logs now have millisecond precision.
(#72600, jmr in 871d039)
- Fixed error when running 'port info --index --fullname'.
(jmr in b413e63)
Release 2.11.6 (2025-10-29 by jmr)
- Fixed possible failure of (x)install -d when something else
creates the directory while it is running.
(#72886, jmr in 97aedd9)
- Fixed sandbox error when building with Xcode on Mac OS X 10.5.
(#72940, jmr in 81ada26)
- Prefer to use /usr/bin/bsdtar for HFS Compression when possible,
since the libarchive port doesn't work while its dependencies
are being upgraded. (#73103, jmr in c391f3f)
- Fixed permissions errors due to incorrect group membership
management. (#73160, jmr in 4497293)
Release 2.11.5 (2025-08-18 by jmr)
- Fixed unexpected behaviour of (x)install commands on APFS in
some cases. (#72850, jmr in ea247a7, d8cfd53)
- Fixed a Makefile race condition that could cause installing
MacPorts from source to fail sometimes (including when running
selfupdate.) (#72802, jmr in 85db375)
- Fixed incorrect behaviour of 'portindex -p' when not using an
override file. (#72785, jmr in 1b58a9d)
- Fixed the last resort entry in release_version_urls used by
selfupdate, which was pointing to the wrong branch and so would
usually not indicate that a new version is available.
(#72823, jmr in 05122e1)
Release 2.11.4 (2025-08-01 by jmr)
- Fixed incorrect handling of existing work directories created by
older MacPorts versions in some cases. (#72740, jmr in bc9bfca)
- 'port lint' no longer incorrectly tells you to use the
compiler_blacklist_versions portgroup. (jmr in 46424c2)
- Fixed error when running 'port mpkg' on some ports.
(jmr in 07950fc)
- Fixed error when building base for a prefix that contains one or
more symlinks. (jmr in 2a7829d)
Release 2.11.3 (2025-07-23 by jmr)
- $workpath is normalized again, since build systems may not apply
normalization consistently. The path is now deterministic, which
means it has to be longer to avoid collisions, though it should
still be shorter than pre-2.11, especially with longer prefixes.
(#72715, jmr in f3369be)
Release 2.11.2 (2025-07-18 by jmr)
- Installing MacPorts from source now uses its own copy of
install(1) on systems that support APFS. As well as improving
performance, this also seems to work around an apparent bug in
the macOS filesystem cache that could cause errors during or
right after selfupdate. (#72689, jmr in 23e60c7)
- The value of $workpath is no longer fully normalized, so that it
and other options based on it (such as $destroot) will remain
consistent before and after the path is created.
(#72701, jmr in 5500c4a)
Release 2.11.1 (2025-07-14 by jmr)
- A warning is printed if the home directory of the macports user
can't be updated, rather than installation failing.
(#72676, jmr in d1e4f04, 639d403)
- The xinstall command no longer fails on macOS 10.12.
(#72680, jmr in 22a8d57)
- Syncing will now create ${prefix}/var/macports/home if it doesn't
exist, to avoid failing. (#72681, jmr in bda1cc8)
- Syncing now adjusts the ownership and permissions on any existing
PortIndex if needed to avoid the portindex command failing when
run unprivileged. (#72677, jmr in 2810b15)
Release 2.11.0 (2025-07-09 by jmr)
- MacPorts now requires Mac OS X 10.5 or later.
- 'port reclaim' now has an option to keep unrequested ports that
are build-time dependencies of requested ports.
(#60754, jmr in bbc10c2)
- 'port reclaim' will now offer to delete old registry snapshots.
(jmr in 6b5f407)
- 'port snapshot' can now export and import snapshots in JSON
format with the new '--export' and '--import' options.
(#16808, cal in 4d9e8a1, f745b45)
- 'port migrate' and 'port restore' will now check if ports set
replaced_by and install the replacement instead. (jmr in 0ff09a1)
- The interactive message confirming the dependencies to be
installed now includes their variants. (jmr in 8d1fbf2)
- 'port mpkg' now checks architectures of dependencies and enables
the universal variant if needed. (#34177, jmr in a83bf73)
- Added 'git' livecheck.type. (makr in c1c02d8)
- compiler.blacklist can now include version comparisons. This
functionality was previously provided by a PortGroup.
(jmr in 89035db)
- Lower-case versions of environment variables controlling network
proxy use are now accepted. (jmr in 5e9ddc1)
- Interactive confirmation will be requested if it looks like all
active ports are about to be uninstalled.
(#46229, jmr in 85438c2)
- 'port uninstall' will once again allow interactively selecting
multiple versions to uninstall when there is ambiguity.
(#70922, jmr in 5d107c1)
- 'port archive' will once again always ensure that an archive
exists for the specified ports, even if port images are stored as
directories on your system. If you just want to install without
activating, use 'port install --no-activate'. (jmr in e372075)
- Signify signatures are supported for the ports tree and archives.
(jmr in d915971, ce4af0f)
- 'port lint' no longer warns about patch filenames that end in a
suffix indicating compression (e.g. .gz).
(#70428, jmr in acc1304)
- 'port diagnose' no longer fails when trying to check the
permissions on directories if they don't exist.
(#72087, jmr in 0a2b468)
- Installing without activating will no longer fail when there is a
declared conflict. (jmr in f17785d)
- 'port rev-upgrade --id-loadcmd-check' no longer fails on install
names containing @rpath or @executable_path.
(#67534, jmr in 34a8990)
- Build directory names are now much shorter to help avoid problems
with some build systems and long paths. A symlink is created with
the previous naming scheme. (#70539, jmr in 9911d29)
- Many copy operations now use clonefile if possible.
(jmr in 3da9cd2)
- Updated the bundled Tcl to 8.6.16. (jmr in 3954f08)
- Updated tcllib to 2.0, including tcllibc.
(jmr in d82c8c9, 7bf1511)
- Changed 'port-tclsh' to a binary instead of a wrapper script to
fix mpstats.
(#72530, cal in 186667728, 5b91e31cc)
Release 2.10.7 (2025-05-05 by jmr)
- Fixed error when installing a port that needs +universal added to
one of its already-installed dependencies.
(#72431, jmr in cf34a5e)
Release 2.10.6 (2025-04-29 by jmr)
- Fixed incorrect handling of master_site_local and
archive_site_local. (#57720, jmr in 00aab6a)
- Fixed error when installing a port that needs one of its
dependencies to be universal and using a PortIndex that was
generated on a machine where that dependency does not support a
universal variant. (jmr in 31f7c7f)
- Improved portindex startup time. (jmr in bdeaa81)
- Changed 'port-tclsh' to a wrapper script instead of a symlink to
fix the Tcl library search path.
(#72359, cal in ddf08fb88, b951449b7)
Release 2.10.5 (2024-11-23 by jmr)
- Fixed error when the Command Line Tools receipt is missing.
(#71339, jmr in dab32c5)
- The darwintrace library used by trace mode no longer aborts when
it encounters an unreadable symlink. (cal in e3eed16)
- Fixed CVE-2024-11681. Thanks to Simon Scannell of Google's Cloud
Vulnerability Research team. (jmr in 906525f)
Release 2.10.4 (2024-11-01 by jmr)
- Fixed destroot_finish error on some older macOS versions.
(#71217, jmr in aa60115)
Release 2.10.3 (2024-10-31 by jmr)
- On Apple Silicon Macs, the port command will now ensure that it
is running natively by relaunching itself if it is started under
Rosetta 2 and build_arch is not set to x86_64 in macports.conf.
Migration is no longer required when MacPorts base is x86_64
only, provided that build_arch is set to x86_64 in macports.conf.
This will ensure that most users are running natively while still
allowing a fully emulated x86_64 installation if desired.
(jmr in eee437c, 425b158)
- Fixed error trying to create the history file in shell mode when
~/.macports doesn't exist yet. (#71143, jmr in e788103)
- Added mitigation for a rarely seen macOS bug affecting handling
of sparse files. (#67336, jmr in af49e24)
- Silenced error message from running 'pragma OPTIMIZE' on the
registry database without write access. (#71017, jmr in c219570)
- Fixed recreating the destroot from an installed port image that
is a directory, as needed by some targets like mpkg.
(#71011, jmr in c3c817e)
- Fixed force activation of conflicting ports. (jmr in 1f52c5a)
Release 2.10.2 (2024-10-01 by jmr)
- Fixed 'port restore' erroring out when a Portfile failed to
parse. (#70903, jmr in 202d58b)
- Worked around a bug in the version of libcurl shipped in recent
macOS versions that was causing crashes when downloading from FTP
sites. (#70764, jmr in ff881a5, 1ac551f)
- 'port snapshot --list' now respects the -q option.
(jmr in e756756)
- Fixed expressions involving the complement operator ("and not")
causing an error when the right hand side evaluated to empty.
(jmr in 96520f2)
- Worked around a bug in Tiger's gnutar that caused an error when
installing from some archives generated on newer systems.
(#70622, jmr in d54e1de)
Release 2.10.1 (2024-08-16 by jmr)
- Fixed issues migrating when running under Rosetta 2 on
Apple Silicon. (#70512, jmr in 567fa44, e291303, 9eb441f)
- Fixed printing the list of installed versions twice when an
ambiguous 'port activate' is run. (#70514, jmr in d27484c)
- The default build_arch is now always arm64 when running on Apple
Silicon hardware, even under Rosetta 2. (#61750, jmr in 05cd570)
Release 2.10.0 (2024-08-07 by jmr)
- 'port space' no longer overcounts the space used by ports that
install links. (#66526, jmr in 11662bd)
- The number of outdated ports is printed after running
'port selfupdate'. (#33820, thelastlin in 4ae6d98)
- 'port selfupdate' now checks whether MacPorts base is outdated by
downloading a small file, and only downloads and extracts the
source code (via http(s)) if a new version needs to be installed.
Integrity of the source is checked using OpenBSD's signify(1).
The old rsync method is used as a fallback if the new method
fails. (#38265, cal in dd3acc4)
- Line continuation is supported in macports.conf by ending lines
with a backslash. (jmr in b86ef1e)
- Ports' files are now activated using clonefile() when on a
filesystem that supports cloning (such as APFS). This should
perform better and use less storage for active ports. Port images
are stored as directories rather than archives in this case. A
'portimage_mode' option has been added to macports.conf to
enable changing which method is used. (#69555, jmr in 4504942)
- The middle part of bin:, lib:, and path: depspecs is no longer
interpreted as a regex. This was mostly undocumented, almost
never used, and made it difficult to use paths containing
characters with special meaning in regexes.
(#69585, jmr in e0c1226)
- Added 'port migrate' action, which can be used after moving to a
new major OS version or CPU architecture to reinstall MacPorts
base and installed ports if needed. (umeshksingla in 6e2f453,
cal in 3f83ad1, 4317a32, f40f655, 72478b1 etc.)
- Added -t and -N options to the default patch.pre_args, to prevent
patch(1) on recent macOS versions from silently reverse-applying
already-applied patches. (vallon in b1f59d8)
- Updated the bundled Tcl to 8.6.14. (jmr in bc46d68)
- Added test.asroot option. (jmr in 6f0de6c)
- Prevented 'port rdeps --full' from looping infinitely when there
are circular dependencies. (#62711, jmr in 49df406)
- Performance improvements for many operations, particularly
boolean expressions and Portfile parsing. (jmr in a28e81c,
169b1ed, 2f3d072, c97e75d, 341d9a0, 46bc1af, etc.)
- Add progress bars to slow activation and deactivation operations.
(cal in b78e320b1, 5e669e4a0, 31c285116, cb3305837, effd43526)
Release 2.9.3 (2024-04-04 by jmr)
- Fixed error due to insufficient privileges to create the work
symlink in some circumstances. (jmr in 51511c8)
Release 2.9.2 (2024-04-02 by jmr)
- Fixed built-in architecture test failing on unreadable files.
(#69478, jmr in e3468c5)
- Fixed some issues that could occur if settings like 'prefix'
contained symlinks, by fully resolving and normalizing paths read
from the config file. (#69327, jmr in b69f0cf)
- Fixed privileges sometimes not being dropped for test target.
(jmr in d304c0a)
Release 2.9.1 (2024-01-31 by jmr)
- Fixed installation of unneeded build-time dependencies when using
source-only mode. (cal in 5988c00)
Release 2.9.0 (2024-01-24 by jmr)
- Upgrade will now update registry metadata if needed for ports
that are not outdated. This should hopefully cut down on revision
increases requiring a rebuild just to do things like add or
remove dependencies. (jmr in bec110b)
- Added new option 'startupitem.logfile.stderr'.
(#67955, mascguy in e70a512)
- Many single-letter command line options should now work when
given after the action name, and apply only to that action. A few
like -N can't easily be turned on and off internally, so if in
doubt, keep putting single-letter options before the action.
(jmr in aec0601)
- Ports that set platforms containing 'any' are now not considered
outdated after major OS updates. (#68256, jmr in 1b4db00)
- Dependencies installed for the first time when upgrading a port
no longer inherit all variants from the dependent port. Arch
checking is now done in this case so +universal is added to the
dependency iff needed. (#67637, jmr in 7be167c)
- Prevented rev-upgrade from complaining about weakly-linked libs
that are not present. (#52700, chrstphrchvz in 77e333a)
- Avoid installing build-time dependencies when force-upgrading an
installed port for which a binary archive will be used.
(#67017, jmr in a9597dc)
- Fixed error when running upgrade with -R and -u options.
(#68019, jmr in 980a5c1)
- Fixed rev-upgrade potentially trying to access registry entries
that have been uninstalled as a result of a rebuild.
(#66186, jmr in 1abd73a)
- Fixed missing make command potentially causing some ports to fail
to parse. (#60881, jmr in 1b4e6a1)
- Prevented destroot.keepdirs from creating files outside the
destroot. (#55673, jmr in 8db11c8)
- Running 'port install' on a port that is already installed will
set the requested flag for that port. (#55085, jmr in 7ed853d)
- Fixed trace mode on Intel macOS 13. (#66358, cal in 4a1b0c7)
- Fixed incorrect trace mode handling of setuid/setgid binaries.
(cal in 9cc9afc)
- Fixed the deactivate and uninstall actions sometimes not handling
multiple ports in correct dependency order if one or more of them
was specified with non-canonical case. (#60446, jmr in 772a9cc)
- Fixed port names that differ only in case not being considered
to be the same when evaulating boolean expressions.
(#50518, jmr in bd02a2f)
- Fixed some issues that could occur in the unusual case that a
mirror has an archive but not its corresponding signature.
(jmr in a774938, f7828b8)
- If the macports user has an incorrect home directory set somehow,
the installer should now fix it. (#49101, jmr in 128e8ce)
- Skip vacuuming the registry database on shutdown (after
uninstalling one or more ports) if it would not save significant
space. (jmr in c82a269)
- Clean up the SQLite write-ahead log file when closing the
registry. (jmr in 9bb06b9)
- Added a simple default test phase for all ports, which currently
just checks the architectures of installed files. 'test.run yes'
enables the tests defined by the Portfile, as before. It should
always be safe to run 'port test' now, and if it fails it means
a test didn't pass. (jmr in ddc2655)
- Using multiple threads for portindex. (jmr in f00bf80)
Release 2.8.1 (2023-01-31 by jmr)
- Fixed 'port lint' complaining about 'platforms any'.
(jmr in 84d8683)
- Specifiers like {darwin any >= 10} are now allowed in platforms.
This means one archive will be shared by all darwin versions, but
it only works on the specified versions.
(jmr in 3d9856b)
- The -stdlib option is now passed to GCC when supported.
(jonesc in ebd2261)
- Fixed the PortIndex not getting correct known_fail values based
on the platforms option when using 'portindex -p'.
(#66301, jmr in a82021a)
- Updated the bundled Tcl to 8.6.13. (jmr in 9edb436)
- No longer automatically creating a symlink in $workpath when the
expected worksrcdir doesn't exist, as this broke some ports.
Either set worksrcdir correctly, or if it can't be determined in
advance, set the new 'extract.rename' option to 'yes'.
(jmr in ffdb7d9, 8ae0d73)
- Added --no-test option for 'port rdeps' to exclude depends_test.
(jmr in f1de2b6)
Release 2.8.0 (2022-10-20 by jmr)
- Fixed an error that occurred in the very specific but apparently
somewhat common circumstances where a port was installed from a
binary archive but failed to activate (usually because of a
conflict with an existing file), and then the port was
uninstalled, and later installed again without cleaning it in
between. (#55445, jmr in bdd0a13)
- Added startupitem.custom_file option, which can be used to
specify the path to an existing .plist file that should be
installed instead of generating one. (jmr in dadc533)
- The platforms option can now indicate which OS versions a port
works on, and known_fail is automatically set on other versions.
(#15712, jmr in 2866618)
- The user is now informed before installing if a port sets
known_fail, with the option to try installing anyway if you
really want to. (#60566, jmr in d863a7e, 3406c5d)
- Attempting to install a port with replaced_by set will now
install the replacement instead. (jmr in 4da66a2)
- Fixed new dependencies installed when upgrading a requested port
being incorrectly marked as requested. (#60648, jmr in 31e10a8)
- The SQLite included with Tcl is now used instead of the system
version. (jmr in 11d2b06)
- MacPorts can now be built without a pre-existing tclsh.
(#61253, jmr in 2eeba4d)
- Updated the bundled Tcl to 8.6.12, as well as tcllib 1.21 and
tclx 8.4.4. (cal in 89abece, 24c34a9, d7cf914, d3d9e4b, etc.)
- Fixed the 'ln' command erroring when told to link more than two
files into a directory. (jmr in b75c464)
- The PortGroup command now prevents multiple inclusion of the same
portgroup. (jmr in 4215012)
- Added xcodecltversion variable containing the installed version
of the Command Line Tools for Xcode. (jmr in d05ebde)
- The vercmp command can now take a comparison operator.
(jmr in 35daead)
- Fixed error when installing ports that change prefix without root
privileges. (#65313, jmr in a594e01, fbfcb9f)
- Fixed possible directory ownership error when syncing with recent
versions of git. (jmr in e0338e8)
- Improved the message printed by 'port diagnose' when the Xcode
version is newer than any we know about. (#63377, jmr in 733d6e7)
Release 2.7.2 (2022-03-09 by jmr)
- Fixed poor trace mode performance on newer OS versions.
(cal in 3b949cc)
- Added escaping of shell-unsafe characters when compressing man
pages in the destroot phase. (#64531, jmr in b6bac45)
- Fixed several cases of unrelated errorInfo being printed when
something failed. (jmr in e5e7dff, b864109)
- Fixed handling of distname containing spaces.
(#64419, jmr in 690fab1)
- Fixed use_xmkmf. (#64011, ryandesign in ce42354, c8ff808)
- Fixed fetch.type cvs. (#63931, ryandesign in c118fb2)
- Avoided error about specified version being unavailable when the
version came from a pseudo-portname like 'outdated'.
(#63438, jmr in db498e0)
- Fixed failure in PortGroup command when the ports tree path
contains spaces. (#63534, jmr in b83c743)
- Fixed incorrect compiler selection logic for certain GCC
versions. (#63281, jmr in 087ce29)
- Added metadata so Installer won't erroneously claim that the
MacPorts .pkg requires Rosetta 2 to install on Apple Silicon.
(#63096, jmr in 09c4373)
Release 2.7.1 (2021-05-26 by jmr)
- Fixed SQL error when MacPorts was built against the 10.15 SDK but
run on 10.14. (#62929, jmr in 0249b3c)
- Fixed poor performance when installing ports containing tens of
thousands of files. (#56793, jmr in fc212a0)
- Fixed a stack trace being printed after an error occurred if
COLUMNS was not set in the environment. (#62935, jmr in 13eeabd)
Release 2.7.0 (2021-05-19 by jmr)
- The 'platforms' option now has a default value of 'darwin'.
(jmr in d918190)
- Fixed incorrect versioning assumptions that led to being unable
to find the right SDK on Big Sur. (#61866, jmr in 8aa347e)
- Fixed installer incorrectly setting DISPLAY in the user's shell
config on Big Sur. (#61649, jmr in 4ce1e96)
- Fixed crash in rev-upgrade when MacPorts was built against the
macOS 11 SDK and run on 10.15. (#61540, jmr in 23f2aa3)
- Fixed minimum compiler version selected when C++14 and
thread-local storage are required.
(#61418, chrstphrchvz in 618d036)
- Enabled write-ahead logging when using SQLite 3.22.0 and later,
and enabled the fullfsync pragma, which should make the database
even more resilient against power failures and the like.
(#61154, jmr in 5779dbc)
- Fixed svn fetch with newer Xcode versions that no longer provide
svn (but do ship a /usr/bin/svn stub) by always using the
subversion port. (#60854, jmr in 4acfd68)
- Logs now explicitly mention the port's version, revision, and
active variants. (#59643, jmr in d484695)
- Improved error reporting when circular dependencies are present
when installing or upgrading ports. (#59289, jmr in cea9833)
- The universal variant is removed if it is not possible to build
for two or more architectures. (#57133, jmr in fcff138)
- New universal_possible variable can be checked to see if
universal building is possible. (jmr in e356e1e)
- Fixed error when choosing the currently active version when
interactively prompted to pick a version by 'port activate'.
(#56817, jmr in 5f41bb4)
- Configuring MacPorts base with --with-no-root-privileges now
also defaults to --without-startupitems. (#56743, jmr in a18eb94)
- Rev-upgrade now makes it more obvious when a port is considered
broken because of using the wrong cxx_stdlib.
(#56629, jmr in 00a2631)
- Fixed missing error message when the sync portion of selfupdate
fails. (#56549, jmr in 8f4b9e5)
- When installing a port, the variants that are requested by the
user (either on the command line or via variants.conf) are now
recorded in the registry in order to distinguish them from
default variants chosen by the port. When upgrading, only the
requested variants from the previous version, rather than all its
active variants, are considered when deciding which variants to
request when installing the new version. (#46956, jmr in 19c9339)
- Added new variables macos_version and macos_version_major, which
contain the full macOS version (like 10.15.7) and the major macOS
version (like 10.15 or 11), respectively. The macosx_version
variable is still available but deprecated.
(#56252, jmr in 1916d6f)
- reclaim: remove everything under build and ccache directories.
(#60126, khindenburg in b9fdb847, d08d261f)
- For various actions, abort if @version specified is not current.
(#60454, khindenburg, jmr in 835a7db1, ca071954)
- Abort when a port includes a nonexistent PortGroup.
(#59787, khindenburg in d9139328)
- Adjust lint --nitpick on patchfiles to allow *.diff or *.patch.
(#59695, khindenburg in 5037999e)
- Display a progress bar when the underlying build system provides the
necessary information, which is currently cmake and ninja.
(#15939, landonf in da3524e)
- Support compressed web pages for livecheck.
(#55011, dgilman in 8c41ca7, d741f0c)
- Added configure.sysroot variable, which is set to either
${configure.sdkroot} if an SDK is being used, or "/" if not.
(#59798, jmr in 8d76ba6)
Release 2.6.4 (2020-11-14 by jmr)
- Fixed incorrectly requiring a full Xcode installation when
building all ports on Big Sur. (#61435, jmr in d58b124)
- Allow building ports for x86_64 on arm64 systems if they don't
support arm64. (#61430, jmr in 94f428e)
- Disabled building the MacPorts SQLite extension by default, since
the system's SQLite on Big Sur no longer supports extensions. Use
the new macports.sqlext port, which has a dependency on MacPorts'
sqlite3 port, to install it. (toby in 4664a4a)
- Fixed calculation of dependencies of up-to-date ports during
upgrade when different variants are specified but
--enforce-variants is not used. (jmr in 81979e5)
- Rev-upgrade no longer warns about libraries that are present only
in the shared cache, since this is normal as of Big Sur.
(jeremyhu in 601864d)
- Fixed incorrect output of 'port info --depends' when used with
multiple ports. (#61083, ryandesign in a7cf423)
- Fixed incorrect warning that the SDK for the current OS version
is missing, when configure.sdk_version has been cleared by the
Portfile. (jmr in 8402cf8)
- Fixed some operations involving fs-traverse failing with paths
containing whitespace. (ryandesign in 52609c9)
- Various changes to support arm64.
(ryandesign, toby in c8ddc79, bfc0544, 7ccf5a2)
- No longer error out immediately when an appropriate SDK cannot
be found, which prevented even actions like 'port info' from
working in that situation. (jmr in 5764fd9)
Release 2.6.3 (2020-07-19 by jmr)
- Correct macports-clang c++11+ compiler selection with non-libc++
installations. (kencu in 3ea1fb4)
- Avoid problems with trace mode on modern macOS.
(#60702, saagarjha, cal in d96e5a85a)
- Added some basic support for Apple Silicon.
(jeremyhu, jmr in 6eaa8d5, 901eb21, 01afdbb)
- Fixed an issue where post-extract ran with elevated privileges when
adduser was used in a Portfile. (#50918, cal in ac1a9b099)
- Fixed cases where a proper error message was not displayed when curl
failed. (#60581, cal in f535c26)
- Reduced the number of processes spawned when pinging mirror sites.
(ryandesign in cee74bb)
- Support new naming scheme used starting with macports-clang-10 in
configure.compiler. (jonesc in 5c3f571)
- Fixed dmg and mdmg targets on 10.15+. (#59697, jmr in 0459cb1)
- Ensure archive paths are correctly quoted when extracting.
(#60365, jmr in 8a088c3)
Release 2.6.2 (2019-10-20 by jmr)
- Added support for zsh to the pkg installer's PATH setup code.
(cal in f9a3b2d)
- Allow individual ports to change prefix without disabling binary
distribution for them. (jmr in d840f25)
- Added warning to install the Command Line Tools when using
Xcode 10 or later and headers corresponding to the current OS
version are not available. (jmr in 8a7d604)
- Always try macports-gcc on ppc systems if system compilers are
blacklisted. (jmr in 42b36f4)
Release 2.6.1 (2019-10-03 by jmr)
- Fixed error on older OS versions that use apple-gcc-4.2.
(#59089, jmr in a3a71b5)
- Fixed 'port diagnose' check for command line tools on some older
OS versions. (kencu in c2a1872)
- Silenced some SDK-related warnings that were repeatedly printed
when using Xcode 11. (jmr in 73ee4b4)
- Improved performance with Xcode 11. (jmr in 3768efd)
- Fixed C++ compiler selection with Xcode 4.x on Snow Leopard.
(kencu in 37c7cfe)
- Fixed 'port info --depends' printing the wrong set of fields.
(#59149, jmr in e62716c)
Release 2.6.0 (2019-09-21 by jmr)
- Extend the touch command to take a -W directory parameter.
(#53730, khindenburg in a90c4b29)
- Added fetch.user_agent option to allow working around servers
that don't like our default User-Agent string.
(slewsys in e5a420c)
- Enabled sending custom headers in livecheck. (jonesc in 84f97ca)
- Improved explanatory message when a port cannot be built with
+universal on macOS 10.14. (#57245, jmr in 918c347)
- Overhauled compiler selection logic. Ports can now specify that
they require a particular C or C++ standard (e.g. C++11),
Fortran, OpenMP, MPI, or TLS, and a suitable compiler will be
chosen based on all these criteria. (#55139, mcalhoun in 5e17a69)
- Rewrote handling of *.env options. This should fix cases where
environment variables were not being set because the old code
silently failed to parse something and skipped all remaining
variables in the list. This change requires different quoting in
some cases: each list element now needs to contain a single
assignment (like VAR=value). (jmr in 9313be5)
- 'port info' with multiple field options now outputs the fields
in the order they were given. (#57003, khindenburg in e115b59)
- Added 'bump' action to assist in updating ports to new upstream
versions. (satraul in 9c91a29)
- Added use_xcode option which indicates that a port requires a
full Xcode installation to build (as opposed to just the Command
Line Tools). This should allow MacPorts to only complain about
Xcode not being installed when it's really needed.
(#58016, satraul in 057ce2b)
- Allow using the 'macosx' SDK when the SDK for the current OS
version is not present. This comes with its own problems, but
it's better than not being able to build anything.
(#57143, jmr in 8caac19)
- The default cxx_stdlib for 10.6-10.8 is now libc++. It is
recommended that users on these OS versions run rev-upgrade to
rebuild any ports using libstdc++. (jmr in 6b7846a)
Release 2.5.4 (2018-10-03 by jmr)
- Fixed a reclaim failure when the distfiles option contains a list
of one or more empty strings. (#56786, jmr in 8a67087)
- Changed the 'default' command to not require overquoting of the
default value that is being set. (jmr in 8434c0e)
- Indicate that i386 is not supported by the macOS 10.14 SDK.
(jmr in 60544ce)
Release 2.5.3 (2018-07-05 by jmr)
- Fixed failures due to insufficient privileges on older OS versions.
(#56721, jmr in 4b36e60)
- Fixed 'port reclaim' failing when installed ports have circular
dependencies. (#56730, jmr in f4affba)
- Fixed 'port provides' on Tiger. (#56620, jmr in 6ba4c34)
- Fixed os.platform value set by portindex -p. (jmr in e45ab90)
Release 2.5.2 (2018-06-05 by jmr)
- Fixed expression used to check for g++-mp-* when choosing default
configure.cx_stdlib (#56605, jmr in 3e430f1)
Release 2.5.1 (2018-06-04 by jmr)
- Set the default value of configure.cxx_stdlib to macports-libstdc++ when
using macports-gcc-* compilers. (jmr in feaba00)
- Worked around failure to activate ports containing read-only files in
non-root-owned MacPorts installations by disabling hfscompression for
those installations. (#56563, jmr in cf91a8b)
- Fixed failure to record that a port has overridden cxx_stdlib when
installing from an archive generated by an older version of MacPorts.
(jmr in a514690)
Release 2.5.0 (2018-05-28 by jmr)
- New pseudo-portname 'rleaves', matching installed ports that are
unrequested and that no requested ports depend on.
(danchr in b042c0e7)
- 'port reclaim' will automatically run 'port rev-upgrade' at the end.
(danchr in eed6ffce)
- 'port reclaim' will only remove all unrequested ports as manual
selection of a subset could break dependents.
(g5pw in 3578400b)
- 'port reclaim' respects -N for non-interactive and -y for dry run mode.
(#53857, raimue in 08d0a695)
- New flag 'port fetch --no-mirrors' which will only fetch from URLs
in master_sites.
(raimue in 0cf1faf2)
- 'port selfupdate --nosync' has been deprecated, use '--no-sync' instead.
(#56434, raimue in ce6d4817)
- Apply HFS+ compression on activation when bsdtar is available and
supports --hfsCompression. Used automatically when libarchive is
installed.
(#36560, eborisch, raimue in 829557e2)
- Allow dots in variant names.
(#46807, raimue in c3f08731)
- Sandbox allows access to /dev/ptmx and /dev/ttys*
(ryandesign in 8765c142)
- New option use_tar for ports that use uncompressed tar archives
as distfile.
(ryandesign in f10e0e37)
- Add depends_patch to handle the patch dependencies of ports
(#52445, khindenburg in a74c159d)
- Add the ability to handle xz patch files
(#52445, khindenburg in 5a142fd2)
- The cxx_stdlib and delete_la_files settings are taken into account when
determining which archive sites can be used. (#56053, jmr in cbbc31e)
- New options startupitem.debug and startupitem.daemondo.verbosity
(#22471, jmr in fd19a71)
- StartupItems installed by a port are unloaded when the port is
deactivated, and reloaded after it is upgraded.
(#23677, jmr in 738e5f5)
- The message about how to load a port's StartupItem is now part of the
notes, and will thus be displayed when ports are installed from a
binary archive, and can be reviewed later with 'port notes'.
(#31798, jmr in 6faf3f8)
- startupitem_autostart macports.conf setting allows autostart to be
disabled for all ports. (#40074, jmr in 85ffdc7)
- Ports can install more than one StartupItem using the 'startupitems'
option. (#44295, jmr in 99d5fb3)
- Having a different startupitem.install setting than was used when
a binary archive was built now works. (#44496, jmr in 3dde77d)
- 'port load' will now attempt to load launchd plists even if they have
not been installed in /Library. (#44497, jmr in ec4ae2d)
- StartupItems installed as LaunchAgents can be loaded for the current
user with 'port load'. Loading LaunchDaemons still requires root.
(jmr in 190bf96)
Release 2.4.4 (2018-05-06 by jmr)
- Use subversion port instead of /usr/bin/svn in fetch phase
on OS X 10.11 El Capitan and earlier.
(#55933, ryandesign in 8a3b73d263, c8fd1a3098, 62e07cae09)
- Use git port instead of /usr/bin/git in fetch phase
on OS X 10.8 Mountain Lion and earlier.
(#55989, ryandesign in 78990c5ab7, e6eedb05dd)
- 'port reclaim' works correctly with distfiles with tags.
(#55939, raimue in 3ad97625)
- Trace mode with ccache enabled works correctly when the ccache-devel
port is installed.
(#55680, raimue in 64c60f29)
- Add 'size' to the set of default checksums.
(ryandesign in 95a153e6)
- An error will be raised immediately if the revision or epoch options
are set to something that is not an integer. (#26486, jmr in 387cd8c)
- 'port mirror' will skip ports that have the special keyword 'NoMirror'
in their license option. (raimue in fae17c2)
Release 2.4.3 (2018-04-11 by jmr)
- Fix trace mode on macOS High Sierra 10.13.3
(#55575, raimue in 995dde84)
- Using subport= with a nonexistent subport causes an error.
(#34619, jmr in 9c48520c)
- livecheck.regex is matched case-insensitive.
(khindenburg in 0310feb5)
- Sandbox allows read/write access to /dev/{u,}random.
(jmr in c8c1565f)
- Sandbox allows write access to /var/db/mds.
(#50469, cal in 1f765222)
Release 2.4.2 (2017-10-05 by raimue)
- Sandbox prevented ports to set suid permission bit on High Sierra.
(#54963, raimue in d72ad486)
- Change compiler and SDK selection rules for Sierra and High Sierra.
(#54504, ryandesign, jeremyhu in 7eccb87a, b1b1ea0b)
- Use copyfile(3) with COPYFILE_CLONE for SIP workaround in trace mode.
(raimue in 3d4c9b34)
- Fix memory leak in 'port reclaim'.
(#54156, mojca in c2df3cc9)
Release 2.4.1 (2017-02-26 by jmr)
- Avoid an infinite loop when livecheck.regex is empty.
(raimue in d33a8a0)
- Fixed detection of /opt/local/bin already in the user's PATH in the
installer postflight script. (barry-scott in dcb0788, b757252)
- Fixed the display of default variants by 'port variants' when the
defaults are affected by variants present in variants.conf.
(jmr in 9e63a61)
- Fixed 'port reclaim' deleting a file installed by the MacPorts installer
for technical reasons.
(#53436, cal in b0c0957)
- Display warning if reinplace doesn't change anything.
(#15514, khindenburg in 8460505)
- Fixed 'port select' failure when the currently selected version no
longer exists. (#31702, raimue in 9389e83)
- Fixed 'port lint' complaining that very large epoch values are
non-numeric. (#53489, ionic in eb0a577, 0846afb)
- Fixed fallback to building from source when MacPorts is configured to
get packages from an FTP server. (#53530, jmr in 6718cc6)
- Fixed failure to extract portdir archives. (#53532, jmr in 8c2da16)
- Fixed 'port diagnose' incorrectly offering to fix the PATH in some
shells by skipping the check with shells it doesn't know about.
(#53473, jmr in 17c70c9)
- Reduced the default verbosity of 'port diagnose'. (jmr in 741a77b)
- Fixed 'port diagnose' incorrectly reporting some symlinks as missing.
(#53490, jmr in 103d6f6)
- Fixed 'port lint' complaining that GitHub handles should be obfuscated.
(jmr in 2cadd1b)
Release 2.4 (2017-01-27 by jmr)
- New action 'port reclaim' to clean inactive ports and unnecessary
distfiles to get back disk space, developed during GSoC 2014.
(ksammons in branch gsoc14-cleanup)
- New action 'port diagnose' to check for installation problems and
configuration errors, developed during GSoC 2014.
(ksammons in branch gsoc14-cleanup)
- Replaced the strings previously printed by "port help" with much more
detailed and current manpages written using asciidoc that open
automatically. Added documentation for almost all commands currently
implemented by MacPorts.
(#15467, #44530, raimue in branch new-help-system, merge in r123002,
manpages written by cal, jmr, raimue, ionic, jeremyhu)
- Added interactive questions for various use cases like 'install',
'activate', 'uninstall --follow-dependencies'. Also added global
flag '-N' to provide non-interactive invocations.
(shasha in branch gsoc14-interactive, merge in r124243)
- Display notes for installed or updated ports at the end of the
installation to prevent them from getting lost in the scrolling output.
(#24507, cal in r118304, patch by snc)
- Show date in verbose output of 'port installed'
(raimue in r146757, r152685)
- Added "setunrequested" alias for "unsetrequested" command.
(ionic in r130217)
- Handle SIGTERM and SIGINT (^C) in MacPorts to prevent inconsistencies in
the registry database when MacPorts is aborted during a critical
operation.
(cal in r118297 and r118298)
- Added macports_version to the Portfile execution context, to allow
checking the current MacPorts version in Portfiles.
(cal in r134511)
- Add depends_test to handle the dependencies for the test phase of ports.
(#38208, khindenburg in r140488)
- If the lbzip2 (or in limited cases, pbzip2) port is installed, MacPorts
will now use it when extracting .bz2 archives. (jmr in r121711)
- Remove "support" for rpm and deb packages in MacPorts, leaving pkg/mpkg.
(afb in r123004)
- Remove deprecated rpm-vercomp function, ports should use vercmp instead.
(afb in r123005)
- Use pkgbuild instead of PackageMaker.app in 'port pkg' on newer systems.
(#42725, jmr in dd89bb8)
- Fixed a bug that could cause installation of ports with large numbers of
dependencies to fail due to running out of file descriptors.
(#50986, jmr in 0fd195f)
- Fixed variants requested on the command line or in variants.conf not
being properly passed down to dependencies when +universal is added
by arch checking. (#53322, jmr in 4972592)
- Fixed building dmgs of ports with a non-zero revision.
(#51136, jmr in 62d7125, e0c7f1c, 75584d8)
- Fix 'port info' output for multi-valued maintainers
(#52928, raimue in ba2002c)
Release 2.3.5 (2016-11-16 by raimue)
- Updated compiler selection for macOS 10.12 Sierra
(jeremyhu in r141134 and r150305)
- Do not use default archive_sites for custom ports trees
(raimue in r147456)
- Prune symlinks to deleted libtool archives (.la)
(#40935, jmr in r119571, r119594, r119595)
- Return an error if livecheck matched a version older than the current
version.
(jmr, raimue in r127797, r149299)
- Permit pkg phase to be run as root, if needed for additional
modifications in destroot.
(ctreleaven in r152115)
- Ignore warnings on stderr for archive extraction to allow use of gnutar.
(#42492, cal in r132312)
- Create the documented porthier(7) directory structure in ${prefix}/var
and ${prefix}/share for destroot phase.
(#45434, #47688, ryandesign in r135998, r135999)
- When syncing a ports tree failed, operation could continue with the
wrong uid.
(#43202, cal in r118570)
- Change default of livecheck.ignore_sslcert to "no".
(#52515, raimue in r153648)
- No longer check Subversion properties in 'port lint'
(#48577, ryandesign in r153865)
- Fix problems with the postflight script in the installer.
(#43875, #43749, cal in r122042, r122044, r154073, r154110)
- Warn when the obsolete Subversion repository is used.
(raimue in r154451)
- port lint: warn if obsolete $Id$ keyword is used.
(#52757, raimue in fc45aaf)
- Support multi-valued entries in the maintainers field and allow GitHub
usernames as maintainers
(cal in 30c27d5)
Release 2.3.4 (2015-10-01 by jmr)
- Installation will now abort when an archive is found on a server but
downloading it fails, rather than trying to build from source without
the correct dependencies (jmr in r138461)
- Re-added macports-llvm-gcc-4.2 and apple-gcc-4.2 to the compiler
fallback list on Yosemite now that they work (jmr in r136965)
- Changed the existsuser and existsgroup procs to return -1 on failure
instead of 0, since 0 is root's uid (#45737, cal in r135851)
- The MacPorts version is now available to Portfiles through a proc called
macports_version (cal in r134511)
- Fix failure to activate ports that install files with backslashes in
their names (#47283, cal in r134501, r134502)
Release 2.3.3 (2014-11-21 by jmr)
- Fix database performance regressions with SQLite 3.8 by specifying a
good index for some queries (#45645, cal in r128113, r128274, r128276)
Release 2.3.2 (2014-10-17 by jmr)
- Fix a crash in trace mode when software calls posix_spawn(2) with NULL
as envp (which isn't a legal thing to do from what I understand, but
there's software that does it) (#45318, cal in r126475)
- Tune down the noise while using trace mode; in the default verbosity
setting, only report files that actually exist and were hidden.
(cal in r124150, r124216)
- Fix bugs in trace mode that caused it to (1) not ignore /usr/local as
it should and (2) fail with certain lengths of $prefix.
(cal in r124145, r124146)
- Added a warning when a version is specified with the list action, such
as with installed ports (jmr in r125621)
- Added ability to set configure.compiler to gcc 5.x
(ryandesign in r125578)
- Fixed failure to add groups when dscl prints a warning to stderr
(jmr in r123652)
- Fixed incorrect handling of arguments in batch mode
(#44091, cal in r121485)
Release 2.3.1 (2014-06-26 by jmr)
- Added macports-clang-3.4 to compiler fallback lists
(#43932, jeremyhu in r118735, r119034)
- Added quoting to PATH and MANPATH variables set by the installer, to
accomodate paths containing spaces (#43798, jmr in r121311)
- Update for automatic dependencies for fetch.type git, needed due to the
git-core port being renamed to git (#44052, ciserlohn in r120928)
- Fixed failure to sync using daily tarball (#43821, cal in r120382)
Release 2.3 (2014-05-24 by jmr)
- Use a private copy of Tcl 8.5 for MacPorts. Starting with this change
features introduced with Tcl 8.5 can be used in Portfiles while still
keeping support for Tiger and Leopard. (cal in r117621)
- Add select --summary option. (#36179, snc in r117607)
- Display a progress indicator for slow downloads. (cal in r117044)
- Attempt to use HTTP pipelining when downloading. (cal in r117022)
- Allow ports to select a specific version of the Mac OS X SDK
for builds. (larryv in r116437)
- Check for Command Line Tools presence and Xcode license agreement
acceptance and print helpful warnings if they aren't detected. (cal in
r115900)
- Support using .tar.lz archives using use_lzip (mww in r114652)
- Enhance the "move" Portfile builtin to support case-only renames
on case-insensitive filesystems. (#41679, ryandesign in r114289)
- Fix a regression that caused problems with sandboxing when the MacPorts
prefix contained a symlink. (#39850, cal in r113704)
- Disable Spotlight indexing on build directories, distfiles,
registry, log files, archives, base source and the default ports
tree. (cal in r113649)
- Detect when base is running on a different platform than the one
it was configured for and refer user to migration instructions.
(raimue in r113478)
- Merge curl HTTP POST support required for MacPorts port statistics
developed in GSoC 2011 (jmr in r113396, original code by derek)
- In debug output, sort environment variables and print one per
line. (#40703, ryandesign in r113037)
- Fix incorrect lint messages when an uppercase letter is used in
a PortGroup name. (#40733, ryandesign in r112064)
- Add "-prepend" command for Portfile options (similar to existing
"-append" command). (#40655, ryandesign in r111990)
- Merge new test framework developed in GSoC 2013 (mariusc in r111325)
- Support clang's -stdlib option explicitly using configure.cxx_stdlib
rather than relying on its default value. This can be used to make
MacPorts use libc++ on OS X < 10.9. (larryv in r110519)
- Support syncing git-svn working copies. (jeremyhu in r109747)
- Remove support for mports:// and non-tarball HTTP/FTP port tree sources.
(cal in r109659)
Release 2.2.1 (2013-10-26 by jmr)
- Fixed a problem where dependency calculation could sometimes fail for
ports that only support 32-bit architectures when the configured
build_arch is 64-bit and dependencies thus need to be +universal
(#40721, jmr in r112067)
- Fixed a potential crash in the strsed procedure (toby in r110985)
- Provide choice of GCC version when compiling with DragonEgg.
(larryv in r108040)
- Add Portfile options for setting OBJCXX, OBJCXXFLAGS, and
universal architecture flags in OBJCFLAGS.
(#38512, larryv in r107973, r107976, r107987)
- Add support for autostarting tasks with startupitems after installing.
Useful for the certsync port. (#35474, cal in r106810, 109245)
Release 2.2.0 (2013-07-23 by jmr)
- Fixed ports sometimes being incorrectly cleaned after the unarchive
target is run with newer archives. (jmr in r106717)
- When rebuilding an installed port, fixed the old copy being removed
before the new copy has been built. (jmr in r106668)
- Support deleting selected files and directories before creating a pkg.
(blair in r105575)
- Remove unsupported xpkg package type, xar-based format with XML.
(afb in r105002)
- Support pattern matching in compiler.blacklist.
(larryv in r104174, r104178)
- Workaround for some OS commands hanging on 10.8 when started from a root
login shell. (#34221, jeremyhu in r104118)
- TMPDIR is now set to ${workpath}/.tmp while building ports, to avoid
problems with using /tmp. (#37834, ryandesign in r103518)
- Remove unimplemented 'port submit', remove XAR source packages.
(cal in r103400)
- Prevent overlinking by removing dependency_libs information from
GNU Libtool (.la) files or by deleting the files entirely.
(#38010; jmr in r102945; jeremyhu in r107465, r107527)
- Setting configure.compiler will now automatically add a dependency if
the chosen compiler is provided by a port. (#32542, cal in r102932)
- Add 'port space --total' which displays the grand total only.
(raimue in r102248)
- Added 'subport:' pseudo-portname that expands to ports that provide
a matching subport; added 'subportof:' pseudo-portname that expands to
the list of subports of the given port name
(raimue in r100059)
- Fixes bringing trace mode back to a working state. Improvements to reduce
the number of builds trace mode breaks.
(cal in r100071-100073, r100077, r100126, r100221, r106710)
- Began using sandbox-exec(1) on 10.5+ to prevent commands executed using
the 'system' procedure from writing files outside of the build directory
and selected other locations like /tmp. (jmr in r98156, r98193, etc.)
- Added ability to sync ports tree with git (jeremyhu in r92410)
Release 2.1.3 (2013-01-31 by jmr)
- Fixed a bug where a certain order of starting and aborting a build,
running selfupdate and continuing a build would resume building although
it should start from the beginning.
(#29223, cal in r96136, r96399, r96400, r96538)
- Fix permission problem in the creation of the ccache directory with
ccache >= 3.1.7 by running the initialization step as the macportsuser.
(raimue in r97868)
- Fix an endless loop that could be triggered in rev-upgrade when a broken
port is not in the index, e.g. when it has been deleted from the tree,
or it was installed directly from a Portfile not in the tree.
(cal in r100129, jmr in r101313)
- Set a busy timeout on SQLite connections to prevent MacPorts from
uselessly burning CPU cycles when waiting for a database lock.
(cal in r100217)
- Switch from exclusive locking to immediate locking in the registry
database to avoid locking reads where not needed.
(cal in r100218)
- Fix a problem where interrupting the uninstallation process could leave
the registry database in a corrupted state.
(#34482, cal in r100219)
- Fixed a failure in the fallback code used by 'port pkg' when
PackageMaker is not installed. (#36597, jmr in r96262)
- Fixed an incorrect lint error about the port directory name when a full
@macports.org maintainer address is used. (#35925, ryandesign in r97264)
- Fixed creation of disk images with flat packages. (jmr in r99167)
- Fixed a bug where not all requested variants would be passed on to
dependencies when building an mpkg. (#36363, jmr in r100679)
- Added configure.compiler options macports-clang-3.2 and
macports-clang-3.3 (jeremyhu, ryandesign, jmr in r92588, r101163,
r101166, r101270)
- Added configure.compiler options macports-dragonegg-3.0 through
macports-dragonegg-3.3. (jeremyhu in r101933)
Release 2.1.2 (2012-07-26 by jmr):
- Fixed autodetection of developer_dir with Xcode 4.4
(#35150, mfeiri in r95552)
- Made conversion of images to archives more robust against missing images
(jmr in r95480)
- Support spaces in hg.tag when fetching from mercurial (#22684 comment
11,12, cal in r95438)
- Made mpkg fail when building a component pkg fails, instead of trying to
continue (jmr in r95382)
- Added a log message when everything to be installed has an unsatisfied
dependency, such as in the case of circular dependencies (jmr in r93962)
- Fixed incorrect error message when installing a port that has a
dependency that is not in the index (#31130, jmr in r93511)
Release 2.1.1 (2012-05-19 by jmr):
- Fixed incorrect parsing of mirror group URLs that contain a colon to
indicate a port number (#32018, jmr in r93258)
- Do not print detailed progress information in rev-upgrade when stdout is
not a terminal (#34480, cal in r93221,r93222)
- Made rev-upgrade avoid trying to upgrade ports that are not in the index
(jmr in r93197)
- Fixed rev-upgrade disabling source-only mode in its first upgrade pass
(jmr in r93153)
- Fixed incorrect rebuild order in rev-upgrade (cal in r93129)
- Fixed port lookups failing for all sources when the index is missing in
one source (#30593, jmr in r92976)
- Fix database upgrade on Tiger, where SQLite doesn't support ALTER TABLE
ADD COLUMN (#34463, cal in r93256)
Release 2.1.0 (2012-05-15 by jmr):
- New configure.compiler options: macports-clang-2.9, macports-clang-3.0,
macports-clang-3.1, macports-gcc-4.7, macports-gcc-4.8
(jeremyhu in r86719, ryandesign in r91521)
- Avoid using pkg-config to find sqlite3 in our configure script unless it
can't be found by other means, because some third-party packages
incorrectly install a /usr/bin/pkg-config that points to an incompatible
copy of sqlite3. (#30932, dluke/jmr in r91512)
- 'port pkg' and 'port mpkg' will now create flat packages (i.e. a xar
archive rather than a directory) on 10.6+.
(jmr in r91317, r91329, r91331, r91437)
- Fixed dependencies sometimes being installed multiple times when
required with different archs. (#31794, jmr in r91357)
- Build-time dependencies will no longer be installed if a prebuilt
archive is available for download (and port is configured to use it).
(jmr in r91196, r91217)
- Added new config file archive_sites.conf, which can be used to configure
additional archive download sources. Each source has an associated
archive type; portarchivetype is now only used when creating archives
locally. Sources also have an associated prefix, applications_dir and
frameworks_dir, and if any of these do not match the current values, the
source is not used. (jmr in r91009)
- Xcode 4.3 support: Search harder for developer directory; advise user to
run xcode-select when necessary, searching for Xcode and suggesting
xcode-select commands.
(jberry, jmr in r89970,r89971,r89972,r89996,r89999,r90003,r90005-r90009,
r90018-r90019,r90024,r90031)
- warn about non-existing developer_dir when it's set in macports.conf
(cal in 90802)
- port automatically installs bsdmake when there's no bsdmake in $PATH and a
port sets build.type bsd (#33355, cal in r90650)
- Added -W option for reinplace that sets a base directory that all file
arguments are interpreted as being relative to. (raimue in r90610)
- Added macports.conf options 'host_blacklist' and 'preferred_hosts', used
for indicating lists of download hosts that should not be used or should
be used preferentially, respectively. These override the usual ping time
check. Ping times are also now cached for 24 hours. (jmr in r89459)
- Added 'rev-upgrade' action checking for broken linkage and rebuilding
ports containing broken files. Made rev-upgrade run automatically after
each upgrade or install.
(cal in branch gsoc11-rev-upgrade, merge in r88376, also cal, raimue, jmr
in r88377,r88411,r88441,r88511,r88666,r88732,r89180,r89659,r89661,r90102,
r90381)
- Added options controlling rev-upgrade behavior to macports.conf
(jmr, cal in r88725,r88794,r89189)
- port livecheck regex finds multiple matches on the same line
(raimue in r88031)
- Several improvements to port lint:
licenses, subversion properties, maintainer addresses
(#30194, snc, raimue in r85929, r86016, r89428, r89610)
- Added license_noconflict option to specify dependencies for which the
maintainer has manually checked license compatibility and wishes to
overrule the conservative automated checks. (jmr in r89004)
- Xcode 4.3 support: Use xcrun -find to find xcode compiler if it's not
found in /usr/bin.
(jberry, jmr in r88540,r88541,r88546,r88777,r88779,r88787,r89359,r89984,r90028)
- Added options compiler.blacklist, compiler.whitelist, and
compiler.fallback; to allow blacklisting, whitelisting, and setting the
fallback order for configure.compiler values, respectively.
(#30041, jmr in r88676)
- Fix sync with subdirectory of Subversion 1.7-format working copy
(#33573, jmr in 86872)
- Fixed conflicts not being checked for when installing ports that have no
dependencies. (#31571, dports in r85382)
- dmg postflight: quote all paths to handle the increasingly frequent
occurrence that $HOME contains spaces (#33583, ryandesign in r84345)
- dmg postflight: adjust wording of some messages (ryandesign in r84344)
- The deprecated Portfile options svn.tag, distcheck.check and
livecheck.check have been removed. (raimue in r82763)
- Implement new option-replace using lsearch/lreplace. The old behavior is
deprecated for option-replace with only one argument, but can still be
found in option-strsed.
(raimue in r82760, r82761)
- Added 'buildfromsource' macports.conf setting, which allows permanently
selecting the behaviour of the -s or -b option. (jmr in r81540)
Release 2.0.4 (2012-02-25 by jmr)
- Added -locale option for reinplace (jeremyhu in r89839)
- Xcode 4.3 support: Change home directory for MacPorts user to
${prefix}/var/macports/home.
(jberry, jmr in r89988, r89993, r90002, r90010, r90011)
- set env(HOME) to ${workpath}/.home when building ports
(#31827, jmr in r89994, r90004)
- Fix use_xmkmf to honor xmkmf.env for its make Makefiles phase
(#31504, jeremyhu in r89537, r89538, r89539)
- Added configure.cxx setting when configure.compiler is apple-gcc-4.2
(jeremyhu in r80248)
- Xcode 4.3 support: added packagemaker_path macports.conf setting
(jmr in r90058)
- Resolve ambiguity in selection in portlists
(jberry in r88179, r88185)
- Xcode 4.3 support: updated default developer_dir location for 4.3
(jmr in r90016)
- Xcode 4.3 support: use compilers in /usr/bin instead of developer_dir
when possible, as the latter has proven to be volatile.
(jmr in r90015)
- Xcode 4.3 support: updated SDK paths for 4.3 (jmr in r90000)
- Work around broken FTP proxy support in some versions of libcurl
(jmr in r84351, r88045)
Release 2.0.3 (2011-09-05 by raimue)
- Fix a regression introduced in 2.0.2 when fetching with a VCS
(#31073, jmr in r83471)
Release 2.0.2 (2011-09-01 by jmr):
- Messages recommending running selfupdate will no longer be printed when
selfupdate is being run. (#23094, jmr in r83270, r83391)
- The PortIndex will not be regenerated during selfupdate when base is
outdated. This avoids failure to index ports that use features only
available in the current version. (#30739, jmr in r83271)
- Fixed build failures when the TMPDIR environment variable is set to a
directory that is not writable by the macports user.
(#30749, jmr in r83267)
- Fixed error when checksumming distfiles with names containing spaces.
(#28568, jmr in r83149)
- The uninstall and deactivate actions now sort the port list so that
dependents are processed before the ports they depend on.
(#8431, jmr in r82947)
- Fixed an issue where a non-universal version of a port could be
installed as a dependency as well as the universal version, with
unpredictable results, when some ports in the dependency graph needed
the universal version but others didn't. (jmr in r82924)
- Now using a temp dir inside ${prefix} when activating, as /tmp or
/var/folders may be on a different volume. (jmr in r82767)
- Fixed extracting portfile-only archives. (#31033, jmr in r81830)
- Fixed adduser and addgroup procedures not re-dropping privileges when
done. (jmr in r81630)
- Fixed error activating ports with names containing the string "cpio".
(#30532, jmr in r81577)
Release 2.0.1 (2011-08-02 by jmr):
- Fixed errors when installing some archives built on a case-sensitive
filesystem onto a case-insensitive one. (#30373, jmr in r81562)
- Fixed users created by MacPorts showing up in the GUI in some places on
Lion. (#30168, jeremyhu in r81558)
- Added replaced_by pseudo-portname selector. (afb in r81475)
- Added progress output to port image conversion script.
(#30347, jmr in r81464)
- Now doing a better job of avoiding UID conflicts with non-local users
when creating the 'macports' user. (#30464, jmr in r81414, r81415) Also
improved Tiger compatibility in this area. (jmr in r81454, r81467)
- Fixed 'port selfupdate' exiting with non-zero status after installing a
new version of base. (jmr in r81371)
- Added --subports to options accepted by 'port info'. (jmr in r81234)
- Fixed incorrect info sometimes being added to PortIndex entries when
using subports. (#30463, jmr in r81361)
- Fixed descriptions not being shown for default variants. (jmr in r80971)
- Fixed 'port variants --index'. (jmr in r80969)
Release 2.0.0 (2011-07-22 by jmr):
- Multiple ports can now be defined in one Portfile using the 'subport'
procedure. This reduces code duplication when several ports use very
similar code. (jmr in r78062)
- Privilege dropping is now on by default. The runtime user can be changed
when building from source but defaults to 'macports'; this user is
created at install time. (jmr in r79025)
- Fetching from some extremely slow or partially unresponsive servers
should now time out as expected. (raimue in r71038)
- The registry is now "vacuumed" (compacted/defragmented) after
uninstalling ports. (jmr in r70608)
- Downloaded archives are now checked for integrity using digital
signatures. Sync and selfupdate can also use a signed tarball. New
pubkeys.conf file allows configuring keys to trust.
(jmr in r68996, r79093)
- Added 'actinact' pseudo-portname that expands to installed ports with an
active version and at least one inactive version.
(#27666, jmr in r79421, based on patch from gmail.com:ww.galen)
- Added --size option for 'contents' action that makes it print the size
of each file. (#27245, jmr in r79365, based on patch from
gmail.com:ww.galen)
- Added 'space' action to show the disk space used by ports' active files.
(#27244, jmr in r79349, based on patch from gmail.com:ww.galen)
- Actions can be abbreviated to an unambiguous prefix of the full name.
(#27242, patch from gmail.com:ww.galen committed in r79259)
- Fixed error when activating ports whose version contains an underscore
followed by an integer and a dash. (#28084, jmr in r79167)
- Deactivating a port that has dependents no longer needs to be forced
when the dependents are all inactive. (#29505, jmr in r78086)
- New option 'add_users' has been added. Setting it will ensure that the
listed users are created before all operations that may require them to
exist. (#11563, jmr in r78660)
- 'port info --index' should be much faster and will work with the
'current' pseudo-port provided the port has been indexed.
(#13673, jmr in r78621)
- Relocation is explicitly disabled when building pkgs on 10.6, so Apple's
Installer won't attempt to overwrite other copies of the same software
not installed by MacPorts. (#25174, jmr in r78178)
- Non-Darwin platforms can once again build base against OpenSSL for
checksum support. (#26813, afb in r77865)
- It is now safe to set svn.post_args, rather than that option being
reserved for svn.url. (#27454, jmr in r73825)
- Variants specified when running 'port mpkg' are now set in the
dependencies as well. (#27231, jmr in r73303)
- Fixed various issues with privilege dropping.
(#26899, jmr in r69453 etc.)
- Trace mode no longer fails on 10.6. (#21582, jmr in r74318, r74369)
- Ports that create StartupItems (aka launchd plists) should now be
installable by unprivileged users. (#10879, jmr in r66700, r75143)
- Fixed incorrect output from 'port dependents' when using newer SQLite
versions. (#27506, patch from gmail.com:mmpestorich committed in r76827)
- The flat registry format is no longer available. Setting portdbformat to
'flat' in macports.conf will result in the sqlite registry being used.
(jmr in r77681)
- Port images are now stored as archives. Archive mode is now effectively
always on. Among other benefits, this fixes some bugs with the handling
of hard links installed by ports (e.g. #13601).
Direct mode is no longer available. Existing port image directories, and
installed files for direct mode, will be converted to archives when
upgrading.
(#19458, branch by blb, merged by jmr in r77511)
- master_site_local, patch_site_local, and archive_site_local can be set
in macports.conf, with the same effects as the corresponding environment
variables. (jmr in r74924)
- Added 'logfile' action that prints the path to a port's log file.
(jmr in r74655)
- Computing large dependency trees that contain the same port(s) multiple
times should be considerably faster. (jmr in r73133)
- New configure.compiler options: macports-gcc-4.6, macports-llvm-gcc-4.2,
macports-clang (jmr in r71487; mfeiri in r72936, r72937)
- Add '-n' option to reinplace (#26406, ryandesign in r73227)
- Add new ccache_dir and ccache_size options, default path is
${portdbpath}/build/.ccache and a size of 2 GB.
(raimue in r71604, r71606)
- Add 'system -W path' which changes to the given directory before
executing the command.
(raimue in r71380, r71389)
- Add -w to build.cmd and destroot.cmd if using gnumake
(raimue in r71370)
- Add livecheck.ignore_sslcert; setting fetch.ignore_sslcert does no
longer apply to livecheck. distcheck now respects fetch.ignore_sslcert.
(#17063, raimue in r70975, r70979, r70982)
- Add SHA256 checksums in addition to MD5, SHA1 and RIPEMD160.
(afb in r57888, r57913; snc in r68955)
- Add @pkgdep lines to archives, with build-time dependencies.
(afb in r76919)
Release 1.9.2 (2010-11-07 by jmr):
- Added more locking to avoid TOCTOU errors when running multiple port(1)
instances (#19935, jmr in r70174)
- Fixed -q not suppressing output from 'port lint' (#25880, jmr in r70163)
- Added a helpful message when there is a checksum mismatch and the
distfile appears to incorrectly be a HTML document (#25128,
ryandesign/jmr in r70143)
- Now checking early on if there are sufficient privileges to install,
and failing before building anything if not (#25671, jmr in r70135)
- Avoided possible failure when the -u option is used when upgrading a
port that is marked as being replaced by another (jmr in r69022)
- Using the platform-specific PortIndex when syncing using a daily tarball
(jmr in r68786)
- Fixed failures when fetch target is run without root privileges and the
port is then installed with them (#25418, #25937; jmr in r69334, r70271)
- Fixed upgrading ports where the new version differs from the old version
only in epoch (jmr in r69436)
- Fixed [un]setrequested when using the flat registry format
(#26352, jmr in r69387)
- Fixed checking for conflicting ports before installation
(#25386, jmr in r69105)
- Now gracefully handling distfiles that use a tag that is not
associated with any sites (#25332, jmr in r68965)
- Fixed running 'port deps' on multiple ports, and changed its output
format back to how it was in 1.8 (#25324, jmr in r68950)
- Fixed premature privilege dropping (#25331, jmr in r68952)
Release 1.9.1 (2010-06-18 by jmr):
- Fixed a couple of problems with new 1.9 features when using the flat
registry format (jmr in r68910, r68913)
- Ports using the replaced_by option will once again be deactivated when
an upgrade is performed on them (#25270, jmr in r68872)
- Fixed the possibility of some empty directories being left behind when
a port is deactivated (#25268, jmr in r68864)
- Fixed failure to detect conflicts with files that are not provided by
a port before activation starts (#25255, jmr in r68849)
- Fixed problems with distfile names containing spaces (#25245, #25246;
jmr in r68816, r68817)
- Fixed a problem with uninstall when using direct mode, and started
running pre/post activate and deactivate procedures when installing and
uninstalling in direct mode, respectively (#11562, jmr in r68697)
- fixed a crasher that affected Tiger (#25194, jmr in r68675, r68680,
r68691)
Release 1.9.0 (2010-06-08 by jmr):
- It is no longer possible to use include statements in Portfiles
(raimue in r68206)
- Command line options can be abbreviated if unambiguous
(raimue in r66837)
- Added a new variable 'os.subplatform'. When os.platform is darwin, the
subplatform is either 'macosx' or 'puredarwin'.
- 'platform' no longer creates a variant, instead it executes the code in
the body immediately if the current platform matches the one specified.
- Using a Portfile with a modification date in the future now causes an
informative error early on, instead of just discarding the workdir at
the start of every phase. (#24717, raimue in r65246)
- Fetching from servers that require a cookie to be set now works.
(#24584, raimue in r66785)
- Fixed an error when everything is deleted from the patchfiles list.
(#24178, raimue in r65243)
- Added 'license:' pseudo-port selector. (#24123, perry in r65033)
- Added new fetch.type 'bzr'. (#23436, perry in r65096)
- Added 'rdeps' and 'rdependents' actions, recursive versions of 'deps'
and 'dependents' respectively. Also added 'depof:', 'rdepof:',
'dependentof:' and 'rdependentof:' pseudo-port selectors, for specifying
the ports that are dependencies or dependents of the given port.
(#22346, jmr in r65858/r66198)
- Updated the description of the search action in the port(1) man page.
(#23749, jmr in r66670)
- Dry-run now uses /dev/null as the statefile, which prevents a couple of
problems involving locking and variant checks.
(#21794, #21962; jmr in r66921)
- The list of dependencies to be installed is now displayed immediately
after computing them. (#21540, jmr in r66321)
- The quick index is now reloaded after syncing in interactive mode, which
prevents errors due to it not matching the updated PortIndex.
(#20874, jmr in r66319, refinement of patch from carrel.org:edward)
- The architectures of dependencies are checked when installing a port. If
a dependency does not provide the required arch(s), it is rebuilt with
+universal if that is possible and will help, otherwise the install fails
and an error message explains why. (#20728, jmr in r65087)
- New supported_archs option allows ports to indicate which architectures
they can be built for. The default values of configure.build_arch and
configure.universal_archs change based on this list. Set this to
'noarch' if a port installs only architecture-independent files.
(#20739, jmr in r64372/r64945)
- Declaring a variant that requires one or more other variants will now
correctly set the required variants, so they can be checked with
variant_isset. (#19224, jmr in r66642)
- 'port outdated' now indicates the reason why a port that appears to have
the same version as that in the tree is considered outdated. Possible
reasons are that the epoch is higher, or the installed version was built
on a different OS version. (#19138, jmr in r64960)
- Distfile names are now percent-escaped in the download URLs when needed.
(#18736, jmr in r66794)
- buildnicevalue is now applied to configure and destroot commands, and to
build commands with unusual names. (#18304, raimue in r65076/r65808)
- Removed hardcoded /opt/local prefix from the base dmg resources.
(#17633, jmr in r66776)
- Fixed an error that occurred when archive mode was enabled but
${prefix}/var/macports/packages did not exist. (#17579, jmr in r66775)
- Syncing rsync sources now tries to get a platform-specific version of
the PortIndex from the server, and skips this if the local copy is less
than a day old. All sync methods now update the PortIndex at the end.
(#17157, jmr in r66846/r67207)
- portindex(1) now skips parsing Portfiles whose modification time is
older than the current PortIndex, instead reusing the existing entry.
(#16235, jmr in r66845)
- Added a 'requested' flag to the registry that indicates which ports were
installed explicitly (as opposed to as a dependency of something else).
This enables the new 'requested', 'unrequested' and 'leaves' pseudo-
ports, as well as the --follow-dependencies option for uninstall.
The setrequested and unsetrequested actions will set and clear the flag,
respectively.
(#15260, jmr in r64517, r64663, r65546, r66037, r66200, r66215)
- The macports1.0 directory is now installed to
${prefix}/share/macports/Tcl rather than /Library/Tcl. A symlink will be
installed in the old location if there is nothing there already, so
'package require macports' will still work in tclsh.
(#12943, jmr in r65055)
- Added warning and error messags when Xcode is old enough to cause
problems or too old to use at all, respectively. (#12794, jmr in r66771)
- Removed the rather outdated copy of sqlite3 from the source tree, made
the sqlite3 directory configurable, and added defaults for non-darwin
platforms. (#12231, jmr in r64358/r64363)
- There is a new 'archivefetch' target which is run before unarchive when
archive mode is enabled, and attempts to download the archive from a
server. There are currently no sites configured to download from (these
are stored in the ports tree like the mirror sites used for fetch), but
you can set ARCHIVE_SITE_LOCAL in the environment. Note that there is no
integrity checking for archives yet. (#8571, jmr in r64816)
- Now recording negative variants in the registry, which stops deselected
variants from being reactivated on upgrade due to default_variants or
variants.conf settings. (#2377, jmr in r64533)
- Added support for pre- and post- procedures for the activate, deactivate
and uninstall targets. This feature requires portdbformat sqlite. There
was limited support for pre- and post-activate previously, but the
procedures were only run when installing the port, not when activating
an inactive version. (#1068, #4228, #18273; jmr in r64638/r64639)
- Integrated the sqlite-based registry2.0 code. The portdbformat variable
in macports.conf can be set to 'sqlite' to enable it. Existing flat
receipts will be converted the first time port(1) is run with sufficient
privileges. Original code by sfiera, fixed and integrated by jmr in
r63398 and following. The new format lacks a number of problems that the
old one suffers from, including #13054 (dependencies from old port
versions stick around across upgrades) and #14123 (files whose paths
differ only in case are left behind when uninstalling).
- Fixed file list in +CONTENTS file in archives. (#21864, jmr in r59882)
- Fixed a few issues reported with building MacPorts on Linux. (#22716)
- Upgrade will now always choose the port that is active when following
dependencies that could be satisfied by more than one port and more than
one of these is installed, instead of choosing the one actually named in
the depspec. (#23921, jmr in r60883)
- Extracting from a disk image ("use_dmg yes") no longer fails when there
is a space in $worksrcdir. (#23456, raimue in r67089)
- Added a configure.sdkroot option which can be used to build against a
Mac OS X SDK. It is empty by default unless the value of
macosx_deployment_target is not the current OS version, or the universal
variant is set and the current platform is PowerPC Tiger. It is also
possible to set macosx_deployment_target globally in macports.conf now,
but this is unsupported. (#19875, jmr in r66924)
- Add "fs-traverse -tails" which only returns the part following the
specified directory (#21873, raimue in r65785)
- Allow gcc45 port to be used in configure.compiler (ryandesign in r62223)
- svn checkouts now use peg revisions instead of operative revisions,
so they'll continue to work if a repository gets reorganized
(#20777, ryandesign in r60573)
- Print the location of the log file when a target fails (jmr in r60769)
- Use CommonCrypto/CommonDigest instead of OpenSSL libcrypto.
(toby in r58131, jberry in r59715)
- New "patch.type gnu" for GNU patch, similar to "build.type gnu"
for GNU make. Only makes a difference for BSD patch and BSD make.
(afb in r58020)
- Updated the FreeBSD package (ObjC/Foundation is now optional).
(afb in r57889)
- Don't use "make -j1" for build.jobs=1, but prefer "make" instead.
(afb in r57998)
- Add new "use_xz yes" port option to allow distfiles in xz format.
(afb in r57827)
- Archive mode now uses build_arch in archive names rather than os.arch.
(snc in r58977)
- Add new log command and keeping of debug output for easy access
after port has run (GSoC 2009 logging project by enl, merged in r60372)
- Some of the build_arch flags now appear in LDFLAGS as well, fixing
several ports when building for a different architecture (jeremyhu in
r60662, jmr in r60680)
- Fixed 'merge' proc for paths with spaces, and for symlinks on Snow
Leopard, and added an error message for when 'merge' is not called
correctly (#21852, ryandesign in r58776, r58777, r58778)
Release 1.8.2 (2010-01-01 by jmr):
- Fixed 'port load' for non-root installations (#21713, jmr in r60774)
- Fixed a bug that could cause port to hit the open file limit
(#22959, jmr in r61770)
- Fixed an error when installing from source or selfupdating on Tiger with
an svn-based ports tree (#20760, jmr in r61302)
- Fixed an error when selfupdating as root with a prefix that is not owned
by root (#21010, jmr in r60798)
- Stopped uninstall from failing when files in the port image have already
been deleted (#22001, jmr in r59318, r59654)
- Stopped printing command output multiple times on failure (#21084,
jmr in r60770)
- Started showing bug reporting instructions on failure (jmr in r60770)
- Fixed a bug where 'port dmg' could create too small an image and run out
of space (#22404, jmr in r60260)
- Fixed a bug where reinplace could fail when running port without root
privileges (#20896, jmr in r59597)
- Started setting our own umask since Snow Leopard makes us inherit
the user's even when using sudo (#21389, jmr in r59585)
Release 1.8.1 (2009-09-28 by jmr):
- Installer error messages now display properly even from the Snow Leopard
MacPorts dmg. (jmr in r56448)
- 'fetch.type svn' no longer requires the installation of the subversion
port as of Snow Leopard. (toby in r56160; raimue in r56162)
- Updated manpages and 'port help' output (ryandesign in r56472, r56473,
r56474; blb in r56666, r57048, r57131)
- Fixed syncing using the daily tarball. (#21034, toby in r56889)
- Fixed 'port load' (#21128, raimue in r57055)
- Improved error message when an expression on the command line does not
match any ports (jmr in r57026)
- Stopped recording the completion of the install phase in the
statefile, which led to errors if the port was uninstalled but the work
dir was not cleaned, and the port was then installed again.
(jmr/raimue in r57801, 57820)
Release 1.8.0 (2009-08-28 by jmr):
- There is now a 'build_arch' variable, available in portfiles and
configurable in macports.conf, which sets the CPU architecture that
ports should be compiled for (when not building universal). Its default
is the same as that of the Apple-supplied /usr/bin/gcc.
(#19874, jmr in r53217,r53386,r53420,r53494,r53860,r54236)
- MacPorts base now works on and has appropriate default settings for
Mac OS X 10.6 Snow Leopard. (#19874, toby/mww/jkh in r38271,r40060,
r40836,r43976,r52397)
- MacPorts now requires Mac OS X 10.4 Tiger or later. (Panther is not
just "unsupported", it really won't work.)
- The universal_sysroot and universal_target keys have been removed from
macports.conf. These settings are now handled automatically.
(toby in r52324)
- Added a 'replaced_by' portfile option. This causes upgrade to deactivate
the current port and install the port specified by this option. This
also allows ports to be renamed. Upgrade accepts a --no-replace option
which disables this behaviour. (#20157, jmr in r54378)
- The upgrade action now accepts --force and --enforce-variants options.
The former causes ports to be rebuilt even if they are not outdated, and
the global -f option no longer has this effect (it had too many effects
already). The latter causes ports to be rebuilt if the requested
variants do not match those installed (even if they are not outdated).
(#20156, jmr in r54376)
- Dependencies can be satisfied by ports that are installed but not
available in the ports tree (useful for testing uncommitted ports).
(jmr in r52075, r52160)
- Ports that are installed but not available in the ports tree no longer
cause an error when running commands like 'port clean installed'. They
are skipped and a warning is printed. (#19253, jmr in r50865)
- Selfupdate no longer disables readline support unless readline is found
in /usr/local, which has historically caused failures.
(#19035, jmr in r50868)
- Uninstalling a port that is not installed now produces an informational
message rather than an error. (#18984, jmr in r53709)
- Added a 'conflicts' portfile option. Conflicting ports will be detected
during dependency calculation. (#18794, blb/jmr in r51525)
- 'port selfupdate' now explicitly states precisely what it does. (#18512)
- Operating system and architecture information is now shown in debug
output. (#18435, raimue in r46669)
- Fixed a bug that could break some symlinks to man pages. (#18302)
- Switched to a more efficient algorithm for looking up port information
in the index, which makes many operations faster.
(#18259, jmr/blb in r47110)
- MacPorts base now tries to avoid using commands that come from ports, so
that a broken port can't break the base code. (#18149)
- Deleting all the contents of a portfile option no longer unsets the
option entirely. (#17865, toby in r44901)
- Removed the code that upgrades from the old DarwinPorts filesystem
layout. Trying to upgrade to 1.8.0+ from a version older than 1.5.0 will
produce an error message saying you need to install 1.7.1 first.
(#17619, jmr in r53260)
- port(1) now reports its version as dotted-decimal rather than floating
point. (#17420)
- Dependencies are now always obtained by parsing the Portfile and not
from the PortIndex, since the latter can't provide expanded variables
like $prefix which may be used in path: depspecs. (#17182)
- Newline characters in long_description can no longer cause receipt
corruption. (#16619, blb in r50663)
- Now unlocking the filemap when it is not in use. This allows e.g.
'port contents' to be run while another port instance is performing
installs. Note that running more than one simultaneous port instance
that will modify the registry can easily fail, though hopefully
without corrupting anything. (#16246, jmr in r51133)
- Removed some irrelevant debug output that was being printed when a port
failed. (#16203, jmr in r53706)
- Added new depends_fetch and depends_extract options, for dependencies
that are needed to fetch or extract the port, respectively.
(#15161, jmr in r51780)
- Packages (including the one for MacPorts base) now correctly indicate
that they can only be installed on the root volume.
(#14809, jmr in r53250)
- Using an alternative fetch or extract type now adds appropriate
dependencies automatically, e.g. 'use_zip yes' adds a dep on unzip, and
'fetch.type svn' adds a dep on subversion. (#13981, jmr in r43782)
- port(1) should now exit with an appropriate status code when an error is
encountered. Use the -p option to continue despite errors.
(#13918, jmr in r53704)
- Proxy information can now be obtained from System Preferences and from
macports.conf. The older method using environment variables no longer
works out of the box on Leopard due to changes that Apple made to the
default /etc/sudoers. (#13158, blb in r47194)
- Improved handling of malformed variant definitions.
(#12596, jmr in r50719, r50721)
- Cope a little better with missing receipt files. (#19540, jmr in r51138)
- Fixed a major memory leak in the filemap code.
(#12022, pguyot in r51419)
- Improved the logic for determining whether phases can be skipped. This
fixes the specific problems of being unable to build packages of ports
that are installed, port not running specific phases (e.g. build)
when told to if the port is installed, and inactive dependencies being
rebuilt instead of simply activated. (#10881, #16260, jmr in r50490)
- When archive mode is enabled, ports will no longer be rebuilt if an
archive is available. (#10785, jmr in r50416)
- Activating a port will now first deactivate any other version of the
same port that is already active. (#10571, jmr in r53711)
- Added a 'license' portfile option, which is displayed in 'port info'
output. (#7493, jmr in r50801)
- port lint recognizes new top-level category php (#19329, ryandesign)
- Do not print header lines when the quiet option -q is set
(raimue in r48558)
- svn.tag is deprecated, use svn.revision instead (raimue in r48222-48223)
- port -i option has been removed (blb in r48218)
- ui_warn logs to stderr instead of stdout (raimue in r48217)
- Remove --pretend option for port selfupdate, use global dry-run option
instead (raimue in r48125)
- port(1) option -y for dry-run (#11892, gwhitney/jmr in r43726)
- New pseudo-port 'obsolete' to identify ports which are installed but no
longer in the PortIndex (raimue in r47253)
- MacPorts can now perform fetch, extract, patch, configure and build in a
user rather than system owned location. By default, this is
~/.macports/opt. This allows MacPorts to do all but the install of the
port without root privileges. (gsoc08-privileges)
- MacPorts can now automatically drop privileges so as to avoid running as
root whenever possible. To enable this, pass the desired user to run as
to configure with the --with-macports-user option. (gsoc08-privileges)
- The Portfile format has a number of new boolean attributes to indicate
when an action should or should not be run with root privileges:
'patch.asroot', 'build.asroot', 'configure.asroot', 'destroot.asroot',
and 'install.asroot'. The default for all is "no". If the prefix folder
(by default /opt/local) is not writable, MacPorts will attempt to
elevate privileges to root for the install phase. (gsoc08-privileges)
- A "make group" command has been added to the Makefile and a
"--with-shared-directory" switch to the configure script. Running "make
group" will create a macports group. "--with-shared-directory" will let
let the group specified by "--with-install-group" have full read write
access to the /opt/local hierarchy. This will allow users who are
members of the new macports group to have full write permissions to
/opt/local and its subfolders, and hence to install ports which only
affect that hierarchy without requiring root privileges.
(gsoc08-privileges)
- A switch called "--with-no-root-privileges" has been added for use by
user installing MacPorts for their own use only. An example configure
command would be "./configure
--prefix=/Users/{your-user-name-here}/.macports/opt
--with-no-root-privileges" (gsoc08-privileges)
- Add several new options to port search, looks in name and description by
default (#15434, raimue)
- Add xpkg package type, xar-based format with XML. (afb)
- Split portpkg creation out from portsubmit phase. (afb)
- Make dependencies displayed in port info respect variants
specified in variants.conf; collapse port deps to be an alias
for port info with appropriate flags. Note this changes output
format of port deps somewhat. (#11891, gwhitney in r44340)
- Make dependencies in port upgrade respect variants as specified
(in order of precedence) on command line, latest installed
version, or variants.conf . (#8221, gwhitney in r44362)
- Add select action, which integrates *_select tools into port.
(#17477, perry)
- The variants action additionally shows default variants, conflicting
variants and variants' dependencies. (#14178, #15628, perry)
- Implicit variants (e.g., darwin) can no longer be explicitly
set/unset. (#12563, perry in r46938, jmr in r53371)
Release 1.7.1 (2009-03-28 by raimue):
- Trailing slashes are stripped from the prefix passed to configure, which
prevents incorrect mtree violation warnings. (#13789)
- Fix freshmeat-based livecheck (#18887)
- Fix issue on direct-mode installs where checking for installed ports
wasn't properly looking (it only matched for revision 0 and no
variants) (#17762)
- Add new "use_7z yes" port option to allow distfiles in 7z format
(#18521, ryandesign)
- port lint no longer requires variable master_sites if the port has no
distfiles (#18479, ryandesign)
- Upgrade will no longer accept ports that are not installed (but it still
installs new ports as dependencies if needed). In particular, this means
that "port upgrade all" will no longer proceed to install every
available port. (jmr in r46052)
- Add mkdtemp Tcl command to create temporary directories. (#17181, perry)
- Add 'apple-gcc-4.2' option to configure.compiler (#18426, ryandesign)
- Create ${applications_dir} and ${frameworks_dir} in destroot
automatically (r45614, raimue)
- Make the postflight procedure a bit smarter about which login files
to update for bash and tcsh (#17588)
- Add error messages to package installers when the wrong OS package
is being installed (#13141)
Release 1.7.0 (2008-12-13 by blb):
- Global variant descriptions using variant_descriptions.conf in the new
resources directory in the ports tree (#14482, raimue)
- Move port resources into the ports tree (#14553, raimue and blb)
- Improve error message when "upgrade outdated" is used (#12288)
- Properly handle ports whose version evaluates to 0 (#16740, ryandesign)
- PortIndex is now regenerated atomically (#16234, blb & ryandesign)
- Improve upon 'port lint' usage by not being too overbearing unless
--nitpick is used (#14799)
- Fix reinplace when the filename contains spaces (#17098, ryandesign)
- Fix python port group issues (#15226)
- Make sure global variants (from variants.conf) are applied to all
phases (#11897)
- Allow configuring --without-objc-runtime --without-objc-foundation,
for building on platforms without Foundation like +puredarwin (r41015)
- Changes in loading of configuration files. Currently the global
configuration file is loaded first, then user defined one (if present),
PORTSRC environment variable is loaded last. Last defined value is used
for each configuration option. (#16329, contributed by Adam Byrtek)
- Ruby port group now accepts a new (optional) last parameter for the
ruby.setup command, "implementation". It is "ruby" by default, and
can be set to "ruby19". It names the ruby-implementing port, and can
possibly support still other rubys in the future. (#15912, febeling
in r38683)
- Don't use build.nice for complex build.cmd commands (#16091)
- The buildmakejobs setting now also affects ports using the scons build
system, so now scons-based ports can be built in parallel too. Previously
only automake-based ports were supported. (ryandesign in r38556)
- User-supplied port names are now treated in a fully case-insensitive
manner. This fixes a bug where giving the name with incorrect case when
deactivating/uninstalling would cause all the port's files to be left
behind. (#11759, jmr/raimue in r37349, r37621)
- The non-verbose output for the build phase no longer shows what target
was used. This makes the build phase consistent with the other phases
which also do not show details. If details are desired, the debug or
verbose switches should be used. (#15881, raimue/ryandesign in r38315)
- Make missing sed extended regexp (for reinplace -E) into a runtime error.
(#15577, afb in r37501)
- More helpful strings for 'port help' (needs more work #15467, raimue)
- Command line options are checked if the command accepts it before
running (raimue)
- We now have a mirror of (almost) all distfiles at distfiles.macports.org,
and it is automatically appended to master_sites and patch_sites (#15456,
jmr in r37217, r37255)
- port search looks now in name, description and long_description for the
search pattern and prints the list sorted (#15434, raimue in r37119,
r37121)
- Stopped 'port -R upgrade' from processing more ports than it should, and
from processing ports multiple times. (#10827, jmr in r37046)
- Don't include build.nice and build.jobs in destroot.cmd (#15295)
- The default universal variant is no longer added when we know it won't
work. (#12170, jmr in r36764)
- During upgrade, if the latest installed version of a port is not active,
the currently active version (if any) is now deactivated before trying
to activate the latest version. (#12013, jmr in r36762)
- A port with dependents can now be removed without forcing iff it is
inactive and there is at least one other version of the same port
installed (#11501, jmr in r36747)
- Duplicate entries can no longer build up in the dependency map (#8763,
jmr in r36745)
- In image mode, dependencies are no longer treated as being satisfied
when the satisfying port is not active (#7361, jmr in r36735)
- Fixed a bug where upgrade could create too many nested subdirectories
in distpath, archive.destpath and unarchive.srcpath (#11971, jmr in
r36679, r36687, r36688)
- Declaring a dependency on a nonexistent port now always causes an error
(#10768, jmr in r36648)
- Explicitly use unsetenv(3) on all environment variables (#13930, #16010,
#16233)
- Make the included tclthread compile on Leopard if configured (#13495)
- Allow distfiles to be disk images with "use_dmg yes" port option (#13509,
ryandesign in r36708)
- ruby.setup now takes a type 'fetch' to just fetch/extract (eridius in r35773)
- Fetch now prefers mirrors with lower ping times (#14891, jmr in r35748,
r35806, r35808)
- Fetching of daily snapshot tarballs of the ports tree as an alternative to rsync
(raimue in r35647, r35648)
- port uninstall now takes --follow-dependents to uninstall all dependents
(#14637, eridius/raimue in r34977, r35042, r36160)
- New fetch.type git (#14232, eridius in r34875)
- fixed "port mdmg" getting block size wrong for the disk image (#13968, afb in r34844)
- always set MACOSX_DEPLOYMENT_TARGET, to avoid bugs with older glibtool (afb in r34541)
- port lint now checks all dependencies so that the ports actually exist (#14380)
- added target_state to avoid the need for privileges for lint/livecheck (#13458)
- Overhauled output for port info/deps/dependents/search (raimue in
r34354, r34371, r34391, r34395, r34402, r34420)
- Revert the default +universal MDT/SDK to 10.4/10.4u on Tiger and 10.5/10.5 on Leopard
- port lint shouldn't require variable master_sites for fetch.type != standard (#14377)
- Add "tcldoc" documentation comments and "tcldox" Doxyfile for doxygen (#12048)
- Add --pretend and --nosync flags to selfupdate (raimue in r33938, r33939,
r33940, r33941)
- Work around autoconf X11 detection bugs on darwin (afb in r33717)
- Fix bugs with X11 lib detection on Leopard (#14089, afb in r33716)
- Add configure.{optflags,m32,m64,march,mtune} (afb in r33503, r33599)
- Add applications_dir and frameworks_dir configuration (r33499, r33722)
- Remove some hardcoded paths (such as /usr/X11R6, /usr/bin/install) (afb in r33501, r33619, r33620)
- Add configure.{universal_target,universal_sysroot,universal_archs} (afb in r33478).
- Change default +universal platform back to: 10.4/10.4u.sdk/i386 ppc (r33087, r33107).
- Add `port platform` info action that outputs current platform (#12302, afb in r32724).
- Enable 64 bit environment, ppc64 x86_64, for all +universal builds (mww in r32194).
- Add 'merge' function for merging multiple (single arch) destroots into one (universal)
destroot (mww in r31954).
- If checksum is mismatched, and in verbose mode, present a corrected pre-fabricated checksum statement
to make it easy to update a port (jberry in r32441).
- Fixed the "Error: Unable to open port: invalid command name "ui_prefix"" runtime error on Panther
(eridius in r32525).
- Fixed the "Error: Unable to open port: invalid command name "ui_channels"" runtime error on Panther
(eridius in r32514).
- "port lint" now recognizes non-canonical modelines (afb in r32480).
- "configure.pipe" is now hackable from Portfiles (afb in r32430).
- MacPorts no longer installs the "base/config/mp_version" file, as the release version is now stored
internally in $macports::autoconf::macports_version (jmpp in r32353).
- Bail out with a suitable message if the requested port is not installed when polling its dependents
(jmpp in r32336).
- Fixed a Panther build failure due to missing sqlite headers (jmpp in r32212).
- Fixed a build failure by passing the base/src/cregistry/cregistry.a archive through ranlib (jmpp in r32105).
Release 1.6.0 (16-December-2007 by jmpp):
- Revamped the postflight script that is run by Installer.app with our pkg installer to gracefully
handle the addition of PATH, MANPATH and DISPLAY environment variables separately, if needed.
Read http://guide.macports.org/#installing.binary.postflight.details for more information
(jmpp in many commits directly on the release_1_6 branch).
- Remove LD_PREBIND & LD_PREBIND_ALLOW_OVERLAP variables from MacPorts' environment to prevent
prebinding of binaries, which can be harmful on Tiger and above (#13436, mww in r31786).
- Add 'gcc-4.2' option to the configure.compiler Portfile command (mww in r31891).
- Flush port(1) output channel after issuing prompt, when readline is not
available, to ensure prompt is displayed at proper time. (jberry r31338).
- readline is now disabled by default, in order to avoid support issues.
use --enable-readine parameter to configure to enable support for readine.
(#10651, jberry in r31139, r31140).
- daemondo now monitors kevents for the death of the daemon process, which means that it
now detects the death of processes (even those that aren't direct child processes)
much more reliably. Plus other daemondo logging and doc cleanups.
(jberry in r30313,r30332,r30333,r30334,r30335,r30364).
- dramatic speedup to file, dir, url, work actions (jberry in r31056)
- add option "extract.mkdir [no|yes]" for distfiles that would pollute ${workpath} with
multiple files (mww in r31028)
- add optional configure.pipe output (afb in r29604 & r30824)
- add "startupitem_type none" macports.conf configuration option (#12743, afb in r30823)
- add configure.[awk|bison|pkg_config|pkg_config_path] (r30761)
- Auto-mode for number of parallel build threads (if number of jobs is set to "0") (r30739)
- Add option use_parallel_build [yes|no] to declare if a port can be built in parallel (r30714).
- New SourceForge.jp mirrors list (r30484).
- Display warnings when using old versions of Mac OS X and Xcode Tools
(#12794, afb in r30338 & r30477)
- Remove configure.macosx_deployment_target, add global macosx_deployment_target
(eridius in r30396).
- add support for LZMA compression, for making .tlz archives (afb in r30307)
- add configure.[perl|python|ruby] for interpreters, .install for avoiding breakage
due to coreutils, .libs
- added startupitem.netchange boolean flag (#12931, N_Ox in r30086).
- added generic GNU livecheck (N_Ox in r29812).
- fixed bug where all .mpkg packages were missing their welcome page (afb in r29517)
- better defaults for implicit ui_channels behaviour (eridius in r29498).
- prevent creating PKG packages with /etc or /var or /tmp (#2102, afb in r29445)
- add optional configure.ccache and configure.distcc filters (#5390, afb in r29438)
- Explicitly sort fs-traverse so it behaves predictably on Linux systems
(#12622, eridius in r29412).
- add configure.objc/objcflags for Objective-C
- add optional build.nice (0) and build.jobs (1) modifiers (afb in r28634 & r28673)
- make tclobjc1.0 compile with GNUstep and NXConstantString class (afb in r28668)
- fix bsdmake/gnumake defaults for FreeBSD and Linux platforms (afb in r28660)
- port lint command, for Portfile verification (#463, afb in r28170)
- add configure.macosx_deployment_target for configure flags
- add configure.javac/classpath for Java
- add configure.fflags/fcflags/f90flags for Fortran flags
- Mark "python" group code as deprecated
- Add group code for Python 3.0
- Add more compiler suites for the 'configure.compiler' option
- `port variants` behaves like `port info` in that it parses the Portfile for up-to-date info.
`port variants` also supports the --index flag (eridius in r27919).
- Fix upgrade to properly handle installed versions beginning with letters (eridius in r27900).
- Chris Pickel's GSoC2007 work: registry2.0 & cregistry (mainly r27518 & r27520)
- Eugene Pimenov's GSoC2007 work: Trace lib on unix sockets (r26682).
- Elias Pipping's GSoC2007 work: merge.rb on his personal /users/pipping svn dir.
Release 1.5.2 (15-August-2007 at branches/release_1_5's r27896, by jmpp):
- Fix mtree checks which inaccurately complained about files in /Applications, /Library & /Developer;
mtree checks now also warn the user if a port indicates an intended violation and errors are
temporarily non-fatal (mww & eridius in r27709, r27710, r27719, r27720 & r27773).
Release 1.5.1 (11-August-2007 at branches/release_1_5/base's r27646, by jmpp):
- Remove sed rules taking care of dp based comments in the macports.conf file from the upgrade target in base/Makefile.in,
they were causing problems for people with /opt/dports or similar prefixes (jmpp in r27618).
- Facelift to the PortIndex2MySQL.tcl script to make it selfcontained and work with the new macports1.0 api to
generate SQL statements with information extracted from Portfiles (jmpp in r27415).
- Always print the livecheck regex in debug mode, not only when it fails (ryandesign in r27379).
- Detect some mtree violations within ${prefix}. Test can be overriden by "destroot.violate_mtree yes" in a Portfile
(mww in r27199).
- Fix version comparison in MacPorts initialization to properly detect Tcl versions 8.4.7 and later (sfiera in r27127).
- Fix double de-escaping of livecheck.regex inadvertently introduced in r26041 (eridius in r27079).
- Added new Portfile options to the configure stage for selecting compiler(s) (mww in r27018, r27021, r27022 and r27053)
- New logic in the upgrade target to account for cases where the old and new versions consist of different
numbers of segments (sfiera in r26921).
- Remove dead OpenDarwin mirrors from our mirrors list (jmpp in r26903)
- New tests for violations of common directory structure (and option to override them for special cases)
- Added new variable ${os.major} that contains the Darwin major version (eridius r26693, ticket #12224).
Release 1.5.0 (09-July-2007 tagged at r26818 by jmpp):
- Many documentation updates and improvements, mostly thanks to Maun Suang and Brian
Campbell who both started work on both improving our man pages and reviving the
long forgotten MacPorts official guide, now nightly regen'd on an automated basis
and hosted at a temporary location, http://geeklair.net/macports_guide/, all
thanks to Daniel J. Luke (dluke).
- Improve built-in "daemondo" program logging (jberry r26537 & r26569).
- rpm target now knows how to also build universal packages if requested (afb r26470).
- The "rpmpackage" target was renamed to "rpm", and a new target "srpm" added
that allows packaging a Portfile (and files/distfiles) up as a source package.
Upgraded RPM to version 4.4.9 and changed OpenDarwin/DarwinPorts to MacPorts.
The default build location is now ${prefix}/src/macports instead of ${prefix}/src/apple
(jmpp & afb in r26465, r26496, r26536, r26543).
- Fixed a potential crasher in the delete command (ticket #12149, eridius r26397).
- 'port delete --work' now removes $portbuiltpath instead of $workpath, effectively prunning
empty dirs that up until now were left behind in the build directory (jmpp r26394).
- gnustep portgroup for gnustep-make-2.0 (yves r26266).
- Adding backwards compatibility glue for clients of the public (darwin|mac)ports1.0 API
that use now deprecated procs naming (DarwinPorts namespace) (jmpp r26392).
- Merged the dp2mp-move branch into trunk to finally move away from all
DarwinPorts related strings and conventions both internally and externally,
implying big changes in MacPorts pathnames with respect to user visible stuff.
Read http://trac.macports.org/projects/macports/wiki/MacPortsRenaming and
http://trac.macports.org/projects/macports/log/branches/dp2mp-move/base for
more full details and information (jmpp r26177).
- Fix livecheck to properly de-escape livecheck.url (eridius r26041).
- Add warning when it looks like PortIndex file is corrupt (eridius r26040).
- Make portindex use stderr for errors (eridius r26038, ticket #11585).
- Fix port variants calculation to properly account for negated variants and
to detect problems between required and negated variants
(ticket #11920, eridius r26036, patch by gwhitney).
- Add global methods lpush, lpop, lshift, and lunshift. Works similar to
lappend (in fact lpush is just lappend) and do what they sound like.
Also add ldindex. Works like lindex, but deletes the element from the list.
Documented in portfile.7 (eridius r26034).
- Add global methods try and throw. Implemented based on the specification
in TIP #89. Documented in portfile.7 (eridius r25979).
- Handle encodings properly now. All Portfiles and .conf files are assumed
to be utf-8, and reading them or calling portindex(1) should now work
the same on all locales (ticket #11978, eridius r25975).
- Add support for decoding of obscured maintainer addresses.
We support two types of obscured addresses in Portfile maintainers field:
(1) username ==> implies username@macports.org
(2) subdomain.tld:username ==> implies username@subdomain.tld
These are unobscured by port info, and by port submit during the submission process,
but are left obscured in the Portfile to avoid accidental disclosure.
(jberry r25795).
- Update port.1 to reflect what "port dependents" really does (markd r25787, ticket #11898).
- Distinguish a pseudo portname that evaluates to nothing from no arguments at all,
improving behavior of 'installed', 'active', 'list', and 'search' pseudo portnames.
(jberry in r25789, ticket #10674).
- Bugfix startup item generation so that launchd.plists are disabled
by default, as we claim they are in our documentation. (jberry r25785).
- Update adduser/addgroup to use dscl instead of niutil. Also add support
for realname key in addgroup (ticket #11012, eridius r25586).
- Make a correction to port(1)'s determination of whether or not a port has
been updated by making it compare ${version} and then ${revision} rather
than a single comparison of the compound ${version}_${revision}; the
latter reports 2.01_2 to be newer than 2.01.01a25_0 because, at the fifth
character, `_' comes after `.' in ASCII lexicographic order.
(boeyms in r25310)
Release 1.4.42 (17-May-2007 tagged at r25296 by jberry):
- Fix reinplace, broken in 1.4.41 (eridius r25285).
Release 1.4.41 (16-May-2007 tagged at r25266 by jberry):
- `port info` now supports new --index flag for using old behaviour (eridius r25256).
- `port info` now opens the Portfile and displays up-to-date information.
This allows information about variants to be displayed (e.g. dependencies).
Also allow `port info` to default to current directory if no name is provided
(eridius r25255).
- Add -E flag to reinplace, does the same thing as in sed (eridius r25251).
- Add support for [nosync] flag in sources.conf to prevent a source from syncing
during a `port sync` or `port selfupdate` (eridius r25236).
Example: file:///Users/landonf/misc/MacPorts/dports [nosync]
- Updating a file: source via svn update during port sync now uses the uid/gid
of the owner of the working copy (eridius r25142).
- Make port(1) convert description and long_description from lists to
strings before printing to stdout; this enables the proper printing of
semi-colons, brackets and other characters by way of Tcl escape sequences.
The exceptions to this are the sequences for newline and carriage return
(these break the flatfile PortIndex format by introducing line breaks).
(boeyms r25110)
- Evaluate variants at dportopen instead of dportexec. This ensures that
the portfile represents the proper information if queried before targets
are executed. It also prevents variants from being executed twice if multiple
targets are executed separately on the portfile (ticket #11296, eridius r25033).
- Fix copy and move commands (eridius r25024).
- Passing multiple arguments to $option-delete now works as expected
(ticket #11929, eridius r25006).
- fs-traverse no longer follows symlinks specified on the root. This fixes
the incorrect behaviour of delete seen in #11862 (eridius r25003).
- Remove bundled xar. (jberry r24913).
- Tighten checking of port name in depspecs. neither + nor / is allowed.
(jberry r24929, r24934, r24940).
- Restore ability for portindex lines to contain carriage returns, allowing
fields such as descriptions to contain line breaks. Note that any portindex
containing such entries will not be readable by a recent version of macports.
(jberry r25146)
- Add support for descriptions on variants:
* The syntax follows the syntax for variant depends, etc.
* Descriptions for variants are entirely optional
* The change to the portindex format to allow variant descriptions
should be backwards compatible. Variant descriptions are stored,
keyed by the variant name, in a new portinfo array named "variant_desc".
Example:
variant myvariant description "This variant does this and that" {
configure.args-append --do-this --do-that
}
(jberry r25147)
- Only look for, or create, ~/.macports user directory if the HOME environment
variable is defined. (jberry r25177)
Release 1.4.40 (7-May-2007, tagged at r24909 by jberry):
- Note the bump in version naming. To leave ourselves lots of room in our versioning
scheme, we've jumped from 1.4.3 to 1.4.40. The floating point represenation as
reported by port version (1.440) will still be the same; we're just interpreting
it differently.
- variable tracing now works in a much better way and handles unsets properly.
Similarly, ${option}-delete now works better. Depends validation no longer
attempts to validate when the variable is unset. Additionally, the validation
now actually validates each depspec instead of simply finding a single spec
within the list that works (ticket #11868, eridius r24678).
- macports infrastructure now easier to use from scripts.
ui_prefix and ui_channels have default implementations, and
all arguments to dportinit are now optional (ticket #11837, eridius r24460).
- ln now accepts combined flags (ex. ln -sf foo bar) (eridius r24452)
- default_variants now handles multiple values correctly (ticket #11828, eridius r24450).
- ln uses new symlink command so it can create symlinks that point to
files that don't actually exist (eridius r24444).
- New bare-bones Pextlib command `symlink source target` (ticket #11840, eridius r24444).
- delete reimplemented using fs-traverse (eridius r24435).
- fs-traverse now uses the fts(3) family of functions instead of readdir/opendir.
This fixes a couple behavioral oddities, and makes deleting during traversal work on 10.3
(ticket #11839, eridius r24423).
- fs-traverse now takes a list of targets rather than a variable number of arguments
(ticket #11836, eridius r24410).
- Fixed a potential crasher in fs-traverse when showing error message
(ticket #11827, eridius r24396, thanks sfiera).
- Fixed a bug where livecheck failed on ports that do not define a homepage
(ticket #11818, pguyot r24319).
- Added the downloads section of our repo to the macports mirrors list (jmpp r24278).
- Fixed a bug with the archive mode introduced with r23238 change (1.4.1)
(pguyot r24273).
- Trace mode now take dependencies into account when executing the activate
phase. This fixes an unwanted warning when activating ports that depend
on teTeX (pguyot r24199).
- Support for mpwa submit through "port submit".
This work is in progress. (jberry)
- Expose autoconf XAR variable as portutil::autoconf::xar_path. (r24194).
- Start to build portpkg.xar and meta data, hijacking Kevin's
portsubmit.tcl. (r24195-24196).
- Revise error messages in port image activation to use syntax that
matches port(1). (jberry r24543, r24548).
- Create new interp variable prefix_frozen, which is available to port phases
even when the Portfile redefines prefix. (jberry r24848-r24849)
- Search for prefix-relative commands in prefix_frozen rather than prefix.
Affects port submit (xar) and port fetch (svn). (jberry r24849)
- Always create a ~/.macports user directory if it doesn't yet exist. (jberry r24831)
- Move port(1) readline history file to ~/.macports/history (jberry r24832, r24843)
Release 1.4.3 (17-Apr-2007):
- Fix bug in launchd support, introduced in 1.4.2. Remove remnants of
launchd enable flag which caused reversion to systemstarter in 1.4.2.
(jberry r24151).
- add functions 'backup' and 'lipo' along with some description
to be used for lipo-based universal variants, tested with openssl.
These functions should be considered test only for the time being,
and should not yet be adopted widely by port authors.
(pipping r24148).
Release 1.4.2 (16-Apr-2007):
- New logic for variants overload that basically yields to listing only
variant +universal on ports that redefine it (pguyot in 24100).
- Implement brand new fs-traverse command in Pextlib.
See portfile.7 for documentation (eridius in r24079, r24080, and r24112).
- Add per-user preferences in ~/.macports/user.conf. This will be used
for submitter information.
Simplify selection of ports.conf file:
- ~/.portsrc is no longer supported.
- Search order for ports.conf is now:
- PORTSRC
- ~/.macports/ports.conf
- ${prefix}/etc/ports.conf
Only the first file found will be parsed and used.
(jberry r24071, r24113, r24114)
- Improvements on livecheck: fixed a report bug, improved ruby group
default behavior (pguyot in r24026 and r24018)
- Remove xar from the build. xar doesn't build on panther due to
a libxml2 lib too old for xar requirements. We'll find another
way to deal with xar, perhaps by requiring users to install the
xar port when they need its services. (jberry r24107:r24108)
- Remove configure switch for building launchd support. (jberry r24107:r24108)
- Remove compatibility upgrade for conf files from
darwinports 1.1 to 1.2. (jberry r24106).
Release 1.4.1 (14-Apr-2007):
- Add responsive, reasonably fast http mirrors to openbsd group
(pipping in r23343).
- Resolved ticket #11637: livecheck incorrectly assumed that
master_sites was set. (pguyot in r23329).
- Add xar 1.4 into the build of MacPorts base. xar is now installed
into /opt/local/, which will conflict with anybody who has the xar
port installed. (jberry in r23687).
- Add -I${prefix}/include -L${prefix}/lib to the default configure
flags (pguyot in r23246 and r23291).
- New options for configure flags (C|CPP|CXX|LD)FLAGS and logic to
handle that and backward compatibility (pguyot in r23098, r23125,
r23238, r23248 and r23249).
- "port sync" now updates svn repos too (eridius in r22784).
- Default +universal variant for configure-based ports (pguyot in
r22313).
- Fixed use of master_site in livecheck, added support for
code.google.com checks, made the up to date message info (instead of
debug) and improved debugging output with livecheck (eridius in
r23888, r23889, r23890, r23894; pguyot in 23660)
- Fixed a bug where running port test would not install dependencies
when required. (pguyot in r23700)
- New ruby portgroup option to specify the name of the module for
gem-based ports. (pguyot in 23659)
- New fetch option to ignore the SSL certificate when fetching from
a secure site (default is to not ignore it). (pguyot in r23242)
- Bugfix #11720. Fixes for variants.conf functionality. (jberry in
r23967)
Release 1.4 (26-March-2007):
- New gnupg mirrors list and general cleanups to varios other lists (pipping in r22979 through r22982,
r22999, r23000 & r23037).
- Python 2.4 & Python 2.5 group code now offer a "python.include" variable (mww in r22914 & r22953).
- Resolved ticket #7563: The Pextlib curl command now sends a user agent, set to
"MacPorts libcurl/[libcurl version]" (eridius in r22771).
- Resolved ticket #11417: No longer touch the dep map file when opening it for reading (eridius in r22769).
- Archivemode now supports both tbz2 & tbz binary archives naming variations (jmpp in r22584).
- Add new alias 'registry_active' for registry::active so portfiles can check if another port is
installed and activated (eridius in r22304).
- Built-in 'find' command now always expects an expression as its first argument (jkh in r22048).
- with_docs variant of GNUStep PortGroup ports now installs the latex2html port by default (yves in r22014).
- Add new 'touch' & 'ln' portfile writing commands, their usage being similar to their BSD equivalents,
along with 'move' and 'copy' shorthands for TCL's "file rename/copy" calls (eridius in r22007).
- Fix a dangerous bug in parsing filenames with spaces in the 'delete' command, while reworking it
to no longer be a plain 'system "rm -rf <path>"' call (eridius in r22007).
- Checksum phase no longer deletes distfiles upon checksums mistmatch, eliminating "file not found"
errors when a second run is attempted, thus making the need for a "port clean --dist" call more
explicit before continuing (eridius in r21967).
- Stating an empty key value in a Portfile now correctly clears it, as expected (eridius in r21950 & r21951).
- Documentation updates to the ports.conf.5 and portfile.7 man pages (markd, jmpp and others I may
be forgetting, sorry 'bout that, in r21998, referencing tickets #4905, #6880 & #10840).
- /Applications/DarwinPorts --> /Applications/MacPorts migration in base for aqua ports
(rhwood in r21852 and r21853, but other commits to this effect were also applied to trunk/dports)
- New SourceForge mirrors redirector and a few fallback geographically distributed hardcoded ones
to prevent disaster from happening, as suggested by Ross Turk (jkh in r21143 & jmpp in r21768).
- GNUStep PortGroup improvements and full documentation in portgroup.7 (yves in r21764).
- Xcode GroupCode improvements to ensure builds always take place inside the work dir (eridius in r21762).
- New 'macports' mirrors list, with entries pointing to svn's /distfiles/<user> &
/distfiles/general directories in our repo (eridius & jmpp in r21621).
- Iterate in darwinports_fastload using glob instead of hardcoding the library names (eridius in r21585).
- New Python 2.5 GroupCode (mww in r21451).
- Set upgrade.target back to archive (from unarchive) (dluke in r21110).
- rubyforge_gem fetch method for the Ruby PortGroup & livecheck support
(pguyot in r20544 & r20834, respectively).
- Resolved ticket #10843 (and probably #8229): initialize the portinfo array each time to improve
'port deps' and 'port variats' output (jberry in r19992).
- Resolved ticket #10766: improve error when no current port is available (jberry in r19665).
- Resolved ticket #8723: better messages for port outdated (jberry in r19664).
Release 1.3.2 (9-Aug-2006):
- Fixed a bug that prevented operation of port ed with some editors.
The env wasn't being properly restored for the editor. (jberry)
- Fixed a bug in the creation of the portf symlink. (jmpp)
- Fixed a bug where port upgrade -uf fails because of the dirty upgrade
code. (pguyot)
- Port no longer warns when a shared distfile directory is emptied by a
clean --dist or clean --all, it now prunes the directory instead. (pguyot)
- Gem method of ruby portgroup now destroots from the worksrcdir, thus
avoiding an unnecessary warning with -t. (pguyot)
- Tell ld to look into /usr/local/lib when building port. This solves a
problem occurring when a newer version of readline is installed in
/usr/local. (pguyot)
- Added gnustep portgroup support. (Bugzilla #8139) (yves)
- Avoid sending Pragma: no cache when fetching files. (Bugzilla #8669)
(josh_root, blb)
- Changed Makefile logic to reconfigure/regenerate files when templates
are modified. (pguyot)
- Trace now forbids renaming files and directories as well as removing
directories outside the sandbox. (pguyot)
- Allow additional inserted libraries by keeping DYLD_INSERT_LIBRARIES
variable. (pguyot)
- Change some UI strings and documentation to read MacPorts, rather than
DarwinPorts. The project is adopting the new name "MacPorts", and will
be using the macports.org domain in the future.
Release 1.3.1 (31-Jul-2006):
- Fixed a bug in livecheck sourceforge guess algorithm. (pguyot)
- Fixed an incompatibility of darwintrace.c with MacOS X 10.3. Darwintrace.c
now also compiles on Linux. (pguyot)
- Fixed a bug introduced by a patch to the fetch code. Now, fetch target
can really deal with patch files even if the main fetch method is CVS or
SVN. (pguyot)
- Fixed a bug, introduced in 1.3, that prevented -f selfupdate from forcing
a build of the fetched sources. (jberry)
- Fixed a bug, introduced in 1.3, that prevented -u uninstall from working.
(jberry)
- Fixed a bug in xcode portgroup. One variable used by the group conflicted
with global variables in port base code. (pguyot)
- Added a new test case for a cvs+remote patch file bug. (pguyot)
- Added ruby gems support for ruby group. (rcavanaugh & pguyot)
- Trace now forbids creation of directories outside the sandbox. (pguyot)
- Additions to man page for port(1): (jberry)
* new port options -F, -i, -x, -p
* mention interactive and batch modes
* document extensions to info command.
- Archive mode is now disabled by default. (landonf)
- The upgrade target now properly detects and uses a matching binary
archive if found, an uninstall && install combination needed up till
now to pick it up. (jmpp)
Release 1.3 (27-Jul-2006):
- Fixed a bug where only the first word of configuration settings (in
ports.conf) was processed. This bug affected the use of extra_env.
(Bugzilla #9948) (pguyot)
- Fixed a bug where environment variables governing proxy were not
capitalized properly. (blb & jberry)
- Fixed a bug where port outdated and port ugprade didn't work in direct
mode. (Bugzilla 7719, 7721) (dluke & jberry)
- Fixed several problems with iteration on ports. (jberry)
- Fixed a bug where curl LDFLAGS weren't properly propagated. (landonf)
- Fixed a bug where location update routine invoked when installing DP did
not take the DESTDIR variable into account. (jmpp)
- Fixed a bug where patchfiles specifications could not have suffixes to
indicate the master site. (pguyot)
- Fixed spelling in port(1) man page. (Bugzilla 8103) (pjenvey & jberry)
- Fixed a typo and another problem in messages generated by port command.
(Bugzilla 6706 & 6712) (deric & jmpp)
- Fixed a typo in ports.conf. (matt & jmpp)
- Fixed several problems with launchd support (Bugzilla 8372 & 10041)
(jberry)
- Fixed a bug preventing the use of libmd for checksums and added an
informative compilation error if libcrypto and libmd cannot be found.
(landonf)
- Fixed a bug where thread2.6 Tcl library wasn't installed where DP is
installed. (jmpp)
- Fixed a bug in xcode PortGroup which prevented the use of a custom
project path. (pguyot)
- Fixed a bug in xcode PortGroup which made destroot to fail when there
were spaces in the install path. (pguyot)
- Fixed a bug in portfetch.tcl which failed to fetch patches when using
CVS or SVN. (Bugzilla 5269) (yeled)
- Added new command 'delete' for use in Portfiles instead of
'file delete' and 'system "rm.."' (mww)
- Added more information to porthier(7) about ${prefix}/var/db/dports.
(olegb)
- Updated Gnome, KDE and SourceForge mirror lists. (Bugzilla 8045, 9152)
(rwhood, blb, olegb & pguyot)
- Check earlier if there is no Portfile in a directory (especially when
iterating). (jberry)
- Split livecheck into distcheck and livecheck. Added two regular expression
modes (one line, full file), set the default to check against freshmeat
and defined the default for perl5 group. (pguyot)
- Discover path to rsync at autoconf time. (jberry)
- Mark CVS, TAR, GNUTAR, and RSYNC as additional precious variables that can
be overridden in configure environment at time of configure to customize
the location of these tools. Note that these tools are not found in the dp
prefix, as PATH is sanitized of references to prefix. But you could
override the precious variables to acheive that if you really want to
shoot yourself. (jberry)
- Set timeouts for curl transfers. Some connections to sketchy mirror sites
can hang forever otherwise. (jkh)
- Shortened the time to upgrade with archive mode on by using archive as the
target. (Bugzilla #7891) (dluke & jberry)
- Added support for sqlite 3. (jberry)
- Major update of the trace (-t) option (pguyot):
* backported changes from darwinbuild's version of darwintrace, including
several bug fixes.
* cleaned up the code.
* writing/creating and also unlinking a file outside allowed bounds are
now blocked instead of being simply reported (previous version only
reported creations).
* fixed a bug where -t failed with X11 ports because ${prefix} got
overwritten.
- Added new native commands to handle privileges chores. (jberry)
- Add batch/interactive mode. In interactive mode, use readline when it's available.
Command and portname completion is available in interactive mode, as is readline
history. (jberry) 2005-11-07,08
* Add new option -F <filename> which specifies a command file to be
read and processed. Multiple such options may be given to provide
multiple command files. If filename is "-", then stdin is read.
* Option -i is equivilant to -F -, which forces processing of standard
input following any commands given as arguments.
* If port is invoked as portf, an -F is assumed as an implicit first
argument (so the real first argument is taken as a command file to
be processed). This should allow the use of a shebang line such as:
#!/usr/bin/env portf
* Commands starting with # are treated as comments.
* Install a symbolic link /opt/local/bin/portf --> /opt/local/bin/port.
* New command "cd" is useful to change to a new directory/port while in
interactive/batch mode.
* Multiple commands on a single line may be separated by a ';'
* Global command options may now be specified following a particular
command; they will apply only to that command rather than to all
command invocations. This is important for batch/interactive mode.
- Add new option -p, which ignores errors while processing within a command.
(this subsumes some of the work that -f was previously overloaded to do).
(jberry).
- Add new option -x, which exits immediately on errors while in batch mode (
otherwise we don't exit on errors in batch mode). (jberry)
- Refactoring of port(1) to cast actions into distinct action procs. Adds
the new action_array which is used for action dispatch, and also to generate
the list of possible commands for help and command completion. (jberry)
- Initial version of portmirror binary to build a mirror of distfiles.
(pguyot)
- Improvements and fixes to the tests. (pguyot)
- Added a new option (checksum.skip=yes) to bypass the checksum phase. This
option is mostly useful on the command line to test older distfiles.
(jberry)
- Added dependencies for rpm on virtual packages representing releases of
MacOS X. (mww)
- Add to port the ability to query for specific meta-data fields.
For instance: port info --maintainer --name category:java
When specific fields are given, the legacy generalized info is not presented, and vis-versa.
By default, the fields for each port are listed one-per-line, with a field label
in front of each. (The field label is omitted if the global -q option is given).
If the --line option is given, the fields are presented on one line, tab separated,
and with no field label: port info --name --maintainer --line tomcat5 apache2
Field names are those from the PortIndex, plus some convenience versions of
those: (such as allowing category instead of categories).
Fields which are actually lists (such as depends_lib) are displayed comma-separated.
(jberry) 2006-02-16
Release 1.2.1 (10-Apr-2006):
- Changes to darwinports build infrastructure to allow for build of
the darwinports infrastructure as a multiarchitecture binary.
This allows darwinports to be built as fat, but does nothing to
allow ports themselves to be built as fat. To build darwinports
fat, configure as follows:
./configure CFLAGS='-arch ppc -arch i386' SHLIB_LDFLAGS='-arch ppc -arch i386'
backported from HEAD (jberry)
- Add a hack in order attempt to detect when a sourceforge mirror
is actually returning an error page. If this is detected, proceed
to the next mirror. backported from HEAD (jberry)
Release 1.2 (14-Dec-2005):
- Syntax change to disambiguate uses of the port's version on the command
line, when coupled with new changes to accept multiple ports.
The port version must now always be prefixed with an @. Example:
port uninstall vim @1.0
This probably only affects uninstall and activate, both of which
require a version if there are multiple versions installed.
- gzip-compress manpages that are in the share/man/cat? directories during
destroot, too. (mww)
- Enhance port command such that targets that require a port to be
specified will now all default to a port in current directory. (jberry)
- Enhance port command to allow multiple ports per invocation.
Where previously one said "port install porta; port install portb",
one can now say "port install porta portb". (jberry)
- Enhance port command to allow use of shell-like glob patterns for
port selection. When a glob pattern is found, the group of ports
matching the glob pattern is substituted. (jberry)
- Enhance port command to allow use of "pseudo" portnames to specify
groups of ports.
When one of these pseudo portnames is specified on the command line,
the corresponding group of ports is substituted.
Currently defined pseudo portnames are:
current, all, installed, uninstalled, active, inactive, outdated.
Additional pseudo portnames can be used to select ports based on a
regex pattern match against certain criteria. Each port selector is
a name, followed by a colon, followed by the desired regex pattern.
The selectors are:
variants:, variant:, description:, portdir:, homepage:, epoch:,
platforms:, platform:, name:, long_description:, maintainers:, maintainer:,
categories:, category:, version:, and revision: (jberry)
- Enhance port command to allow use of set expressions to combine
ports or groups of ports.
Supported operators are "and", "or", "not", "!", "(", ")". (jberry)
- Enhance port command to allow a port to be specified through a file:
url instead of via portname. This function was previously available
though the -D and -u options, which make less sense now that multiple
ports can be specified to a target. (jberry)
- Under Tiger, startupitems are now by default generated for launchd
rather than systemstarter. (jberry)
- Add new startupitem keys startupitem.executable, startupitem.logfile,
startupitem.logevents, startupitem.pidfile, supported for both
systemstarter and launchd. (jberry)
- New Test framework. Running make test from base/tests/ will test
several features of port(1) including syntax of Portfiles. New tests
can easily be added by simply creating new directories in base/tests/
with a Portfile and a master file containing the output of port test
in this directory. Some tests are actually more complex. These tests
require the port binary to be installed in ${prefix}. (pguyot)
- svn fetching support, parallel to cvs fetching. Note that
this is a bit skanky as svn is not installed on the platform by default.
This code will error-out if svn is not installed. (jberry)
- Removal of old "fetch.args" parameter now that all Portfiles have been
properly moved to leverage Paul's libcurl work (yeled)
- DP now sets its own env variables instead of filtering user declared
ones considered harmful (blb)
- "Canonicalization" of expanded path:${prefix}/foo:bar dependencies
when including them in the PortIndex for better abstraction (jberry/pguyot)
- Addition of the IndexRegen.sh script that takes care of the automated
index thingie... (pguyot and jmpp)
- Miscellaneous cleanups:
- DP base is assured to respect a temporary DESTDIR installation and
other Makefile cleanups (toby, jmpp)
- s/--with-tclpackagedir/--with-tclpackage/g in autoconf error
reports (pguyot)
- fixes for the buildall.sh script (jkh)
- Some other fixes for lurking bugs, untapped by the various developments
that have taken place since 1.1 ("bunch of developers ;-);
- Snazzy new ChangeLog file
- Add new actions for port(1): help (get help about port),
echo (the expanded arguments),
cat (the contents of the Portfiles from the specified ports),
edit (also alias "ed", the contents of the Portfiles, using EDITOR or VISUAL),
dir (emit path to the port's directory),
file (emit path to the port's Portfile)
(jberry)
- On make install, upgrade ports.conf and sources.conf to change rsync.opendarwin.org
to rsync.darwinports.org. This is now our preferred rsync hostname.
Likewise, rename the rsync destination directories in ${prefix}/var/db/dports/sources
in a similar fashion (jberry)
Release 1.1:
(information not here).
Release 1.0:
(information not here).