Message ID | 1389806830-24712-1-git-send-email-julien.boibessot@free.fr |
---|---|
State | Superseded |
Headers | show |
Hi, Le 15/01/2014 18:27, julien.boibessot@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
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@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
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
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))