FYI (as suggested by Mateusz, following are our private exchanges)

---------- Forwarded message ----------
From: Denis Arnaud <[email protected]>
Date: 2009/4/18
Subject: Re: [SOCI-users] RPM packaging for Fedora (and other RPM-based
distributions)
To: "General-purpose list for SOCI users." <[email protected]
>


You could not guess, but before applying the "autotools" patch (
http://denisarnaud.fedorapeople.org/soci-3.0.0-fix-gnu-autotools-compatibility.patch),
you have to rename src into soci. The sequence I use is:
------------------------------
# If needed:
# wget http://downloads.sourceforge.net/soci-3.0.0.tar.gz
# tar zxf soci-3.0.0.tar.gz && rm -f soci-3.0.0.tar.gz
cd soci-3.0.0
mv src soci
# In case the following line yields the correct output, you have to re-run
it without the --dry-run option
patch -p1 --dry-run <
soci-3.0.0-fix-gnu-autotools-compatibility.patch<http://denisarnaud.fedorapeople.org/soci-3.0.0-fix-gnu-autotools-compatibility.patch>
# If everything went well:
patch -p1 < 
soci-3.0.0-fix-gnu-autotools-compatibility.patch<http://denisarnaud.fedorapeople.org/soci-3.0.0-fix-gnu-autotools-compatibility.patch>
------------------------------

I've now to re-start from the CVS trunk, and to generate the patches with
cvs diff, so as to give you something you can easily integrate.

Moreover, note that that patch (
http://denisarnaud.fedorapeople.org/soci-3.0.0-fix-gnu-autotools-compatibility.patch)
was for the delivered tar-ball of SOCI, not for the CVS trunk version (the
patch allowing to reach my own delivered source tar-ball). The difference
being that the configure and a bunch of other files are generated by
autoconf/automake scripts, from the autogen.sh, autogen.{in,ac} and
Makefile.am files, those files being in the {CVS,SVN} repository, but not in
the delivered source tar-ball.

In my case, I use another version of autogen.sh, which derives configure
from a configure.ac file (not delivered in the patch). All the files, namely
autogen.sh, configure.ac and the Makefile.am files, are available in the
Subversion repository (
http://opentrep.svn.sourceforge.net/viewvc/opentrep/trunk/soci/).

There are two main changes (more or less linked) I've brought, along with
the "autotoolisation":
* the "src" directory is renamed into "soci", allowing the header files to
be delivered into the %{includedir}/soci directory (without further work
arounds), thus avoiding to have to specify both --include-prefix and
--lib-prefix options in the configure line.
* the header files may be "burried", avoiding their collision when included
by other classes. For instance, the "common.h" header file is found in
several backends, and thus can not be included as is (#include "common.h")
without ambiguity. Burrying header files is more maintainable, as developers
see in one shot in which directory the header files are. For instance,
"#include <soci/backends/mysql/common.h>" allows instantly understanding
that we include the common.h header file from the soci/backends/mysql
directory. And that way of doing is the same, be the header files installed
or not. However, for compatibility sake, I've introduced two compilation
flags, namely SOCI_MYSQL_HEADERS_BURIED and SOCI_HEADERS_BURIED, in order to
activate that "header-burrying" feature. By default, i.e., without those
compilation flags, the header files can be used as usal. That is, all the
clients of SOCI will continue to work on the new version, allowing them to
migrate smoothly to the new structure (by setting up the compilation flags
when ready to do so).

Do not hesitate :)

Denis

> * for GNU Autotools building compatibility
>
>
I have not applied this patch, because 1) it is not clear to me what it
actually fixes, 2) it is not generated against working copy of CVS
3) it does include intermediate and generated files that are not being
maintained in our CVS repository, for instance Makefile.in files.
I'd suggest you to generate patch using cvs diff.
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Soci-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/soci-users

Reply via email to