Bug 235240 - devel/libinotify: move sys/inotify.h into a subdirectory
Summary: devel/libinotify: move sys/inotify.h into a subdirectory
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Port Management Team
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2019-01-27 11:45 UTC by Jan Beich
Modified: 2019-02-06 18:56 UTC (History)
27 users (show)

See Also:
bugzilla: maintainer-feedback? (sunpoet)
decke: maintainer-feedback+
jbeich: maintainer-feedback? (dominik.lisiak)
jbeich: maintainer-feedback? (freebsd-ports)
arrowd: maintainer-feedback+
jbeich: maintainer-feedback? (java)
jbeich: maintainer-feedback? (joh.hendriks)
jbeich: maintainer-feedback? (jpaetzel)
jbeich: maintainer-feedback? (junichi)
tcberner: maintainer-feedback+
kwm: maintainer-feedback+
jbeich: maintainer-feedback? (lukas.slebodnik)
madpilot: maintainer-feedback+
jbeich: maintainer-feedback? (mickael.maillot)
jbeich: maintainer-feedback? (mono)
jbeich: maintainer-feedback? (mp39590)
jbeich: maintainer-feedback? (mr)
jbeich: maintainer-feedback? (olgeni)
rigoletto: maintainer-feedback+
jbeich: maintainer-feedback? (sunpoet)
jbeich: maintainer-feedback? (swills)
jbeich: maintainer-feedback? (takumiiinn)
jbeich: maintainer-feedback? (timur)
jbeich: maintainer-feedback? (ultima)
jbeich: maintainer-feedback? (yonas)
yuri: maintainer-feedback+
jbeich: exp-run?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2019-01-27 11:45:48 UTC
libinotify installs sys/inotify.h in a common location where regular libraries are. Consumers may opportunistically pick it up over kqueue backend or if not required. Let's limit poisoning like OpenBSD port did.

See review D18990 for the patch and check your port didn't regress.
Comment 1 Jan Beich freebsd_committer 2019-01-27 11:50:43 UTC
Can you check all ports for hidden consumers?

OPTIONS_SET += LIBINOTIFY INOTIFY FSMONITOR
Comment 2 Guido Falsi freebsd_committer 2019-01-27 14:08:07 UTC
I filed some feedback in the code review.

Short version is, I think this could be better addressed creating an inotify USES.

I'm restraining my approval until such concern is addressed.

Posting here to avoid timing out.
Comment 3 Tobias C. Berner freebsd_committer 2019-01-27 16:35:44 UTC
Looks good for kde@, as long as it is exp-ran.

mfg Tobias
Comment 4 Josh Paetzel freebsd_committer 2019-01-28 19:50:49 UTC
I patched devel/libinotify, then installed devel/py-pyinotify and confirmed it works properly.  All clear from me.
Comment 5 Sunpoet Po-Chuan Hsieh freebsd_committer 2019-01-30 19:33:02 UTC
(In reply to Jan Beich from comment #0)

I'm OK to change where inotify.h installs. But I do not understand why we have to move it. Could you please give a case that "consumers may opportunistically pick it up over kqueue backend or if not required"? After this change, do we have to teach every new ports how to find the new home of inotify.h?

Thanks.
Comment 6 Jan Beich freebsd_committer 2019-02-04 16:09:33 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #5)
> Could you please give a case that "consumers may opportunistically
> pick it up over kqueue backend or if not required"?

Look for ports with CONFIGURE_ENV=ac_cv_header_sys_inotify_h=no.

> After this change, do we have to teach every new ports how to find the new home of inotify.h?

No. Only those not using pkg-config. -linotify doesn't exist on Linux, so it always comes with a .pc file (unless older than 20170711). autotools and meson support pkg-config just fine, cmake uses modules to reinvent pkg-config but the support is good if required module exists, gmake and bmake[1] can cache pkg-config output via $(shell ...) and ${SH:!...!}.

[1] bmake caching have to be in submake *after* pkg-config is installed as ${SH:!...!} is evaluated at parsing time. gmake isn't affected because it's only used to parse vendor's Makefile while port's Makefile is parsed by bmake.