[libgda/LIBGDA_4.0] Added a packaging section in the documentation
- From: Vivien Malerba <vivien src gnome org>
- To: svn-commits-list gnome org
- Subject: [libgda/LIBGDA_4.0] Added a packaging section in the documentation
- Date: Tue, 23 Jun 2009 15:20:41 -0400 (EDT)
commit bfec5bfabd83ba842cc15a885226600608b59b20
Author: Vivien Malerba <malerba gnome-db org>
Date: Sat Jun 20 10:54:47 2009 +0200
Added a packaging section in the documentation
doc/C/Makefile.am | 2 +-
doc/C/libgda-4.0-docs.sgml | 6 +
doc/C/packaging.xml | 250 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 257 insertions(+), 1 deletions(-)
---
diff --git a/doc/C/Makefile.am b/doc/C/Makefile.am
index ba1a554..8cd756b 100644
--- a/doc/C/Makefile.am
+++ b/doc/C/Makefile.am
@@ -64,7 +64,7 @@ include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += examples/full_example.c installation.xml limitations.xml migration.xml migration2.xml \
server-operation.xml gettingstarted.xml virtual.xml virtual-notice.xml store-meta-type.xml \
- prov-writing.xml i_s_doc.xml howto.xml gda-sql-manual.xml data_validation.xml data_select.xml \
+ prov-writing.xml packaging.xml i_s_doc.xml howto.xml gda-sql-manual.xml data_validation.xml data_select.xml \
DataModels.svg \
architecture.svg parts.svg stmt-unknown.svg stmt-select.svg stmt-insert1.svg stmt-insert2.svg \
stmt-update.svg stmt-compound.svg information_schema.svg howto-exec.svg
diff --git a/doc/C/libgda-4.0-docs.sgml b/doc/C/libgda-4.0-docs.sgml
index d719a2b..fe6eb29 100644
--- a/doc/C/libgda-4.0-docs.sgml
+++ b/doc/C/libgda-4.0-docs.sgml
@@ -106,6 +106,7 @@
<!ENTITY libgda-convenient SYSTEM "xml/gda-convenient.xml">
<!ENTITY libgda-GdaDataComparator SYSTEM "xml/gda-data-comparator.xml">
<!ENTITY provider-writing SYSTEM "prov-writing.xml">
+<!ENTITY packaging SYSTEM "packaging.xml">
<!ENTITY provider-support SYSTEM "xml/provider-support.xml">
<!ENTITY provider-support-sql SYSTEM "xml/provider-support-sql.xml">
<!ENTITY i-s-doc SYSTEM "i_s_doc.xml">
@@ -1370,6 +1371,11 @@ g_object_unref (eng);
&provider-writing;
</part>
+ <part>
+ <title>Packaging</title>
+ &packaging;
+ </part>
+
<part id="part_index">
<title>Appendix</title>
&fdl-appendix;
diff --git a/doc/C/packaging.xml b/doc/C/packaging.xml
new file mode 100644
index 0000000..feaedd0
--- /dev/null
+++ b/doc/C/packaging.xml
@@ -0,0 +1,250 @@
+<chapter id="libgda-packaging">
+ <title>Packaging &LIBGDA;</title>
+ <para>
+ &LIBGDA; is made of several components and it installs a lot of
+ files. This section gives hints as to how &LIBGDA; can be packaged, clearly
+ separating the components so that packagers have a good overview, and can create
+ the packages with a good understanding.
+ </para>
+ <sect1>
+ <title>overview of the components</title>
+ <para>
+ &LIBGDA;'s components are:
+ <itemizedlist>
+ <listitem>
+ <para>the runtime files (shared libraries and configuration files)
+ </para>
+ </listitem>
+ <listitem>
+ <para>the tools, which require the runtime component
+ </para>
+ </listitem>
+ <listitem>
+ <para>the database providers which are the "drivers" to each database type, which also require
+ the runtime component
+ </para>
+ </listitem>
+ <listitem>
+ <para>the development files (the includes to compile C programs)
+ </para>
+ </listitem>
+ <listitem>
+ <para>the documentation files
+ </para>
+ </listitem>
+ <listitem>
+ <para>the localization files
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Runtime component</title>
+ <para>
+ This component is the base component for Libgda, required by any application which uses &LIBGDA;,
+ it contains the following files (located under the installation directory):
+ <programlisting>
+.
+|-- bin
+| |-- gda_trml2html
+| | |-- __init__.py
+| | |-- trml2html.py
+| | `-- utils.py
+| `-- gda_trml2pdf
+| |-- __init__.py
+| |-- color.py
+| |-- trml2pdf.py
+| `-- utils.py
+|-- etc
+| `-- libgda-4.0
+| |-- config
+| `-- sales_test.db
+|-- lib
+| |-- libgda-4.0.so -> libgda-4.0.so.4.0.0
+| |-- libgda-4.0.so.4 -> libgda-4.0.so.4.0.0
+| |-- libgda-4.0.so.4.0.0
+| |-- libgda-report-4.0.so -> libgda-report-4.0.so.4.0.0
+| |-- libgda-report-4.0.so.4 -> libgda-report-4.0.so.4.0.0
+| |-- libgda-report-4.0.so.4.0.0
+| |-- libgda-xslt-4.0.so -> libgda-xslt-4.0.so.4.0.0
+| |-- libgda-xslt-4.0.so.4 -> libgda-xslt-4.0.so.4.0.0
+| |-- libgda-xslt-4.0.so.4.0.0
+`-- share
+ `-- libgda-4.0
+ |-- dtd
+ | |-- libgda-array.dtd
+ | |-- libgda-paramlist.dtd
+ | `-- libgda-server-operation.dtd
+ `-- information_schema.xml
+ </programlisting>
+ </para>
+ <para>
+ This component should be made dependant on the core libraries &LIBGDA; depends on such as GLib, LibXML and LibXSLT.
+ Also, if &LIBGDA; was compiled using a system installed SQLite, then a dependency also needs to be added to SQLite
+ (otherwise &LIBGDA; uses its own embedded version of SQLite, and no dependency needs to be defined on SQLite).
+ </para>
+ <para>
+ Note that the file in the <filename class="directory">bin</filename> directory are used by the
+ report library and have to be shipped with it.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Tools</title>
+ <para>
+ &LIBGDA;'s offers several tools, the most usefull being an SQL console which allows one to issue SQL statement
+ from the command line. This component has the following files:
+ <programlisting>
+.
+|-- bin
+| |-- gda-list-config -> gda-list-config-4.0
+| |-- gda-list-config-4.0
+| |-- gda-list-jdbc-providers-4.0
+| |-- gda-list-server-op -> gda-list-server-op-4.0
+| |-- gda-list-server-op-4.0
+| |-- gda-sql -> gda-sql-4.0
+| |-- gda-sql-4.0
+| `-- gda-test-connection-4.0
+ `-- share
+ | `-- web
+ | |-- cnc.js
+ | |-- gda-print.css
+ | |-- gda.css
+ | |-- irb.css
+ | |-- irb.js
+ | |-- jquery.js
+ | |-- md5.js
+ | |-- mouseapp_2.js
+ | `-- mouseirb_2.js
+ `-- man
+ `-- man1
+ |-- gda-sql-4.0.1
+ `-- gda-sql.1 -> gda-sql-4.0.1
+ </programlisting>
+ </para>
+ <para>
+ This component should be made dependant on the runtime component.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Database providers</title>
+ <para>
+ Each database provider is composed of a shared library (loaded at runtime) and some configuration files,
+ which are prefixed with the provider name. Also note that each provider comes with a PKG-CONFIG .pc file
+ which allows one to check if a provider is installed (it does not, like most of the .pc files, define
+ any CFLAGS or LIBS), and it's wise to include them in each provider's component.
+ </para>
+
+ <sect2>
+ <title>'Generic' provider</title>
+ <para>
+ Most of the providers are 'generic' as they have the same files structure, here for example
+ the PostgreSQL provider's file are:
+ <programlisting>
+.
+|-- lib
+| |-- libgda-4.0
+| | `-- providers
+| | `-- libgda-postgres.so
+| `-- pkgconfig
+| `-- libgda-postgres-4.0.pc
+ `-- share
+ `-- libgda-4.0
+ |-- postgres_specs_add_column.xml
+ |-- postgres_specs_create_db.xml
+ |-- postgres_specs_create_index.xml
+ |-- postgres_specs_create_table.xml
+ |-- postgres_specs_create_view.xml
+ |-- postgres_specs_drop_column.xml
+ |-- postgres_specs_drop_db.xml
+ |-- postgres_specs_drop_index.xml
+ |-- postgres_specs_drop_table.xml
+ |-- postgres_specs_drop_view.xml
+ |-- postgres_specs_dsn.xml
+ `-- postgres_specs_rename_table.xml
+ </programlisting>
+ </para>
+ <para>
+ This kind of component should be made dependant on the database's library which is used,
+ such as LibPQ for PostgreSQL, and also on &LIBGDA;'s runtime component.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>The SQLite provider</title>
+ <para>
+ The SQLite provider uses the same files layout as the 'generic' provider, but there is no need to
+ add a dependency on SQLite itself.
+ </para>
+ </sect2>
+
+ <sect2>
+ <title>The JDBC provider</title>
+ <para>
+ The JDBC provider allows one to access database through its JDBC driver, using the Java Native Interface
+ (JNI), and a Java virtual machine runtime. The files to include in this component are:
+ <programlisting>
+.
+|-- lib
+| |-- libgda-4.0
+| | `-- providers
+| | |-- gdaprovider-4.0.jar
+| | `-- libgda-jdbc.so
+| `-- pkgconfig
+| `-- libgda-jdbc-4.0.pc
+ `-- share
+ `-- libgda-4.0
+ |-- jdbc_specs_create_table.xml
+ `-- jdbc_specs_dsn.xml
+ </programlisting>
+ </para>
+ <para>
+ This component should be made dependant on the Java virtual machine.
+ </para>
+ </sect2>
+ </sect1>
+
+ <sect1>
+ <title>Development files</title>
+ <para>
+ The development files are the include files needed to compile C programs, the PKG-CONFIG .pc files and
+ the static libraries.
+ <programlisting>
+|-- include
+| `-- libgda-4.0
+| [...]
+`-- lib
+ |-- libgda-4.0
+ |-- libgda-4.0.a
+ |-- libgda-4.0.la
+ |-- libgda-report-4.0.a
+ |-- libgda-report-4.0.la
+ |-- libgda-xslt-4.0.a
+ |-- libgda-xslt-4.0.la
+ `-- pkgconfig
+ |-- libgda-4.0.pc
+ |-- libgda-report-4.0.pc
+ `-- libgda-xslt-4.0.pc
+ </programlisting>
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Documentation</title>
+ <para>
+ The documentation is located in the <filename class="directory">share/gtk-doc/html</filename> directory.
+ </para>
+ </sect1>
+
+ <sect1>
+ <title>Localization</title>
+ <para>
+ The translation files are located in the <filename class="directory">share/locale</filename> directory.
+ </para>
+ </sect1>
+
+</chapter>
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]