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