Patchwork [v2,2/2] lockdev: add lockdev

login
register
mail settings
Submitter Spenser Gilliland
Date May 7, 2013, 8:47 p.m.
Message ID <1367959620-17176-2-git-send-email-spenser@gillilanding.com>
Download mbox | patch
Permalink /patch/242463/
State Superseded
Headers show

Comments

Spenser Gilliland - May 7, 2013, 8:47 p.m.
Add lockdev a package for locking devices.

Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
---
 package/Config.in          |    1 +
 package/lockdev/Config.in  |    4 ++++
 package/lockdev/lockdev.mk |   30 ++++++++++++++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 package/lockdev/Config.in
 create mode 100644 package/lockdev/lockdev.mk
Yann E. MORIN - May 7, 2013, 9:05 p.m.
Spenser, All,

On Tue, May 07, 2013 at 03:47:00PM -0500, Spenser Gilliland wrote:
> Add lockdev a package for locking devices.
> 
> Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
[--SNIP--]
> diff --git a/package/Config.in b/package/Config.in
> index 23af3f5..8498609 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -255,6 +255,7 @@ source "package/iostat/Config.in"
>  source "package/irda-utils/Config.in"
>  source "package/kbd/Config.in"
>  source "package/lcdproc/Config.in"
> +source "package/lockdev/Config.in"
>  source "package/lm-sensors/Config.in"

Alphabetical order, please ('o' comes after 'm', as far as I know! ;-) )

>  source "package/lshw/Config.in"
>  source "package/lsuio/Config.in"
[--SNIP--]
> diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk
> new file mode 100644
> index 0000000..10a5929
> --- /dev/null
> +++ b/package/lockdev/lockdev.mk
> @@ -0,0 +1,30 @@
> +#############################################################
> +#
> +# lockdev
> +#
> +#############################################################
> +
> +LOCKDEV_VERSION = 1.0.3
> +LOCKDEV_SOURCE = lockdev_$(LOCKDEV_VERSION).orig.tar.gz
> +LOCKDEV_SITE = http://ftp.debian.org/debian/pool/main/l/lockdev/
> +LOCKDEV_LICENSE = LGPLv2.1
> +LOCKDEV_LICENSE_FILE = LICENSE
> +LOCKDEV_INSTALL_STAGING = YES
> +
> +define LOCKDEV_BUILD_CMDS
> +	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) static shared
> +endef
> +
> +define LOCKDEV_INSTALL_STAGING_CMDS
> +	$(MAKE1) basedir=$(STAGING_DIR)/usr -C $(@D) install
> +	ln -sf $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so
> +	ln -sf $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1
> +endef
> +
> +define LOCKDEV_INSTALL_TARGET_CMDS
> +	$(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install
> +	ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so
> +	ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1

What is the SONAME of the library? You only need to install the library
to a file named as the SONAME, not any other symlink is required.

But of course, if "development files on target" are selected you need
the .so symlink (but devel-files-on-target this is deprecated now).

Regards,
Yann E. MORIN.
Spenser Gilliland - May 7, 2013, 9:43 p.m.
Yann,

> Alphabetical order, please ('o' comes after 'm', as far as I know! ;-) )

Fixed. Will resubmit.

> What is the SONAME of the library? You only need to install the library
> to a file named as the SONAME, not any other symlink is required.
>
> But of course, if "development files on target" are selected you need
> the .so symlink (but devel-files-on-target this is deprecated now).

$ objdump liblockdev.1.0.3.so -p | grep SONAME
  SONAME               liblockdev.so.1

So, just install liblockdev.so.1 .  This needs to be changed in the
TARGET_CMDS not the STAGING_CMDS, correct? IE.

+define LOCKDEV_INSTALL_TARGET_CMDS
+     $(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install
+     ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so
$(TARGET_DIR)/usr/lib/liblockdev.so.1

Thanks, I'll shoot another patch out soon.

Spenser
Arnout Vandecappelle - May 8, 2013, 6:01 a.m.
On 07/05/13 23:05, Yann E. MORIN wrote:
>> >+define LOCKDEV_INSTALL_TARGET_CMDS
>> >+	$(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install
>> >+	ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so
>> >+	ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1
> What is the SONAME of the library? You only need to install the library
> to a file named as the SONAME, not any other symlink is required.
>
> But of course, if "development files on target" are selected you need
> the .so symlink (but devel-files-on-target this is deprecated now).

  But aren't these links created automatically by ldconfig in 
target-finalize? For staging it is still needed, of course.

  Regards,
  Arnout

Patch

diff --git a/package/Config.in b/package/Config.in
index 23af3f5..8498609 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -255,6 +255,7 @@  source "package/iostat/Config.in"
 source "package/irda-utils/Config.in"
 source "package/kbd/Config.in"
 source "package/lcdproc/Config.in"
+source "package/lockdev/Config.in"
 source "package/lm-sensors/Config.in"
 source "package/lshw/Config.in"
 source "package/lsuio/Config.in"
diff --git a/package/lockdev/Config.in b/package/lockdev/Config.in
new file mode 100644
index 0000000..2bd75d1
--- /dev/null
+++ b/package/lockdev/Config.in
@@ -0,0 +1,4 @@ 
+config BR2_PACKAGE_LOCKDEV
+	bool "lockdev"
+	help
+	  library for locking devices
diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk
new file mode 100644
index 0000000..10a5929
--- /dev/null
+++ b/package/lockdev/lockdev.mk
@@ -0,0 +1,30 @@ 
+#############################################################
+#
+# lockdev
+#
+#############################################################
+
+LOCKDEV_VERSION = 1.0.3
+LOCKDEV_SOURCE = lockdev_$(LOCKDEV_VERSION).orig.tar.gz
+LOCKDEV_SITE = http://ftp.debian.org/debian/pool/main/l/lockdev/
+LOCKDEV_LICENSE = LGPLv2.1
+LOCKDEV_LICENSE_FILE = LICENSE
+LOCKDEV_INSTALL_STAGING = YES
+
+define LOCKDEV_BUILD_CMDS
+	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) static shared
+endef
+
+define LOCKDEV_INSTALL_STAGING_CMDS
+	$(MAKE1) basedir=$(STAGING_DIR)/usr -C $(@D) install
+	ln -sf $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so
+	ln -sf $(STAGING_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1
+endef
+
+define LOCKDEV_INSTALL_TARGET_CMDS
+	$(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install
+	ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so
+	ln -sf $(TARGET_DIR)/usr/lib/liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1
+endef
+
+$(eval $(generic-package))