Policy on `obsolete` ports...

Ryan Schmidt ryandesign at macports.org
Sat Nov 20 10:39:10 UTC 2021

On Nov 19, 2021, at 15:05, Perry E. Metzger wrote:

> Howdy! As things stand, we don't explicitly say much in our rules about whether people can remove obsolete ports after a year even without a port maintainer's say-so. We also have circumstances where people leave "maintainer" lines in ports that have been put into `obsolete`.
> I'd like to propose the following rules:
> 1. There must always be a comment in a `PortGroup obsolete` Portfile stating the date on which the port can be removed. (Ideally we'd actually have a keyword for this so tools could find it, but a comment works for now.) In case there isn't a comment, the date of the commit is used.

It is a good idea to put a comment in an obsolete port or subport or compatibility variant or deactivation hack giving the date one year ahead when it can be removed. If not present, removal date should be one year from commit date.

> 2. Once something is `Portgroup obsolete`, it should no longer be considered to have a maintainer. After all, there's no longer anything being built or maintained. Thus, `maintainer` should be set to `nomaintainer` for such files. If there's still a `maintainer` in an `obsolete` port, that is an accident and can be ignored for purposes of removing the port at the end of the one year timeout.

I have probably left myself as maintainer of some obsolete ports before in order to convey that I did maintain the port before and to provide a point of contact in case anyone has questions. Certainly the port could be removed at the agreed upon time without any indicated maintainer's further consent.

> 3. Setting a port `obsolete` should be considered automatic consent to remove it in one year's time,


> and there should be no question that a year is a sufficient chance to think better of it and bring it back in some form.

The one year period isn't about providing a second chance to restore it; a port can be restored at any time using the git history. The one year period is about providing an upgrade mechanism for users who had the port installed before it went obsolete and who may not upgrade outdated ports often.

> 4. If a subport is set `obsolete`, the usual rules about the maintainer needing to consent to touching the Portfile should not apply for removing said subport in a year, as the one year is (again) enough time for them to think better on it.

In my opinion, that's reasonable, though the point is also valid that the maintainer may be working on other changes which might conflict with the removal. It's probably safer to submit a pull request and give the maintainer the customary 72 hours to react.

More information about the macports-dev mailing list