Message ID | 1397737179-12262-2-git-send-email-alex.bennee@linaro.org |
---|---|
State | Changes Requested |
Headers | show |
Hi Alex, > This is a lightweight Emacs clone useful for embedded systems. I nabbed > the help2man disable patch from OpenEmbedded. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > > --- > v2 - review comments > - fixup dependancies > - add s-o-b tag to patch > - fix whitespace > > v3 > - fix typo for DEPENDENCIES > - force AUTORECONF > - remove += > - use BR2_GNU_MIRROR > - rename patch to zile-0001-remove-help2man.patch > --- > package/Config.in | 1 + > package/zile/Config.in | 13 ++++++++++++ > package/zile/zile-0001-remove-help2man.patch | 30 ++++++++++++++++++++++++++++ > package/zile/zile.mk | 15 ++++++++++++++ > 4 files changed, 59 insertions(+) > create mode 100644 package/zile/Config.in > create mode 100644 package/zile/zile-0001-remove-help2man.patch > create mode 100644 package/zile/zile.mk > [...] > diff --git a/package/zile/zile.mk b/package/zile/zile.mk > new file mode 100644 > index 0000000..07226c6 > --- /dev/null > +++ b/package/zile/zile.mk > @@ -0,0 +1,15 @@ > +################################################################################ > +# > +# Zile Here you should use only lower-case. Regards, Jerzy > +# > +################################################################################ > + > +ZILE_VERSION = 2.4.11 > +ZILE_SITE = $(BR2_GNU_MIRROR)/zile > +ZILE_LICENSE = GPLv1+ > +ZILE_LICENSE_FILES = COPYING > +ZILE_AUTORECONF = YES > +ZILE_CONF_OPT = --without-help2man > +ZILE_DEPENDENCIES = libgc > + > +$(eval $(autotools-package))
Dear Alex Bennée, On Thu, 17 Apr 2014 13:19:39 +0100, Alex Bennée wrote: > This is a lightweight Emacs clone useful for embedded systems. I nabbed > the help2man disable patch from OpenEmbedded. There are unfortunately a few things still not good here. > diff --git a/package/zile/Config.in b/package/zile/Config.in > new file mode 100644 > index 0000000..163b44d > --- /dev/null > +++ b/package/zile/Config.in > @@ -0,0 +1,13 @@ > +config BR2_PACKAGE_ZILE > + bool "zile" > + select BR2_PACKAGE_LIBGC > + depends on BR2_USE_MMU # fork() You need to replicate the dependencies of BR2_PACKAGE_LIBGC here. Also, when testing your package, it failed because ncurses was not available, so I had to add ncurses as a dependency here. This actually leads me to wonder if you actually tested this stuff. How would it be possible to miss the ncurses dependency? Also, some of the configure messages need some investigation: configure: WARNING: libacl development library was not found or not usable. configure: WARNING: Zile will be built without ACL support. => this probably means that an optional dependency on BR2_PACKAGE_ACL, with a --enable-acl / --disable-acl as appropriate checking whether btowc is declared without a macro... yes checking whether wctob is declared without a macro... yes checking whether mbsinit is declared without a macro... yes => this smells like a dependency on wide-char support. Can you test your package with a toolchain that does not have wide char support, such as http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config. checking for emacs... /usr/bin/emacs checking Emacs version 24.3.50.1 >= 23.1... yes => is it normal that it references my host emacs? what is this used for? > diff --git a/package/zile/zile-0001-remove-help2man.patch b/package/zile/zile-0001-remove-help2man.patch > new file mode 100644 > index 0000000..d397543 > --- /dev/null > +++ b/package/zile/zile-0001-remove-help2man.patch > @@ -0,0 +1,30 @@ > +Upstream-Status: Inappropriate [configuration] > + > +Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Since you're passing --without-help2man, why is this patch useful? > diff --git a/package/zile/zile.mk b/package/zile/zile.mk > new file mode 100644 > index 0000000..07226c6 > --- /dev/null > +++ b/package/zile/zile.mk > @@ -0,0 +1,15 @@ > +################################################################################ > +# > +# Zile > +# > +################################################################################ > + > +ZILE_VERSION = 2.4.11 > +ZILE_SITE = $(BR2_GNU_MIRROR)/zile > +ZILE_LICENSE = GPLv1+ Have you actually read the COPYING file? > +ZILE_LICENSE_FILES = COPYING > +ZILE_AUTORECONF = YES > +ZILE_CONF_OPT = --without-help2man > +ZILE_DEPENDENCIES = libgc Missing ncurses library. Also, when I build your package with the toolchain at http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full.config, it fails to build with: /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgc.so: undefined reference to symbol 'pthread_cancel' /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: note: 'pthread_cancel' is defined in DSO /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0 so try adding it to the linker command line /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0: could not read symbols: Invalid operation Could you work on these remaining issues, and resubmit an updated version? Thanks! Thomas
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes: > Dear Alex Bennée, <snip> >> +++ b/package/zile/Config.in >> @@ -0,0 +1,13 @@ >> +config BR2_PACKAGE_ZILE >> + bool "zile" >> + select BR2_PACKAGE_LIBGC >> + depends on BR2_USE_MMU # fork() > > You need to replicate the dependencies of BR2_PACKAGE_LIBGC here. Surely the whole point of dependencies is the LIBGC ones get pulled in when you select LIBGC, or do you mean I need: select BR2_PACKAGE_LIBGC depends on BR2_PACKAGE_LIBGC depends on BR2_USE_MMU # fork() > Also, when testing your package, it failed because ncurses was not > available, so I had to add ncurses as a dependency here. > > This actually leads me to wonder if you actually tested this stuff. How > would it be possible to miss the ncurses dependency? I have a bunch of benchmarking tools enabled, one of them must of pulled it in. I have been testing in a qemu-system aarch64 initrd rootfs and it was working! > > Also, some of the configure messages need some investigation: > > configure: WARNING: libacl development library was not found or not > usable. configure: WARNING: Zile will be built without ACL support. > > => this probably means that an optional dependency on BR2_PACKAGE_ACL, > with a --enable-acl / --disable-acl as appropriate I'll look at that. > > checking whether btowc is declared without a macro... yes > checking whether wctob is declared without a macro... yes > checking whether mbsinit is declared without a macro... yes > > => this smells like a dependency on wide-char support. Can you test > your package with a toolchain that does not have wide char support, > such as > http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config. I've got to build some armv7 images so I'll do that then. > > checking for emacs... /usr/bin/emacs > checking Emacs version 24.3.50.1 >= 23.1... yes > > => is it normal that it references my host emacs? what is this used > for? No idea. Possibly too much autoconf boilerplate. I shall have a look. > > >> diff --git a/package/zile/zile-0001-remove-help2man.patch b/package/zile/zile-0001-remove-help2man.patch >> new file mode 100644 >> index 0000000..d397543 >> --- /dev/null >> +++ b/package/zile/zile-0001-remove-help2man.patch >> @@ -0,0 +1,30 @@ >> +Upstream-Status: Inappropriate [configuration] >> + >> +Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > > Since you're passing --without-help2man, why is this patch useful? IIRC without that patch it still attempted to call the help2man tool even though it wasn't generating the final output. > >> diff --git a/package/zile/zile.mk b/package/zile/zile.mk >> new file mode 100644 >> index 0000000..07226c6 >> --- /dev/null >> +++ b/package/zile/zile.mk >> @@ -0,0 +1,15 @@ >> +################################################################################ >> +# >> +# Zile >> +# >> +################################################################################ >> + >> +ZILE_VERSION = 2.4.11 >> +ZILE_SITE = $(BR2_GNU_MIRROR)/zile >> +ZILE_LICENSE = GPLv1+ > > Have you actually read the COPYING file? Ahh ok - I shall fix that up. > >> +ZILE_LICENSE_FILES = COPYING >> +ZILE_AUTORECONF = YES >> +ZILE_CONF_OPT = --without-help2man >> +ZILE_DEPENDENCIES = libgc > > Missing ncurses library. > > Also, when I build your package with the toolchain at > http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full.config, > it fails to build with: > > /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgc.so: > undefined reference to symbol 'pthread_cancel' > /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: > note: 'pthread_cancel' is defined in DSO /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0 so try adding it to the linker command line > /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0: > could not read symbols: Invalid operation > > Could you work on these remaining issues, and resubmit an updated > version? > > Thanks! > > Thomas
Hi Alex, On Thu, Apr 24, 2014 at 10:39 AM, Alex Bennée <alex.bennee@linaro.org> wrote: > > Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes: > >> Dear Alex Bennée, > <snip> >>> +++ b/package/zile/Config.in >>> @@ -0,0 +1,13 @@ >>> +config BR2_PACKAGE_ZILE >>> + bool "zile" >>> + select BR2_PACKAGE_LIBGC >>> + depends on BR2_USE_MMU # fork() >> >> You need to replicate the dependencies of BR2_PACKAGE_LIBGC here. > > Surely the whole point of dependencies is the LIBGC ones get pulled in > when you select LIBGC, or do you mean I need: > > select BR2_PACKAGE_LIBGC > depends on BR2_PACKAGE_LIBGC > depends on BR2_USE_MMU # fork() You need to replicate the 'depends on' statements of libgc in the config option for zile, because the select would select libgc even though its dependencies may not be met. This is more or less explained here: http://buildroot.uclibc.org/downloads/manual/manual.html#_literal_config_in_literal_file Best regards, Thomas
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes: > On Thu, 17 Apr 2014 13:19:39 +0100, Alex Bennée wrote: >> This is a lightweight Emacs clone useful for embedded systems. I nabbed >> the help2man disable patch from OpenEmbedded. <snip> > > checking for emacs... /usr/bin/emacs > checking Emacs version 24.3.50.1 >= 23.1... yes > > => is it normal that it references my host emacs? what is this used > for? > <snip> It looks like it uses the host emacs to verify the Zile implemented "lisp" functions perform like their big brother counterparts. They shouldn't get called unless buildroot emits a "make check".
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes: > Dear Alex Bennée, > > On Thu, 17 Apr 2014 13:19:39 +0100, Alex Bennée wrote: >> This is a lightweight Emacs clone useful for embedded systems. I nabbed >> the help2man disable patch from OpenEmbedded. > > There are unfortunately a few things still not good here. <snip> > > Also, when I build your package with the toolchain at > http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full.config, > it fails to build with: > > /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgc.so: > undefined reference to symbol 'pthread_cancel' > /home/thomas/projets/buildroot/output/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.7.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: > note: 'pthread_cancel' is defined in DSO /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0 so try adding it to the linker command line > /home/thomas/projets/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib/libpthread.so.0: > could not read symbols: Invalid operation OK I'm stuck on this one. Is this a weirdness caused my uclibc's pthread implementation? The config.log shows it's correctly detected but it fails on linking. Should I just --disable-threads for uclibc builds?
diff --git a/package/Config.in b/package/Config.in index 51f2515..825aa73 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1124,6 +1124,7 @@ source "package/uemacs/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/vim/Config.in" endif +source "package/zile/Config.in" endmenu endmenu diff --git a/package/zile/Config.in b/package/zile/Config.in new file mode 100644 index 0000000..163b44d --- /dev/null +++ b/package/zile/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_ZILE + bool "zile" + select BR2_PACKAGE_LIBGC + depends on BR2_USE_MMU # fork() + help + Zile is Lossy Emacs + + GNU Zile (Zile Is Lossy Emacs) is a lightweight Emacs clone. Every + Emacs user should feel at home with Zile. Zile is aimed at small + footprint systems (a typical binary is about 100Kb) and quick editing + sessions (it starts up and shuts down instantly). + + http://www.gnu.org/software/zile/ diff --git a/package/zile/zile-0001-remove-help2man.patch b/package/zile/zile-0001-remove-help2man.patch new file mode 100644 index 0000000..d397543 --- /dev/null +++ b/package/zile/zile-0001-remove-help2man.patch @@ -0,0 +1,30 @@ +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Alex Bennée <alex.bennee@linaro.org> + +diff --git a/Makefile.am b/Makefile.am +index 54bc59f..46c2650 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -36,7 +36,6 @@ PERL_BUILDTIME = \ + + EXTRA_DIST = \ + FAQ \ +- build-aux/zile-help2man-wrapper \ + $(PERL_BUILDTIME) + + doc_DATA = AUTHORS FAQ NEWS +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 639f59c..8c5123e 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -33,9 +33,3 @@ doc/zile.1: $(srcdir)/doc/zile.1.in doc/Makefile.am config.status + $(edit) $(abs_srcdir)/doc/zile.1.in >$@.tmp + mv $@.tmp $@ + +-$(srcdir)/doc/zile.1.in: doc/man-extras build-aux/zile-help2man-wrapper configure.ac $(builddir)/src/zile$(EXEEXT) +- @test -d doc || mkdir doc +-## Exit gracefully if zile.1.in is not writeable, such as during distcheck! +- $(AM_V_GEN)if ( touch $@.w && rm -f $@.w; ) >/dev/null 2>&1; then \ +- $(srcdir)/build-aux/missing --run $(HELP2MAN) --output=$@ --no-info --name="Zile Is Lossy Emacs" --include $(srcdir)/doc/man-extras $(srcdir)/build-aux/zile-help2man-wrapper; \ +- fi diff --git a/package/zile/zile.mk b/package/zile/zile.mk new file mode 100644 index 0000000..07226c6 --- /dev/null +++ b/package/zile/zile.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# Zile +# +################################################################################ + +ZILE_VERSION = 2.4.11 +ZILE_SITE = $(BR2_GNU_MIRROR)/zile +ZILE_LICENSE = GPLv1+ +ZILE_LICENSE_FILES = COPYING +ZILE_AUTORECONF = YES +ZILE_CONF_OPT = --without-help2man +ZILE_DEPENDENCIES = libgc + +$(eval $(autotools-package))
This is a lightweight Emacs clone useful for embedded systems. I nabbed the help2man disable patch from OpenEmbedded. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- v2 - review comments - fixup dependancies - add s-o-b tag to patch - fix whitespace v3 - fix typo for DEPENDENCIES - force AUTORECONF - remove += - use BR2_GNU_MIRROR - rename patch to zile-0001-remove-help2man.patch --- package/Config.in | 1 + package/zile/Config.in | 13 ++++++++++++ package/zile/zile-0001-remove-help2man.patch | 30 ++++++++++++++++++++++++++++ package/zile/zile.mk | 15 ++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 package/zile/Config.in create mode 100644 package/zile/zile-0001-remove-help2man.patch create mode 100644 package/zile/zile.mk