wiki:Meetings/MacPortsMeeting2018/Roadmap

Version 3 (modified by neverpanic (Clemens Lang), 6 years ago) (diff)

--

Defining Roadmaps

What are the next steps required until the next MacPorts release(s)?

After a lengty discussion, we identified the following work mode to track base tickets and where they are being released:

  • Base tickets are usually created without milestones.
  • When closing a ticket when a fix is pushed to master, set the milestone field to the milestone for the next feature release to indicate that is now fixed on master.
  • If the fix should be backported to a release branch, set the needs-backport keyword.
  • When backporting to a release branch, set the ticket's milestone to the milestone for the next bugfix release.
  • If there are milestones missing, file a ticket against the trac component and request them.

Release Planning

MacPorts 2.4.3

We identified a need for a bugfix release from the 2.4.x branch, because trace mode is currently broken in 2.4.2 on High Sierra. The ticket for that is #55575. There was an email from Ryan a while ago that requested backporting a number of fixes as well. We created #56018 to track this.

#34619
prevent use of unknown subports
#50469
Git clone fails - SSL certificate problem: Couldn't understand the server certificate format
#52218
make test: Error: no mirror had select-0.1.tar.gz for gcc_select
#55492
move: case-only renames fail when no arguments are given
#55560
Failed to locate 'lbzip2' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?
#55575
port -vst install fails with "/usr/bin/tar: No such file or directory"
#56018
Backport bugfixes to release-2.4 for next release

MacPorts 2.5.0

There are a number of features that we want to get done before the next major version release. We mostly picked branches with some code that don't need a lot of work to merged into master and simple tickets for this milestone. We did not want to set any far-reached goals for 2.5.0.

#22471
Debugging options for startupitems (launchd / daemondo)
#23677
Deactivating a port should automatically unload daemons
#31798
Installation from binary package does not notify user of need to start launch item
#36560
Use hfsCompression
#36770
Need for a fix regarding mechanism for startupitem handling
#40074
Add macports.conf setting controlling startupitem.autostart
#44295
support more than one launchd plist
#44496
startupitem_install not respected when installing from binary archive
#44497
Change port load to use MacPorts plists directly
#46807
base: allow dots (.) in variant names
#52445
portpatch.tcl: support xz-compressed patchfiles
#53843
warning: 'syscall' is deprecated: first deprecated in macOS 10.12 - syscall(2) is unsupported; please switch to a supported interface
#53857
port -N reclaim does not remove any ports
#54037
port reclaim missing in man page of port
#54743
Binary-only mode requested with no usable archive sites configured
#55282
Lack of Xcode 9 update not detected with High Sierra OS.
#56053
Respect cxx_stdlib and delete_la_files in selection of archive_site
#56326
rev-upgrade considers gcc as broken due to libstdc++
#56434
Inconsistent flag names --nosync and --no-mirror

MacPorts 2.6.0

We identified a number of features that we think should be the next step after 2.5.0 and added them to the 2.6.0 milestone.

#37667
port lint should complain about using only md5 or sha1 checksums
#37867
Weird library install_names for MacPorts dylibs
#44451
Update Installer System Requirements info
#48345
Building for 10.4u SDK on 10.6 uses gcc-4.0 even though building directly on 10.4 uses the newer apple-gcc-4.2
#53851
Add port action that bumps version and checksum
#55139
RFE: Improve Compiler Management Code
#56041
Update compiler selection for 10.6-10.8 with libc++
#56381
It would be nice if shell mode saved command history immediately
#56563
Failed to activate: Cannot restore xattr:com.apple.decmpfs
#57003
port info order of fields is unexpected
#57143
Unable to determine location of a macOS SDK
#57245
Confusing message when attempting to use +universal with the macOS 10.14 SDK
#57457
Travis CI: Sometimes declared dependencies aren't installed
#57717
archive_site_local doesn't work at all
#57718
Unexpected behavior when archive_site_local contains more than 1 URL
#58016
Unnecessary warning about Xcode and xcodebuild when installing port
#58309
NOP port upgrade outdated returns error status
#58914
'bump' action not mentioned in port(1) man page
#59061
2.6.0 rc1 and beta1 packages won't open on SnowLeopard

Base tickets without a milestone

