- Rewrite of Mk/bsd.openssl.mk to Mk/Uses/openssl.mk
- Move USE_OPENSSL_RPATH to a USES=openssl:rpath
- Allow specifying base and port via Uses args
- Merge ports' args with make.conf WITH_OPENSSL_* args
- Allow specifying libressl as Uses arg (e.g. obhttpd)
- Move OPENSSL_PORT=dir/port to WITH_OPENSSL_PORT=dir/port
- Retain current make.conf options (and backwards compat)
Details
- Tested with modified www/obhttpd (requires libressl)
- Tested with net/socat for the USE_OPENSSL and USES=openssl QA check
Reviewed_by: feld (mentor), koobs (mentor)
Approved by: (mentor), (portmgr)
Differential_Revision: D5688
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
No Lint Coverage - Unit
No Test Coverage - Build Status
Buildable 2980 Build 3008: arc lint + arc unit
Event Timeline
Separate the Uses stuff from the QA stuff
This is still missing the delete on Mk/bsd.openssl.mk.
Don't want to go foot-shooting just yet
Could you post a complete patch ? One that removes bsd.openssl.mk, patches bsd.port.mk to add compat shims for ports that sill use USE_OPENSSL, and bsd.sanity.mk to tell people to move to USES=openssl.
Include all dependent files
- Restore all variables to work as the existing variables
- Remove libressl argument
- Add bsd.sanity.mk changes
- Replace bsd.openssl.mk with only compat shims
I could not find any compat shims in Mk/bsd.port.mk and found e.g. the SQLite features in both Mk/bsd.database.mk and Mk/Uses/sqlite.mk.
Mk/bsd.port.mk shows that the USES variables are processed right after the USE_ includes are done.
So I went ahead and added the compat-shims to Mk/bsd.openssl.mk so they will be processed by the Mk/Uses/openssl.mk script. One unhandled case in here, both WITH_OPENSSL_PORT and WITH_OPENSSL_BASE being set, just like in the current Mk/bsd.openssl.mk
The initial commit contained both Mk/bsd.sanity.mk and Mk/Scripts/qa.sh as well, but I separated these into D5689 for less clutter. Now that I have Mk/bsd.sanity.mk included here again, it's probably best to also include qa.sh and abandon the separate review?
Like I already said, the bsd.openssl.mk file needs to be removed. And you need to patch bsd.port.mk where it is included to change and add a USES=openssl instead.
the new Mk/bsd.openssl.mk will break existing setups.
the shared lib version for libressl is not set when the ports is already installed.
This should not be committed.