[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#859668: marked as done (unblock: lazarus/1.6.2+dfsg-2)



Your message dated Thu, 06 Apr 2017 07:49:00 +0000
with message-id <dd57db4a-a69f-0576-0bed-ef1a44fa4efd@thykier.net>
and subject line Re: Bug#859668: unblock: lazarus/1.6.2+dfsg-2
has caused the Debian Bug report #859668,
regarding unblock: lazarus/1.6.2+dfsg-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
859668: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859668
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Please unblock package lazarus

Dear release managers,

The current package of lazarus-doc-1.6 is as good as empty. It lacks the
documentation it was meant to ship because fpdoc, the Free Pascal documentation
generator was failing silently (i.e. with exit code 0) to generate the
documentation (bug 858553).

After I was able to bisect the line where it was actually failing on, upstream
has been so helpfull to fix the issue.

Please find the debdiff attached.

unblock lazarus/1.6.2+dfsg-2

- -- System Information:
Debian Release: 9.0
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (200, 'testing'), (50, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEWLZtSHNr6TsFLeZynFyZ6wW9dQoFAljlRNsACgkQnFyZ6wW9
dQrddggAiTFCYyTCH1BfIKf4BSNhTD5YuUr8gCNOlCX2IyqaBG1+YxERf1oqzuxX
39/3QcXdEn/QC+Sk1SNBftcRvV4sy2JY5jDS85z1w6anZiHjC28HWdGPUZi7o74R
tGiltPjGTUbLtWGyuyBBVC2CiqCzjPuJiBk5MS/s5UodTv52LQzFiyWw56M+vp0O
2DWRMHRdvq50C3VTjxvZhEMYhFyOrbNpgE3V4dyNVCN+yGIADICKtzMHA5CqadFO
CJtx/Yr6D0VceGhraiWm28+v7Nf5td+Iim9h2kxw5qVmmkD8O/Xitelth0XkxLg5
xGGXtHc57NXecFsZ6mUEFEuiJGbWiw==
=WgTo
-----END PGP SIGNATURE-----
diff -Nru lazarus-1.6.2+dfsg/debian/changelog lazarus-1.6.2+dfsg/debian/changelog
--- lazarus-1.6.2+dfsg/debian/changelog	2016-12-02 08:40:55.000000000 +0100
+++ lazarus-1.6.2+dfsg/debian/changelog	2017-04-05 20:46:22.000000000 +0200
@@ -1,3 +1,10 @@
+lazarus (1.6.2+dfsg-2) unstable; urgency=medium
+
+  * Add fix-fpdoc-crashes-on-lazarus-documentation.patch to prevent the
+    lazarus-doc-1.6 package from being nearly empty (Closes: #858553)
+
+ -- Paul Gevers <elbrus@debian.org>  Wed, 05 Apr 2017 20:46:22 +0200
+
 lazarus (1.6.2+dfsg-1) unstable; urgency=medium
 
   * New upstream bugfix release
diff -Nru lazarus-1.6.2+dfsg/debian/patches/fix-fpdoc-crashes-on-lazarus-documentation.patch lazarus-1.6.2+dfsg/debian/patches/fix-fpdoc-crashes-on-lazarus-documentation.patch
--- lazarus-1.6.2+dfsg/debian/patches/fix-fpdoc-crashes-on-lazarus-documentation.patch	1970-01-01 01:00:00.000000000 +0100
+++ lazarus-1.6.2+dfsg/debian/patches/fix-fpdoc-crashes-on-lazarus-documentation.patch	2017-04-05 20:33:01.000000000 +0200
@@ -0,0 +1,633 @@
+Description: fpdoc fails to build the documentation leaving the documentation
+ package empty
+Author: Mattias Gaertner <nc-gaertnma@netcologne.de>
+Bug-Debian: http://bugs.debian.org/858553
+Source:
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/lcl/graphics.pp?r1=54518&r2=54517&pathrev=54518&root=lazarus&view=patch
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/docs/xml/lcl/graphics.xml?r1=54518&r2=54517&pathrev=54518&root=lazarus&view=patch
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/docs/xml/lcl/forms.xml?r1=54518&r2=54517&pathrev=54518&root=lazarus&view=patch
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/docs/xml/lcl/extctrls.xml?r1=54518&r2=54517&pathrev=54518&root=lazarus&view=patch
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/lcl/include/lcl_defines.inc?r1=54518&r2=54517&pathrev=54518&root=lazarus&view=patch
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/docs/xml/lcl/graphics.xml?r1=54519&r2=54518&pathrev=54519&root=lazarus&view=patch
+ http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/fixes_1_6/lcl/extctrls.pp?root=lazarus&r1=52280&r2=54527&view=patch
+Index: lazarus/docs/xml/lcl/extctrls.xml
+===================================================================
+--- lazarus.orig/docs/xml/lcl/extctrls.xml
++++ lazarus/docs/xml/lcl/extctrls.xml
+@@ -6038,8 +6038,8 @@ will copy the <var>contents</var> of the
+       <element name="TIdleTimer.OnTimer" link="#LCL.CustomTimer.TCustomTimer.OnTimer"/>
+       <element name="TIdleTimer.OnStartTimer" link="#LCL.CustomTimer.TCustomTimer.OnStartTimer"/>
+       <element name="TIdleTimer.OnStopTimer" link="#LCL.CustomTimer.TCustomTimer.OnStopTimer"/>
+-    <element name="TFlowPanel"><short>Container with flow layout of controls placed in it.</short><descr>Use TFloatPanel if you need a container with float layout. The Anchors and Align properties of child controls are ignored. 
+-<p>The floating direction is determined with <link id="#LCLBase.extctrls.TCustomFlowPanel.FlowStyle">FlowStyle</link> property.</p>
++    <element name="TFlowPanel"><short>Container with flow layout of controls placed in it.</short><descr>Use TFloatPanel if you need a container with float layout. The Anchors and Align properties of child controls are ignored.<br/>
++The floating direction is determined with <link id="#LCLBase.extctrls.TCustomFlowPanel.FlowStyle">FlowStyle</link> property.<br/>
+         </descr>
+       </element><element name="TCustomFlowPanel.AutoWrap"><short>Determine if controls in TCustomFlowPanel are wrapped.</short>
+       </element><element name="TCustomFlowPanel.ControlList"><short>Use ControlList to set extra options of flow panel controls.</short>
+Index: lazarus/docs/xml/lcl/forms.xml
+===================================================================
+--- lazarus.orig/docs/xml/lcl/forms.xml
++++ lazarus/docs/xml/lcl/forms.xml
+@@ -9252,11 +9252,13 @@
+         <short>When True every form must have a resource (e.g. a .res file). An exception is raised if the resource is missing when creating a form.</short>
+         <descr>The form resource is the lfm file compiled into the executable of your application. For this flag it does not matter if it was compiled via an lrs file or via fpcres. The resource is automatically loaded by TForm and therfore any descendant when it is created via Create(Owner). If the resource is missing there is something wrong with either a resource or the unit which contains the faulty form. If the flag is false you will see a blank form and probably search a long time what is wrong. If you set this flag to true you get an exception. 
+ 
+-For creating forms without resources you have 3 options:
+-<ul><li>Create a TForm class (not a descendant)</li><li>Construct your form using the CreateNew() constructor.</li><li>It is also possible to disable the exception by setting the global variable RequireDerivedFormResource to False. </li>
+-          </ul>
+-History:
+-
++For creating forms without resources you have 3 options:<br/>
++* Create a TForm class (not a descendant)<br/>
++* Construct your form using the CreateNew() constructor.<br/>
++* It is also possible to disable the exception by setting the global variable RequireDerivedFormResource to False.<br/>
++<br/>
++History:<br/>
++<br/>
+ Before 0.9.31 there was no exception. Therefore some resourceless forms might use the standard constructor Create(Owner) and will now get exceptions. This change is Delphi compatible and compatible with TFrame and TDataModule components.
+ </descr>
+         <seealso>
+Index: lazarus/docs/xml/lcl/graphics.xml
+===================================================================
+--- lazarus.orig/docs/xml/lcl/graphics.xml
++++ lazarus/docs/xml/lcl/graphics.xml
+@@ -292,9 +292,9 @@
+           <var>Font</var>
+         </short>
+         <descr>
+-          <p>New <var>TFont</var> instances are initialized with the values in this structure.</p>
+-          <p>About font default values: The default font is chosen by the interfaces depending on the context. </p>
+-          <p>For example, there can be a different default font for a button and a groupbox.</p>
++          New <var>TFont</var> instances are initialized with the values in this structure.<br/>
++          About font default values: The default font is chosen by the interfaces depending on the context. <br/>
++          For example, there can be a different default font for a button and a groupbox.<br/>
+         </descr>
+         <seealso>
+           <link id="TFontData"/>
+@@ -316,25 +316,25 @@
+       <!-- enumeration value Visibility: default -->
+       <element name="TTextLayout.tlBottom">
+         <short/>
++        <descr/>
+       </element>
+       <!-- record type Visibility: default -->
+       <element name="TTextStyle">
+         <short>The <var>Style</var> of the <var>Text</var> to be drawn in a rectangle</short>
+-        <descr>
+-          <p>The <var>Style</var> of the <var>Text</var> to be drawn in a rectangle</p>
+-          <ul>
+-            <li>Alignment :  TextRect Only: horizontal alignment</li>
+-            <li>Layout    : TextRect Only: vertical alignment</li>
+-            <li>SingleLine: boolean;    If WordBreak is false then process #13, #10 as standard chars and perform no Line breaking.</li>
+-            <li>Clipping  : boolean;    TextRect Only: Clip Text to passed Rectangle</li>
+-            <li>ExpandTabs: boolean;    currently ignored</li>
+-            <li>ShowPrefix: boolean;    TextRect Only: Process first single ampersand per line as an underscore and draw double ampersand as a single ampersand</li>
+-            <li>Wordbreak : boolean;    TextRect Only: If line of text is too long to fit between left and right boundaries,   try to break into multiple lines between words</li>
+-            <li>Opaque    : boolean;    TextRect: Fills background with current Brush</li>
+-            <li>Opaque    :             TextOut : Fills background with current foreground color</li>
+-            <li>SystemFont: Boolean;    Use the system font instead of Canvas Font</li>
+-            <li>RightToLeft: Boolean;   For RightToLeft text reading (Text Direction)</li>
+-          </ul>
++        <descr>The <var>Style</var> of the <var>Text</var> to be drawn in a rectangle<br/>
++           <br/>
++            * Alignment :  TextRect Only: horizontal alignment<br/>
++            * Layout    : TextRect Only: vertical alignment<br/>
++            * SingleLine: boolean;    If WordBreak is false then process #13, #10 as standard chars and perform no Line breaking.<br/>
++            * Clipping  : boolean;    TextRect Only: Clip Text to passed Rectangle<br/>
++            * ExpandTabs: boolean;    currently ignored<br/>
++            * ShowPrefix: boolean;    TextRect Only: Process first single ampersand per line as an underscore and draw double ampersand as a single ampersand<br/>
++            * Wordbreak : boolean;    TextRect Only: If line of text is too long to fit between left and right boundaries,   try to break into multiple lines between words<br/>
++            * Opaque    : boolean;    TextRect: Fills background with current Brush<br/>
++            * Opaque    :             TextOut : Fills background with current foreground color<br/>
++            * SystemFont: Boolean;    Use the system font instead of Canvas Font<br/>
++            * RightToLeft: Boolean;   For RightToLeft text reading (Text Direction)<br/>
++          <br/>
+         </descr>
+       </element>
+       <!-- variable Visibility: default -->
+@@ -1763,8 +1763,8 @@ Since FPC 2.0 the LCL uses TFPCanvasHelp
+         <short>The <var>Font</var>  to be used for drawing <var>Text</var>
+         </short>
+         <descr>
+-          <p>Most of the data about the font are dealt with by the protected procedures GetData and SetData which operate on TFontData</p>
+-          <p>Individual properties such as Character Set, colour and size can be accessed in the public area</p>
++          Most of the data about the font are dealt with by the protected procedures GetData and SetData which operate on TFontData<br/>
++          Individual properties such as Character Set, colour and size can be accessed in the public area<br/>
+         </descr>
+       </element>
+       <!-- variable Visibility: private -->
+@@ -2104,10 +2104,9 @@ Since FPC 2.0 the LCL uses TFPCanvasHelp
+       <!-- constructor Visibility: public -->
+       <element name="TFont.Create">
+         <descr>
+-          <p>
+             <var>Create</var> - constructor for 
+             <var>TFont</var>: Opens a new instance of the class , calling inherited 
+-            <var>Create</var> and sets defaults for character set, colour, size etc</p>
++            <var>Create</var> and sets defaults for character set, colour, size etc
+         </descr>
+         <short>
+           <var>Create</var> - constructor for 
+@@ -2133,12 +2132,10 @@ Since FPC 2.0 the LCL uses TFPCanvasHelp
+         <short>
+           <var>Assign</var> - copies the source settings to itself</short>
+         <descr>
+-          <p>Method: <var>TFont.Assign</var>
+-          </p>
+-          <p>
+-            <var>Source</var>: another font</p>
+-          <p>Returns:  nothing</p>
+-          <p>Copies the source settings to itself</p>
++          Method: <var>TFont.Assign</var>
++          <var>Source</var>: another font<br/>
++          Returns:  nothing<br/>
++          Copies the source settings to itself<br/>
+         </descr>
+         <seealso>
+           <link id="#rtl.Classes.TPersistent.Assign"/>
+@@ -3594,86 +3591,48 @@ If the file is not of the right format,
+       <element name="TPicture">
+         <short>
+           <var>TPicture</var> is a  
+-          
+-          
+-          
+           <var>TGraphic</var>  container, used in place of a  
+-          
+-          
+-          
+           <var>TGraphic</var> if the graphic can be of any 
+-          
+-          
+-          
+           <var>TGraphic</var> class.</short>
+         <descr>
+-          <p>
+             <var>TPicture</var> is a 
+-            
+-            
+-            
+             <var>TGraphic</var> container.  It is used in place of a 
+-            
+-            
+-            
+             <var>TGraphic</var> if the graphic can be of any 
+-            
+-            
+-            
+-            <var>TGraphic</var> class. </p>
+-          <p>It is not a direct descendant of <var>TGraphic</var>, so you will not see <var>TGraphic</var> listed in the <var>Inheritance</var> chart, but it contains a property <var>Graphic</var>, of type <var>TGraphic</var>, so can contain all the properties of a <var>TGraphic</var>
+-          </p>
+-          <p>Defines many <b>private</b> methods for getting and storing various sorts of images such as bitmaps, pixmaps, icons, PNGs etc</p>
+-          <p>It does not itself contain a defined area for displaying the image, but this is supplied by the descendant classes such as BitMap, PixMap, PNG or Icon, which define a <var>Canvas</var> property.</p>
+-          <p>
++            <var>TGraphic</var> class. <br/>
++          It is not a direct descendant of <var>TGraphic</var>, so you will not see <var>TGraphic</var> listed in the <var>Inheritance</var> chart, but it contains a property <var>Graphic</var>, of type <var>TGraphic</var>, so can contain all the properties of a <var>TGraphic</var>
++          <br/>
++          Defines many <b>private</b> methods for getting and storing various sorts of images such as bitmaps, pixmaps, icons, PNGs etc<br/>
++          It does not itself contain a defined area for displaying the image, but this is supplied by the descendant classes such as BitMap, PixMap, PNG or Icon, which define a <var>Canvas</var> property.<br/>
+             <var>LoadFromFile</var> and 
+-            
+-            
+-            
+             <var>SaveToFile</var> are polymorphic. For example, if the 
+-            
+-            
+-            
+             <var>TPicture</var> is holding an 
+-            
+-            
+-            
+             <var>Icon</var>, you can 
+-            
+-            
+-            
+             <var>LoadFromFile</var> a bitmap file, whereas if the class is 
+-            
+-            
+-            
+-            <var>TIcon</var> you could only read  .ICO files.</p>
+-          <ul>
+-            <li>
++            <var>TIcon</var> you could only read  .ICO files.<br/>
++          <br/>
++            * 
+               <var>LoadFromFile</var> - Reads a picture from disk. The 
+-              
+-              
+-              
+-              <var>TGraphic</var> class created is determined by the file extension of the file. If the file extension is  not recognized an exception is generated.</li>
+-            <li>
+-              <var>SaveToFile</var> - Writes the picture to disk.</li>
+-            <li>
+-              <var>LoadFromClipboardFormat</var> - ToDo: Reads the picture from the handle provided in the given clipboard format.  If the format is not supported, an exception is generated.</li>
+-            <li>
+-              <var>SaveToClipboardFormats</var> - ToDo: Allocates a global handle and writes the picture in its native clipboard format (CF_BITMAP for bitmaps, CF_METAFILE for metafiles, etc.).  Formats will contain the formats written.  Returns the number of clipboard items written to the array pointed to by Formats and Datas or would be written if either Formats or Datas are  nil.</li>
+-            <li>
++              <var>TGraphic</var> class created is determined by the file extension of the file. If the file extension is  not recognized an exception is generated.<br/>
++            * 
++              <var>SaveToFile</var> - Writes the picture to disk.<br/>
++            * 
++              <var>LoadFromClipboardFormat</var> - ToDo: Reads the picture from the handle provided in the given clipboard format.  If the format is not supported, an exception is generated.<br/>
++            * 
++              <var>SaveToClipboardFormats</var> - ToDo: Allocates a global handle and writes the picture in its native clipboard format (CF_BITMAP for bitmaps, CF_METAFILE for metafiles, etc.).  Formats will contain the formats written.  Returns the number of clipboard items written to the array pointed to by Formats and Datas or would be written if either Formats or Datas are  nil.<br/>
++            * 
+               <var>SupportsClipboardFormat</var> - Returns true if the given clipboard format  is supported by 
+               
+               
+               
+               <var>LoadFromClipboardFormat</var>
+-            </li>
+-            <li>
++            <br/>
++            * 
+               <var>Assign</var> - Copies the contents of the given 
+               
+               
+               
+-              <var>TPicture</var>.  Used most often in  the implementation of TPicture properties.</li>
+-            <li>
++              <var>TPicture</var>.  Used most often in  the implementation of TPicture properties.<br/>
++            * 
+               <var>RegisterFileFormat</var> - Register a new 
+               
+               
+@@ -3682,8 +3641,8 @@ If the file is not of the right format,
+               
+               
+               
+-              <var>LoadFromFile</var>.</li>
+-            <li>
++              <var>LoadFromFile</var>.<br/>
++            * 
+               <var>RegisterClipboardFormat</var> - Registers a new 
+               
+               
+@@ -3692,18 +3651,18 @@ If the file is not of the right format,
+               
+               
+               
+-              <var>LoadFromClipboardFormat</var>.</li>
+-            <li>
++              <var>LoadFromClipboardFormat</var>.<br/>
++            * 
+               <var>UnRegisterGraphicClass</var> - Removes all references to the specified 
+               
+               
+               
+-              <var>TGraphic</var> class and all its descendants from the file format and clipboard format internal lists.</li>
+-            <li>
+-              <var>Height</var> - The native, unstretched, height of the picture.</li>
+-            <li>
+-              <var>Width</var> - The native, unstretched, width of the picture.</li>
+-            <li>
++              <var>TGraphic</var> class and all its descendants from the file format and clipboard format internal lists.<br/>
++            * 
++              <var>Height</var> - The native, unstretched, height of the picture.<br/>
++            * 
++              <var>Width</var> - The native, unstretched, width of the picture.<br/>
++            * 
+               <var>Graphic</var> - The 
+               
+               
+@@ -3713,30 +3672,30 @@ If the file is not of the right format,
+               
+               
+               <var>TPicture</var>
+-            </li>
+-            <li>
+-              <var>Bitmap</var> - Returns a bitmap.  If the contents is not already a bitmap, the contents are thrown away and a blank bitmap is returned.</li>
+-            <li>
+-              <var>Pixmap</var> - Returns a pixmap.  If the contents is not already a pixmap, the contents are thrown away and a blank pixmap is returned.</li>
+-            <li>
++            <br/>
++            * 
++              <var>Bitmap</var> - Returns a bitmap.  If the contents is not already a bitmap, the contents are thrown away and a blank bitmap is returned.<br/>
++            * 
++              <var>Pixmap</var> - Returns a pixmap.  If the contents is not already a pixmap, the contents are thrown away and a blank pixmap is returned.<br/>
++            * 
+               <var>PNG</var> - Returns a png.  If the contents is not already a png, the  contents are thrown away and a blank png (
+               
+               
+               
+-              <var>TPortableNetworkGraphic</var>) is returned.</li>
+-            <li>
++              <var>TPortableNetworkGraphic</var>) is returned.<br/>
++            * 
+               <var>PNM</var> - Returns a pnm.  If the contents is not already a pnm, the contents are thrown away and a blank pnm (
+               
+               
+               
+-              <var>TPortableAnyMapGraphic</var>) is returned.</li>
+-            <li>
++              <var>TPortableAnyMapGraphic</var>) is returned.<br/>
++            * 
+               <var>Jpeg</var> - Returns a jpeg. If the contents is not already a jpeg, the contents are thrown away and a blank jpeg (
+               
+               
+               
+-              <var>TJPegImage</var>) is returned.</li>
+-          </ul>
++              <var>TJPegImage</var>) is returned.<br/>
++          <br/>
+         </descr>
+       </element>
+       <!-- variable Visibility: private -->
+@@ -4736,11 +4695,10 @@ If the file is not of the right format,
+       <!-- constructor Visibility: public -->
+       <element name="TCanvas.Create">
+         <descr>
+-          <p>
+             <var>Create</var> - constructor for 
+             <var>TCanvas</var>: calls inherited 
+-            <var>Create</var> and sets defaults for many properties and actions</p>
+-          <p>Initialises Font, Pen and Brush, makes event handlers for these, sets up defaults for Alignment, Layout, Clipping and opacity</p>
++            <var>Create</var> and sets defaults for many properties and actions<br/>
++          Initialises Font, Pen and Brush, makes event handlers for these, sets up defaults for Alignment, Layout, Clipping and opacity
+         </descr>
+         <short>
+           <var>Create</var> - constructor for 
+@@ -4919,11 +4877,11 @@ Zero degrees is at the 3 o'clock positio
+       <!-- procedure Visibility: public -->
+       <element name="TCanvas.Chord">
+         <descr>
+-          <p>Params:   x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg</p>
+-          <p>Use Chord to draw a filled Chord-shape on the canvas. </p>
+-          <p>The angles angle1 and angle2 are 1/16th of a degree. For example, a full circle equals 5760(16*360). </p>
+-          <p>Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction. Zero degrees is at the 3 o'clock position.</p>
+-          <p>Alternatively the starting and ending points may be specified as radial points (sx, sy, ex, ey)</p>
++          Params:   x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg<br/>
++          Use Chord to draw a filled Chord-shape on the canvas. <br/>
++          The angles angle1 and angle2 are 1/16th of a degree. For example, a full circle equals 5760(16*360). <br/>
++          Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction. Zero degrees is at the 3 o'clock position.<br/>
++          Alternatively the starting and ending points may be specified as radial points (sx, sy, ex, ey)<br/>
+         </descr>
+         <short>Draw a filled-chord shape starting and finishing at the specified angular positions on the circumference</short>
+       </element>
+@@ -5345,10 +5303,10 @@ Use <var>Ellipse</var>
+         <short>
+           <var>RadialPie</var> - draw a filled pie-shaped wedge on the canvas with specified start and end coordinates, and starting and ending angular positions</short>
+         <descr>
+-          <p>Params:   x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg: Integer</p>
+-          <p>Use Pie to draw a filled pie-shaped wedge on the canvas.</p>
+-          <p>The angles StartAngle16Deg and EndAngle16Deg are 1/16th of a degree. For example, a full circle equals 5760 (16*360).</p>
+-          <p>Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction. Zero degrees is at the 3 o'clock position.</p>
++          Params:   x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg: Integer<br/>
++          Use Pie to draw a filled pie-shaped wedge on the canvas.<br/>
++          The angles StartAngle16Deg and EndAngle16Deg are 1/16th of a degree. For example, a full circle equals 5760 (16*360).<br/>
++          Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction. Zero degrees is at the 3 o'clock position.<br/>
+         </descr>
+       </element>
+       <!-- argument Visibility: default -->
+@@ -6091,14 +6049,14 @@ Calling the <var>MoveTo</var>
+ 	  <br/>
+ 	  <b>Note:</b>
+           The exact text position depends on the specified rectangle, the <var>TextStyle</var> of the canvas, and the <var>X, Y</var> coordinates:
+-          <ul>
+-            <li><var>TextStyle.Alignment = taLeftJustify</var>: Text begins at <var>X</var></li>
+-            <li><var>TextStyle.Alignment = taCenter</var>: Text center is in the center of the rectangle (horizontally)</li>
+-            <li><var>TextStyle.Alignment = taRightJustify</var>: Text ends at right edge of the rectangle</li>
+-            <li><var>TextStyle.Layout = tlTop</var>: Top of the text is at <var>Y</var></li>
+-            <li><var>TextStyle.Layout = tlCenter</var>: Text center is in the center of the rectangle (vertically)</li>
+-            <li><var>TextStyle.Layout = tlBottom</var>: Text sits above the the bottom edge of the rectangle</li>
+-          </ul>
++          <br/>
++            * <var>TextStyle.Alignment = taLeftJustify</var>: Text begins at <var>X</var><br/>
++            * <var>TextStyle.Alignment = taCenter</var>: Text center is in the center of the rectangle (horizontally)<br/>
++            * <var>TextStyle.Alignment = taRightJustify</var>: Text ends at right edge of the rectangle<br/>
++            * <var>TextStyle.Layout = tlTop</var>: Top of the text is at <var>Y</var><br/>
++            * <var>TextStyle.Layout = tlCenter</var>: Text center is in the center of the rectangle (vertically)<br/>
++            * <var>TextStyle.Layout = tlBottom</var>: Text sits above the the bottom edge of the rectangle<br/>
++          <br/>
+         </descr>
+       </element>
+       <!-- argument Visibility: default -->
+@@ -6400,7 +6358,7 @@ Calling the <var>MoveTo</var>
+       <element name="TBitmapImage">
+         <short>The place where the actual image of a bitmap is stored</short>
+         <descr>
+-          <p>Descendant of TSharedImage for TBitmap.</p>
++          Descendant of TSharedImage for TBitmap.<br/>
+           <var>If a TBitmap is assigned to another TBitmap, only the reference count will be increased and both will share the same TBitmapImage</var>
+         </descr>
+         <errors/>
+@@ -6557,12 +6515,12 @@ Calling the <var>MoveTo</var>
+         <short>
+           <var>TBitmap</var> is the data of an image, and can be loaded from a file, stream or resource in .bmp  or .xpm format</short>
+         <descr>
+-          <p>
+-            <var>TBitmap</var> is the data of an image. The image can be loaded from a file, stream or resource in .bmp (windows bitmap format) or .xpm (XPixMap format)</p>
+-          <p>The loading routine automatically recognizes the format, so it is also used to load the images from Delphi form streams (e.g. .dfm files) or FreePascal/Lazarus form streams (.lfm)</p>
+-          <p>When the handle is created, it is up to the interface (gtk, win32, ...) to convert it automatically to the best internal format. That is why the <var>Handle</var> is interface dependent.</p>
+-          <p>To access the raw data, see <link id="#lcl.IntfGraphics.TLazIntfImage">TLazIntfImage</link>
+-          </p>
++          
++            <var>TBitmap</var> is the data of an image. The image can be loaded from a file, stream or resource in .bmp (windows bitmap format) or .xpm (XPixMap format)<br/>
++          The loading routine automatically recognizes the format, so it is also used to load the images from Delphi form streams (e.g. .dfm files) or FreePascal/Lazarus form streams (.lfm)<br/>
++          When the handle is created, it is up to the interface (gtk, win32, ...) to convert it automatically to the best internal format. That is why the <var>Handle</var> is interface dependent.<br/>
++          To access the raw data, see <link id="#lcl.IntfGraphics.TLazIntfImage">TLazIntfImage</link>
++          <br/>
+         </descr>
+         <seealso>
+           <link id="#lcl.IntfGraphics.TLazIntfImage"/>
+@@ -7496,9 +7454,9 @@ Checks for the presence of a valid Lazar
+       <element name="TBitmap.Canvas">
+         <short>The canvas on which this bitmap is drawn</short>
+         <descr>
+-          <p>The Canvas is where all the drawing and painting is performed.</p>
+-          <p>The properties are described in <link id="Controls.TCanvas">TCanvas</link>
+-          </p>
++          The Canvas is where all the drawing and painting is performed.<br/>
++          The properties are described in <link id="Controls.TCanvas">TCanvas</link>
++          <br/>
+         </descr>
+         <seealso>
+           <link id="Graphics.TCanvas"/>
+@@ -7796,9 +7754,9 @@ Checks for the presence of a valid Lazar
+         <short>
+           <var>TIcon</var>  - icons, small images typically associated with applications, controls, etc.</short>
+         <descr>
+-          <p>Icons can be loaded from .ICO files, or from Lazarus resources.</p>
+-          <p>An icon resource typically contains several versions of the same image, in multiple resolutions and color depths. </p>
+-          <p>When loading, the largest/most colourful image is loaded as the <var>Bitmap</var> property, and so can be handled as any other bitmap.</p>
++          Icons can be loaded from .ICO files, or from Lazarus resources.<br/>
++          An icon resource typically contains several versions of the same image, in multiple resolutions and color depths. <br/>
++          When loading, the largest/most colourful image is loaded as the <var>Bitmap</var> property, and so can be handled as any other bitmap.<br/>
+         </descr>
+         <errors>Writing to icon files is not (yet) implemented.</errors>
+       </element>
+@@ -8681,9 +8639,9 @@ Checks for the presence of a valid Lazar
+         <short>
+           <var>Jpeg</var>  - returns a JPEG image</short>
+         <descr>
+-          <p>
+-            <var>Jpeg</var>  - returns a JPEG image</p>
+-          <p>If the contents is not already a JPEG image, the contents are thrown away and a blank JPEG is returned</p>
++          
++            <var>Jpeg</var>  - returns a JPEG image<br/>
++          If the contents is not already a JPEG image, the contents are thrown away and a blank JPEG is returned<br/>
+         </descr>
+       </element>
+       <element name="TPicture.PNM">
+@@ -8694,22 +8652,22 @@ Checks for the presence of a valid Lazar
+           
+           <b>PortableAnyMapGraphic </b>image</short>
+         <descr>
+-          <p>
++          
+             <var>PNM </var>- a 
+             
+             
+             
+-            <b>PortableAnyMapGraphic </b>image</p>
+-          <p>Reads a PNM image. If it is not a valid PNM image, the contents are thrown away and a blank PNM is generated</p>
++            <b>PortableAnyMapGraphic </b>image<br/>
++          Reads a PNM image. If it is not a valid PNM image, the contents are thrown away and a blank PNM is generated<br/>
+         </descr>
+       </element>
+       <element name="TJPEGImage">
+         <short>
+           <var>TJPEGImage</var> - a class for handling images stored in JPEG (compressed) format</short>
+         <descr>
+-          <p>
+-            <b>JPEG</b> images are very commonly used for storing digital photographs. They can represent detailed colour photos using a high degree of compression, resulting in very efficient storage, though with some loss of quality. </p>
+-          <p>The properties <var>CompressionQuality</var> (an integer between 1 and 100, with 100 representing the best quality) and <var>Performance</var> (an enumerated variable with two states: <var>BestQuality</var> or <var>BestSpeed</var> ie compression) can be used to determine the balance between efficiency of storage and quality of picture.</p>
++          
++            <b>JPEG</b> images are very commonly used for storing digital photographs. They can represent detailed colour photos using a high degree of compression, resulting in very efficient storage, though with some loss of quality. <br/>
++          The properties <var>CompressionQuality</var> (an integer between 1 and 100, with 100 representing the best quality) and <var>Performance</var> (an enumerated variable with two states: <var>BestQuality</var> or <var>BestSpeed</var> ie compression) can be used to determine the balance between efficiency of storage and quality of picture.<br/>
+         </descr>
+       </element>
+       <element name="TJPEGImage.InitFPImageReader">
+@@ -8724,9 +8682,9 @@ Checks for the presence of a valid Lazar
+       <element name="TJPEGImage.CompressionQuality">
+         <short>Determine the compression quality for this image</short>
+         <descr>
+-          <p>Extreme compression can lead to loss of quality at the expense of a small file size</p>
+-          <p>Allowed range is 1..100 </p>
+-          <p>100 = best quality, 25 = pretty awful</p>
++          Extreme compression can lead to loss of quality at the expense of a small file size<br/>
++          Allowed range is 1..100 <br/>
++          100 = best quality, 25 = pretty awful<br/>
+         </descr>
+       </element>
+       <element name="TJPEGImage.GrayScale">
+@@ -8791,19 +8749,11 @@ Checks for the presence of a valid Lazar
+       <element name="TJPEGImage.GetDefaultFPWriter"/>
+       <topic name="Progress">
+         <short>Monitoring the progress of drawing a complicated Graphic</short>
+-        <descr>
+-          <p>
++        <descr><p>
+             <var>TProgressEvent</var> is a generic progress notification event which may be used by 
+-            
+-            
+-            
+-            
+-            
+-            
+-            <var>TGraphic</var> classes with computationally intensive (slow) operations, such as loading, storing, or transforming image data.</p>
+-          <table>
+-            <caption>Event params:
+-</caption>
++            <var>TGraphic</var> classes with computationally intensive (slow) operations, such as loading, storing, or transforming image data.<br/>
++            </p><table>
++            <caption>Event params:</caption>
+             <tr>
+               <td>Stage</td>
+               <td>Indicates whether this call to the <var>OnProgress</var> event is to prepare for, process, or clean up after a graphic operation.  If <var>OnProgress</var> is called at all, the first call for a graphic operation will be with <var>Stage = psStarting</var>, to allow the <var>OnProgress</var> event handler to allocate whatever resources it needs to process subsequent progress notifications.  After <var>Stage = psStarting</var>, you are guaranteed that  <var>OnProgress</var> will be called again with 
+@@ -11122,13 +11072,13 @@ Checks for the presence of a valid Lazar
+           
+           <var>Source</var> of the call.</short>
+         <descr>
+-          <p>
++          
+             <var>Assign</var>: find out about the 
+             
+             
+-            <var>Source</var> of the call.</p>
+-          <p>If the   <var>BitMap</var> data are already in use, the data are shared; if not, a new  <var>BitMap</var> is produced
+-</p>
++            <var>Source</var> of the call.<br/>
++          If the   <var>BitMap</var> data are already in use, the data are shared; if not, a new  <var>BitMap</var> is produced
++<br/>
+         </descr>
+       </element>
+       <!-- argument Visibility: default -->
+@@ -11439,9 +11389,9 @@ Checks for the presence of a valid Lazar
+       <element name="TCustomBitmap.Canvas">
+         <short>The <var>Canvas</var> on which this bitmap is drawn</short>
+         <descr>
+-          <p>The Canvas is where all the drawing and painting is performed.</p>
+-          <p>The properties are described in <link id="Controls.TCanvas">TCanvas</link>
+-          </p>
++          The Canvas is where all the drawing and painting is performed.<br/>
++          The properties are described in <link id="Controls.TCanvas">TCanvas</link>
++          <br/>
+         </descr>
+         <seealso>
+           <link id="Graphics.TCanvas"/>
+@@ -11768,11 +11718,11 @@ Checks for the presence of a valid Lazar
+         <short>
+           <var>IdentEntry</var> - checks that a given Entry exists in a Map of  colour names</short>
+         <descr>
+-          <p>
++          
+             <var>IdentEntry</var> - checks that a given Entry exists in a Map of  colour names
+-</p>
+-          <p>A list of system <var>Colors</var> is specified as a look-up table of indices (Entry) and names (MapEntry)</p>
+-          <p>This function checks that the value in 
++<br/>
++          A list of system <var>Colors</var> is specified as a look-up table of indices (Entry) and names (MapEntry)<br/>
++          This function checks that the value in 
+           
+           <var>Entry</var> is within the permitted range, and returns the data pair 
+           
+@@ -11781,8 +11731,8 @@ Checks for the presence of a valid Lazar
+           <var>Name</var> of the corresponding colour in 
+           
+           <var>MapEntry</var>.
+-</p>
+-          <p>If <var>Entry</var> is out of range the Result is False</p>
++<br/>
++          If <var>Entry</var> is out of range the Result is False<br/>
+         </descr>
+         <errors>If <var>Entry</var> is out of the range [0..High(Colours)] the Result is returned as False
+ </errors>
+Index: lazarus/lcl/extctrls.pp
+===================================================================
+--- lazarus.orig/lcl/extctrls.pp
++++ lazarus/lcl/extctrls.pp
+@@ -1397,7 +1397,7 @@ type
+ 
+   { TCtrlBands }
+ 
+-  TCtrlBands = class (specialize TFPGObjectList<TCtrlBand>)
++  TCtrlBands = class ({$IFDEF FPDoc}TFPGObjectList{$ELSE}specialize TFPGObjectList<TCtrlBand>{$ENDIF})
+   public
+     function GetIndex(AControl: TControl): Integer;
+   end;
+Index: lazarus/lcl/graphics.pp
+===================================================================
+--- lazarus.orig/lcl/graphics.pp
++++ lazarus/lcl/graphics.pp
+@@ -561,7 +561,7 @@ type
+     procedure EndUpdate;
+     property FontData: TFontData read GetData write SetData;
+     function HandleAllocated: boolean;
+-    property Handle: HFONT read GetHandle write SetHandle; deprecated 'use Reference.Handle instead';
++    property Handle: HFONT read GetHandle write SetHandle; deprecated {$IFNDEF FPDOC}'use Reference.Handle instead'{$ENDIF};
+     function IsDefault: boolean;
+     function IsEqual(AFont: TFont): boolean; virtual;
+     property IsMonoSpace: boolean read GetIsMonoSpace;
+Index: lazarus/lcl/include/lcl_defines.inc
+===================================================================
+--- lazarus.orig/lcl/include/lcl_defines.inc
++++ lazarus/lcl/include/lcl_defines.inc
+@@ -8,3 +8,6 @@
+   {$OPTIMIZATION NOREMOVEEMPTYPROCS}
+ {$ENDIF}
+ 
++{$IFNDEF FPC_FULLVERSION}
++  {$DEFINE FPDOC}
++{$ENDIF}
diff -Nru lazarus-1.6.2+dfsg/debian/patches/series lazarus-1.6.2+dfsg/debian/patches/series
--- lazarus-1.6.2+dfsg/debian/patches/series	2016-12-01 22:17:04.000000000 +0100
+++ lazarus-1.6.2+dfsg/debian/patches/series	2017-04-05 20:43:22.000000000 +0200
@@ -4,3 +4,4 @@
 add_sh-bang_to_sh_scripts.patch
 Fix-case-issue-with-code-help.patch
 lintian_detected_spelling_errors.patch
+fix-fpdoc-crashes-on-lazarus-documentation.patch

--- End Message ---
--- Begin Message ---
Paul Gevers:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> 
> Please unblock package lazarus
> 
> Dear release managers,
> 
> The current package of lazarus-doc-1.6 is as good as empty. It lacks the
> documentation it was meant to ship because fpdoc, the Free Pascal documentation
> generator was failing silently (i.e. with exit code 0) to generate the
> documentation (bug 858553).
> 

Ideally, we would get this to fail on error, so we don't get a surprise
like this again.  Even if only for packaging usage.  Can you look into
this for buster?

> After I was able to bisect the line where it was actually failing on, upstream
> has been so helpfull to fix the issue.
> 
> Please find the debdiff attached.
> 
> unblock lazarus/1.6.2+dfsg-2
> 
> [...]

Unblocked, thanks.

~Niels

--- End Message ---

Reply to: