From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inaky Perez-Gonzalez Date: Thu, 08 Jan 2009 18:00:07 +0000 Subject: Re: [PATCH 1/1] udev/pkgconfig: fix exec_prefix to be generated from @exec_prefix@ Message-Id: <200901081000.07766.inaky@linux.intel.com> List-Id: References: <1231369695-12478-1-git-send-email-inaky@linux.intel.com> In-Reply-To: <1231369695-12478-1-git-send-email-inaky@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Wednesday 07 January 2009, Kay Sievers wrote: > On Thu, Jan 8, 2009 at 00:48, Perez-Gonzalez, Inaky > > wrote: > >>From: Marcel Holtmann [mailto:marcel@holtmann.org] > >> > >>> Otherwise paths where the libraries are to be found are out of sync. > >> > >>did you check the autogen.sh of udev. With programs living in the / > >>directory (including their libraries) you have to do special things when > >>installing them. Here is what udev uses: > >> > >>--prefix=/usr --exec-prefix= --sysconfdir=/etc --with-selinux > >> > >>And with that a "make install" words just fine. I have been using it > >>since the last few month. > > > > Yeah, all that works ok -- my concern is more the generation of the .pc > > file, as they are based off @exec_dir@ and in the pc.in template files, > > exec_prefix is taken to be @prefix@, when that could not be the case. > > > > Am I missing anything here? > > Udev uses exec_prefix to put the binaries in /sbin and the lib in > /lib{,64}, it can do that because it does not need to put any binary > files in /usr. Stuff installed in the rootfs is kind of special, there > is no general rule how to do that, and standard autotools do not help > anything regarding that problem. Every package has its own way to do > that. > > In general, pkgconfig files should not expose the that a library is > installed in the rootfs, pkgconfig must always point to the > development symlink, which is usually installed with the devel > package, and lives in /usr, and is prefix here, not exec_prefix. > > We could make exec_prefix show the "real" value, but then we would > need to fake the libdir value to point to /usr, which is the same type > of inconsistency you discovered with today's solution. Ah, ok, I see the point now -- I forgot that the bare .so can be placed anywhere. Thank for the explanation -- Inaky