Bug#858553: Re Bug#858553: [lazarus-doc-1.6] Package lazarus-doc-1.6 is empty and does not ship documentation files

2017-04-03 Thread Paul Gevers
Hi,

I finally found the file that is causing the issue.

When I run the attached command (debug.sh) in the lazarus tree in the
docs/html/lcl directory, with the attached inputfile.txt file, I get the
same error as during the build. When I remove the line containing
"../../../lcl/extctrls.pp -Fi../../../lcl/include" the build command is
successful. Does anybody see what is wrong with that file?

Paul

By the way, the fpdoc command return exit code 0 on failure

../../../lcl/alllclunits.pp -Fi../../../lcl/include
../../../lcl/arrow.pp -Fi../../../lcl/include
../../../lcl/asyncprocess.pp -Fi../../../lcl/include
../../../lcl/buttonpanel.pas -Fi../../../lcl/include
../../../lcl/buttons.pp -Fi../../../lcl/include
../../../lcl/calendar.pp -Fi../../../lcl/include
../../../lcl/checklst.pas -Fi../../../lcl/include
../../../lcl/clipbrd.pp -Fi../../../lcl/include
../../../lcl/colorbox.pas -Fi../../../lcl/include
../../../lcl/comboex.pas -Fi../../../lcl/include
../../../lcl/comctrls.pp -Fi../../../lcl/include
../../../lcl/controls.pp -Fi../../../lcl/include
../../../lcl/customdrawncontrols.pas -Fi../../../lcl/include
../../../lcl/customdrawndrawers.pas -Fi../../../lcl/include
../../../lcl/customdrawn_android.pas -Fi../../../lcl/include
../../../lcl/customdrawn_common.pas -Fi../../../lcl/include
../../../lcl/customdrawn_winxp.pas -Fi../../../lcl/include
../../../lcl/customtimer.pas -Fi../../../lcl/include
../../../lcl/dbactns.pp -Fi../../../lcl/include
../../../lcl/dbctrls.pp -Fi../../../lcl/include
../../../lcl/dbextctrls.pp -Fi../../../lcl/include
../../../lcl/dbgrids.pas -Fi../../../lcl/include
../../../lcl/defaulttranslator.pas -Fi../../../lcl/include
../../../lcl/dialogs.pp -Fi../../../lcl/include
../../../lcl/dynamicarray.pas -Fi../../../lcl/include
../../../lcl/dynhasharray.pp -Fi../../../lcl/include
../../../lcl/dynqueue.pas -Fi../../../lcl/include
../../../lcl/editbtn.pas -Fi../../../lcl/include
../../../lcl/extctrls.pp -Fi../../../lcl/include
../../../lcl/extdlgs.pas -Fi../../../lcl/include
../../../lcl/extendedstrings.pas -Fi../../../lcl/include
../../../lcl/extgraphics.pas -Fi../../../lcl/include
../../../lcl/filectrl.pp -Fi../../../lcl/include
../../../lcl/forms.pp -Fi../../../lcl/include
../../../lcl/graphics.pp -Fi../../../lcl/include
../../../lcl/graphmath.pp -Fi../../../lcl/include
../../../lcl/graphtype.pp -Fi../../../lcl/include
../../../lcl/graphutil.pp -Fi../../../lcl/include
../../../lcl/grids.pas -Fi../../../lcl/include
../../../lcl/helpintfs.pas -Fi../../../lcl/include
../../../lcl/icnstypes.pas -Fi../../../lcl/include
../../../lcl/imagelistcache.pas -Fi../../../lcl/include
../../../lcl/imglist.pp -Fi../../../lcl/include
../../../lcl/industrialbase.pp -Fi../../../lcl/include
../../../lcl/inipropstorage.pas -Fi../../../lcl/include
../../../lcl/interfacebase.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkdef.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkfontcache.pas -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkglobals.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkint.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkmsgqueue.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkproc.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwinapiwindow.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsbuttons.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwscalendar.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwschecklst.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwscomctrls.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwscontrols.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsdialogs.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsextctrls.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsextdlgs.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsforms.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsgrids.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsimglist.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsmenus.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwspairsplitter.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsspin.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/gtkwsstdctrls.pp -Fi../../../lcl/include
../../../lcl/interfaces/gtk/interfaces.pp -Fi../../../lcl/include
../../../lcl/interfaces/win32/win32int.pp -Fi../../../lcl/include
../../../lcl/intfgraphics.pas -Fi../../../lcl/include
../../../lcl/lazcanvas.pas -Fi../../../lcl/include
../../../lcl/lazdeviceapis.pas -Fi../../../lcl/include
../../../lcl/lazdialogs.pas -Fi../../../lcl/include
../../../lcl/lazfreetypeintfdrawer.pas -Fi../../../lcl/include
../../../lcl/lazhelphtml.pas -Fi../../../lcl/include
../../../lcl/lazhelpintf.pas -Fi../../../lcl/include
../../../lcl/lazlinkedlist.pas -Fi../../../lcl/include
../../../lcl/lazregions.pas -Fi../../../lcl/include
../../../lcl/lclclasses.pp -Fi../../../lcl/include

