All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC] New package: QSerialDevice
@ 2011-10-25  7:22 Yegor Yefremov
  2011-10-25  8:17 ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Yegor Yefremov @ 2011-10-25  7:22 UTC (permalink / raw)
  To: buildroot

I have some questions regarding inclusion of this package:

1. I fetch it from git branch, how can I specify revision?
2. how do I handle symlinking for libraries? If I just copy all 4 files, I get 4 same files and not one library and 3 symlinks
3. what about creating some kind of folders/menu (in package/Config.in) for Qt, python etc. add-ons?

Yegor
---
 package/Config.in                      |    4 ++++
 package/qserialdevice/Config.in        |    7 +++++++
 package/qserialdevice/qserialdevice.mk |   26 ++++++++++++++++++++++++++
 3 files changed, 37 insertions(+)

Index: b/package/Config.in
===================================================================
--- a/package/Config.in
+++ b/package/Config.in
@@ -316,6 +316,7 @@
 source "package/libusb/Config.in"
 source "package/libusb-compat/Config.in"
 source "package/python-serial/Config.in"
+source "package/qserialdevice/Config.in"
 endmenu
 
 if BROKEN
@@ -556,4 +557,7 @@
 endif
 endmenu
 
+menu "VScom"
+source "package/vscom/vsguitest/Config.in"
+endmenu
 endmenu
Index: b/package/qserialdevice/Config.in
===================================================================
--- /dev/null
+++ b/package/qserialdevice/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_QSERIALDEVICE
+	bool "QSerialDevice"
+	depends on BR2_PACKAGE_QT
+	depends on BR2_PACKAGE_UDEV
+	select BR2_PACKAGE_QT_STL
+	help
+	  Qt serial port implementation.
Index: b/package/qserialdevice/qserialdevice.mk
===================================================================
--- /dev/null
+++ b/package/qserialdevice/qserialdevice.mk
@@ -0,0 +1,26 @@
+QSERIALDEVICE_VERSION = 2.0
+QSERIALDEVICE_SITE = git://gitorious.org/qserialdevice/qserialdevice.git
+QSERIALDEVICE_INSTALL_STAGING = YES
+QSERIALDEVICE_DEPENDENCIES = qt udev
+
+define QSERIALDEVICE_CONFIGURE_CMDS
+	$(QT_QMAKE) $(@D)/serialport.pro
+endef
+
+define QSERIALDEVICE_BUILD_CMDS
+	$(MAKE) -C $(@D) all
+endef
+
+define QSERIALDEVICE_INSTALL_TARGET_CMDS
+	$(INSTALL) -m 0755 $(@D)/src/libSerialPort.so* \
+		$(TARGET_DIR)/usr/lib
+endef
+
+define QSERIALDEVICE_INSTALL_STAGING_CMDS
+	$(INSTALL) -m 0755 $(@D)/src/libSerialPort.so* \
+		$(STAGING_DIR)/usr/lib
+	$(INSTALL) -m 0644 $(@D)/include/serial* \
+		$(STAGING_DIR)/usr/include
+endef
+
+$(eval $(call GENTARGETS))

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [RFC] New package: QSerialDevice
  2011-10-25  7:22 [Buildroot] [RFC] New package: QSerialDevice Yegor Yefremov
@ 2011-10-25  8:17 ` Thomas Petazzoni
  2011-10-25  9:22   ` Yegor Yefremov
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2011-10-25  8:17 UTC (permalink / raw)
  To: buildroot

Le Tue, 25 Oct 2011 09:22:34 +0200,
Yegor Yefremov <yegor_sub1@visionsystems.de> a ?crit :

> 1. I fetch it from git branch, how can I specify revision?

pkg_VERSION = ...

You can specify a git branch, a git commit, whatever commit identifier
that is valid for git.

> 2. how do I handle symlinking for libraries? If I just copy all 4
> files, I get 4 same files and not one library and 3 symlinks

Either use the "make install" of the package (or implement it), or use
ln to create the symlinks.

> 3. what
> about creating some kind of folders/menu (in package/Config.in) for
> Qt, python etc. add-ons?

I don't know. qserialdevice should go in Libraries -> Hardware
handling. I don't see why it would need to end up in a qt-specific
submenu.

> +define QSERIALDEVICE_CONFIGURE_CMDS
> +	$(QT_QMAKE) $(@D)/serialport.pro
> +endef

Should be:

	(cd $(@D); $(QT_QMAKE) serialport.pro)

