Bug 555526

Summary: #if !defined(X) broken in doxygen 1.6.2
Product: [Fedora] Fedora Reporter: Mattias Ellert <mattias.ellert>
Component: doxygenAssignee: Than Ngo <than>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: rawhideCC: jlaska, than
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-02-12 18:44:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 555426, 555482    
Attachments:
Description Flags
testcase
none
testcase - this is for a different issue though none

Description Mattias Ellert 2010-01-14 17:51:43 UTC
Description of problem:

There is a bug in doxygen version 1.6.2 where

#if !defined(X)

is not equivalent to

#ifndef X

I managed to build one of my FTBFS packages with doxygen 1.6.2 if I
changed all the multiple inclusion checks at the top of the header files
that used the first form to use the second form instead.

Version-Release number of selected component (if applicable):

doxygen-1.6.2-1.fc13

How reproducible:

Always

Steps to Reproduce:

See e.g. the logs of FTBFS bugs that this bug blocks
  
Actual results:

FTBFS builds

Expected results:

Working builds

Comment 1 Than Ngo 2010-01-26 16:24:40 UTC
could you please try if the issue shows up ih the 1.6.1? thanks

Comment 2 Mattias Ellert 2010-01-27 07:25:45 UTC
This bug was introduced in version 1.6.2, it does not affect earlier versions.

Comment 3 Mattias Ellert 2010-02-08 22:17:25 UTC
This bug has been fixed in upstream's svn tag Release_1_6_2_20100208:

http://doxygen.svn.sourceforge.net/svnroot/doxygen/tags/Release_1_6_2_20100208

Can we please have an update based on this tag in rawhide/dist-f13 so that it will be possible to submit updates to packages that use doxygen during the build again. I have many pending updates that are waiting for doxygen to start working again.

Comment 4 Mattias Ellert 2010-02-10 08:07:59 UTC
I have created a SRPM from the working svn tag. It is available here:

http://www.ellert.se/doxygen-1.6.2-2.20100208.fc13.src.rpm

Please fix this bug as soon as possible. The dist-f13 buildroot has been broken for 5 weeks, and now the bug is finally fixable.

Comment 5 Than Ngo 2010-02-10 12:20:21 UTC
could you please add a testcase or packages which shows this issue so i can reprodurce this problem? thanks

Comment 6 Mattias Ellert 2010-02-10 14:02:23 UTC
Created attachment 389997 [details]
testcase

Here is a test case as requested.

With doxygen 1.6.1 which is not affected the following man pages are created:

[ellert@ellert test-555526]$ ls 1.6.1/man/man3/
A.3  B.3  C.3

With doxygen 1.6.2 only one man page is created:

[ellert@ellert test-555526]$ ls 1.6.2/man/man3/
A.3

With 1.6.2-20100124, which is partially fixed, you get two:

[ellert@ellert test-555526]$ ls 1.6.2-20100124/man/man3/
A.3  B.3

And with 1.6.2-20100208 everything is back to working again:

[ellert@ellert test-555526]$ ls 1.6.2-20100208/man/man3/
A.3  B.3  C.3

Comment 7 Mattias Ellert 2010-02-10 15:44:52 UTC
Created attachment 390031 [details]
testcase - this is for a different issue though

Here is a other bug that first appeared in 1.6.2 and that is also fixed by updating to the 1.6.2-20100208 svn tag. This bug introduces a doubling of underscores in some generated man page file names.

This bug is in upstreams bugzilla too:
https://bugzilla.gnome.org/show_bug.cgi?id=608227

This is of course a completely different bug, so it might deserve a Fedora bugzilla entry of its own.

[ellert@ellert test-underscore]$ ls 1.6.1/man/man3
test_with_underscores.3

[ellert@ellert test-underscore]$ ls 1.6.2/man/man3
test__with__underscores.3

[ellert@ellert test-underscore]$ ls 1.6.2-20100124/man/man3
test__with__underscores.3

[ellert@ellert test-underscore]$ ls 1.6.2-20100208/man/man3
test_with_underscores.3

Comment 8 James Laska 2010-02-12 16:17:24 UTC
Discussed during the Blocker review meeting.  It's not clear from the comments why this issue should be considered an Alpha release blocker.  The decision was to remove the from the F13Alpha blocker list.  If you feel this is a mistake, you may add this back while including an impact assessment as to why this issue should blocker the alpha release (see https://fedoraproject.org/wiki/Fedora_13_Alpha_Release_Criteria).  Thanks!

Comment 9 Than Ngo 2010-02-12 18:44:10 UTC
it's fixed in doxygen-1.6.2-1.svn20100208.fc13.

Comment 10 Mattias Ellert 2010-02-13 09:17:41 UTC
Thank you very very very very much!