Developer mode

Rainer Müller raimue at macports.org
Tue Nov 26 15:05:26 UTC 2019


On 20/11/2019 01.21, Ralph Seichter wrote:
> * Ryan Schmidt:
> 
>> We might also add a way for a developer to indicate for which ports
>> developer mode should be turned on. A developer might wish, for
>> example, to be notified of issues relating to the ports they maintain
>> but not the ports that others maintain.
> 
> That can be useful. Is that not something Trac should handle? If a
> ticket references a specific port, is the designated maintainer not
> automatically added to the ticket?

Unfortunately we do not have any plugin in Trac to assign maintainers
automatically. There was a previous attempt at getting this into Trac a few
years ago, but it got not deployed due to constraints at macOS forge, which we
used for hosting back then.

https://trac.macports.org/ticket/40987

I am not sure if that code is still compatible with the more recent Trac
version... It would probably also need to be adapted to the PortIndex SQL schema
(or whatever the webapp is now using?).

>> You mentioned updating manifests. I don't know what a manifest is but
>> MacPorts ports only have a Portfile. We did recently introduce the
>> "port bump" developer command to assist with updating checksums
> 
> While MacPorts lists distribution archive checksums as part of each
> Portfile, Gentoo uses a separate Manifest file for that (one reason
> being that Gentoo offers multiple versions per ebuild, hence multiple
> checksums are required). "repoman manifest" adds new checksums and/or
> removes obsolete ones, for convenience. If "port bump" does the same,
> that's news to me, but a nice feature I have been waiting for.

Yes, 'port bump' is supposed to edit the Portfile with the new checksums.

>> We don't have a tool to automate commit messages. We expect developers
>> to write them manually, including referencing any related Trac
>> tickets. I'm not sure I understand how an automated tool could know
>> which ticket(s), if any, a commit is related to.
> 
> Let's use https://trac.macports.org/ticket/58921 as an example, a ticket
> I opened and you processed and closed (thanks for the update by the way).
> If this was a Gentoo ticket, you could have used the following:
> 
>   $ cd /path/to/your/ports/mongodb
>   $ repoman -c 58921 commit
> 
> This would have created the following type of Git commit message
> template and opened it in your editor:
> 
>   dev-db/mongodb:
> 
>   Closes: https://trac.macports.org/ticket/58921
>   Package-Manager: Portage-2.3.79, Repoman-2.3.18
>   Signed-off-by: Ryan Schmidt <mumble at example.com>
> 
> I am aware that MacPorts does not use sign-off lines, this is just an
> example of how repoman pre-populates commit messages. Also, the prefix
> "dev-db/mongodb:" is Gentoo-specific, it would just be "mongodb:" for
> MacPorts. The point is that repoman will choose the correct prefix for
> the user. The option "-c" adds the correct "Closes" line for a given
> ticket number, while "-b 58921 -b 1234" would add 
> 
>   Bugs: https://trac.macports.org/ticket/58921
>   Bugs: https://trac.macports.org/ticket/1234
> 
> i.e. non-closing references to existing tickets. As I mentioned before,
> repoman also performs a "port lint" equivalent. It is simply a tool to
> make recurring operations like basic QA checks and commits more
> convenient for the user (it does for example report local untracked
> files which you may have forgotten to add). The user is of course still
> responsible for providing useful commit messages, both short summary and
> verbose description.

Sounds very useful to have such a tool. But as always, this can just be written
and does not necessarily have to be part of port(1). The same thing happened in
Gentoo, many tools were just written independently. I am just mentioning this to
encourage contributions for such quality-of-life scripts that do not rely on
becoming more familiar with macports-base first.

Rainer


More information about the macports-dev mailing list