Source: hnb
Version: 1.9.18-10
Severity: serious
Justification: fails to build from source
Tags: patch

Dear Maintainer,

hnb fails to build from source on unstable/amd64 under some locales
(eg. LANG=fr_CH.UTF-8):

  [..]

  echo "">>init_subsystems.c
  echo "void init_subsystems(){">>init_subsystems.c
  cat *.c | grep "^\!init_" | sort | sed -e "s/^\!/
  /g">>init_subsystems.c
  cat: write error: Broken pipe
  echo "}">>init_subsystems.c
  make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18/src'
  dh_auto_build src/hnb
        make -j1
  make[2]: Entering directory '/tmp/buildd/hnb-1.9.18'
  (cd src;make)
  make[3]: Entering directory '/tmp/buildd/hnb-1.9.18/src'
  (cd libcli;make libcli.a)
  make[4]: Entering directory '/tmp/buildd/hnb-1.9.18/src/libcli'
  cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
  -I.. -Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time
  -D_FORTIFY_SOURCE=2  -c -o cli.o cli.c
  cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
  -I.. -Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time
  -D_FORTIFY_SOURCE=2  -c -o cli_history.o cli_history.c
  cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
  -I.. -Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time
  -D_FORTIFY_SOURCE=2  -c -o cli_tokenize.o cli_tokenize.c
  ar rc libcli.a cli*.o
  make[4]: Leaving directory '/tmp/buildd/hnb-1.9.18/src/libcli'
  make[3]: Circular init_subsystems.c <- init_subsystems.c dependency
  dropped.
  cc -c -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
  -I.. -Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time
  -D_FORTIFY_SOURCE=2 -o init_subsystems.o init_subsystems.c
  init_subsystems.c:2:1: error: unknown type name ‘Binary’
   Binary file (standard input) matches
   ^
  init_subsystems.c:2:14: error: unknown type name ‘standard’
   Binary file (standard input) matches
                ^
  Makefile:9: recipe for target 'init_subsystems.o' failed
  make[3]: *** [init_subsystems.o] Error 1
  make[3]: Leaving directory '/tmp/buildd/hnb-1.9.18/src'
  Makefile:3: recipe for target 'src/hnb' failed
  make[2]: *** [src/hnb] Error 2
  make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18'
  dh_auto_build: make -j1 returned exit code 2
  debian/rules:14: recipe for target 'override_dh_auto_build' failed
  make[1]: *** [override_dh_auto_build] Error 2
  make[1]: Leaving directory '/tmp/buildd/hnb-1.9.18'
  debian/rules:11: recipe for target 'build' failed
  make: *** [build] Error 2
  dpkg-buildpackage: error: debian/rules build gave error exit status 2

  [..]

The full build log is attached or can be viewed here:

  
https://reproducible.debian.net/logs/unstable/amd64/hnb_1.9.18-10.build2.log.gz

This is due to grep's automagic locale detection. Patch attached.


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
I: using fakeroot in build.
I: pbuilder: network access will be disabled during build
I: Current time: samedi 25 juillet 2015, 20:53:45 (UTC+1400)
I: pbuilder-time-stamp: 1437807225
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
I: creating local configuration
I: copying local configuration
I: mounting /proc filesystem
I: mounting /run/shm filesystem
I: mounting /dev/pts filesystem
I: Mounting /dev/shm
I: Mounting /sys
I: policy-rc.d already exists
I: Installing the build-deps
I: user script 
/var/cache/pbuilder/build//63165/tmp/hooks/D01_modify_environment starting
I: Changing hostname to test build reproducibility
I: user script 
/var/cache/pbuilder/build//63165/tmp/hooks/D01_modify_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team <pbuilder-ma...@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by 
pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper (>= 9~), libncursesw5-dev
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in 
'/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 20236 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring 
anyway as you requested:
 pbuilder-satisfydepends-dummy depends on libncursesw5-dev; however:
  Package libncursesw5-dev is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
