Page MenuHomeFreeBSD

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

Authored by fluffy on May 27 2016, 3:26 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Mar 26, 10:15 PM
Unknown Object (File)
Jan 3 2024, 11:59 AM
Unknown Object (File)
Dec 31 2023, 10:22 PM
Unknown Object (File)
Dec 27 2023, 11:15 AM
Unknown Object (File)
Dec 27 2023, 11:15 AM
Unknown Object (File)
Dec 27 2023, 11:15 AM
Unknown Object (File)
Dec 27 2023, 11:15 AM
Unknown Object (File)
Dec 24 2023, 11:20 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
Lint Skipped
Unit
Tests Skipped

Event Timeline

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.
opensmtpd-extras-filter-dnsbl/Makefile
9

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

! 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)
[...]

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

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
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 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.

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 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
opensmtpd-extras/Makefile
27

Be sure to remove filter-monkey from this list

66

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.