--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian....@packages.debian.org
Usertags: pu
Hi,
I am requesting permission to fix a functional regression in cproto with
an upload to proposed-updates-new for jessie. This may or may not meet
the criteria of a "truly critical functionality problem", but I thought
it was worth asking anyway.
In April of 2013 (version 4.7j-7), I converted cproto to debhelper 7.
In the process, I accidentally lost the only option I was passing to
configure (--enable-llib). As a result, I disabled the -X command-line
option. This means there is a functional regression between wheezy
(version 4.7j-5) and jessie (version 4.7l-3). The manpage is also
wrong. See bug #784719.
A few minutes ago, I uploaded version 4.7l-4 to unstable. The diff vs.
4.7l-3 (in jessie) is attached as debian.diff. The only change is to
pass the missing --enable-llib configure option.
The changes between upstream versions 4.7j and 4.7l are minor and do not
involve the functionality controlled by --enable-llib. So, the -X
behavior in 4.7l-4 (proposed for jessie) should be the same as we saw in
4.7j-5 (which was in wheezy). As a result, I believe this to be a
low-risk change. A diff of the relevant files in the two upstream
releases is attached as cproto-4.7j-4.7l.diff.
Thank you for the help,
KEN
-- System Information:
Debian Release: 8.0
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 3.16.0-4-686-pae (SMP w/1 CPU core)
Locale: LANG=en, LC_CTYPE=en_US (charmap=ISO-8859-1) (ignored: LC_ALL set to
en_US)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--
Kenneth J. Pronovici <prono...@debian.org>
Index: debian/changelog
===================================================================
--- debian/changelog (.../4.7l-3) (revision 753)
+++ debian/changelog (.../4.7l-4) (revision 753)
@@ -1,3 +1,13 @@
+cproto (4.7l-4) unstable; urgency=medium
+
+ * Fix functional regression vs. 4.7j-5 in wheezy (closes: #784719).
+ - Modify debian/rules to put back --enable-llib configure option, by adding
+ override_dh_auto_configure. This option was accidentally lost in version
+ 4.7j-7 while converting to debhelper 7. This disabled the -X command
+ line option in the cproto program, a regression vs. wheezy.
+
+ -- Kenneth J. Pronovici <prono...@debian.org> Fri, 08 May 2015 21:23:58 +0000
+
cproto (4.7l-3) unstable; urgency=medium
* Fix various minor Lintian warnings in debian/copyright.
Index: debian/rules
===================================================================
--- debian/rules (.../4.7l-3) (revision 753)
+++ debian/rules (.../4.7l-4) (revision 753)
@@ -9,3 +9,6 @@
override_dh_installdocs:
dh_installdocs README
+override_dh_auto_configure:
+ dh_auto_configure -- --enable-llib
+
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/CHANGES cproto-4.7l/CHANGES
--- cproto-4.7j/CHANGES 2011-01-02 19:40:35.000000000 +0000
+++ cproto-4.7l/CHANGES 2014-01-01 15:46:55.000000000 +0000
@@ -1,4 +1,19 @@
--- $Id: CHANGES,v 4.34 2011/01/02 19:40:35 tom Exp $
+-- $Id: CHANGES,v 4.41 2014/01/01 15:46:55 tom Exp $
+
+2014/01/01 (4.7l)
+- add "docs" rule to makefile.
+- correct configure check for yyname vs yytname, broken by 4.7i changes
+- update config.guess
+
+2013/10/25 (4.7k)
+- modify configure script, etc., to support cross-compiles, e.g., to MinGW.
+- updated configure macros
+ - support --datarootdir option
+ - various portability fixes for CF_XOPEN_SOURCE
+ - add checks for clang
+ - improve macros for checking for standard C compiler
+ - modified macros to support third parameter of AC_DEFINE used by autoheader
+- update config.guess, config.sub
2011/01/02 (4.7j)
- amend a check for function name to allow cases such as this:
@@ -25,15 +40,15 @@
contributor's information using a script.
- update config.guess, config.sub
-2009/09/3 (4.7h)
+2009/09/03 (4.7h)
- updated configure macros CF_ADD_CFLAGS CF_GCC_ATTRIBUTES CF_GCC_WARNINGS
CF_XOPEN_SOURCE
- update config.guess, config.sub
2008/11/19 (4.7g)
- modify cpp command to redirect stderr to /dev/null if -q option is given,
- for consistency with the non-cpp mode (report by Nicolas Limare).
- https://bugs.launchpad.net/ubuntu/+source/cproto/+bug/275248
+ for consistency with the non-cpp mode (report by Nicolas Limare,
+ Ubuntu #275248).
- add configure --disable-leaks option.
- use configure macro CF_XOPEN_SOURCE macro to make mkstemp() prototyped on
Linux.
@@ -41,7 +56,7 @@
- code cleanup, to remove K&R relics.
- update config.guess, config.sub
-2008/01/1 (4.7f)
+2008/01/01 (4.7f)
- add symbol for __gnuc_va_list
- add some data for c99 syntax to test-cases, e.g., long long.
- review/fix some additional places where need_temp() call is needed.
@@ -52,7 +67,7 @@
- update config.guess, config.sub
- rename install.sh to install-sh
-2005/12/8 (4.7e)
+2005/12/08 (4.7e)
- eliminate some fixed limits on buffer sizes (prompted by FreeBSD port).
- eliminate fixed limit on include nesting.
- use configure check for mkstemp(), use that function in preference to
@@ -88,13 +103,13 @@
- updated configure script, using autoconf 2.52 + patch, along with macros from
vile/lynx/etc.
-2004/03/9 (4.7b)
+2004/03/09 (4.7b)
- added new -X option to limit the levels of include-files from which an
extern can come (Debian #235824).
- added new -i option to support inline function prototypes (Debian #228801,
patch by Kenneth Pronovici).
-2003/04/5 (4.7a)
+2003/04/05 (4.7a)
- add definition of YYFLAG, to enable the error-reporting code with bison 1.875
- add definition of YYSTYPE, to allow this to build with recent (aka "broken")
@@ -121,7 +136,7 @@
- remove makefile rules to make shar files (comp.sources.misc is long gone).
- stop using changequote(), workaround for bugs in autoconf 2.5x
-2000/11/9 (4.7)
+2000/11/09 (4.7)
- Report source file and line number in error messages in gcc-style format.
2000/08/10 (4.6d)
@@ -132,7 +147,7 @@
independently of $(prefix) and $(exec_prefix) (patch by Carsten Leonhardt
<l...@debian.org>).
-2000/07/8 (4.6c)
+2000/07/08 (4.6c)
- add a clause to handle "__extension__" before extern declarations.
(report by Bob van der Poel <bvdp...@uniserve.com>)
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/configure.in cproto-4.7l/configure.in
--- cproto-4.7j/configure.in 2010-07-12 00:49:23.000000000 +0000
+++ cproto-4.7l/configure.in 2014-01-01 15:48:47.000000000 +0000
@@ -1,12 +1,12 @@
dnl Process this file with 'autoconf' to produce a 'configure' script
-dnl $Id: configure.in,v 4.13 2010/07/12 00:49:23 tom Exp $
-AC_REVISION($Revision: 4.13 $)
+dnl $Id: configure.in,v 4.16 2014/01/01 15:48:47 tom Exp $
+AC_REVISION($Revision: 4.16 $)
AC_PREREQ(2.52.20030208)
AC_INIT(cproto.c)
AC_CONFIG_HEADER(config.h:config_h.in)
CF_CHECK_CACHE
-AC_PROG_CC
+CF_PROG_CC
AC_PROG_CPP
AC_PROG_LEX
AC_PROG_MAKE_SET
@@ -15,9 +15,6 @@
CF_MAKE_TAGS
CF_PROG_LINT
-CF_PROG_EXT
-
-CF_ANSI_CC_REQD
CF_XOPEN_SOURCE
CF_WITH_WARNINGS
@@ -47,7 +44,19 @@
AC_HAVE_HEADERS(stdlib.h unistd.h)
AC_HAVE_HEADERS(getopt.h string.h memory.h)
-AC_HAVE_FUNCS(strstr tmpfile link unlink)
+AC_HAVE_FUNCS(getopt popen strstr tmpfile link unlink)
+
+if test "x$ac_cv_func_getopt" = xno
+then
+ CPPFLAGS="$CPPFLAGS -I\$(srcdir)/porting"
+ EXTRA_OBJS="$EXTRA_OBJS getopt.o"
+fi
+
+if test "x$ac_cv_func_popen" = xno
+then
+ CPPFLAGS="$CPPFLAGS -I\$(srcdir)/porting"
+ EXTRA_OBJS="$EXTRA_OBJS popen.o"
+fi
### special configuration tests
CF_MKSTEMP
@@ -69,3 +78,4 @@
### output makefile and config.h
AC_OUTPUT(Makefile,,,cat)
+CF_MAKE_DOCS(cproto,1)
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/cproto.c cproto-4.7l/cproto.c
--- cproto-4.7j/cproto.c 2011-01-02 19:24:03.000000000 +0000
+++ cproto-4.7l/cproto.c 2014-01-01 15:30:44.000000000 +0000
@@ -1,8 +1,8 @@
-/* $Id: cproto.c,v 4.33 2011/01/02 19:24:03 tom Exp $
+/* $Id: cproto.c,v 4.36 2014/01/01 15:30:44 tom Exp $
*
* C function prototype generator and function definition converter
*/
-#define VERSION "4.7j"
+#define VERSION "4.7l"
#include <cproto.h>
@@ -104,8 +104,8 @@
#ifdef CPP
# if !HAVE_POPEN_PROTOTYPE
extern FILE *popen(const char *c, const char *m);
-# endif
extern int pclose(FILE *p);
+# endif
static size_t cpp_len;
static const char *cpp = CPP;
static char *cpp_opt;
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/cproto.h cproto-4.7l/cproto.h
--- cproto-4.7j/cproto.h 2011-01-02 19:30:39.000000000 +0000
+++ cproto-4.7l/cproto.h 2013-10-25 20:28:26.000000000 +0000
@@ -1,4 +1,4 @@
-/* $Id: cproto.h,v 4.17 2011/01/02 19:30:39 tom Exp $
+/* $Id: cproto.h,v 4.18 2013/10/25 20:28:26 tom Exp $
*
* Declarations for C function prototype generator
*/
@@ -25,6 +25,10 @@
#define YACC_HAS_YYTOKS_2 0
#endif
+#ifndef HAVE_LINK
+#define HAVE_LINK 0
+#endif
+
#ifndef HAVE_POPEN_PROTOTYPE
#define HAVE_POPEN_PROTOTYPE 0
#endif
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/lex.l cproto-4.7l/lex.l
--- cproto-4.7j/lex.l 2011-01-02 18:31:53.000000000 +0000
+++ cproto-4.7l/lex.l 2014-01-01 16:01:46.000000000 +0000
@@ -2,7 +2,7 @@
%{
-/* $Id: lex.l,v 4.22 2011/01/02 18:31:53 tom Exp $
+/* $Id: lex.l,v 4.23 2014/01/01 16:01:46 tom Exp $
*
* Lexical analyzer for C function prototype generator
*
@@ -994,7 +994,7 @@
} else {
return;
}
- s = strchr(file_spec + 1, match);
+ s = (strchr) (file_spec + 1, match);
n = (s != NULL) ? (unsigned) (s - file_spec - 1) : 0;
file = xstrdup(file_spec + 1);
file[n] = '\0';
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/Makefile.in cproto-4.7l/Makefile.in
--- cproto-4.7j/Makefile.in 2010-07-12 00:43:24.000000000 +0000
+++ cproto-4.7l/Makefile.in 2014-01-01 15:57:41.000000000 +0000
@@ -1,9 +1,9 @@
-# $Id: Makefile.in,v 4.16 2010/07/12 00:43:24 tom Exp $
+# $Id: Makefile.in,v 4.21 2014/01/01 15:57:41 tom Exp $
#
# UNIX template-makefile for C prototype generator
THIS = cproto
-RELEASE = 4_7g
+RELEASE = 4_7l
#### Start of system configuration section. ####
@@ -29,6 +29,7 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
bindir = @bindir@
mandir = @mandir@
@@ -113,22 +114,19 @@
lex.yy.c : lex.l
$(LEX) $(srcdir)/lex.l
-$(THIS).man : $(THIS).1
- - nroff -man $(srcdir)/$(THIS).1 >$@
+mostlyclean ::
+ - rm -f core .nfs* *$o *.bak *.BAK *.out $(JUNK) default.h
-mostlyclean :
- - rm -f core .nfs* *$o *.bak *.BAK *.man *.out $(JUNK) default.h
-
-clean : mostlyclean
+clean :: mostlyclean
- rm -f $(PROG)
- cd $(srcdir)/testing && $(MAKE) $@
-distclean : clean
+distclean :: clean
- rm -f config.log config.cache config.status config.h Makefile
- rm -f .version .fname
- cd $(srcdir)/testing && $(MAKE) $@
-realclean: distclean
+realclean :: distclean
- rm -f tags
- cd $(srcdir)/testing && $(MAKE) $@
@@ -160,6 +158,12 @@
default.h: $(C_FILES) lex.yy.c
./$(PROG) -e -v -m -M ARGS -d $(DEFINES) $(C_FILES) grammar.y >$@
+getopt.o : $(srcdir)/porting/getopt.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/porting/getopt.c
+
+popen.o : $(srcdir)/porting/popen.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/porting/popen.c
+
lint: $(C_FILES) $(JUNK)
$(LINT) $(CPPFLAGS) $(C_FILES) y.tab.c >$@.out
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/MANIFEST cproto-4.7l/MANIFEST
--- cproto-4.7j/MANIFEST 2011-01-02 19:45:34.000000000 +0000
+++ cproto-4.7l/MANIFEST 2014-01-01 15:30:30.000000000 +0000
@@ -1,4 +1,4 @@
-MANIFEST for cproto-4.7j, version v4_7j
+MANIFEST for cproto-4.7l, version v4_7l
--------------------------------------------------------------------------------
MANIFEST this file
AUTHORS authors
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/package/cproto.spec cproto-4.7l/package/cproto.spec
--- cproto-4.7j/package/cproto.spec 2011-01-02 19:42:57.000000000 +0000
+++ cproto-4.7l/package/cproto.spec 2014-01-01 15:30:54.000000000 +0000
@@ -1,7 +1,7 @@
Summary: cproto - generate C function prototypes and convert function definitions
%define AppProgram cproto
-%define AppVersion 4.7j
-# $XTermId: cproto.spec,v 1.3 2011/01/02 19:42:57 tom Exp $
+%define AppVersion 4.7l
+# $XTermId: cproto.spec,v 1.5 2014/01/01 15:30:54 tom Exp $
Name: %{AppProgram}
Version: %{AppVersion}
Release: 1
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/package/debian/changelog cproto-4.7l/package/debian/changelog
--- cproto-4.7j/package/debian/changelog 2011-01-02 19:34:24.000000000 +0000
+++ cproto-4.7l/package/debian/changelog 2014-01-01 15:31:46.000000000 +0000
@@ -1,3 +1,15 @@
+cproto (4.7l) unstable; urgency=low
+
+ * correct configure-check for yyname vs yytname
+
+ -- Thomas E. Dickey <dic...@invisible-island.net> Wed, 01 Jan 2014 10:31:44 -0500
+
+cproto (4.7k) unstable; urgency=low
+
+ * update configure scripts
+
+ -- Thomas E. Dickey <dic...@invisible-island.net> Fri, 25 Oct 2013 04:28:30 -0400
+
cproto (4.7j) unstable; urgency=low
* minor fix to lint-library check for function vs function-pointer.
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/package/debian/copyright cproto-4.7l/package/debian/copyright
--- cproto-4.7j/package/debian/copyright 2011-01-02 19:41:59.000000000 +0000
+++ cproto-4.7l/package/debian/copyright 2014-01-01 15:58:27.000000000 +0000
@@ -11,7 +11,7 @@
Files: aclocal.m4
Licence: other-BSD
-Copyright: 1994-2010,2011 by Thomas E. Dickey
+Copyright: 1994-2013,2014 by Thomas E. Dickey
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
@@ -72,7 +72,7 @@
shared with many OS's install programs.
Files: debian/*
-Copyright: 2010 Thomas E. Dickey
+Copyright: 2010-2013,2014 Thomas E. Dickey
Licence: other-BSD
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/porting/getopt.c cproto-4.7l/porting/getopt.c
--- cproto-4.7j/porting/getopt.c 1994-10-12 13:00:00.000000000 +0000
+++ cproto-4.7l/porting/getopt.c 2013-10-25 22:08:08.000000000 +0000
@@ -1,7 +1,12 @@
+/* $Id: getopt.c,v 4.2 2013/10/25 22:08:08 tom Exp $ */
+
/* ::[[ @(#) getopt.c 1.5 89/03/11 05:40:23 ]]:: */
+
+/*
#ifndef LINT
static char sccsid[]="::[[ @(#) getopt.c 1.5 89/03/11 05:40:23 ]]::";
#endif
+*/
/*
* Here's something you've all been waiting for: the AT&T public domain
@@ -23,33 +28,25 @@
* However, I am not about to post a copy of anything licensed by AT&T.
*/
-#ifdef ANSIPROTO
-int strcmp (char *, char *);
-char *strchr (char *, char);
-#endif
-
#include <stdio.h>
+#include <string.h>
+#include <getopt.h>
#define ERR(szz,czz) if(opterr){fprintf(stderr,"%s%s%c\n",argv[0],szz,czz);}
-extern int strcmp();
-extern char *strchr();
-
int opterr = 1;
int optind = 1;
int optopt;
char *optarg;
int
-getopt(argc, argv, opts)
-int argc;
-char **argv, *opts;
+getopt(int argc, char **argv, const char *opts)
{
static int sp = 1;
register int c;
register char *cp;
- if(sp == 1)
+ if(sp == 1) {
if(optind >= argc ||
argv[optind][0] != '-' || argv[optind][1] == '\0')
return(EOF);
@@ -57,7 +54,8 @@
optind++;
return(EOF);
}
- optopt = c = argv[optind][sp];
+ }
+ optopt = (c = argv[optind][sp]);
if(c == ':' || (cp=strchr(opts, c)) == NULL) {
ERR(": illegal option -- ", c);
if(argv[optind][++sp] == '\0') {
diff '--exclude=configure' '--exclude=config.guess' '--exclude=config.sub' '--exclude=aclocal.m4' -Naur cproto-4.7j/porting/getopt.h cproto-4.7l/porting/getopt.h
--- cproto-4.7j/porting/getopt.h 1994-10-12 13:00:00.000000000 +0000
+++ cproto-4.7l/porting/getopt.h 2013-10-25 22:08:17.000000000 +0000
@@ -1,8 +1,10 @@
+/* $Id: getopt.h,v 4.3 2013/10/25 22:08:17 tom Exp $ */
+
+#ifndef OLD_GETOPT_H
+#define OLD_GETOPT_H 1
+
extern char *optarg;
extern int optind, opterr;
+extern int getopt (int argc, char **argv, const char *options);
-#if defined(__STDC__)
-int getopt (int argc, char **argv, const char *options);
-#else
-int getopt ();
-#endif
+#endif /* OLD_GETOPT_H */
--- End Message ---