[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#784801: jessie-pu: package cproto/4.7l-4



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@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 <pronovic@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 <pronovic@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
   <leo@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 <bvdpoel@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 <dickey@invisible-island.net>  Wed, 01 Jan 2014 10:31:44 -0500
+
+cproto (4.7k) unstable; urgency=low
+
+  * update configure scripts
+
+ -- Thomas E. Dickey <dickey@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 */

Reply to: