GNU Make tries to remake any included makefile, so `include
Mk/macports.autoconf.mk` causes the top-level `Mk/macports.autoconf.mk:`
rule to fire. That rule depends on `config.status`, whose rule re-runs
`./config.status --recheck` (effectively `./configure`), and the
autoconf.mk recipe then runs `make clean` as a side effect.
The result: `make clean` and `make distclean` both trigger a configure
run before cleaning, which is wasteful and surprising.
Skip the regeneration rules entirely when the only goals on the command
line are clean or distclean. Any other goal (or the default build)
still picks up configuration changes as before.
During selfupdate, only a few configure arguments (--prefix,
--with-install-user, --with-install-group, --with-directory-mode)
were reconstructed and passed to configure. Other arguments such as
--with-curlprefix, --with-applications-dir, --with-frameworks-dir,
and tool paths were silently lost.
Save the original configure arguments to
$prefix/share/macports/configure_args during make install, and read
them back during selfupdate. Fall back to the previous reconstruction
logic when upgrading from an older version that lacks the saved file.
Closes: https://trac.macports.org/ticket/73670
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Apparently Crowdstrike only cares that the shell script being executed
mentions 'dscl' and 'Password', regardless of whether it's in a
conditional branch that never gets executed.
See: https://trac.macports.org/ticket/69187
Don't update the home dir unless the user otherwise appears to be the
one that we created. Also warn if it has a login shell set.
Closes: https://trac.macports.org/ticket/70938
Add a new public key for use with signify(1) to verify downloaded
MacPorts base relases. Adjust the Makefile to install this key in
$prefix/share/macports/keys/base, so that we have a designated space for
additional keys (enabling future key roll-over) and separate keys, for
example for a ports tree signature.
You can't tell whether configure.cxx_stdlib was overridden by a port if
it was not recorded at install time. This creates a problem for users
upgrading from versions of MacPorts that did not record it: rev-upgrade
will think that ports that do override it are broken, because they do
not follow the global cxx_stdlib setting.
Therefore, to ease the transition, keep a list of ports that are known
to override the setting, and when upgrading base, set the flag in the
registry for those ports if it is currently null.
Closes: https://trac.macports.org/ticket/56326