On Mon, Aug 13, 2012 at 10:33:41PM -0700, Andy Leiserson wrote: > Allow packages to find arch-independent data normally located in > /usr/share in the staging area using pkgconfig. > > Change the default configure args to use ${prefix} and ${exec_prefix} > (with expansion deferred) rather than $(CONFIGURE_PREFIX). This allows > the pkg-config wrapper used in the host staging area > (tools/pkg-config/files/pkg-config) to fully override the location of > the package by setting only $prefix and $exec_prefix, as long as the > pkgconfig files define paths in terms of those variables.
Quoting Florian's note in response to 00/16 of the series (sent Wed, Dec 05, 2012 at 06:41:51PM +0100): > I did not apply patch 2 because I am not exactly sure everything is > required in it. Thanks Florian for taking the time to review the patches. I'll try to clarify the intent of patch 02, in case it wasn't clear. Currently the issue only affects rygel, but I do think it could affect other packages in the future. If we just need a safe fix for the rygel issue, I can submit a patch to do that. The problem addressed by the patch is how to tell the rygel build to look for .vapi files in the staging area rather than in /usr/share/vala/vapi on the host. (This is the reason the rygel build is failing in the buildbot.) The vala package generates a pkgconfig file called vapigen.pc using autoconf. The vapigen.pc.in source contains (in part): prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ datadir=@datadir@ Without the patch, those lines are expanded to say: prefix=/usr exec_prefix=/usr libdir=${exec_prefix}/lib datadir=/usr/share The value of libdir is an autoconf-supplied default, because the openwrt configure args in package-defaults.mk don't specify --libdir. The value of --datadir comes from the openwrt configure args. With the patch, the datadir line reads: datadir=${prefix}/share ... which will point to the correct path in the staging area when the pkg-config wrapper used by the build overrides $prefix and $exec_prefix. There's an obvious risk that the patch will break things. So, I understand if it can't be applied. I'll offer a few other options: 1. Manually set the vapidir path to point to the staging area in the rygel build. (This has simplicity and safety, if not cleanliness, in its favor.) 2. Override datadir in the pkg-config wrapper script. 3. Remove datadir (and possibly others) from the default configure args, with the reasoning that it should match the default. (This avoids the risk that something breaks because it isn't shell-expanding the paths in the configure args.) I'll submit a patch to do #1, if there isn't feedback otherwise. Thanks, Andy _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel