Page MenuHomeFreeBSD

mail/opensmtpd-extras-* : unconditionally define PORTREVISION
ClosedPublic

Authored by fluffy on May 27 2016, 3:26 PM.

Details

Summary

mail/opensmtpd-extras-* : unconditionally define PORTREVISION to skip unneccessary bump slaves by master port touching

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

fluffy updated this revision to Diff 16994.May 27 2016, 3:26 PM
fluffy retitled this revision from to mail/opensmtpd-extras-* : unconditionally define PORTREVISION .
fluffy updated this object.
fluffy edited the test plan for this revision. (Show Details)
fluffy added reviewers: adamw, gahr, miwi, mat, brnrd.
fluffy set the repository for this revision to rP FreeBSD ports repository.
fluffy added subscribers: adamw, gahr, miwi and 2 others.
adamw added inline comments.May 27 2016, 3:30 PM
opensmtpd-extras-filter-dnsbl/Makefile
9 ↗(On Diff #16994)

Your other patch removes the mail/opensmtpd dependency, and this patch removes the dns/libasr dependency.

This filter requires libasr so you'll have to leave one or the other in.

28.05.16 1:30, adamw (Adam Weinberger) пишет:

LIB_DEPENDS= libasr.so:dns/libasr
Your other patch removes the mail/opensmtpd dependency, and this patch
removes the dns/libasr dependency.

Please take a second look at patch for masterfile.

Instead of hardcoded mail/opensmtpd and dns/libasr it now configurable:
master port now have option to select between stable/devel opensmtpd,
and both opensmtpd ports have dependency via options between two
versions of libasr

This filter requires libasr so you'll have to leave one or the other in.

BTW, to make dependency on required libasr ready bebore plugin build,
masterport can define BUILD_DEPENDS additionally to RUN_DEPENDS for
opensmtpd option

adamw edited edge metadata.May 27 2016, 4:01 PM

! In D6607#139525, @fluffy wrote:
Instead of hardcoded mail/opensmtpd and dns/libasr it now configurable:
master port now have option to select between stable/devel opensmtpd,
and both opensmtpd ports have dependency via options between two
versions of libasr

Ah! Right you are. Can you change the description of it? It reads really strangely. Maybe "Depend on opensmtpd-devel (opensmtpd if off)" or something?

The problem here is that it shouldn't be necessary to install the master port for the slaves to work. That selection between opensmtpd and opensmtpd-devel should be present for the slaves as well.

This filter requires libasr so you'll have to leave one or the other in.

BTW, to make dependency on required libasr ready bebore plugin build,
masterport can define BUILD_DEPENDS additionally to RUN_DEPENDS for
opensmtpd option

Then opensmtpd should be a BUILD_DEPENDS as well.

I'd separate out the OPENSMTPD_DEVEL and SSL_PORT options and make them a part of everything, slave or master:

OPTIONS_DEFINE= OPENSMTPD_DEVEL SSL_PORT

OPENSMTP_DEVEL_BUILD_DEPENDS_OFF=	smtpctl:${PORTSDIR}/mail/opensmtpd
OPENSMTP_DEVEL_RUN_DEPENDS_OFF=	smtpctl:${PORTSDIR}/mail/opensmtpd
OPENSMTP_DEVEL_BUILD_DEPENDS=	smtpctl:${PORTSDIR}/mail/opensmtpd-devel
OPENSMTP_DEVEL_RUN_DEPENDS=	smtpctl:${PORTSDIR}/mail/opensmtpd-devel

[SSL_PORT stuff]

.if empty(SLAVE_PORT)
[...]
adamw added a comment.May 27 2016, 4:03 PM

And actually, by bringing in opensmtpd as a BUILD_DEPENDS, the SSL_PORT option should be unnecessary.

28.05.16 2:03, adamw (Adam Weinberger) пишет:

And actually, by bringing in opensmtpd as a BUILD_DEPENDS, the SSL_PORT
option should be unnecessary.

Yes, indeed, it will be available via opensmtpd[-devel] build dependency

adamw added a comment.May 27 2016, 4:13 PM

It's getting difficult to track the changes here separate from D6084. Given that they are now getting intermingled, can you fold this into the other diff?

gahr requested changes to this revision.May 27 2016, 4:44 PM
gahr edited edge metadata.

There is nothing wrong with the current indentation. Can you please leave it alone? It just makes the diff huge and hides the actual functional changes.

Moving PORTREVISION to slaves while keeping PORTVERSION in the master will no doubt end up in bumping PORTVERSION and forget to reset PORTREVISION.

Are we sure at this point that we'll always be willing to update them all together?
Can we please instead kill the master port and provide a Makefile.extras for the common stuff?

I'm stressing on this point cause it'll allow different people to efficiently maintain / test / update extra ports independently. I'm pretty sure none of us has a setup that allows him to properly test all extras.

Thoughts?

This revision now requires changes to proceed.May 27 2016, 4:44 PM
adamw added a comment.May 27 2016, 5:04 PM
In D6607#139583, @gahr wrote:

Are we sure at this point that we'll always be willing to update them all together?
Can we please instead kill the master port and provide a Makefile.extras for the common stuff?

Right now they're all pulled from the same tarball. Unless you're proposing that each extra should have its own tarball and possibly be from different git revisions (which I'm totally fine with), I don't see how a Makefile.extras is any different from a master/slave.

fluffy updated this revision to Diff 17003.May 27 2016, 5:13 PM
fluffy edited edge metadata.
  • Pass master's CONFIGURE_ARGS to slaves
  • Option to select stable/devel opensmtpd as build/run dependency (and corresponding libasr via this)
  • Pass pkgconfig dependency only to supports which need it.
gahr added a comment.May 27 2016, 5:33 PM

Yes, I suggest that every extra should be able to be updated independently, hence different distfiles. I know it's a waste of space and time, but the alternative is scarier...

gahr accepted this revision.May 27 2016, 5:36 PM
gahr edited edge metadata.

I'm fine with the latest diff. IMHO we can postpone infrastructural changes to a later discussion / differential.

Thanks so much Dima and Adam for your time and effort!

This revision is now accepted and ready to land.May 27 2016, 5:36 PM
adamw added inline comments.May 27 2016, 6:02 PM
opensmtpd-extras/Makefile
27 ↗(On Diff #17003)

Be sure to remove filter-monkey from this list

66 ↗(On Diff #17003)

That stuff needs to be before the .if empty(SLAVE_PORT) so those options are exposed to all the extras.

This revision was automatically updated to reflect the committed changes.