[Pkg-clamav-devel] Bug#779501: clamsmtp: patch included in 1.10-12 completely breaks the package

Michael Meskes meskes at debian.org
Sun Mar 1 20:02:15 UTC 2015


On Sun, Mar 01, 2015 at 05:05:59PM +0100, Julien Cristau wrote:
> Package: clamsmtp
> Version: 1.10-12
> Severity: grave
> Justification: renders package unusable
> x-debbugs-cc: Michael Tautschnig <mt at debian.org>
> ...

Patch doesn't seem to help, see attached. What did I miss?

Michael

-- 
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org
Jabber: michael.meskes at gmail dot com
VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL
-------------- next part --------------
 dpkg-buildpackage -rfakeroot -D -us -uc -i -I
dpkg-buildpackage: source package clamsmtp
dpkg-buildpackage: source version 1.10-13
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Michael Meskes <meskes at debian.org>
 dpkg-source -i -I --before-build clamsmtp
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh clean --with quilt,autoreconf
   dh_testdir
   dh_auto_clean
   dh_quilt_unpatch
No patch removed
   dh_autoreconf_clean
   dh_clean
 dpkg-source -i -I -b clamsmtp
dpkg-source: warning: source directory 'clamsmtp' is not <sourcepackage>-<upstreamversion> 'clamsmtp-1.10'
dpkg-source: warning: .orig directory name clamsmtp.orig is not <package>-<upstreamversion> (wanted clamsmtp-1.10.orig)
dpkg-source: info: using source format `1.0'
dpkg-source: info: building clamsmtp using existing clamsmtp_1.10.orig.tar.gz
dpkg-source: info: building clamsmtp in clamsmtp_1.10-13.diff.gz
dpkg-source: warning: ignoring deletion of file depcomp, use --include-removal to override
dpkg-source: warning: ignoring deletion of file config.h.in, use --include-removal to override
dpkg-source: warning: ignoring deletion of file INSTALL, use --include-removal to override
dpkg-source: warning: ignoring deletion of file config.guess, use --include-removal to override
dpkg-source: warning: ignoring deletion of file missing, use --include-removal to override
dpkg-source: warning: ignoring deletion of file config.sub, use --include-removal to override
dpkg-source: warning: ignoring deletion of file aclocal.m4, use --include-removal to override
dpkg-source: warning: ignoring deletion of file Makefile.in, use --include-removal to override
dpkg-source: warning: ignoring deletion of file configure, use --include-removal to override
dpkg-source: warning: ignoring deletion of file install-sh, use --include-removal to override
dpkg-source: warning: ignoring deletion of file src/Makefile.in, use --include-removal to override
dpkg-source: warning: ignoring deletion of file doc/Makefile.in, use --include-removal to override
dpkg-source: info: building clamsmtp in clamsmtp_1.10-13.dsc
 debian/rules build
dh build --with quilt,autoreconf
   dh_testdir
   dh_quilt_patch
Applying patch 300175-fileperms.patch
patching file common/smtppass.c
Hunk #1 succeeded at 1371 (offset 101 lines).

Applying patch manpage.patch
patching file doc/clamsmtpd.8

Applying patch gnu_source.patch
patching file common/smtppass.c

Applying patch include_order.patch
patching file common/usuals.h
patching file configure.in
Hunk #1 succeeded at 51 with fuzz 2.

Now at patch include_order.patch
   dh_autoreconf
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:40: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated.  For more info, see:
configure.in:40: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
configure.in:49: installing './compile'
configure.in:68: installing './config.guess'
configure.in:68: installing './config.sub'
configure.in:40: installing './install-sh'
configure.in:40: installing './missing'
Makefile.am: installing './INSTALL'
src/Makefile.am:4: warning: source file '../common/spio.c' is in a subdirectory,
src/Makefile.am:4: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding output
automake: object file(s) will be placed in the top-level directory.  However,
automake: this behaviour will change in future Automake versions: they will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.
src/Makefile.am:4: warning: source file '../common/smtppass.c' is in a subdirectory,
src/Makefile.am:4: but option 'subdir-objects' is disabled
src/Makefile.am:4: warning: source file '../common/stringx.c' is in a subdirectory,
src/Makefile.am:4: but option 'subdir-objects' is disabled
src/Makefile.am:4: warning: source file '../common/sock_any.c' is in a subdirectory,
src/Makefile.am:4: but option 'subdir-objects' is disabled
src/Makefile.am:4: warning: source file '../common/compat.c' is in a subdirectory,
src/Makefile.am:4: but option 'subdir-objects' is disabled
src/Makefile.am: installing './depcomp'
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
   dh_auto_configure
configure: WARNING: unrecognized options: --disable-maintainer-mode
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for cc_r... gcc
checking for getsockname in -lsocket... no
checking for getaddrinfo in -lnsl... yes
checking for ANSI C header files... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking err.h usability... yes
checking err.h presence... yes
checking for err.h... yes
checking paths.h usability... yes
checking paths.h presence... yes
checking for paths.h... yes
checking for unistd.h... (cached) yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdlib.h... (cached) yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for string.h... (cached) yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking for linux/netfilter_ipv4.h... no
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether PTHREAD_MUTEX_ERRORCHECK_NP is declared... yes
checking for struct tm.tm_gmtoff... yes
checking for global variable __argv... no
checking for memset... yes
checking for strerror... yes
checking for malloc... yes
checking for realloc... yes
checking for getopt... yes
checking for strchr... yes
checking for tolower... yes
checking for getaddrinfo... yes
checking for strlwr... no
checking for strlcat... no
checking for strlcpy... no
checking for strncat... yes
checking for strncpy... yes
checking for strcasestr... yes
checking for setenv... yes
checking for daemon... yes
checking for getline... yes
checking for getdelim... yes
checking for flockfile... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure: WARNING: unrecognized options: --disable-maintainer-mode
   dh_auto_build
make[1]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
make  all-recursive
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
Making all in src
make[3]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/src'
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS -c -o clamsmtpd-clamsmtpd.o `test -f 'clamsmtpd.c' || echo './'`clamsmtpd.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS -c -o clamsmtpd-spio.o `test -f '../common/spio.c' || echo './'`../common/spio.c
../common/spio.c: In function 'spio_attach':
../common/spio.c:124:45: warning: passing argument 3 of 'getsockname' from incompatible pointer type
     if(getsockname(fd, &SANY_ADDR(locaddr), &SANY_LEN(locaddr)) == -1 ||
                                             ^
In file included from ../common/spio.c:46:0:
/usr/include/x86_64-linux-gnu/sys/socket.h:127:12: note: expected 'socklen_t * __restrict__' but argument is of type 'size_t *'
 extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
            ^
../common/spio.c:139:43: warning: passing argument 3 of 'getpeername' from incompatible pointer type
     if(getpeername(fd, &SANY_ADDR(*peer), &SANY_LEN(*peer)) == -1 ||
                                           ^
In file included from ../common/spio.c:46:0:
/usr/include/x86_64-linux-gnu/sys/socket.h:141:12: note: expected 'socklen_t * __restrict__' but argument is of type 'size_t *'
 extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
            ^
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS -c -o clamsmtpd-smtppass.o `test -f '../common/smtppass.c' || echo './'`../common/smtppass.c
../common/smtppass.c: In function 'thread_main':
../common/smtppass.c:728:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     return (void*)(ret == 0 ? 0 : 1);
            ^
../common/smtppass.c: In function 'make_connections':
../common/smtppass.c:758:58: warning: passing argument 3 of 'getsockname' from incompatible pointer type
         if(getsockname(ctx->client.fd, &SANY_ADDR(addr), &SANY_LEN(addr)) == -1)
                                                          ^
In file included from ../common/smtppass.c:43:0:
/usr/include/x86_64-linux-gnu/sys/socket.h:127:12: note: expected 'socklen_t * __restrict__' but argument is of type 'size_t *'
 extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
            ^
../common/smtppass.c: In function 'parse_xforward':
../common/smtppass.c:1206:7: warning: assignment makes pointer from integer without a cast
     t = strcasestr(line, part);
       ^
../common/smtppass.c: In function 'connection_loop':
../common/smtppass.c:538:21: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
                     write(fd, SMTP_STARTFAILED, KL(SMTP_STARTFAILED));
                     ^
../common/smtppass.c:555:13: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
             write(fd, SMTP_STARTBUSY, KL(SMTP_STARTBUSY));
             ^
In file included from /usr/include/string.h:640:0,
                 from ../common/usuals.h:49,
                 from ../common/smtppass.c:59:
In function 'strncat',
    inlined from 'vmessage' at ../common/smtppass.c:1842:13:
/usr/include/x86_64-linux-gnu/bits/string3.h:150:3: warning: call to __builtin___strncat_chk might overflow destination buffer
   return __builtin___strncat_chk (__dest, __src, __len, __bos (__dest));
   ^
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS -c -o clamsmtpd-stringx.o `test -f '../common/stringx.c' || echo './'`../common/stringx.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS -c -o clamsmtpd-sock_any.o `test -f '../common/sock_any.c' || echo './'`../common/sock_any.c
gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS -c -o clamsmtpd-compat.o `test -f '../common/compat.c' || echo './'`../common/compat.c
gcc -I../common/ -I../ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/local/include -pthread -D_POSIX_PTHREAD_SEMANTICS  -Wl,-z,relro -L/usr/local/lib -o clamsmtpd clamsmtpd-clamsmtpd.o clamsmtpd-spio.o clamsmtpd-smtppass.o clamsmtpd-stringx.o clamsmtpd-sock_any.o clamsmtpd-compat.o  -lnsl  
clamsmtpd-clamsmtpd.o: In function `virus_action':
/home/michael/Technik/sources/archive/clamsmtp/src/clamsmtpd.c:730: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
NOTE: Ignore any warnings about mktemp(). It's used safely in this case.