The following NEW packages will be installed:
  libncursesw5-dev{a} libtinfo-dev{a} 
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 280 kB of archives. After unpacking 1'602 kB will be used.
Writing extended state information...
Get: 1 http://ftp.de.debian.org/debian/ unstable/main libtinfo-dev amd64 
5.9+20150516-2 [76.8 kB]
Get: 2 http://ftp.de.debian.org/debian/ unstable/main libncursesw5-dev amd64 
5.9+20150516-2 [204 kB]
Fetched 280 kB in 0s (12.6 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libtinfo-dev:amd64.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20236 files and directories currently installed.)
Preparing to unpack .../libtinfo-dev_5.9+20150516-2_amd64.deb ...
Unpacking libtinfo-dev:amd64 (5.9+20150516-2) ...
Selecting previously unselected package libncursesw5-dev:amd64.
Preparing to unpack .../libncursesw5-dev_5.9+20150516-2_amd64.deb ...
Unpacking libncursesw5-dev:amd64 (5.9+20150516-2) ...
Setting up libtinfo-dev:amd64 (5.9+20150516-2) ...
Setting up libncursesw5-dev:amd64 (5.9+20150516-2) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
Reading package lists...
Building dependency tree...
Reading state information...
fakeroot is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
I: Copying source file
I: copying [hnb_1.9.18-10.dsc]
I: copying [./hnb_1.9.18.orig.tar.gz]
I: copying [./hnb_1.9.18-10.debian.tar.gz]
I: Extracting source
gpgv: keyblock resource `/tmp/buildd/.gnupg/trustedkeys.gpg': file open error
gpgv: Signature made dim 14 jui 2013 06:01:59 GMT-14 using DSA key ID 95930EDE
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./hnb_1.9.18-10.dsc
dpkg-source: info: extracting hnb in hnb-1.9.18
dpkg-source: info: unpacking hnb_1.9.18.orig.tar.gz
dpkg-source: info: unpacking hnb_1.9.18-10.debian.tar.gz
dpkg-source: info: applying 00_fix_man_section.patch
dpkg-source: info: applying 01_quotations_instead_of_quotes.patch
dpkg-source: info: applying 02_recrusive_expand_collapse.patch
dpkg-source: info: applying 03_hnbrc.patch
dpkg-source: info: applying 04_unset_done_when_toggeling_todo.patch
dpkg-source: info: applying 05_return_null_if_node_is_null.patch
dpkg-source: info: applying 07_postscript_todo.patch
dpkg-source: info: applying 08_fix_implicitly_converted_pointer.patch
dpkg-source: info: applying 09_make_all_callbacks_return_void.patch
dpkg-source: info: applying 10_cursor_bug.patch
dpkg-source: info: applying 11_makefile_doc.patch
dpkg-source: info: applying 12_makefiles_cflags.patch
dpkg-source: info: applying 14_binary_autosave.patch
dpkg-source: info: applying 15_document_export.patch
dpkg-source: info: applying 16_refer_to_documentation_in_man.patch
dpkg-source: info: applying 17_wrap_long_words.patch
dpkg-source: info: applying 18_todo_bullet_configurable.patch
dpkg-source: info: applying 19_decouple_cursor.patch
dpkg-source: info: applying 20_call_setlocale.patch
dpkg-source: info: applying 21_link_against_ncursesw.patch
dpkg-source: info: applying 22_set_encoding_to_utf-8_in_exported_files.patch
dpkg-source: info: applying 23_fix_spelling_errors_in_man_page.patch
dpkg-source: info: applying 24_mark_node_as_not_temporary.patch
dpkg-source: info: applying 25_cli_format-security.patch
dpkg-source: info: applying 26_makefile_ldflags.patch
dpkg-source: info: applying 27_fix_segfault_on_unset_$HOME.patch
dpkg-source: info: applying 50_debian_use_sensible-browser_instead_of_w3m.patch
I: Building the package
W: no hooks of type A found -- ignoring
I: Running cd tmp/buildd/*/ && env 
PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" 
dpkg-buildpackage -us -uc  -b -rfakeroot
dpkg-buildpackage: source package hnb
dpkg-buildpackage: source version 1.9.18-10
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Axel Beckert <a...@debian.org>
 dpkg-source --before-build hnb-1.9.18
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
        make -j1 clean
make[1]: Entering directory '/tmp/buildd/hnb-1.9.18'
(cd src;make clean)
make[2]: Entering directory '/tmp/buildd/hnb-1.9.18/src'
rm -f xml_debug hnb init_subsystems.o clipboard.o ui_style.o file_html.o path.o 
tree_misc.o file_binary.o statcmds.o actions.o expanded.o tree_sort.o file.o 
ui.o ui_cli.o node.o spell.o prefs.o file_opml.o cli_macro.o ui_overlay.o 
ui_draw.o state.o ui_menu.o file_xml.o file_ascii.o ui_binding.o query.o 
autosave.o util_string.o cal.o hnb.o ui_edit.o search.o xml_tok.o file_hnb.o 
file_help.o tree_todo.o tokenizer.o tree.o evilloop.o file_ps.o *~ cli_*.inc
(cd libcli;make clean)
make[3]: Entering directory '/tmp/buildd/hnb-1.9.18/src/libcli'
rm -f *.o *.a *.so test-s* *~
make[3]: Leaving directory '/tmp/buildd/hnb-1.9.18/src/libcli'
make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18/src'
(cd util;make clean)
make[2]: Entering directory '/tmp/buildd/hnb-1.9.18/util'
rm -f asc2c *~
make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18/util'
rm -f *~
make[1]: Leaving directory '/tmp/buildd/hnb-1.9.18'
   dh_clean
 debian/rules build
dh build
   dh_testdir
   dh_auto_configure
   debian/rules override_dh_auto_build
make[1]: Entering directory '/tmp/buildd/hnb-1.9.18'
/usr/bin/make --always-make src/hnbrc.inc
make[2]: Entering directory '/tmp/buildd/hnb-1.9.18'
(cd util;make)
make[3]: Entering directory '/tmp/buildd/hnb-1.9.18/util'
cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security 
"-I/usr/include/ncursesw" -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro  asc2c.c 
  -o asc2c
make[3]: Leaving directory '/tmp/buildd/hnb-1.9.18/util'
echo -n "\"">src/hnbrc.inc
cat doc/hnbrc | util/asc2c >> src/hnbrc.inc
echo "\"">>src/hnbrc.inc
make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18'
/usr/bin/make --always-make -C src init_subsystems.c
make[2]: Entering directory '/tmp/buildd/hnb-1.9.18/src'
echo "/* this file is autogenerated, do not edit */">init_subsystems.c
cat *.c | grep "^\!init_" | sort | sed -e "s/^\!/void /g">>init_subsystems.c
cat: write error: Broken pipe
echo "">>init_subsystems.c
echo "void init_subsystems(){">>init_subsystems.c
cat *.c | grep "^\!init_" | sort | sed -e "s/^\!/ /g">>init_subsystems.c
cat: write error: Broken pipe
echo "}">>init_subsystems.c
make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18/src'
dh_auto_build src/hnb
        make -j1
make[2]: Entering directory '/tmp/buildd/hnb-1.9.18'
(cd src;make)
make[3]: Entering directory '/tmp/buildd/hnb-1.9.18/src'
(cd libcli;make libcli.a)
make[4]: Entering directory '/tmp/buildd/hnb-1.9.18/src/libcli'
cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I.. 
-Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time 
-D_FORTIFY_SOURCE=2  -c -o cli.o cli.c
cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I.. 
-Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time 
-D_FORTIFY_SOURCE=2  -c -o cli_history.o cli_history.c
cc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I.. 
-Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time 
-D_FORTIFY_SOURCE=2  -c -o cli_tokenize.o cli_tokenize.c
ar rc libcli.a cli*.o
make[4]: Leaving directory '/tmp/buildd/hnb-1.9.18/src/libcli'
make[3]: Circular init_subsystems.c <- init_subsystems.c dependency dropped.
cc -c -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I.. 
-Ilibcli -DHAVE_CONFIG_H "-I/usr/include/ncursesw" -Wdate-time 
-D_FORTIFY_SOURCE=2 -o init_subsystems.o init_subsystems.c
init_subsystems.c:2:1: error: unknown type name ‘Binary’
 Binary file (standard input) matches
 ^
init_subsystems.c:2:14: error: unknown type name ‘standard’
 Binary file (standard input) matches
              ^
Makefile:9: recipe for target 'init_subsystems.o' failed
make[3]: *** [init_subsystems.o] Error 1
make[3]: Leaving directory '/tmp/buildd/hnb-1.9.18/src'
Makefile:3: recipe for target 'src/hnb' failed
make[2]: *** [src/hnb] Error 2
make[2]: Leaving directory '/tmp/buildd/hnb-1.9.18'
dh_auto_build: make -j1 returned exit code 2
debian/rules:14: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/tmp/buildd/hnb-1.9.18'
debian/rules:11: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package
W: no hooks of type C found -- ignoring
I: unmounting /sys filesystem
I: unmounting /dev/shm filesystem
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: cleaning the build env 
I: removing directory /var/cache/pbuilder/build//63165 and its subdirectories
diff --git a/src/Makefile b/src/Makefile
index 1811667..9d41730 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -16,10 +16,10 @@ libcli/libcli_p.a: libcli/*.c
        (cd libcli;make libcli_p.a)
 init_subsystems.c: *.c
        echo "/* this file is autogenerated, do not edit */">init_subsystems.c
-       cat *.c | grep "^\!init_" | sort | sed -e "s/^\!/void 
/g">>init_subsystems.c
+       cat *.c | grep -a "^\!init_" | sort | sed -e "s/^\!/void 
/g">>init_subsystems.c
        echo "">>init_subsystems.c
        echo "void init_subsystems(){">>init_subsystems.c
-       cat *.c | grep "^\!init_" | sort | sed -e "s/^\!/ /g">>init_subsystems.c
+       cat *.c | grep -a "^\!init_" | sort | sed -e "s/^\!/ 
/g">>init_subsystems.c
        echo "}">>init_subsystems.c
 clean:
        rm -f xml_debug hnb $(OBJS) *~ cli_*.inc

Reply via email to