Add gpm (general purpose mouse) server package
PATCH 1/1 Add gpm (general purpose mouse) server package
From: Julien Boibessot <[email protected]>
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
--- 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
package/Config.in +1 -0
@@ -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"
package/gpm/Config.in new file +20 -0
@@ -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
package/gpm/gpm.mk new file +39 -0
@@ -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))
Signature · 1 line
1.7.5.4
PATCH 1/1 Add gpm (general purpose mouse) server package
Hi,
Le 15/01/2014 18:27, julien.boibessot at free.fr a ?crit :
Quoted 92 lines
From: Julien Boibessot <[email protected]>
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 menusSigned-off-by Julien Boibessot <[email protected]>--- 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 100644package/gpm/gpm.mkpackage/Config.in +1
-0@@ -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"package/gpm/Config.in new file +20
-0@@ -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). + +endifpackage/gpm/gpm.mk new file +29
-0@@ -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),)
package/gpm/gpm.mk line 39
Quoted 10 lines
package/gpm/gpm.mk new file +10
-0+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.cdisplay-coords.cget-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>
PATCH 1/1 Add gpm (general purpose mouse) server package
Hello Romain,
and thanks for the review !
Quoted 108 lines · Romain Naour
Hi,
Le 15/01/2014 18:27, julien.boibessot at free.fr a ?crit :
Quoted 92 lines
From: Julien Boibessot <[email protected]>
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 menusSigned-off-by Julien Boibessot <[email protected]>--- 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.mkpackage/Config.in +1
-0@@ -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"package/gpm/Config.in new file +20
-0@@ -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). + +endifpackage/gpm/gpm.mk new file +29
-0@@ -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),)package/gpm/gpm.mk line 39
Quoted 10 lines
package/gpm/gpm.mk new file +10
-0+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 ?
Quoted 4 lines
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 ?
Quoted 5 lines
There is also some errors about missing
gpm.hin these files: (wrong path)display-buttons.cdisplay-coords.cget-versions.c
where do you see that error ? (for me these tools are compiling fine and working on target)
Quoted 2 lines
||
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 ?
Quoted 2 lines
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>
PATCH 1/1 Add gpm (general purpose mouse) server package
Hi Julien,
Le 16/01/2014 20:16, Julien Boibessot a ?crit :
Quoted 4 lines
Hello Romain,
and thanks for the review !
You're welcome.
Quoted 8 lines
Quoted 7 lines
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"
Quoted 4 lines
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)...
Quoted 10 lines
Quoted 7 lines
There is also some errors about missing
gpm.hin these files: (wrong path)display-buttons.cdisplay-coords.cget-versions.cwhere 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 += ncursesGPM_CONF_OPT += --with-curses
elseGPM_CONF_OPT += --without-curses
endif
Quoted 8 lines
Quoted 3 lines
||
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...
Quoted 6 lines
Quoted 3 lines
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>