--------------070404090004040301070109
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
I've made some new packaging improvements to have 'minimal' devhelp
integration for MySQL++ manuals.
Info : Devhelp is the API document browser for GNOME 2.
(it use gecko for HTML rendering).
A screenshot :
http://rpms.famillecollet.com/files/devhelp.png
mysql++.devhelp file and spec.patch attached.
It just a "first" work.
I think having a tree (left panel) with classes or members will be great
but this require docbook/xsl/xsltproc skills that i miss...
Feedbacks about this is welcome
Remi
Spec changes (extracts from the diff)
=== For Sources
+Source1: mysql++.devhelp
=== For Requires & Description
%package manuals
+Requires: devhelp
%description manuals
+User Manual and Reference Manual are provided both in PDF and in
+HTML format. You can use devhelp to browse it.
+
=== For %install
+# DevHelp stuff
+%{__mkdir_p} %{buildroot}%{_datadir}/devhelp/books/%{name}
+%{__install} -m644 %{SOURCE1}
%{buildroot}%{_datadir}/devhelp/books/%{name}/%{name}.devhelp
+%{__cp} -r doc/html/userman
%{buildroot}%{_datadir}/devhelp/books/%{name}/userman
+%{__cp} -r doc/html/refman
%{buildroot}%{_datadir}/devhelp/books/%{name}/refman
+
=== For %files
%files manuals
%defattr(-,root,root,-)
-%doc doc/pdf doc/html doc/README-manuals-RPM.txt
+%doc doc/pdf/* doc/README-manuals-RPM.txt
+%{_datadir}/devhelp/books/%{name}
--------------070404090004040301070109
Content-Type: text/xml;
name="mysql++.devhelp"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
filename="mysql++.devhelp"
<?xml version="1.0"?>
<book xmlns:fo="http://www.w3.org/1999/XSL/Format"
title="MySQL++: C++ wrapper for MySQL’s C API"
name="mysql++"
link="userman/index.html">
<chapters>
<sub name="User Manual" link="userman/index.html"/>
<sub name="Reference Manual" link="refman/index.html"/>
</chapters>
</book>
--------------070404090004040301070109
Content-Type: text/x-patch;
name="spec.patch"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
filename="spec.patch"
--- mysql++.spec 2008-02-28 21:34:56.000000000 +0100
+++ /home/extras/SPECS/extras/mysql++.spec 2008-03-01 10:42:54.000000000 +0100
@@ -1,23 +1,26 @@
Summary: C++ wrapper for the MySQL C API
Name: mysql++
Version: 3.0.0
-Release: 0.1.rc5%{?dist}
+Release: 1%{?dist}
License: LGPLv2
Group: Development/Libraries
URL: http://tangentsoft.net/mysql++/
-#Source0: http://tangentsoft.net/mysql++/releases/mysql++-%{version}.tar.gz
-Source0: http://tangentsoft.net/mysql++/test/...0.0-rc5.tar.gz
-
-Patch0: mysql++3rc5-gcc43.patch
+Source0: http://tangentsoft.net/mysql++/releases/mysql++-%{version}.tar.gz
+Source1: mysql++.devhelp
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: mysql-devel
%description
-MySQL++ makes working with MySQL server queries as easy as working
-with STL containers. This package contains only the libraries needed to
-run MySQL++-based programs. If you are building your own MySQL++-based
-programs, you also need to install the -devel package.
+MySQL++ is a C++ wrapper for MySQL’s C API.
+
+It is built around STL principles, to make dealing with the database as easy
+as dealing with an STL container. MySQL++ relieves the programmer of dealing
+with cumbersome C data structures, generation of repetitive SQL statements,
+and manual creation of C++ data structures to mirror the database schema.
+
+If you are building your own MySQL++-based programs, you also need
+to install the -devel package.
%package devel
Summary: MySQL++ developer files (headers, examples, etc.)
@@ -26,23 +29,28 @@
Requires: mysql-devel
%description devel
-These are the files needed to compile MySQL++ based programs, plus
-some sample code to get you started. If you aren't building your own
-programs, you probably don't need to install this package.
+These are the files needed to compile MySQL++ based programs,
+plus some sample code to get you started.You probably need to
+install the -manuals package.
+
+If you aren't building your own programs, you probably don't need
+to install this package.
%package manuals
Summary: MySQL++ user and reference manuals
Group: Development/Libraries
+Requires: devhelp
%description manuals
This is the MySQL++ documentation. It's a separate RPM just because
it's so large, and it doesn't change with every release.
+User Manual and Reference Manual are provided both in PDF and in
+HTML format. You can use devhelp to browse it.
+
%prep
%setup -q
-%patch0 -p0 -b .gcc43
-
%build
%configure --with-mysql-lib=%{_libdir}/mysql \
--enable-thread-check \
@@ -73,6 +81,12 @@
-e '/^all:/s/test_[a-z,_]* //g' \
Makefile.simple > doc/examples/Makefile
+# DevHelp stuff
+%{__mkdir_p} %{buildroot}%{_datadir}/devhelp/books/%{name}
+%{__install} -m644 %{SOURCE1} %{buildroot}%{_datadir}/devhelp/books/%{name}/%{name}.devhelp
+%{__cp} -r doc/html/userman %{buildroot}%{_datadir}/devhelp/books/%{name}/userman
+%{__cp} -r doc/html/refman %{buildroot}%{_datadir}/devhelp/books/%{name}/refman
+
%clean
rm -rf %{buildroot} doc/examples
@@ -93,9 +107,14 @@
%files manuals
%defattr(-,root,root,-)
-%doc doc/pdf doc/html doc/README-manuals-RPM.txt
+%doc doc/pdf/* doc/README-manuals-RPM.txt
+%{_datadir}/devhelp/books/%{name}
%changelog
+* Sat Mar 1 2008 Remi Collet <rpms (AT) FamilleCollet (DOT) com> 3.0.0-1
+- update to 3.0.0 Finale
+- use devhelp to browse manuals
+
* Wed Feb 20 2008 Remi Collet <rpms (AT) FamilleCollet (DOT) com> 3.0.0-0.1.rc5
- update to 3.0.0 rc5
--------------070404090004040301070109
Content-Type: text/plain; charset=us-ascii
--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe: http://lists.mysql.com/plusplus?unsu...ie.nctu.edu.tw
--------------070404090004040301070109--