Message ID | BLU0-SMTP1038BCF760A4FE2F4B22DA2D9CF0@phx.gbl |
---|---|
State | Accepted |
Headers | show |
Bernd, All, On 2013-12-29 18:31 +0100, Bernd Kuhls spake thusly: > Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com> > --- > package/lockdev/lockdev.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk > index 004b637..0c10341 100644 > --- a/package/lockdev/lockdev.mk > +++ b/package/lockdev/lockdev.mk > @@ -34,7 +34,7 @@ endef > > define LOCKDEV_INSTALL_TARGET_CMDS > $(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install_run > - ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1 > + ln -sf liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1 The .so symlink is not required at runtime, so we do not even have to install it in the first place. All we need is a library which filename is the same as its SONAME. So, if the SONAME is liblockdev.so.1, just rename the library to .so.1. If the SONAME is liblockdev.so, just rename the library to .so. If the library is already installed with the correct filename, no need to rename it. Regards, Yann E. MORIN.
Dear Yann E. MORIN, On Sun, 29 Dec 2013 18:43:05 +0100, Yann E. MORIN wrote: > > define LOCKDEV_INSTALL_TARGET_CMDS > > $(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install_run > > - ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1 > > + ln -sf liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1 > > The .so symlink is not required at runtime, so we do not even have to > install it in the first place. All we need is a library which filename > is the same as its SONAME. > > So, if the SONAME is liblockdev.so.1, just rename the library to .so.1. > If the SONAME is liblockdev.so, just rename the library to .so. If the > library is already installed with the correct filename, no need to > rename it. I've applied the patch, because nowhere in Buildroot we rename libraries so that they have as filename their SONAME. Therefore, doing this specifically for liblockdev would be inconsistent with what we do all over Buildroot. The SONAME of this library is indeed liblockdev.so.1, so this symbolic link is needed. Note that liblockdev.$(LOCKDEV_VERSION).so is *NOT* a symbolic link. It is the library itself. liblockdev is a bit non-standard: instead of having its real library binary named liblockdev.so.<version>, it is named liblockdev.<version>.so. And the liblockdev.so.1 symbolic link is needed to ensure that there is something matching the SONAME of the library, as explained above. Best regards, Thomas
diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk index 004b637..0c10341 100644 --- a/package/lockdev/lockdev.mk +++ b/package/lockdev/lockdev.mk @@ -34,7 +34,7 @@ endef define LOCKDEV_INSTALL_TARGET_CMDS $(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install_run - ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1 + ln -sf liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1 endef endif # BR2_PREFER_STATIC_LIB
Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com> --- package/lockdev/lockdev.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)