Skip to content

Conversation

Self-Hosting-Group
Copy link
Contributor

@Self-Hosting-Group Self-Hosting-Group commented May 30, 2025

  • Allow build daemon with --disable-pppconn to remove legacy (IGDv1 only) workaround no longer included in other implementations since >15y
  • Allow build daemon with --vendorcfg to enable configuration of manufacturer info, e.g. router name (friendly name, +5) displayed in windows explorer
  • Remove unnecessary OpenSSL dependency (only required with --https)
  • Remove old config file and post-patch that are no longer needed

Self-Hosting-Group added a commit to Self-Hosting-Group/freebsd-ports that referenced this pull request May 30, 2025
Self-Hosting-Group added a commit to Self-Hosting-Group/freebsd-ports that referenced this pull request Jun 17, 2025
@Self-Hosting-Group Self-Hosting-Group force-pushed the build-improvements branch 2 times, most recently from d0420ae to 8461391 Compare June 17, 2025 07:58
@Self-Hosting-Group Self-Hosting-Group force-pushed the build-improvements branch 2 times, most recently from 3301535 to a9eb574 Compare June 30, 2025 05:02

post-patch:
@${REINPLACE_CMD} -e 's|\(-lssl -lcrypto\)|$$(LDFLAGS) \1|g' \
-e 's|^INSTALLMANDIR.*|INSTALLMANDIR = ${PREFIX}/share/man|' \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At least you should keep this part of the post-patch, otherwise the manpage will be misplaced and the file considered as orphan.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought I had proposed all the necessary changes in miniupnp/miniupnp@0ef0b9b and miniupnp/miniupnp@b4d7803 upstream. Therefore, this patch should no longer be required.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, I have not yet managed to set up a FreeBSD build environment, so I cannot verify this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

may I recommend you to try one of our VM images you can run in your favorite environment and set up a poudriere in minutes. Combined with the ability to use pre-compiled binaries (see pkg-bulk -b option, the power is on your hands

Copy link
Contributor

@rosorio rosorio Aug 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry but the commit you point doesn't fix the issue.
I think the BSD makefile is supposed to work for the whole family Free/Net and Open which had differences in the file hierarchy .
But, I think you are right we can get rid of this post-patch script.

@${REINPLACE_CMD} -e 's|\(-lssl -lcrypto\)|$$(LDFLAGS) \1|g' \
-e 's|^INSTALLMANDIR.*|INSTALLMANDIR = ${PREFIX}/share/man|' \
${WRKSRC}/Makefile.bsd
UPNP_DISABLEPPPCONN_DESC= Disable legacy (IGDv1 only) WANPPPConnection
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UPNP_DISABLEPPPCONN_DESC goes before UPNP_IGDV2_DESC

LEASEFILE_CONFIGURE_ON= --leasefile
UPNP_IGDV2_CONFIGURE_ON= --igd2
UPNP_STRICT_CONFIGURE_ON= --strict
UPNP_DISABLEPPPCONN_CONFIGURE_ON= --disable-pppconn
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

UPNP_DISABLEPPPCONN_CONFIGURE_ON goes before UPNP_IGDV2_CONFIGURE_ON

@rosorio
Copy link
Contributor

rosorio commented Aug 22, 2025

And don't forget to apply portlint, portclippy and portfmt to ensure everything is fine


post-patch:
@${REINPLACE_CMD} -e 's|\(-lssl -lcrypto\)|$$(LDFLAGS) \1|g' \
-e 's|^INSTALLMANDIR.*|INSTALLMANDIR = ${PREFIX}/share/man|' \
Copy link
Contributor

@rosorio rosorio Aug 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry but the commit you point doesn't fix the issue.
I think the BSD makefile is supposed to work for the whole family Free/Net and Open which had differences in the file hierarchy .
But, I think you are right we can get rid of this post-patch script.

CPE_VENDOR= miniupnp_project

USE_RC_SUBR= ${PORTNAME}

HAS_CONFIGURE= yes
# unconditionally use pf, ipfw does not work on FreeBSD
CONFIGURE_ARGS= --firewall=pf --libpfctl
CONFIGURE_ARGS= --firewall=pf \
--libpfctl

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MAKE_ENV= MANPREFIX=${PREFIX}/share

This is requires to correct the misplaced manpage man vs share/man

@Self-Hosting-Group
Copy link
Contributor Author

And don't forget to apply portlint, portclippy and portfmt to ensure everything is fine

Applied

MAKE_ENV= MANPREFIX=${PREFIX}/share

This is requires to correct the misplaced manpage man vs share/man

As suggested, the Makefile has now been adjusted.

I was able to successfully build the FreeBSD package with portmaster, package installation works (man page was also installed correctly), and the daemon runs as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants