* [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.