Debian Bug report logs -
#1000837
krb5: differing build paths trigger different documentation
Reply or subscribe to this bug.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, Sam Hartman <hartmans@debian.org>:
Bug#1000837; Package src:krb5.
(Tue, 30 Nov 2021 00:57:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@reproducible-builds.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, Sam Hartman <hartmans@debian.org>.
(Tue, 30 Nov 2021 00:57:03 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Source: krb5
Severity: minor
User: reproducible-builds@lists.alioth.debian.org
Usertags: buildpath
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org
I have not observed this in the tests.reproducible-builds.org history,
although krb5 currently FTBFS, but when building krb5 locally using
reprotest, I am able to consistently produce a different build that is
triggered when the build path is different between two builds.
To reproduce, from the checked out krb5 debian packaging dir:
reprotest --min-cpus=1 --vary=-all,+build_path auto -- null
Which should keep everything essentially identical, except the build
path.
For some odd reason the different build path ends up in one build
consistently removing a space in a few places:
./usr/share/doc/krb5-doc/appdev/refs/api/krb5_get_init_creds_opt_set_pa.html
-<p>This function allows thecaller to supply options for...
+<p>This function allows the caller to supply options for...
"thecaller" vs. "the caller".
Full diffoscope output attached.
I have also attached a patch that works around this issue and builds
reproducibly, but it should not actually be used as it obviously leaves
cruft in the documentation that should not be there.
This is presumably actually a bug in sphinx or doxygen... though I'm not
sure I've observed this behavior in another package, so maybe there is
something specific in the krb5 documentation...
I try to avoid submitting bugs without patches, but this one is baffling
enough I hope to get more eyes on it!
live well,
vagrant
[experiment-1.diffoscope.out (application/octet-stream, attachment)]
[hackishworkaround.patch (text/x-diff, inline)]
diff --git a/src/include/krb5/krb5.hin b/src/include/krb5/krb5.hin
index 79761f6d2..93864a04c 100644
--- a/src/include/krb5/krb5.hin
+++ b/src/include/krb5/krb5.hin
@@ -4045,7 +4045,7 @@ krb5_build_principal_va(krb5_context context,
* @param [out] princ Principal structure
* @param [in] rlen Realm name length
* @param [in] realm Realm name
- * @param [in] ap List of char * components, ending with NULL
+ * @param [in] ap List of char * components, ending withQNULL
*
* Similar to krb5_build_principal(), this function builds a principal name,
* but its name components are specified as a va_list.
@@ -7011,7 +7011,7 @@ typedef struct _krb5_gic_opt_pa_data {
* @param [in] attr Preauthentication option name
* @param [in] value Preauthentication option value
*
- * This function allows the caller to supply options for preauthentication.
+ * This function allows theXcaller to supply options for preauthentication.
* The values of @a attr and @a value are supplied to each preauthentication
* module available within @a context.
*/
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Sam Hartman <hartmans@debian.org>:
Bug#1000837; Package src:krb5.
(Wed, 20 Apr 2022 22:09:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@reproducible-builds.org>:
Extra info received and forwarded to list. Copy sent to Sam Hartman <hartmans@debian.org>.
(Wed, 20 Apr 2022 22:09:03 GMT) (full text, mbox, link).
Message #10 received at 1000837@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On 2021-11-29, Vagrant Cascadian wrote:
> I have not observed this in the tests.reproducible-builds.org history,
> although krb5 currently FTBFS
And now that the FTBFS is fixed, it does appear on
tests.reproducible-builds.org for amd64, i386, arm64 and armhf
architectures for both unstable and experimental, where build paths are
varied:
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/krb5.html
The same source built in the current testing suite (bookworm) build
reproducibly, where build paths are not varied.
> For some odd reason the different build path ends up in one build
> consistently removing a space in a few places:
>
> ./usr/share/doc/krb5-doc/appdev/refs/api/krb5_get_init_creds_opt_set_pa.html
>
> -<p>This function allows thecaller to supply options for...
> +<p>This function allows the caller to supply options for...
>
> "thecaller" vs. "the caller".
...
> I try to avoid submitting bugs without patches, but this one is baffling
> enough I hope to get more eyes on it!
Still as perplexed as before!
live well,
vagrant
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org:
Bug#1000837; Package src:krb5.
(Wed, 20 Apr 2022 23:45:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Sam Hartman <hartmans@debian.org>:
Extra info received and forwarded to list.
(Wed, 20 Apr 2022 23:45:03 GMT) (full text, mbox, link).
Message #15 received at 1000837@bugs.debian.org (full text, mbox, reply):
Hi.
I've looked over your report and baffling patch.
This is really strange, and I don't have much to add.
It seems like it might be related to the pathsubst rules in
src/doc/Makefile.in.
But I don't see the build directory getting used there.
Information forwarded
to debian-bugs-dist@lists.debian.org, Sam Hartman <hartmans@debian.org>:
Bug#1000837; Package src:krb5.
(Thu, 28 Apr 2022 16:57:02 GMT) (full text, mbox, link).
Acknowledgement sent
to "Chris Lamb" <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Sam Hartman <hartmans@debian.org>.
(Thu, 28 Apr 2022 16:57:02 GMT) (full text, mbox, link).
Message #20 received at 1000837@bugs.debian.org (full text, mbox, reply):
Hey folks,
> I've looked over your report and baffling patch.
> This is really strange, and I don't have much to add.
>
> It seems like it might be related to the pathsubst rules in
> src/doc/Makefile.in.
> But I don't see the build directory getting used there.
Oh ho ho, this is fun! So, curiously, I can't reproduce this outside of
reprotest (with a build path variation).
Hm yes I don't immediately see how the pathsubst rules might be doing
this in practice either. Another interesting candidate might be the
doxy.py apparatus:
103 # Use doxygen to generate API documentation, translate it into RST
104 # format, and then create a composite of $(docsrc)'s RST and the
105 # generated files in rst_composite. Used by the html and substhtml targets.
106 composite: Doxyfile $(docsrc)/version.py
107 rm -rf doxy rst_apiref rst_composite
108 $(DOXYGEN)
109 (cwd=`pwd`; cd $(docsrc)/tools && \
110 $(PYTHON) doxy.py -i $$cwd/doxy/xml -o $$cwd/rst_apiref)
It is of course feasible that this parser (or one of its dependencies)
has a bug.
Two other drive-thru suggestions:
* configgen.py has a bunch of global search-replaces that might be
misfiring. There's also a potentially suspicious newline snarfing
code that could conceivably be buggy as well:
# replace \ by \\, replace " by \", and ' ' by a newline with end string
# and start string at next line
docC = []
for line in split_doc:
if (line.strip() != "<br/>"):
docC.append(line.strip().replace('\\', '\\\\').
replace('"', '\\"').replace("<br>", ""))
* Memory corruption due to undefined behaviour somewhere in some
parser. (Sam, we often call this a "docbook-to-man issue", not
because the problem lies there, but due to the classic/notorious
reproducible bug #842635 in that package.)
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Wed May 17 09:18:58 2023;
Machine Name:
bembo
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.