make[3]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/src'
Making all in doc
make[3]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[3]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
make[3]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
make[1]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
   dh_auto_test
make[1]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
Making check in src
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/src'
NOTE: Ignore any warnings about mktemp(). It's used safely in this case.

make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/src'
Making check in doc
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
make[1]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
 fakeroot debian/rules binary
dh binary --with quilt,autoreconf
   dh_testroot
   dh_prep
   dh_installdirs
   dh_auto_install
make[1]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
Making install in src
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/src'
NOTE: Ignore any warnings about mktemp(). It's used safely in this case.

make[3]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/src'
 /bin/mkdir -p '/home/michael/Technik/sources/archive/clamsmtp/debian/clamsmtp/usr/sbin'
  /usr/bin/install -c clamsmtpd '/home/michael/Technik/sources/archive/clamsmtp/debian/clamsmtp/usr/sbin'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/src'
make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/src'
Making install in doc
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[3]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[3]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/home/michael/Technik/sources/archive/clamsmtp/debian/clamsmtp/usr/share/man/man5'
 /usr/bin/install -c -m 644 clamsmtpd.conf.5 '/home/michael/Technik/sources/archive/clamsmtp/debian/clamsmtp/usr/share/man/man5'
 /bin/mkdir -p '/home/michael/Technik/sources/archive/clamsmtp/debian/clamsmtp/usr/share/man/man8'
 /usr/bin/install -c -m 644 clamsmtpd.8 '/home/michael/Technik/sources/archive/clamsmtp/debian/clamsmtp/usr/share/man/man8'
