Glynn/Laca: After thinking about this a bit, I think I have a suggestion that would probably make ARC happy and not involve too much extra work. Perhaps we could simply install the pc files for these temporary interfaces to a non-default location. Instead of installing them to /usr/lib/pkgconfig, we could install them to a private directory (perhaps /usr/lib/pkgconfig/private. Then we simply need to update the spec files for the packages that need to build with these libraries to set PKG_CONFIG_PATH and things should work just fine.
This is a fairly simple and non-invasive modification that would allow us to tell ARC that we are properly hiding these interfaces from end-users, but people who want to build with them (including ourselves) can do so if they just set an environment variable. We can probably argue that shipping include/library files to the default location is okay as long as we don't install the pc file to the default location. Does this sound better? I think doing this bit of extra work would make ARC'ing the project more simple. Glynn suggests that we shouldn't waste our time doing this because "there are plenty of other libraries installed by us that we wouldn't encourage using". I don't think that making a mistake in the past is a good reason for making mistakes in the present. If there are pc files that we install to /usr/lib/pkgconfig that we really don't want people to use, then we should review them and also move them to a non-default location. Glynn, what specific pc files do you think we install that we would discourage end-users from actually using? Quickly looking over the ones we do install, I think that most are reasonable. I think it is reasonable to ship pc files for GNOME Platform libraries, low-level libraries that GNOME depends upon, and GNOME desktop libraries if it is common for applications to depend on them. Brian >>>> Then before these spec files go into our build, can the spec files >>>> be updated so we build in this way? >>> What you're suggesting is simply that we don't integrate the -devel >>> package into Solaris. >>> I disagree with that, though: >>> 1) it will be required for rebuilding parts of our product >>> 2) even if we don't encourage using these interfaces, if a developer >>> is interested in trying them, why make it more difficult? >> That's a good point. Then, I'd recommend that we install files to a >> more private location than to /usr/include and /usr/lib. Perhaps >> to /usr/include/notify, /usr/lib/notify, etc. We possibly wouldn't >> want to install the .pc files and instead hack the configure files >> that might be looking for pc files to just know that they can build >> with these modules installed to whatever location we install them. > > I don't think we should waste time doing this - there's plenty of other > libraries installed by us that we also wouldn't encourage using [or at least, > using with a very obvious warning]. > > > Glynn
