reassign 811144 publib-dev 0.40-1
merge 811144 790273
tags 790273 pending patch
thanks

Martin Michlmayr pisze:
> Package: dwww
> Version: 1.12.1
> Severity: serious
> 
> dwww fails to build in unstable:

This is caused by publib-dev that provides declaration of strndup which
turned out to be a macro in recent glibc/gcc.

I've just prepared NMU for publib-dev (see that attached patch), and
uploaded  it to DELAYED/3.


Regards,
robert
From 4497310eea69a5ea2b5c74036152494f1f57522b Mon Sep 17 00:00:00 2001
From: Robert Luberda <rob...@debian.org>
Date: Tue, 19 Jan 2016 00:14:51 +0100
Subject: [PATCH] Non-maintainer upload to fix FTBFS

Introduced the following patches:
 - 001-Remove-strndup.patch to fix FTBFS on current gcc and glibc
   by removing declaration of strndup() function together with its
   implementation and man page (closes: #790273);
 - 0002-Fix-undefined-behavior-warning.patch to fix an off-by-one
   bug in base64 decoder resulting in an undefined behavior warning
   given by gcc-5;
 - 0003-Remove-Makefile-at-distclean.patch to make sure the generated
   Makefile is dropped, so that sequential builds do not fail;
 - 0004-Fix-spelling-errors-in-manpages.patch to fix spelling typos
   in `occurrence' and `occurred' words, noticed by lintian.
---
 debian/changelog                                   |  17 ++
 debian/patches/0001-Remove-strndup.patch           |  45 +++++
 .../0002-Fix-undefined-behavior-warning.patch      |  31 ++++
 .../0003-Remove-Makefile-at-distclean.patch        |  28 ++++
 .../0004-Fix-spelling-errors-in-manpages.patch     | 185 +++++++++++++++++++++
 debian/patches/series                              |   4 +
 6 files changed, 310 insertions(+)
 create mode 100644 debian/patches/0001-Remove-strndup.patch
 create mode 100644 debian/patches/0002-Fix-undefined-behavior-warning.patch
 create mode 100644 debian/patches/0003-Remove-Makefile-at-distclean.patch
 create mode 100644 debian/patches/0004-Fix-spelling-errors-in-manpages.patch
 create mode 100644 debian/patches/series

diff --git a/debian/changelog b/debian/changelog
index e677080..02f427f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,20 @@
+publib (0.40-1.1) unstable; urgency=high
+
+  * Non-maintainer upload to fix FTBFS.
+  * Introduced the following patches:
+    - 001-Remove-strndup.patch to fix FTBFS on current gcc and glibc
+      by removing declaration of strndup() function together with its
+      implementation and man page (closes: #790273);
+    - 0002-Fix-undefined-behavior-warning.patch to fix an off-by-one
+      bug in base64 decoder resulting in an undefined behavior warning
+      given by gcc-5;
+    - 0003-Remove-Makefile-at-distclean.patch to make sure the generated
+      Makefile is dropped, so that sequential builds do not fail;
+    - 0004-Fix-spelling-errors-in-manpages.patch to fix spelling typos
+      in `occurrence' and `occurred' words, noticed by lintian.
+
+ -- Robert Luberda <rob...@debian.org>  Tue, 19 Jan 2016 00:14:42 +0100
+
 publib (0.40-1) unstable; urgency=low
 
   * New upstream release.  Noteworthy changes:
diff --git a/debian/patches/0001-Remove-strndup.patch b/debian/patches/0001-Remove-strndup.patch
new file mode 100644
index 0000000..2d25ab2
--- /dev/null
+++ b/debian/patches/0001-Remove-strndup.patch
@@ -0,0 +1,45 @@
+From: Robert Luberda <rob...@debian.org>
+Date: Mon, 18 Jan 2016 23:11:34 +0100
+Subject: Remove strndup
+
+Do not compile strndup.o, do not install strndup.3 man page,
+and remove strndup declaration from strutil.h to fix FTBFS
+with current gcc andglibc that defines strndup as a macro
+(closes: #790273)
+---
+ Makefile.in               | 2 --
+ includes/publib/strutil.h | 1 -
+ 2 files changed, 3 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 0981ae3..8ba0382 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -167,7 +167,6 @@ objs =  alloc/memdup.o          \
+ 	strutil/strmaxcpy.o     \
+ 	strutil/strmove.o       \
+ 	strutil/strmtrim.o      \
+-	strutil/strndup.o       \
+ 	strutil/strnins.o       \
+ 	strutil/strnlen.o       \
+ 	strutil/stroverlap.o    \
+@@ -257,7 +256,6 @@ manpages =                          \
+ 	man/strmaxcpy.3             \
+ 	man/strmove.3               \
+ 	man/strmtrim.3              \
+-	man/strndup.3               \
+ 	man/strnins.3               \
+ 	man/stroverlap.3            \
+ 	man/strrev.3                \
+diff --git a/includes/publib/strutil.h b/includes/publib/strutil.h
+index c80e0f2..953f667 100644
+--- a/includes/publib/strutil.h
++++ b/includes/publib/strutil.h
+@@ -64,7 +64,6 @@ size_t strnlen(const char *, size_t);
+ char *strmaxcpy(char *, const char *, size_t);
+ char *strmove(char *, const char *);
+ char *strmtrim(char *);
+-char *strndup(const char *, size_t);
+ int stroverlap(const char *, const char *);
+ char *strrev(char *);
+ char *strright(const char *, size_t);
diff --git a/debian/patches/0002-Fix-undefined-behavior-warning.patch b/debian/patches/0002-Fix-undefined-behavior-warning.patch
new file mode 100644
index 0000000..3290dcb
--- /dev/null
+++ b/debian/patches/0002-Fix-undefined-behavior-warning.patch
@@ -0,0 +1,31 @@
+From: Robert Luberda <rob...@debian.org>
+Date: Mon, 18 Jan 2016 23:23:09 +0100
+Subject: Fix undefined behavior warning
+
+Fix off-by-one bug leading to the following warning
+given by gcc-5:
+
+base64/base64.c: In function 'base64_decode':
+base64/base64.c:117:27: warning: iteration 256u invokes undefined behavior [-Waggressive-loop-optimizations]
+       base64_to_sixtet[i] = -1;
+                           ^
+base64/base64.c:116:6: note: containing loop
+      for (i = 0; i <= UCHAR_MAX + 1; ++i)
+      ^
+---
+ base64/base64.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/base64/base64.c b/base64/base64.c
+index afd9d4a..3d4a3a7 100644
+--- a/base64/base64.c
++++ b/base64/base64.c
+@@ -113,7 +113,7 @@ size_t base64_decode(char *to, const char *from, size_t len) {
+ 
+     	if (!tab_init) {
+ 	    tab_init = 1;
+-	    for (i = 0; i <= UCHAR_MAX + 1; ++i)
++	    for (i = 0; i < UCHAR_MAX + 1; ++i)
+ 	    	base64_to_sixtet[i] = -1;
+ 	    for (i = 0; sixtet_to_base64[i] != '\0'; ++i)
+ 	    	base64_to_sixtet[sixtet_to_base64[i]] = i;
diff --git a/debian/patches/0003-Remove-Makefile-at-distclean.patch b/debian/patches/0003-Remove-Makefile-at-distclean.patch
new file mode 100644
index 0000000..c4505cd
--- /dev/null
+++ b/debian/patches/0003-Remove-Makefile-at-distclean.patch
@@ -0,0 +1,28 @@
+From: Robert Luberda <rob...@debian.org>
+Date: Mon, 18 Jan 2016 23:43:11 +0100
+Subject: Remove Makefile at distclean
+
+Make sure distclean target removes generated Makefile
+to be able to perform two builds in a row without causing
+dpkg to fail with:
+
+dpkg-source: info: building publib using existing ./publib_0.40.orig.tar.gz
+dpkg-source: info: local changes detected, the modified files are:
+ publib-0.40/Makefile
+---
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 8ba0382..721caf7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -300,7 +300,7 @@ clean mostlyclean :
+ 	$(RM) libpub.a */*.o */*.d
+ 
+ distclean maintainer-clean : clean
+-	$(RM) config.log config.status
++	$(RM) config.log config.status Makefile
+ 
+ install : libpub.a
+ 	$(PRE_INSTALL)
diff --git a/debian/patches/0004-Fix-spelling-errors-in-manpages.patch b/debian/patches/0004-Fix-spelling-errors-in-manpages.patch
new file mode 100644
index 0000000..829cc59
--- /dev/null
+++ b/debian/patches/0004-Fix-spelling-errors-in-manpages.patch
@@ -0,0 +1,185 @@
+From: Robert Luberda <rob...@debian.org>
+Date: Mon, 18 Jan 2016 23:28:47 +0100
+Subject: Fix spelling errors in manpages
+
+Fix the following spelling errors reported by lintian:
+
+I: publib-dev: spelling-error-in-manpage usr/share/man/man3/*.3pub.gz occurences occurrences
+I: publib-dev: spelling-error-in-manpage usr/share/man/man3/*.3pub.gz occured occurred
+---
+ man/memmem.3  | 2 +-
+ man/memrchr.3 | 4 ++--
+ man/memrmem.3 | 4 ++--
+ man/strdel.3  | 2 +-
+ man/strgsub.3 | 6 +++---
+ man/strrstr.3 | 6 +++---
+ man/strsub.3  | 6 +++---
+ man/strvars.3 | 2 +-
+ 8 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/man/memmem.3 b/man/memmem.3
+index 212848d..9e486d6 100644
+--- a/man/memmem.3
++++ b/man/memmem.3
+@@ -42,7 +42,7 @@ void *\fBmemmem\fR(const void *\fIv\fR, size_t \fIsize\fR,
+ in the memory block \fIv\fR (length \fIsize\fR bytes).
+ .SH "RETURN VALUE"
+ \fImemmem\fR returns a pointer to the first byte of the first
+-occurence it finds, or NULL if it doesn't find any occurence.
++occurrence it finds, or NULL if it doesn't find any occurrence.
+ .SH "SEE ALSO"
+ publib(3), memrmem(3), strstr(3), strrstr(3)
+ .SH AUTHOR
+diff --git a/man/memrchr.3 b/man/memrchr.3
+index fb30b1f..733fe99 100644
+--- a/man/memrchr.3
++++ b/man/memrchr.3
+@@ -31,13 +31,13 @@
+ .\"
+ .TH MEMRCHR 3 "C Programmer's Manual" Publib "C Programmer's Manual"
+ .SH NAME
+-memrchr \- find last occurence of a character within another memory block
++memrchr \- find last occurrence of a character within another memory block
+ .SH SYNOPSIS
+ .nf
+ #include <publib.h>
+ void *\fBmemrchr\fR(const void *\fIv\fR, int \fIc\fR, size_t \fIsize\fR);
+ .SH DESCRIPTION
+-\fImemrchr\fR finds the last occurence of character \fIc\fR within memory
++\fImemrchr\fR finds the last occurrence of character \fIc\fR within memory
+ block \fIv\fR, of length \fIsize\fR.
+ .SH "RETURN VALUE"
+ \fImemrchr\fR returns a pointer to the the match, if it finds any,
+diff --git a/man/memrmem.3 b/man/memrmem.3
+index 6f68be5..04191dd 100644
+--- a/man/memrmem.3
++++ b/man/memrmem.3
+@@ -31,14 +31,14 @@
+ .\"
+ .TH MEMRMEM 3 "C Programmer's Manual" Publib "C Programmer's Manual"
+ .SH NAME
+-memrmem \- find last occurence of memory block within another memory block
++memrmem \- find last occurrence of memory block within another memory block
+ .SH SYNOPSIS
+ .nf
+ #include <publib.h>
+ void *\fBmemrmem\fR(const void *\fIv\fR, size_t \fIsize\fR,
+                 const void *\fIpat\fR, size_t \fIpatsize\fR);
+ .SH DESCRIPTION
+-\fImemrmem\fR finds the last occurence of memory block \fIpat\fR within memory
++\fImemrmem\fR finds the last occurrence of memory block \fIpat\fR within memory
+ block \fIv\fR.
+ .SH "RETURN VALUE"
+ \fImemrmem\fR returns a pointer to the first byte of the match, if it finds any,
+diff --git a/man/strdel.3 b/man/strdel.3
+index e4f3d45..55e5717 100644
+--- a/man/strdel.3
++++ b/man/strdel.3
+@@ -43,7 +43,7 @@ in the string (not counting '\\0') are removed but no more.
+ .SH "RETURN VALUE"
+ \fIstrdel\fR returns its first argument.
+ .SH EXAMPLE
+-To change all occurences of "Pascal" in the input to "Yuck!", you might do
++To change all occurrences of "Pascal" in the input to "Yuck!", you might do
+ the following:
+ .sp 1
+ .nf
+diff --git a/man/strgsub.3 b/man/strgsub.3
+index 255fd97..e72ccf7 100644
+--- a/man/strgsub.3
++++ b/man/strgsub.3
+@@ -31,13 +31,13 @@
+ .\"
+ .TH STRGSUB 3 "C Programmer's Manual" Publib "C Programmer's Manual"
+ .SH NAME
+-strgsub \- substitute all occurences of pattern with another string
++strgsub \- substitute all occurrences of pattern with another string
+ .SH SYNOPSIS
+ .nf
+ #include <publib.h>
+ int \fBstrgsub\fR(char *\fIstr\fR, const char *\fIpat\fR, const char *\fIsub\fR, size_t \fImax\fR);
+ .SH DESCRIPTION
+-\fIstrgsub\fR finds all occurences of the pattern \fIpat\fR in the
++\fIstrgsub\fR finds all occurrences of the pattern \fIpat\fR in the
+ string \fIstr\fR (using a method similar to \fIstrstr\fR(3) to find
+ the occurrences, i.e., no regular expressions), and replaces each with
+ \fIsub\fR. If \fIpat\fR does not occur in \fIstr\fR, no substitution is made.
+@@ -45,7 +45,7 @@ The size (including the terminating '\\0') of the string after
+ the substitutions may be at most \fImax\fR chars.  If it would be larger,
+ no substitutions are made.
+ .PP
+-Of course, if \fIsub\fR is an empty string, the occurences of the pattern 
++Of course, if \fIsub\fR is an empty string, the occurrences of the pattern
+ are deleted from the string.
+ .SH "RETURN VALUE"
+ \fIstrgsub\fR returns the number of substitutions made, or -1 if the
+diff --git a/man/strrstr.3 b/man/strrstr.3
+index 56aad68..2ed6402 100644
+--- a/man/strrstr.3
++++ b/man/strrstr.3
+@@ -31,20 +31,20 @@
+ .\"
+ .TH STRRSTR 3 "C Programmer's Manual" Publib "C Programmer's Manual"
+ .SH NAME
+-strrstr \- locate last occurence of substring
++strrstr \- locate last occurrence of substring
+ .SH SYNOPSIS
+ .nf
+ #include <publib.h>
+ char *\fBstrrstr\fR(const char *\fIstr\fR, const char *\fIpat\fR);
+ .SH DESCRIPTION
+-\fIstrrstr\fR finds the last occurence of the string \fIpat\fR in
++\fIstrrstr\fR finds the last occurrence of the string \fIpat\fR in
+ the string \fIstr\fR.  The terminating '\\0' characters are not
+ compared.
+ .SH "RETURN VALUE"
+ \fIstrrstr\fR returns a pointer to the first character of the substring,
+ or \fBNULL\fR if the substring is not found.
+ .SH EXAMPLE
+-To print out everything on each line starting with the last occurence
++To print out everything on each line starting with the last occurrence
+ of "/* " on each line, you might use the following code:
+ .sp 1
+ .nf
+diff --git a/man/strsub.3 b/man/strsub.3
+index adb78db..c9c069f 100644
+--- a/man/strsub.3
++++ b/man/strsub.3
+@@ -31,13 +31,13 @@
+ .\"
+ .TH STRSUB 3 "C Programmer's Manual" Publib "C Programmer's Manual"
+ .SH NAME
+-strsub \- substitute first occurence of pattern with another string
++strsub \- substitute first occurrence of pattern with another string
+ .SH SYNOPSIS
+ .nf
+ #include <publib.h>
+ char *\fBstrsub\fR(char *\fIstr\fR, const char *\fIpat\fR, const char *\fIsub\fR);
+ .SH DESCRIPTION
+-\fIstrsub\fR finds the first occurence of the pattern \fIpat\fR in the
++\fIstrsub\fR finds the first occurrence of the pattern \fIpat\fR in the
+ string \fIstr\fR (using a method similar to \fIstrstr\fR(3), i.e., no
+ regular expressions), and replaces it with \fIsub\fR. 
+ If \fIpat\fR does not occur in \fIstr\fR, no substitution is made.
+@@ -48,7 +48,7 @@ the string.
+ \fIstrsub\fR returns a pointer to the first character after the substitution,
+ or NULL if no substitution was made.
+ .SH EXAMPLE
+-To substitute up to two occurences of "foo" with "bar" in a line,
++To substitute up to two occurrences of "foo" with "bar" in a line,
+ one might do the following.
+ .sp 1
+ .nf
+diff --git a/man/strvars.3 b/man/strvars.3
+index f21cd1e..8101fb3 100644
+--- a/man/strvars.3
++++ b/man/strvars.3
+@@ -50,7 +50,7 @@ It is given the name of the variable as its argument, and must return
+ a pointer to the value, or NULL if that variable doesn't exist.
+ .SH "RETURN VALUE"
+ \fIstrvars\fR will return 0 if successful, or NULL if an
+-error occured (malformed input string, result too big, or unknown variable).
++error occurred (malformed input string, result too big, or unknown variable).
+ .SH EXAMPLE
+ To replace references to environment variables, one would the following.
+ .sp 1
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..638d049
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+0001-Remove-strndup.patch
+0002-Fix-undefined-behavior-warning.patch
+0003-Remove-Makefile-at-distclean.patch
+0004-Fix-spelling-errors-in-manpages.patch
-- 
2.7.0.rc3

Reply via email to