make[3]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp/doc'
make[2]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
make[3]: Entering directory '/home/michael/Technik/sources/archive/clamsmtp'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
make[2]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
make[1]: Leaving directory '/home/michael/Technik/sources/archive/clamsmtp'
   dh_install
   dh_installdocs
   dh_installchangelogs
   dh_installexamples
   dh_installman
   dh_installdebconf
   dh_installinit
   dh_installlogcheck
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   dh_shlibdeps
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/clamsmtp/usr/sbin/clamsmtpd was not linked against libnsl.so.1 (it uses none of the library's symbols)
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
   dh_md5sums
   dh_builddeb
dpkg-deb: building package `clamsmtp' in `../clamsmtp_1.10-13_amd64.deb'.
 dpkg-genchanges  >../clamsmtp_1.10-13_amd64.changes
dpkg-genchanges: not including original source code in upload
 dpkg-source -i -I --after-build clamsmtp
dpkg-buildpackage: binary and diff upload (original source NOT included)
Now running lintian...
W: clamsmtp source: out-of-date-standards-version 3.9.5 (current is 3.9.6)
Finished running lintian.
Now signing changes and any dsc files...
 signfile clamsmtp_1.10-13.dsc 0x96978EB3

 signfile clamsmtp_1.10-13_amd64.changes 0x96978EB3

Successfully signed dsc and changes files
-------------- next part --------------
A non-text attachment was scrubbed...
Name: include_order.patch
Type: text/x-diff
Size: 747 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-clamav-devel/attachments/20150301/5b365f15/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-clamav-devel/attachments/20150301/5b365f15/attachment-0001.sig>


More information about the Pkg-clamav-devel mailing list