Does it *absolutely* require udev ? I have never used QSerialDevice,
but QExtSerialPort instead, and udev wasn't necessary.

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [RFC] New package: QSerialDevice
  2011-10-25  8:17 ` Thomas Petazzoni
@ 2011-10-25  9:22   ` Yegor Yefremov
  2011-10-25  9:29     ` Thomas De Schampheleire
  0 siblings, 1 reply; 4+ messages in thread
From: Yegor Yefremov @ 2011-10-25  9:22 UTC (permalink / raw)
  To: buildroot

Am 25.10.2011 10:17, schrieb Thomas Petazzoni:
> Le Tue, 25 Oct 2011 09:22:34 +0200,
> Yegor Yefremov <yegor_sub1@visionsystems.de> a ?crit :
>
>> 1. I fetch it from git branch, how can I specify revision?
> pkg_VERSION = ...
>
> You can specify a git branch, a git commit, whatever commit identifier
> that is valid for git.

But how can I combine branch name together with commit? I've already specified branch "2.0" as QSERIALDEVICE_VERSION.

>> 2. how do I handle symlinking for libraries? If I just copy all 4
>> files, I get 4 same files and not one library and 3 symlinks
> Either use the "make install" of the package (or implement it), or use
> ln to create the symlinks.

O.K. I thought there would be some kind of elegant and easy way, like an option that copies only symlink and not it's target if desired :-)

>> 3. what
>> about creating some kind of folders/menu (in package/Config.in) for
>> Qt, python etc. add-ons?
> I don't know. qserialdevice should go in Libraries -> Hardware
> handling. I don't see why it would need to end up in a qt-specific
> submenu.

O.K.

>> +define QSERIALDEVICE_CONFIGURE_CMDS
>> +	$(QT_QMAKE) $(@D)/serialport.pro
>> +endef
> Should be:
>
> 	(cd $(@D); $(QT_QMAKE) serialport.pro)

You won't believe me, but it worked without cd statement. That's why I was puzzled by my local package not willing to create Makefile in output/build/vsguitest. But I fix it for QSerialDevice for conformance sake.

>
> Does it *absolutely* require udev ? I have never used QSerialDevice,
> but QExtSerialPort instead, and udev wasn't necessary.

It requires both build-time and run-time udev. This package provides two classes/interfaces:

1. serial port itself
2. informational class containing all installed serial port sin the system and it uses libudev (I'll send a patch that installs udev in staging)

Yegor

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [RFC] New package: QSerialDevice
  2011-10-25  9:22   ` Yegor Yefremov
@ 2011-10-25  9:29     ` Thomas De Schampheleire
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas De Schampheleire @ 2011-10-25  9:29 UTC (permalink / raw)
  To: buildroot

Hi Yegor,

On Tue, Oct 25, 2011 at 11:22 AM, Yegor Yefremov
<yegor_sub1@visionsystems.de> wrote:
> Am 25.10.2011 10:17, schrieb Thomas Petazzoni:
>> Le Tue, 25 Oct 2011 09:22:34 +0200,
>> Yegor Yefremov <yegor_sub1@visionsystems.de> a ?crit :
>>
>>> 1. I fetch it from git branch, how can I specify revision?
>> pkg_VERSION = ...
>>
>> You can specify a git branch, a git commit, whatever commit identifier
>> that is valid for git.
>
> But how can I combine branch name together with commit? I've already specified branch "2.0" as QSERIALDEVICE_VERSION.

The commit uniquely identifies a particular revision, whatever branch
it is on. So once you specify the commit, the branch is automatically
known.

>
>>> 2. how do I handle symlinking for libraries? If I just copy all 4
>>> files, I get 4 same files and not one library and 3 symlinks
>> Either use the "make install" of the package (or implement it), or use
>> ln to create the symlinks.
>
> O.K. I thought there would be some kind of elegant and easy way, like an option that copies only symlink and not it's target if desired :-)

If you want to copy an existing link and not the link target, you can
use 'cp -P' : (from 'man cp')
       -P, --no-dereference
              never follow symbolic links

>
>>> 3. what
>>> about creating some kind of folders/menu (in package/Config.in) for
>>> Qt, python etc. add-ons?
>> I don't know. qserialdevice should go in Libraries -> Hardware
>> handling. I don't see why it would need to end up in a qt-specific
>> submenu.
>
> O.K.
>
>>> +define QSERIALDEVICE_CONFIGURE_CMDS
>>> + ? ?$(QT_QMAKE) $(@D)/serialport.pro
>>> +endef
>> Should be:
>>
>> ? ? ? (cd $(@D); $(QT_QMAKE) serialport.pro)
>
> You won't believe me, but it worked without cd statement. That's why I was puzzled by my local package not willing to create Makefile in output/build/vsguitest. But I fix it for QSerialDevice for conformance sake.
>
>>
>> Does it *absolutely* require udev ? I have never used QSerialDevice,
>> but QExtSerialPort instead, and udev wasn't necessary.
>
> It requires both build-time and run-time udev. This package provides two classes/interfaces:
>
> 1. serial port itself
> 2. informational class containing all installed serial port sin the system and it uses libudev (I'll send a patch that installs udev in staging)
>


Best regards,
Thomas

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-25  9:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-25  7:22 [Buildroot] [RFC] New package: QSerialDevice Yegor Yefremov
2011-10-25  8:17 ` Thomas Petazzoni
2011-10-25  9:22   ` Yegor Yefremov
2011-10-25  9:29     ` Thomas De Schampheleire

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.