Page MenuHomeFreeBSD

[NEW PORT] mail/py-afew: Initial tagging script for notmuch mail
ClosedPublic

Authored by dbaio on Sep 27 2017, 11:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 27, 1:22 AM
Unknown Object (File)
Apr 16 2024, 4:43 AM
Unknown Object (File)
Jan 31 2024, 10:38 AM
Unknown Object (File)
Jan 17 2024, 6:48 PM
Unknown Object (File)
Jan 11 2024, 12:41 PM
Unknown Object (File)
Jan 8 2024, 4:54 PM
Unknown Object (File)
Jan 8 2024, 4:53 PM
Unknown Object (File)
Dec 20 2023, 3:29 AM

Details

Summary
[NEW PORT] mail/py-afew: Initial tagging script for notmuch mail

Its basic task is to provide automatic tagging each time new
mail is registered with notmuch.  In a classic setup, you might
call it after 'notmuch new' in an offlineimap post sync hook.

It can do basic thing such as adding tags based on email headers
or maildir folders, handling killed threads and spam.

In move mode, afew will move mails between maildir folders
according to configurable rules that can contain arbitrary
notmuch queries to match against any searchable attributes.

WWW: https://github.com/afewmail/afew

PR:	222629
Submitted by:	Sebastian Schwarz <seschwar@gmail.com>
Reviewed by:	mat, ???
Differential Revision:	DD12520
Test Plan
$ portlint -CA
looks fine.

poudriere testport:

poudriere OK with Python 2.7 and 3.6.

10.3-RELEASE-p21 amd64|i386
11.1-RELEASE-p1 amd64|i386
12.0-CURRENT 1200044 amd64|i386

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I see you added PKGNAMEPREFIX, @dbaio. I wasn't sure if this was required, since for example ansible and offlineimap don't use that and you can't install py27-afew and py36-afew at the same time.

mail/py-afew/Makefile
23 ↗(On Diff #33513)

As a Python port I'm thinking it should be architecture independent. However it includes *.pyc and *.pyo files. Are these architecture dependent?

I see you added PKGNAMEPREFIX, @dbaio. I wasn't sure if this was required, since for example ansible and offlineimap don't use that and you can't install py27-afew and py36-afew at the same time.

It's better to follow the Python Ports Policy.

mail/py-afew/Makefile
23 ↗(On Diff #33513)

Python bytecode is cross-platform.

It's better to follow the Python Ports Policy.

I was actually looking for such a document. The Porter's Handbook seems to be mainly describing the mechanisms of how to get a port working. It is relatively light on the policies the created port should follow. Is there a reason this isn't part of the Porter's Handbook? Are there similar policy descriptions for ports in other programming languages?

It's better to follow the Python Ports Policy.

I was actually looking for such a document. The Porter's Handbook seems to be mainly describing the mechanisms of how to get a port working. It is relatively light on the policies the created port should follow. Is there a reason this isn't part of the Porter's Handbook? Are there similar policy descriptions for ports in other programming languages?

There are some information in the Wiki kept by the teams, PortsTeams

mail/py-afew/Makefile
26–27 ↗(On Diff #33513)

If sphinx is only used for the docs, you might want to guard it by a DOCS option.

dbaio added a reviewer: mat.
dbaio marked an inline comment as done.

sphinx is generating only a manpage, so I've added a MANPAGES option.

mail/py-afew/Makefile
26–27 ↗(On Diff #33513)

This command generates the manpages, not other additional documentation. Aren't manpages required to be included by default?

The FreeBSD Porter's Handbook notes:

The DOCS option only controls additional documentation installed in DOCSDIR. It does not apply to standard man pages and info pages.

So should a create a MANPAGES option just for the manual pages? Looking through the ports tree shows that only few ports bother doing so.

$ find /usr/ports -depth 3 -type f -name Makefile -print0 \
    | xargs -0 grep -F MAN \
    | grep -Fc OPTIONS_DEFINE
95

Is there anything still blocking this from being committed to the ports tree?