Proposed improvements to the Khronos OpenCL man pages package
Mathieu Malaterre
malat at debian.org
Thu May 30 12:51:52 UTC 2013
Hi,
On Thu, May 30, 2013 at 10:57 AM, Giuseppe Bilotta
<giuseppe.bilotta at gmail.com> wrote:
> I've been working these past days in trying to produce better man
> pages from the DocBook sources by Khronos, and while at it I've also
> prepared a few changes to the way the packages are assembled and
> created. The final touches are still missing (I always have troubles
> when adding files for the packaging, so maybe it's better if somebody
> else does it?), but the result of my current work can be found on
> http://git.oblomov.eu/debian/khronos-opencl-man/
Fantastic ! Typically you can simply do:
svn co svn://svn.debian.org/svn/pkg-nvidia/packages/khronos-opencl-man/trunk/debian
make -f ./debian/rules get-orig-source
tar xfz khronos-opencl-man_1.0\~svn21772.orig.tar.gz
cd khronos-opencl-man-1.0\~svn21772
mv ../debian .
And then either:
quilt push/pop/refresh/edit
Or directly:
dpkg-buildpackage -rfakeroot -us -uc
...
fakeroot make -f ./debian/rules binary
> The outline of the changes is the following:
>
> * the DocBook sources are retrieved with svn, including the xhtml
Neat ! I could not find where those were hosted. I assumed there were
no svn since other opencl package retrieved them using wget:
http://anonscm.debian.org/viewvc/pkg-nvidia/packages/khronos-opencl-headers/trunk/debian/rules?view=markup
> files produced by the Khronos Group itself (in the xhtml/ directory).
> I think that the original xhtml files can be packaged directly, it
> shouldn't be necessary to rebuild them.
No :) Those are so-called Generated Files (it's a well known REJECT
case). We are required to generate them. So it is the opposite: why
waste disk space shipping upstream ones.
> * the man pages are created in a separate man/ directory
neat, much cleaner than my hack.
> * a Makefile and a couple of xslt files are included. Following the
> previous work by Mathie Malaterre, there are two .xsl files:
>
> ++ `opencl-manpages-pre.xsl` does some heavy-duty preprocessing of the
> source .xml files to align them to both the DocBook standard and what
> man expects. Changes include moving elements around, adding a couple
> of elements, and making some changes such as using manvolnum 3clc (clc
> = OpenCL C) instead of just 3, to avoid conflicts with the C stdlib
> man pages. Links to the specification are preserved, and the Ruby
> script Khronos uses to fixup the links in the .html files is used to
> generate a lookup table for textual information which is used in the
> man pages.
ok.
> ++ `opencl-manpages.xsl` does the actual man production, overriding a
> couple of functions to cope with some irregularities remaining in the
> source files.
ok
This follows what I had already, so it is easy to follow.
> Finally, sed is used to cleanup some whitespace issues left over by
> the docbook to man coversion.
ok
> The result still has a couple of rough corners and can be improved in
> a variety of ways, but it's much more usable than before. It's
> probably worth making a new package released based on this.
>
> Improvements that remain to be done:
>
> * smooth out the remaining issues in the original sources (some of
> these changes should be proposed for upstream inclusion, by the way);
If you do report them upstream, we need to update the DEP-3 header
(Forwarded entry) of each patch. Eg:
http://anonscm.debian.org/viewvc/pkg-nvidia/packages/khronos-opengl4-man/trunk/debian/patches/addingmanpages.patch?view=markup
> * turn links and olinks into "seealso" elements
sure, why note
> * symlink additional function names to the defining man page
ok
I am rebuilding the entire package right now and will re-upload to NEW.
2cts
More information about the pkg-nvidia-devel
mailing list