Bug#858553: Re Bug#858553: [lazarus-doc-1.6] Package lazarus-doc-1.6 is empty and does not ship documentation files

2017-04-02 Thread Paul Gevers
Control: reassing -1 src:lazarus
Control: found -1 1.6.2+dfsg-1

On 01-04-17 21:45, Paul Gevers wrote:
> First shot at debugging from my side.

Second shot...

> 2) lazarus may have xml files that need updating.

Well, turns out that at least the error handling is going wrong in the
lazarus package. I had other errors introduced, and the build still
continued. I have no idea why yet, but this is hinting at lazarus
d/rules somehow. Therefor, reassigning back.

Anyways, as noted before the magic is going on in
docs/html/build_lcl_docs.lpr. It is that file that in the end creates
the code that runs fpdoc. I added a debug statement and found the fpdoc
call that was executed (or at least part of it, see ¹²). Because of the
failure to error out in a different situation as well, I stopped chasing
the error ignoring for a moment and found that in docs/xml/ there are
functions to update the xml files that are apparently causing the issues
or could fix the issue.

I haven't found the right incantations for multi_makeskel.pl yet to
regenerate the xml files. With my current tries, I seem to:
a) get ISO-8859-1 instead of UTF-8
b) loose information about the nodes that should be in the xml tree.

Will continue later.

Paul

¹
http://debomatic-amd64.debian.net/distribution#unstable/lazarus/1.6.2+dfsg-2/buildlog
² fpdoc --content=lcl.xct --package=lcl --descr=../../xml/lcl/lcl.xml
--input=@inputfile.txt  --format=html
--descr=../../xml/lcl/actnlist.xml --descr=../../xml/lcl/alllclunits.xml
--descr=../../xml/lcl/arrow.xml --descr=../../xml/lcl/asyncprocess.xml
--descr=../../xml/lcl/buttonpanel.xml . etc 



signature.asc
Description: OpenPGP digital signature


Bug#858553: Re Bug#858553: [lazarus-doc-1.6] Package lazarus-doc-1.6 is empty and does not ship documentation files

2017-04-01 Thread Paul Gevers
First shot at debugging from my side.

Because the error says:
Exception at 004BDB6C: EDOMError:
EDOMError in DOMDocument.CreateElement.

I searched for "DOMDocument.CreateElement". Low and behold, I find
something interesting in fpcsrc/packages/fcl-xml/src/dom.pp:

function TDOMDocument.CreateElement(const tagName: DOMString): TDOMElement;
begin
  if not IsXmlName(tagName) then
raise EDOMError.Create(INVALID_CHARACTER_ERR,
'DOMDocument.CreateElement');
  TDOMNode(Result) := Alloc(TDOMElement);

Result.Create(Self);http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision=2042
  Result.FNSI.QName := FNames.FindOrAdd(DOMPChar(tagName), Length(tagName));
  Result.AttachDefaultAttrs;
end;

First idea that pops into my mind is: it looks like the source of
lazarus has characters that fp-docs can't convert. Apparently an error
is raised, but converted by fp-docs into exit code 0.

Interesting to note, is the delta between 2.4.6 and 3.0.0:
-  if not IsXmlName(tagName, FXMLVersion = xmlVersion11) then
+  if not IsXmlName(tagName) then
which was done in this commit:
http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=revision=20422

Sending now as I am about to stop for today, but summary as I currently
suspect the situation is:
1) fp-doc fails to create error exit code during error
2) lazarus may have xml files that need updating.

Probably the next time I spend time on this will be to bisect the
documentation creation to see which file(s) need fixing -> to
potentially solve issue 2 if that is indeed the issue.

Paul




signature.asc
Description: OpenPGP digital signature