* [Buildroot] [PATCH] Add gpm (general purpose mouse) server package
@ 2014-01-15 17:27 julien.boibessot at free.fr
2014-01-15 21:31 ` Romain Naour
0 siblings, 1 reply; 4+ messages in thread
From: julien.boibessot at free.fr @ 2014-01-15 17:27 UTC (permalink / raw)
To: buildroot
From: Julien Boibessot <julien.boibessot@armadeus.com>
To test it:
* configure a getty on tty1 (virtual Framebuffer terminal)
* plug USB keyboard and mouse, login in tty1
* launch gpm: gpm -m /dev/input/mouse0 -t imps2
* mouse cut & paste should work on terminal
* launch gpm-root from this terminal
* Ctrl+mouse buttons should open text menus
Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
---
package/Config.in | 1 +
package/gpm/Config.in | 20 ++++++++++++++++++++
package/gpm/gpm.mk | 39 +++++++++++++++++++++++++++++++++++++++
3 files changed, 60 insertions(+), 0 deletions(-)
create mode 100644 package/gpm/Config.in
create mode 100644 package/gpm/gpm.mk
diff --git a/package/Config.in b/package/Config.in
index 78c0e06..d52c65e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -290,6 +290,7 @@ source "package/fmtools/Config.in"
source "package/freescale-imx/Config.in"
source "package/fxload/Config.in"
source "package/gadgetfs-test/Config.in"
+source "package/gpm/Config.in"
source "package/gpsd/Config.in"
source "package/gptfdisk/Config.in"
source "package/gvfs/Config.in"
diff --git a/package/gpm/Config.in b/package/gpm/Config.in
new file mode 100644
index 0000000..b60f4a3
--- /dev/null
+++ b/package/gpm/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_GPM
+ bool "gpm mouse server"
+ help
+ "gpm" means general purpose mouse (server) and provides mouse support
+ for Linux virtual consoles.
+ gpm-root (to draw menus in current virtual console; config file in
+ /etc/gpm-root.conf) and disable-paste (to disable paste buffer for
+ security reasons), will also be installed.
+
+ http://www.nico.schottelius.org/software/gpm/
+
+if BR2_PACKAGE_GPM
+
+config BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS
+ bool "install gpm test tools also"
+ help
+ Install gpm test tools (get-versions, mev, hltest, mouse-test,
+ display-buttons & display-coords).
+
+endif
diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk
new file mode 100644
index 0000000..49ac8df
--- /dev/null
+++ b/package/gpm/gpm.mk
@@ -0,0 +1,39 @@
+#############################################################
+#
+# gpm
+#
+#############################################################
+
+GPM_VERSION = 1.20.7
+GPM_SOURCE = gpm-$(GPM_VERSION).tar.bz2
+GPM_SITE = http://www.nico.schottelius.org/software/gpm/archives/
+GPM_LICENSE = GPLv2+
+GPM_LICENSE_FILES = COPYING
+
+GPM_INSTALL_STAGING = YES
+
+# To generate missing configure:
+define GPM_AUTOGEN_CALL
+ cd $(@D); ./autogen.sh
+endef
+
+GPM_PRE_CONFIGURE_HOOKS += GPM_AUTOGEN_CALL
+
+define GPM_REMOVE_TEST_TOOLS_FROM_TARGET
+ for tools in mev hltest mouse-test display-buttons \
+ get-versions display-coords; do \
+ rm -f $(TARGET_DIR)/usr/bin/$$tools ; \
+ done
+endef
+
+ifeq ($(BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS),)
+GPM_POST_INSTALL_TARGET_HOOKS += GPM_REMOVE_TEST_TOOLS_FROM_TARGET
+endif
+
+define GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
+ $(INSTALL) -m 0644 -D $(@D)/conf/gpm-root.conf $(TARGET_DIR)/etc/
+endef
+
+GPM_POST_INSTALL_TARGET_HOOKS += GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
+
+$(eval $(autotools-package))
--
1.7.5.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] Add gpm (general purpose mouse) server package
2014-01-15 17:27 [Buildroot] [PATCH] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
@ 2014-01-15 21:31 ` Romain Naour
2014-01-16 19:16 ` Julien Boibessot
0 siblings, 1 reply; 4+ messages in thread
From: Romain Naour @ 2014-01-15 21:31 UTC (permalink / raw)
To: buildroot
Hi,
Le 15/01/2014 18:27, julien.boibessot at free.fr a ?crit :
> From: Julien Boibessot <julien.boibessot@armadeus.com>
>
> To test it:
> * configure a getty on tty1 (virtual Framebuffer terminal)
> * plug USB keyboard and mouse, login in tty1
> * launch gpm: gpm -m /dev/input/mouse0 -t imps2
> * mouse cut & paste should work on terminal
> * launch gpm-root from this terminal
> * Ctrl+mouse buttons should open text menus
>
> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
> ---
> package/Config.in | 1 +
> package/gpm/Config.in | 20 ++++++++++++++++++++
> package/gpm/gpm.mk | 39 +++++++++++++++++++++++++++++++++++++++
> 3 files changed, 60 insertions(+), 0 deletions(-)
> create mode 100644 package/gpm/Config.in
> create mode 100644 package/gpm/gpm.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 78c0e06..d52c65e 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -290,6 +290,7 @@ source "package/fmtools/Config.in"
> source "package/freescale-imx/Config.in"
> source "package/fxload/Config.in"
> source "package/gadgetfs-test/Config.in"
> +source "package/gpm/Config.in"
> source "package/gpsd/Config.in"
> source "package/gptfdisk/Config.in"
> source "package/gvfs/Config.in"
> diff --git a/package/gpm/Config.in b/package/gpm/Config.in
> new file mode 100644
> index 0000000..b60f4a3
> --- /dev/null
> +++ b/package/gpm/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_GPM
> + bool "gpm mouse server"
> + help
> + "gpm" means general purpose mouse (server) and provides mouse support
> + for Linux virtual consoles.
> + gpm-root (to draw menus in current virtual console; config file in
> + /etc/gpm-root.conf) and disable-paste (to disable paste buffer for
> + security reasons), will also be installed.
> +
> + http://www.nico.schottelius.org/software/gpm/
> +
> +if BR2_PACKAGE_GPM
> +
> +config BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS
> + bool "install gpm test tools also"
> + help
> + Install gpm test tools (get-versions, mev, hltest, mouse-test,
> + display-buttons & display-coords).
> +
> +endif
> diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk
> new file mode 100644
> index 0000000..49ac8df
> --- /dev/null
> +++ b/package/gpm/gpm.mk
> @@ -0,0 +1,39 @@
> +#############################################################
> +#
> +# gpm
> +#
> +#############################################################
> +
> +GPM_VERSION = 1.20.7
> +GPM_SOURCE = gpm-$(GPM_VERSION).tar.bz2
> +GPM_SITE = http://www.nico.schottelius.org/software/gpm/archives/
> +GPM_LICENSE = GPLv2+
> +GPM_LICENSE_FILES = COPYING
> +
> +GPM_INSTALL_STAGING = YES
> +
> +# To generate missing configure:
> +define GPM_AUTOGEN_CALL
> + cd $(@D); ./autogen.sh
> +endef
> +
> +GPM_PRE_CONFIGURE_HOOKS += GPM_AUTOGEN_CALL
> +
> +define GPM_REMOVE_TEST_TOOLS_FROM_TARGET
> + for tools in mev hltest mouse-test display-buttons \
> + get-versions display-coords; do \
> + rm -f $(TARGET_DIR)/usr/bin/$$tools ; \
> + done
> +endef
> +
> +ifeq ($(BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS),)
> +GPM_POST_INSTALL_TARGET_HOOKS += GPM_REMOVE_TEST_TOOLS_FROM_TARGET
> +endif
> +
> +define GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
> + $(INSTALL) -m 0644 -D $(@D)/conf/gpm-root.conf $(TARGET_DIR)/etc/
> +endef
> +
> +GPM_POST_INSTALL_TARGET_HOOKS += GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
> +
> +$(eval $(autotools-package))
May I suggest you to test gpm package with different toolchain
configuration ?
It won't build in static case (BR2_PREFER_STATIC_LIB=y):
"i686-buildroot-linux-uclibc/bin/ld: attempted static link of dynamic
object `lib/libgpm.so.2'
collect2: error: ld returned 1 exit status"
There is also some errors about missing gpm.h in these files: (wrong path)
display-buttons.c
display-coords.c
get-versions.c
||
And It would be good to disable the doc installation on target.
Thank for your contribution (I was working on gpm package too ;-) )
Best regards,
Romain Naour
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140115/2df28d9a/attachment-0001.html>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] Add gpm (general purpose mouse) server package
2014-01-15 21:31 ` Romain Naour
@ 2014-01-16 19:16 ` Julien Boibessot
2014-01-16 23:17 ` Romain Naour
0 siblings, 1 reply; 4+ messages in thread
From: Julien Boibessot @ 2014-01-16 19:16 UTC (permalink / raw)
To: buildroot
Hello Romain,
and thanks for the review !
On 01/15/2014 10:31 PM, Romain Naour wrote:
> Hi,
>
> Le 15/01/2014 18:27, julien.boibessot at free.fr a ?crit :
>> From: Julien Boibessot <julien.boibessot@armadeus.com>
>>
>> To test it:
>> * configure a getty on tty1 (virtual Framebuffer terminal)
>> * plug USB keyboard and mouse, login in tty1
>> * launch gpm: gpm -m /dev/input/mouse0 -t imps2
>> * mouse cut & paste should work on terminal
>> * launch gpm-root from this terminal
>> * Ctrl+mouse buttons should open text menus
>>
>> Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
>> ---
>> package/Config.in | 1 +
>> package/gpm/Config.in | 20 ++++++++++++++++++++
>> package/gpm/gpm.mk | 39 +++++++++++++++++++++++++++++++++++++++
>> 3 files changed, 60 insertions(+), 0 deletions(-)
>> create mode 100644 package/gpm/Config.in
>> create mode 100644 package/gpm/gpm.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index 78c0e06..d52c65e 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -290,6 +290,7 @@ source "package/fmtools/Config.in"
>> source "package/freescale-imx/Config.in"
>> source "package/fxload/Config.in"
>> source "package/gadgetfs-test/Config.in"
>> +source "package/gpm/Config.in"
>> source "package/gpsd/Config.in"
>> source "package/gptfdisk/Config.in"
>> source "package/gvfs/Config.in"
>> diff --git a/package/gpm/Config.in b/package/gpm/Config.in
>> new file mode 100644
>> index 0000000..b60f4a3
>> --- /dev/null
>> +++ b/package/gpm/Config.in
>> @@ -0,0 +1,20 @@
>> +config BR2_PACKAGE_GPM
>> + bool "gpm mouse server"
>> + help
>> + "gpm" means general purpose mouse (server) and provides mouse support
>> + for Linux virtual consoles.
>> + gpm-root (to draw menus in current virtual console; config file in
>> + /etc/gpm-root.conf) and disable-paste (to disable paste buffer for
>> + security reasons), will also be installed.
>> +
>> + http://www.nico.schottelius.org/software/gpm/
>> +
>> +if BR2_PACKAGE_GPM
>> +
>> +config BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS
>> + bool "install gpm test tools also"
>> + help
>> + Install gpm test tools (get-versions, mev, hltest, mouse-test,
>> + display-buttons & display-coords).
>> +
>> +endif
>> diff --git a/package/gpm/gpm.mk b/package/gpm/gpm.mk
>> new file mode 100644
>> index 0000000..49ac8df
>> --- /dev/null
>> +++ b/package/gpm/gpm.mk
>> @@ -0,0 +1,39 @@
>> +#############################################################
>> +#
>> +# gpm
>> +#
>> +#############################################################
>> +
>> +GPM_VERSION = 1.20.7
>> +GPM_SOURCE = gpm-$(GPM_VERSION).tar.bz2
>> +GPM_SITE = http://www.nico.schottelius.org/software/gpm/archives/
>> +GPM_LICENSE = GPLv2+
>> +GPM_LICENSE_FILES = COPYING
>> +
>> +GPM_INSTALL_STAGING = YES
>> +
>> +# To generate missing configure:
>> +define GPM_AUTOGEN_CALL
>> + cd $(@D); ./autogen.sh
>> +endef
>> +
>> +GPM_PRE_CONFIGURE_HOOKS += GPM_AUTOGEN_CALL
>> +
>> +define GPM_REMOVE_TEST_TOOLS_FROM_TARGET
>> + for tools in mev hltest mouse-test display-buttons \
>> + get-versions display-coords; do \
>> + rm -f $(TARGET_DIR)/usr/bin/$$tools ; \
>> + done
>> +endef
>> +
>> +ifeq ($(BR2_PACKAGE_GPM_INSTALL_TEST_TOOLS),)
>> +GPM_POST_INSTALL_TARGET_HOOKS += GPM_REMOVE_TEST_TOOLS_FROM_TARGET
>> +endif
>> +
>> +define GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
>> + $(INSTALL) -m 0644 -D $(@D)/conf/gpm-root.conf $(TARGET_DIR)/etc/
>> +endef
>> +
>> +GPM_POST_INSTALL_TARGET_HOOKS += GPM_INSTALL_GPM_ROOT_CONF_ON_TARGET
>> +
>> +$(eval $(autotools-package))
> May I suggest you to test gpm package with different toolchain
> configuration ?
>
> It won't build in static case (BR2_PREFER_STATIC_LIB=y):
> "i686-buildroot-linux-uclibc/bin/ld: attempted static link of dynamic
> object `lib/libgpm.so.2'
> collect2: error: ld returned 1 exit status"
When I send patches they have been tested on different ARM target with
mainly 2 uClibc configs ("default" and "with large file, threads and
Co"), but not the one you mentionned (static lib)... sorry :-(
Have you other configs that could lead to compilation problems ?
>
> There is also some errors about missing gpm.h in these files: (wrong path)
> display-buttons.c
> display-coords.c
> get-versions.c
where do you see that error ? (for me these tools are compiling fine and
working on target)
> ||
> And It would be good to disable the doc installation on target.
why ?
/usr/share/info/ and /usr/share/man/ are cleaned by Buildroot before
generating root filesystem images.
Am I wrong ?
>
> Thank for your contribution (I was working on gpm package too ;-) )
Is yours very different from mine ? I'm not against merging your work
and sharing the credits or vis et versa.
Best regards,
Julien
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140116/2bb870c8/attachment.html>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] Add gpm (general purpose mouse) server package
2014-01-16 19:16 ` Julien Boibessot
@ 2014-01-16 23:17 ` Romain Naour
0 siblings, 0 replies; 4+ messages in thread
From: Romain Naour @ 2014-01-16 23:17 UTC (permalink / raw)
To: buildroot
Hi Julien,
Le 16/01/2014 20:16, Julien Boibessot a ?crit :
> Hello Romain,
>
> and thanks for the review !
>
You're welcome.
>> May I suggest you to test gpm package with different toolchain
>> configuration ?
>>
>> It won't build in static case (BR2_PREFER_STATIC_LIB=y):
>> "i686-buildroot-linux-uclibc/bin/ld: attempted static link of dynamic
>> object `lib/libgpm.so.2'
>> collect2: error: ld returned 1 exit status"
>
> When I send patches they have been tested on different ARM target with
> mainly 2 uClibc configs ("default" and "with large file, threads and
> Co"), but not the one you mentionned (static lib)... sorry :-(
> Have you other configs that could lead to compilation problems ?
It's common source of failure in autobuilder, especially with new packages.
I'm not sure about mmu less case (BR2_USE_MMU=n)...
>
>>
>> There is also some errors about missing gpm.h in these files: (wrong
>> path)
>> display-buttons.c
>> display-coords.c
>> get-versions.c
>
> where do you see that error ? (for me these tools are compiling fine
> and working on target)
I get these error when ncurses is missing (see below):
prog/display-buttons.c:39:57: fatal error: gpm.h: no such file or directory
compilation terminated.
prog/display-coords.c:40:57: fatal error: gpm.h: no such file or directory
compilation terminated.
prog/get-versions.c:25:57: fatal error: gpm.h: no such file or directory
compilation terminated.
I need to add "headers/" before gpm.h
There is an optional dependency on ncurses:
ifeq ($(BR2_PACKAGE_NCURSES),y)
GPM_DEPENDENCIES += ncurses
GPM_CONF_OPT += --with-curses
else
GPM_CONF_OPT += --without-curses
endif
>
>> ||
>> And It would be good to disable the doc installation on target.
>
> why ?
> /usr/share/info/ and /usr/share/man/ are cleaned by Buildroot before
> generating root filesystem images.
> Am I wrong ?
Sorry your right, I was abused by my command line :
"make toolchain gpm" which doesn't run target-finalize.
But this script (/usr/share/emacs/site-lisp/t-mouse.el) remain on target
I'm not sure it is really useful.
You can remove it with:
GPM_CONF_OPT += ac_cv_path_emacs=no
Be careful with makeinfo, because some host don't have it and fail to
build the documentation.
Normally you can disable makeinfo with:
GPM_CONF_OPT += ac_cv_path_MAKEINFO=no
But I get an error during install...
>
>>
>> Thank for your contribution (I was working on gpm package too ;-) )
>
> Is yours very different from mine ? I'm not against merging your work
> and sharing the credits or vis et versa.
Thanks, I gave you all my notes :)
Best regards,
Romain Naour
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140117/d39b9318/attachment.html>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-16 23:17 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-15 17:27 [Buildroot] [PATCH] Add gpm (general purpose mouse) server package julien.boibessot at free.fr
2014-01-15 21:31 ` Romain Naour
2014-01-16 19:16 ` Julien Boibessot
2014-01-16 23:17 ` Romain Naour
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.