| Summary: | graphics/sdl_image and graphics/sdl2_image: direct linking instead of dlopen(3) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> | ||||
| Component: | Individual Port(s) | Assignee: | Dmitry Marakasov <amdmi3> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | CC: | w.schwarzenfeld | ||||
| Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(mva) |
||||
| Version: | Latest | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
Auto-assigned to maintainer mva@FreeBSD.org In reality this should not be an issue, since we advise a rebuild (or do a revision bump on all related ports) or shared library updates. If we stop using shared libraries, we just need BUILD_DEPENDS. This however may impose security risks (e.g. png vulnerabilities) that may not be covered by a rebuild (as far as I remember, BUILD_DEPENDS are not recorded in a package). Maintainer reset The Makefile is more than once reworked since this time. I think this is overcome by events and coulc be closed. Yes, I think we can close. This was rejected in comment #2 by the previous maintainer and has not been contested by jbeich@ since. Static linking is definitely not acceptable. However it would make sense to disable dynamic loading of shared library to proper linking in build time. I don't see a way to enable this via build arguments though. It turns out that these options do just what we want - disable dlopen. These do not involve static linking. So the patch is good, I'm going to commit it after some testing along with port updates. A commit references this bug: Author: amdmi3 Date: Fri Mar 1 19:18:57 UTC 2019 New revision: 494313 URL: https://svnweb.freebsd.org/changeset/ports/494313 Log: - Switch sdl_image and sdl2_image from dynamic loading of dependency libraries to normal shared linking - While here, add USES=sdl and localbase add LICENSE_FILE and strip library PR: 196099 Submitted by: jbeich Changes: head/graphics/sdl2_image/Makefile head/graphics/sdl_image/Makefile |
Created attachment 150725 [details] add --disable-*-shared To avoid hiding runtime issues when dependencies are updated. dlopen is only useful for optional dependencies i.e., those not always pulled with the package. Idea from Gentoo. Alternatively, LIB_DEPENDS should be replaced with BUILD_DEPENDS.