#12048
RFE: Document all the code in the MacPorts base
#20683
port upgrade does nothing with a downgraded package
#23038
Option to automatically clean distfile too
#24687
port command unnecessarily requires permissions to the cwd
#24778
please add mcpu (march is only for x86)
#25182
add a way to exclude build dependencies from pseudo-portname "leaves"
#25970
Variant names should be treated case-insensitively
#26028
Add feature to show changes between port versions
#26853
MacPorts should say why it is (re)installing a dependency
#26918
MacPorts-1.9.1 compiled to XFS NFS files system
#27097
program suggests running 'port xxx' from within the 'port' interactive shell
#27141
Feature request: make minimum UID/GID for adduser addgroup commands configurable
#27353
selfupdate failing, perhaps a user account issue?
#27788
ports should ignore default +universal when universal archs mismatch
#28001
MacPorts base could support out-of-source builds, or tell user that it doesn't
#28640
port lint should warn when *-append should be used
#28738
Hard links fail with Macports on AFS
#29172
remove dependency on Xcode
#30040
Allow case-sensitive build roots
#30067
archives owned by different users
#30328
Enable variants for specific ports in variants.conf
#30562
MacPorts should offer to sign archives
#30622
port should output a message when vacuuming registry
#31056
Locking somewhat broken in MacPorts 2
#31472
pextlib crash/segfault in curl code
#32261
Allow building on a RAM disk or other secondary disk
#32266
pkg: tell us where it was created
#32700
port upgrade -u py25-wxpython fails to deactivate old version
#33037
background archiving
#33396
Create single mpkg of all installed ports
#33491
Save binary packages to user-specified location
#33629
port -e, environment mode
#33820
base: add ui_msg to output outdated ports during selfupdate
#33930
Ignore consequences of broken DNS servers
#33933
Remove "port -u uninstall" functionality
#34832
PORT/work/.home/.subversion and proxy access
#34931
Add "new" to port command
#35093
mpkg / mdmg requires cleaning and reinstalling every time
#35670
could not set effective gid to 0
#36137
Option to mark a port for installation when the port is fixed
#36612
path:-style dep allows non-macports file inside macports prefix
#36951
Feature Request: Notify me when my local Portfiles shadow upstream Portfiles that have been updated
#37853
RFE: "port provides" should return a different message when used on files provided by base
#38112
RFE: add a "depends_pkg" type of dependency
#38120
RFE: automatically remove .DS_Store files from build directories
#38206
RFE: pubkeys_conf variable in macports.conf
#38381
RFE: pseudo-portnames `depof:` and `rdepof:` should be more granular
#38579
RFE: make the aclocal.m4 file in base safe to regenerate with `aclocal`
#38582
RFE: update the configure.ac file in base to silence some warnings produced by autoscan
#38586
atlas @3.10.1_3: log file contents missing when -k option used
#38662
RFE: Replace "command execution failed" with a more informative error message
#38697
mdmg says it's up-to-date when it isn't
#38859
Use dseditgroup in "addgroup"?
#38862
Automatically clean builds with old statefile formats
#39272
`-p` flag for `port` command doesn't play nice with errors resulting from mismatched requested variants vs. originally-selected variants
#39423
Uninstalling replaced port with dependents has to be forced
#39659
configure script does not expand "~" for applications_dir and frameworks_dir
#39782
Add keyword to list compatible graphical environments (X11, Quartz, Wayland)?
#39897
Add 'optional' or 'recommended' metadata tags to portfile spec.
#40035
base aborts if current directory does not exist, even when given a port name
#40042
base should ignore variant conflicts when cleaning
#41339
Add "dependencies" as alias of "deps"
#41796
binary package download ignores macosx_deployment_target set globally
#42731
RFE: Add a conf option to automatically run test phase during normal install process
#43291
more integrated security notification: security page, port selfupdate notice, ...
#43648
mpkg missing daemondo
#43996
port select should record its symlinks in the registry
#44067
use "configure.includes {path1 path2}" instead of "configure.cppflags -I{path1} -I{path2}"
#44413
Use a compiler wrapper script
#44493
Support globs in port versions
#44509
selfupdate tried to tell me to run selfupdate again
#44549
Overriding autoreconf.cmd/autoconf.cmd/automake.cmd should delete default autoreconf.args/autoconf.args/automake.args
#44691
port search: return Trac ticket for submission
#44786
list of dependencies to be installed can be inaccurate
#44894
base: improve livecheck.type moddate
#44900
Installation of Xcode should be better than Homebrew's process
#45274
Run portbuild::build_main once for each build.target
#45674
Misleading logging
#45851
port should scan for DYLIB missing the TWOLEVEL flag
#46139
postflight.in v2.3.1 Error determining network user's shell
#46229
Uninstalling all active ports - are you sure?
#47442
port: new action_environment and/or environment mode
#47706
base: postflight.in: Missing check causes duplicate PATH entries when sourcing CONF_FILE
#48051
Installing a port +universal needlessly reinstalls recursive dependencies +universal
#48423
Replace bzip2 and gzip with pbzip2 and pigz system wide?
#48680
port-lint: Add option to disable parent directories checks
#48983
portconfigure.tcl : fix for building on Linux
#49496
Offer a choice of mirror server in the MacPorts installer package
#49645
`port -n upgrade --force foo` should deactivate after creating the new archive
#50168
selfupdate: rsync fails if http_proxy is configured
#50233
port upgrade --force shouldn't uninstall if no permission was given to install a missing dependency
#50770
In rsync_options, use --delete-delay instead of --delete-after
#51045
"---> Attempting to fetch" doesn't start in a new line
#51183
MacPorts did not install curl's dependency openssl
#51214
Add option to show binary package URLs
#51298
Base does not prevent conflicting port activation when portfile from registry cannot be executed
#51498
requested (meta) ports get uninstalled on uninstall leaves
#51499
Propose --follow-dependents
#51599
main.log is never deleted with "keeplogs yes"
#51684
xcodebuild exists but failed to execute
#51706
platform statement: support an else clause
#52000
Add xz to "base" to allow changing the default compression format to .tar.xz in the future
#52303
`port uninstall --follow-dependents` uninstalls more ports than `port rdependents` reports
#52530
conditional PortGroup include
#52575
Report Xcode version and other useful information in main.log
#52713
splitting up ports in "runtime" and "-dev" ports, DebUntu style (PoC)
#52767
port lint should warn when modeline is missing
#52873
port sync should open only a single rsync connection
#52898
revision convenience
#52911
rev-upgrade -v should be more verbose about missing architecture
#52952
Ability to list just emails or just GitHub usernames of maintainers
#52973
add setting to allow main.log truncation
#52981
Print custom warnings from Portfile with `port info`
#53089
option-contains
#53387
Pextlib/xinstall : don't ignore directory chmod errors silently
#53404
`port upgrade outdated` changes colours in terminal emulation
#53411
macports-base codesigning ?
#53730
copy, delete, move, touch: support -W argument for changing working directory
#54056
MacPorts should warn when not using "macports" rsync module
#54366
2 variant convenience procedures
#54386
variants set with default_variant don't propagate the same way as variants set by the user do.
#54388
port -q should suppress warnings
#54697
`port history` action
#55089
Make "port requested" an alias for "port installed requested"
#55332
chown does not support changing group
#55508
autorequested (mark some unrequested leaves as requested)
#55514
Add semantic versioning support to livecheck
#55546
Install dependencies without asking
#55637
allow port reactivation (WIP)
#55827
sandbox-exec: execvp() of 'sh' failed: No such file or directory
#56016
make test uses the installed version of MacPorts, not the just-built one
#56040
Move some checks out of lint --nitpick
#56134
shortcut to combine selfupdate and upgrade outdated
#56201
make dist requires DISTVER to be specified
#56204
Remove prefix string from darwintrace.dylib and Pextlib.dylib
#56245
rev-upgrade: Handling missing architectures on libraries
#56295
Correctly represent 64-bit platform as x86_64 in ${os.arch} and pre-generated PortIndex
#56345
Make it easier to determine which ports have lint problems
#56365
Create test to verify correct functioning of ptys in system call
#56437
rev-upgrade ignores -p
#56457
use_dmg: /usr/bin/cpio: illegal option -- 0
#56619
I ran "sudo port selfupdate" and now I cannot install any ports without an error
#56756
Build doesn't honor --bindir, --libexecdir, etc.
#56757
reclaim removed my ports without asking
#56957
attempt to create ccachedir conditionally
#56963
New keywords for bash/zsh tab-completion
#57011
New keyword for man page/documentation installation
#57099
[feature request] "replaces" keyword
#57160
MacPorts base readline support is not compatible with MacPorts readline port
#57391
port log and port logfile don't accept subport
#57653
install/upgrade feedback suggestion
#57690
Warning when disabling default archive_sites
#57695
Set AR, NM and RANLIB env. variables
#57730
registry.db files table should have unique constraint over id and path columns
#57736
Allow the location of archive_sites.conf and pubkeys.conf to be configured in macports.conf
#57950
port selfupdate gives the impression of doing work in the wrong order
#58229
base: defining the same variant both in a PG and a port discards description
#58497
Don't check os_major on Linux
#58529
Port command, in interactive mode, doesn't load the editline config file
#58575
Small error - Forcing uninstall uses wrong jargon
#58597
When MacPorts asks a yes/no question, add an abort option
#58656
Show URL in "port info"
#58663
Unsigned files will not run at all in future versions of macOS
#58751
MacPorts should bundle a newer rsync or allow overriding the default rsync
#58785
If port select fails, it can leave an incomplete or inconsistent set of symlinks
#58858
[base]: default_variants could check variant conflicts
#59055
port bump suggestions
#59283
xinstall: Prevent the creation of pathless directories that looks like octal permission numbers, like 755
#59381
Do something better when no ports are specified
#59463
Binary-only mode requested with no usable archive sites configured
#59672
Set SOURCE_DATE_EPOCH
#59691
After a time, MacPorts cannot determine the Xcode version, on Snow Leopard
#59696
Use MacPorts git or svn if available when fetch.type is git or svn
#59836
port should explicitly say to use sudo when upgrading
#60075
Error in Scanning binaries for linking errors
#60256
'port bump' does not update checksums for cargo crates
#60269
port archive should be smarter with regards to portarchivetype
#60431
base: (linux) fails to determine build arch correctly
#60432
base: (linux) arch flags are not recognized by linux compilers
#60433
base: (linux) cxx_stdlib is not derived by base
#60473
[wishlist] -u: allow not to uninstall all inactive versions
#60534
Print status information for a daemon
#60676
Install from source --with-no-root-privileges fails on Catalina - 'couldn't create error file for command: permission denied'
#60722
DYLD_LIBRARY_PATH doesn't work in <command>.env
#60749
Activation fails if a port tries to install ._ files
#60754
Reclaim removes build dependencies
#60756
Tell the user when fetching a binary failed and a build from source will occur
#60757
Print already completed phases
#60786
Build progress bar does not account for muniversal variant
#60818
darwintrace cannot inject into binaries of a different architecture (missing arm64e)
#60844
Make the reinplace warning an error
#61050
Add `port vercmp` command
#61191
port deactivate fails, mentions nonexistent logfile
#61233
port command hangs under tracemode
#61288
graphviz, graphviz-devel: manpage symlink to symlink doesn't get recreated to compressed version
#61315
Distfile fetch for python39 hangs on 10.5
#61320
MacPorts-2.6.3-10.15-Catalina.pkg installer error
#61390
compiler.openmp_version doesn't set configure.ldflags -L${prefix}/lib/libomp -lomp with port groups cmake+python
#61750
base prefers arch of terminal in use rather than machine arch when installing ports
#62143
Make master_site_local and patch_site_local able to be suffixed with dist_subdir
#62144
base: On Mountain Lion configuration file is processed but it ignores archives server URL
#62345
Not prompted to agree to xcode license when circular dependencies exist due to that very problem
#62382
port mpkg iperf3 fails to create work/destroot/ directories
#62457
port lint: warn if there is no test phase
#62554
Let ports specify expected memory use per job
#62590
port lint: warn if missing 'revision' field
#62591
port lint incorrectly warns about missing checksums in go.vendors and cargo.crates
#62688
Increase minimum C11 compatible compiler
#62715
Add the supported_archs field to port info
#62796
'daemondo' in MacPorts-2.6.4-10.11-ElCapitan.pkg is of type 'data' upon reinstallation of base pkg
#63092
Allow ports to install for x86_64 on arm64 if a dependency requires that
#63130
port diagnose: check for broken SDKs and missing SDK receipts
#63139
Prefer MacOSX11.sdk if available else prefer newest MacOSX11.*.sdk
#63217
Makefile and installer postflight script should remove incorrect DISPLAY environment variable left in shell startup script by MacPorts 2.6.4 installation on Big Sur
#63272
zsh: killed port upg outdated in Big Sur
#63359
Trace mode causes anything piped to sed from within csh to output the sed executable
#63451
`port search --variant` doesn't find all matching ports
#63589
base: port select blindly overwrites pre-existing binaries, without warning
#63613
port install: fetch shouldn't abort the whole command on a 503 error
#63647
detect when user has not opened Xcode to perform installation of additional components
#63656
Compiling MacPorts for installation in home directory on Catalina fails at "make install" with: make: *** [install] Killed: 9
#63885
Replace rmd160 use in MacPorts with something else
#64017
add a way to get rdeps of an installed version of a port
#64050
sync over git: rebase with autostash only if fast-forwarding fails
#64061
perl: posix_spawn: ${prefix}/var/macports/sip-workaround/502/usr/bin/perl5.xx: No such file or directory
#64235
MacPorts base: patch_sites.mirror_subdir not getting appended to patch_sites URL
#64297
Allow "." as synonym for current port directory
#64369
Add livecheck.user_agent
#64389
curl_multi_info_read() returned {.msg = CURLMSG_DONE, .data.result = 3 (!= CURLE_OK)}, but the error buffer is not set. curl_easy_strerror(.data.result): URL using bad/illegal format or missing URL
#64390
Possible to build ports on 10.6.8 as universal (x86_64 + ppc64) after restoring PPC assembler?
#64702
Unable to interrupt curl call in proc _archive_available
#64960
use_7z, use_bzip2, use_lzip, use_lzma, use_tar, use_xz, use_zip cannot be undone
#65264
sqlite error: no such column: cxx_stdlib (1) while executing query
#65316
Launch port selfupdate automatically
#65920
tcllib fails to destroot with a signed in-tree tclsh
#66031
selfupdate throws error changing directory permissions on Monterey and Big Sur
#66053
installing base with ./configure --with-universal-archs="CPU" doesn't actually set the universal_archs in macports.conf
#66067
enabling git fsmonitor causes base to hang on git operations
#66120
`port selfupdate` fails when updating a local ports tree using `/usr/bin/git`
#66214
port sets echo for stty in at least one case
#66358
sip-workaround no longer works on arm64 macOS 13 Ventura due to new security features
#66485
While I am installing port 1 I cannot build port 2
#66499
Significantly reduce MacPorts base install size by removing base.tar and compressing ports.tar
#66507
Allow customizing applications_dir on a per-port basis
#66510
Uninstall warning: add portname to warning prompt. Makes it more clear which port is triggering the warning if multiple ports are specified on the uninstall line.
#66526
Port space command ignores hardlinks in it's total size calculations
#66537
Add a field to port information that specifies whether that port is distributed as a binary or requires a lengthy rebuild
#66538
Allow suppressing 'Warning: couldn't find file'
#66626
Installation of Ventura package fails
#66724
Mac OS Ventura Update asks for MacPorts password, password unknown
#66752
The installer encountered an error that caused the installation to fail
#66856
port 2.8.1 and tcsh do not interact correctly on Monterey
#66871
Installation on Leopard broken? Error: The installed version of Xcode (3.1.4) is too old to use on the installed OS version. Version 14.2 or late is recommended
#66878
Crowdstrike (security scanner) freaks out when the package installer runs
#67044
Registry DB is 1.2GB and makes a 10.4.11 system unusable
#67272
Port selfupdate is NOT working on macOS Catalina version 10.15.7
#67336
BSD tar can create corrupted archives on Catalina, Big Sur, Monterey, Ventura
#67402
Can't build MacPorts on 10.11 with Xcode 8.2.1
#67456
sudo: port: command not found
#67534
port rev-upgrade --id-loadcmd-check fails on MacPorts 2.8.1
#67703
gd license should not be marked as conflicting with GPL
#67787
Detect other possible default -Werror compiler errors during configure
#67788
Refuse to run if install_name_tool is broken
#68136
cross-platform portfiles and shlib extension
#68401
Sandboxing in Macports does not work correctly on 10.6.x: sh: /bin/ps: Operation not permitted
#68637
Trace mode considers dependencies case-sensitively
#68742
Build does not respect CONFIG_SITE
#68820
Upgrading specific port ignores epoch
#68869
Clarify that failure to fetch an archive is not a bug
#68902
inconsistent use of c++ library for mpich with gcc10>
#68953
port(1) manpage: better explain behavior of -N flag
#69055
port: non-root local port build hardcodes rsync path
#69187
Updated from version 2.8.1 to 2.9 Crowdstrike altert from IT
#69190
base prohibits new Clangs on 10.6 Intel
#69240
Launch item "Joshua Root" created on installation without explanation
#69255
Base should rather use ppc+ppc64 on Leopard with PowerPC cpu, not ppc+i386
#69301
macports 2.9.1 appears to be broken on Rosetta: tclsh8.6(1491,0xb03a7000) malloc: *** error for object 0x600940: pointer being freed was not allocated
#69353
Macports base configure sets universal archs to arm64 x86_64 on powerpc-*-openbsd (i.e. both cpu and OS are 32-bit)
#69354
Macports on BSD compiles libsqlite3400.so, but looks to link against libsqlite3.40.0.so
#69379
storing port configuration settings under the workdir
#69400
Port problem reporting mechanism "port report <portname>"
#69404
shouldn't xz-bootstrap usage be controlled through "base"?
#69412
Thought bubble from my LTO PortGroup
#69534
Trace mode does not fully hide python modules
#69555
Use cloning to activate port images on APFS
#69649
Avoid using /usr/bin/patch
#69662
port diagnose checks for Homebrew in /usr/local but not /opt/homebrew