rpms/soci/devel soci-3.0.0-16-fix-gcc44-compatibility.patch, NONE, 1.1 soci-3.0.0-16-fix-gnu-autotools-compatibility.patch, NONE, 1.1 import.log, 1.7, 1.8 soci.spec, 1.9, 1.10 soci-3.0.0-13-fix-gcc43-compatibility.patch, 1.1, NONE soci-3.0.0-13-fix-gnu-autotools-compatibility.patch, 1.1, NONE
Denis Arnaud
denisarnaud at fedoraproject.org
Sat Jan 23 15:16:49 UTC 2010
Author: denisarnaud
Update of /cvs/pkgs/rpms/soci/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30332/devel
Modified Files:
import.log soci.spec
Added Files:
soci-3.0.0-16-fix-gcc44-compatibility.patch
soci-3.0.0-16-fix-gnu-autotools-compatibility.patch
Removed Files:
soci-3.0.0-13-fix-gcc43-compatibility.patch
soci-3.0.0-13-fix-gnu-autotools-compatibility.patch
Log Message:
Fixed a g++-4.4 compatibility issue, within the PostgreSQL test,
by adding a cstring include directive.
soci-3.0.0-16-fix-gcc44-compatibility.patch:
backends/mysql/common.h | 1
backends/mysql/session.cpp | 3
backends/mysql/standard-into-type.cpp | 2
backends/mysql/standard-use-type.cpp | 2
backends/mysql/vector-use-type.cpp | 3
backends/postgresql/common.cpp | 2
backends/postgresql/test/test-postgresql.cpp | 1
backends/postgresql/test/test-postgresql.cpp.orig | 517 ++++++++++++++++++++++
core/soci-simple.cpp | 2
9 files changed, 532 insertions(+), 1 deletion(-)
--- NEW FILE soci-3.0.0-16-fix-gcc44-compatibility.patch ---
diff -Nur soci-3.0.0/src/backends/mysql/common.h soci-3.0.0_4-pack/src/backends/mysql/common.h
--- soci-3.0.0/src/backends/mysql/common.h 2008-07-03 09:22:57.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/mysql/common.h 2010-01-23 13:17:28.000000000 +0100
@@ -10,6 +10,7 @@
#include <sstream>
#include "soci-mysql.h"
+#include <ctime>
namespace soci
{
diff -Nur soci-3.0.0/src/backends/mysql/session.cpp soci-3.0.0_4-pack/src/backends/mysql/session.cpp
--- soci-3.0.0/src/backends/mysql/session.cpp 2008-05-15 15:58:38.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/mysql/session.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -11,7 +11,8 @@
#include <cctype>
#include <cerrno>
#include <ciso646>
-
+#include <cstdlib>
+#include <climits>
#ifdef _MSC_VER
#pragma warning(disable:4355)
diff -Nur soci-3.0.0/src/backends/mysql/standard-into-type.cpp soci-3.0.0_4-pack/src/backends/mysql/standard-into-type.cpp
--- soci-3.0.0/src/backends/mysql/standard-into-type.cpp 2008-05-30 13:33:45.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/mysql/standard-into-type.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -12,6 +12,8 @@
#include "common.h"
#include <ciso646>
#include <cassert>
+#include <ctime>
+#include <cstring>
#ifdef _MSC_VER
#pragma warning(disable:4355)
diff -Nur soci-3.0.0/src/backends/mysql/standard-use-type.cpp soci-3.0.0_4-pack/src/backends/mysql/standard-use-type.cpp
--- soci-3.0.0/src/backends/mysql/standard-use-type.cpp 2008-05-15 15:58:38.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/mysql/standard-use-type.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -10,8 +10,10 @@
#include "soci-mysql.h"
#include "common.h"
#include <soci-platform.h>
+//
#include <ciso646>
#include <limits>
+#include <cstdio>
#include <cstring>
#ifdef _MSC_VER
diff -Nur soci-3.0.0/src/backends/mysql/vector-use-type.cpp soci-3.0.0_4-pack/src/backends/mysql/vector-use-type.cpp
--- soci-3.0.0/src/backends/mysql/vector-use-type.cpp 2008-05-15 15:58:38.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/mysql/vector-use-type.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -10,9 +10,12 @@
#include "soci-mysql.h"
#include "common.h"
#include <soci-platform.h>
+//
#include <ciso646>
#include <limits>
+#include <cstdio>
#include <cstring>
+#include <ctime>
#ifdef _MSC_VER
#pragma warning(disable:4355)
diff -Nur soci-3.0.0/src/backends/postgresql/common.cpp soci-3.0.0_4-pack/src/backends/postgresql/common.cpp
--- soci-3.0.0/src/backends/postgresql/common.cpp 2008-06-27 16:38:05.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/postgresql/common.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -7,7 +7,9 @@
#include "common.h"
#include <soci-backend.h>
+//
#include <cstdlib>
+#include <cstdio>
#include <ctime>
diff -Nur soci-3.0.0/src/backends/postgresql/test/test-postgresql.cpp soci-3.0.0_4-pack/src/backends/postgresql/test/test-postgresql.cpp
--- soci-3.0.0/src/backends/postgresql/test/test-postgresql.cpp 2008-06-05 22:41:58.000000000 +0200
+++ soci-3.0.0_4-pack/src/backends/postgresql/test/test-postgresql.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -15,6 +15,7 @@
#include <cmath>
#include <ctime>
#include <cstdlib>
+#include <cstring>
using namespace soci;
using namespace soci::tests;
diff -Nur soci-3.0.0/src/backends/postgresql/test/test-postgresql.cpp.orig soci-3.0.0_4-pack/src/backends/postgresql/test/test-postgresql.cpp.orig
--- soci-3.0.0/src/backends/postgresql/test/test-postgresql.cpp.orig 1970-01-01 01:00:00.000000000 +0100
+++ soci-3.0.0_4-pack/src/backends/postgresql/test/test-postgresql.cpp.orig 2010-01-23 13:17:28.000000000 +0100
@@ -0,0 +1,517 @@
+//
+// Copyright (C) 2004-2008 Maciej Sobczak, Stephen Hutton
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+
+#include "soci.h"
+#include "soci-postgresql.h"
+#include "common-tests.h"
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <cassert>
+#include <cmath>
+#include <ctime>
+#include <cstdlib>
+
+using namespace soci;
+using namespace soci::tests;
+
+std::string connectString;
+backend_factory const &backEnd = postgresql;
+
+// Postgres-specific tests
+
+struct oid_table_creator : public table_creator_base
+{
+ oid_table_creator(session& sql)
+ : table_creator_base(sql)
+ {
+ sql << "create table soci_test ("
+ " id integer,"
+ " name varchar(100)"
+ ") with oids";
+ }
+};
+
+// ROWID test
+// Note: in PostgreSQL, there is no ROWID, there is OID.
+// It is still provided as a separate type for "portability",
+// whatever that means.
+void test1()
+{
+ {
+ session sql(backEnd, connectString);
+
+ oid_table_creator tableCreator(sql);
+
+ sql << "insert into soci_test(id, name) values(7, \'John\')";
+
+ rowid rid(sql);
+ sql << "select oid from soci_test where id = 7", into(rid);
+
+ int id;
+ std::string name;
+
+#ifndef SOCI_PGSQL_NOPARAMS
+
+ sql << "select id, name from soci_test where oid = :rid",
+ into(id), into(name), use(rid);
+
+#else
+ // Older PostgreSQL does not support use elements.
+
+ postgresql_rowid_backend *rbe
+ = static_cast<postgresql_rowid_backend *>(rid.get_backend());
+
+ unsigned long oid = rbe->value_;
+
+ sql << "select id, name from soci_test where oid = " << oid,
+ into(id), into(name);
+
+#endif // SOCI_PGSQL_NOPARAMS
+
+ assert(id == 7);
+ assert(name == "John");
+ }
+
+ std::cout << "test 1 passed" << std::endl;
+}
+
+// function call test
+class function_creator : function_creator_base
+{
+public:
+
+ function_creator(session& session)
+ : function_creator_base(session)
+ {
+ // before a language can be used it must be defined
+ // if it has already been defined then an error will occur
+ try { session << "create language plpgsql"; }
+ catch (soci_error const &) {} // ignore if error
+
+#ifndef SOCI_PGSQL_NOPARAMS
+
+ session <<
+ "create or replace function soci_test(msg varchar) "
+ "returns varchar as $$ "
+ "begin "
+ " return msg; "
+ "end $$ language plpgsql";
+#else
+
+ session <<
+ "create or replace function soci_test(varchar) "
+ "returns varchar as \' "
+ "begin "
+ " return $1; "
+ "end \' language plpgsql";
+#endif
+ }
+
+protected:
+
+ std::string drop_statement()
+ {
+ return "drop function soci_test(varchar)";
+ }
+};
+
+void test2()
+{
+ {
+ session sql(backEnd, connectString);
+
+ function_creator functionCreator(sql);
+
+ std::string in("my message");
+ std::string out;
+
+#ifndef SOCI_PGSQL_NOPARAMS
+
+ statement st = (sql.prepare <<
+ "select soci_test(:input)",
+ into(out),
+ use(in, "input"));
+
+#else
+ // Older PostgreSQL does not support use elements.
+
+ statement st = (sql.prepare <<
+ "select soci_test(\'" << in << "\')",
+ into(out));
+
+#endif // SOCI_PGSQL_NOPARAMS
+
+ st.execute(true);
+ assert(out == in);
+
+ // explicit procedure syntax
+ {
+ std::string in("my message2");
+ std::string out;
+
+#ifndef SOCI_PGSQL_NOPARAMS
+
+ procedure proc = (sql.prepare <<
+ "soci_test(:input)",
+ into(out), use(in, "input"));
+
+#else
+ // Older PostgreSQL does not support use elements.
+
+ procedure proc = (sql.prepare <<
+ "soci_test(\'" << in << "\')", into(out));
+
+#endif // SOCI_PGSQL_NOPARAMS
+
+ proc.execute(true);
+ assert(out == in);
+ }
+ }
+
+ std::cout << "test 2 passed" << std::endl;
+}
+
+// BLOB test
+struct blob_table_creator : public table_creator_base
+{
+ blob_table_creator(session& session)
+ : table_creator_base(session)
+ {
+ session <<
+ "create table soci_test ("
+ " id integer,"
+ " img oid"
+ ")";
+ }
+};
+
+void test3()
+{
+ {
+ session sql(backEnd, connectString);
+
+ blob_table_creator tableCreator(sql);
+
+ char buf[] = "abcdefghijklmnopqrstuvwxyz";
+
+ sql << "insert into soci_test(id, img) values(7, lo_creat(-1))";
+
+ // in PostgreSQL, BLOB operations must be within transaction block
+ transaction tr(sql);
+
+ {
+ blob b(sql);
+
+ sql << "select img from soci_test where id = 7", into(b);
+ assert(b.get_len() == 0);
+
+ b.write(0, buf, sizeof(buf));
+ assert(b.get_len() == sizeof(buf));
+
+ b.append(buf, sizeof(buf));
+ assert(b.get_len() == 2 * sizeof(buf));
+ }
+ {
+ blob b(sql);
+ sql << "select img from soci_test where id = 7", into(b);
+ assert(b.get_len() == 2 * sizeof(buf));
+ char buf2[100];
+ b.read(0, buf2, 10);
+ assert(strncmp(buf2, "abcdefghij", 10) == 0);
+ }
+
+ unsigned long oid;
+ sql << "select img from soci_test where id = 7", into(oid);
+ sql << "select lo_unlink(" << oid << ")";
+ }
+
+ std::cout << "test 3 passed" << std::endl;
+}
+
+struct longlong_table_creator : table_creator_base
+{
+ longlong_table_creator(session & sql)
+ : table_creator_base(sql)
+ {
+ sql << "create table soci_test(val int8)";
+ }
+};
+
+// long long test
+void test4()
+{
+ {
+ session sql(backEnd, connectString);
+
+ longlong_table_creator tableCreator(sql);
+
+ long long v1 = 1000000000000LL;
+ assert(v1 / 1000000 == 1000000);
+
+ sql << "insert into soci_test(val) values(:val)", use(v1);
+
+ long long v2 = 0LL;
+ sql << "select val from soci_test", into(v2);
+
+ assert(v2 == v1);
+ }
+
+ // vector<long long>
+ {
+ session sql(backEnd, connectString);
+
+ longlong_table_creator tableCreator(sql);
+
+ std::vector<long long> v1;
+ v1.push_back(1000000000000LL);
+ v1.push_back(1000000000001LL);
+ v1.push_back(1000000000002LL);
+ v1.push_back(1000000000003LL);
+ v1.push_back(1000000000004LL);
+
+ sql << "insert into soci_test(val) values(:val)", use(v1);
+
+ std::vector<long long> v2(10);
+ sql << "select val from soci_test order by val desc", into(v2);
+
+ assert(v2.size() == 5);
+ assert(v2[0] == 1000000000004LL);
+ assert(v2[1] == 1000000000003LL);
+ assert(v2[2] == 1000000000002LL);
+ assert(v2[3] == 1000000000001LL);
+ assert(v2[4] == 1000000000000LL);
+ }
+
+ std::cout << "test 4 passed" << std::endl;
+}
+
+struct boolean_table_creator : table_creator_base
+{
+ boolean_table_creator(session & sql)
+ : table_creator_base(sql)
+ {
+ sql << "create table soci_test(val boolean)";
+ }
+};
+
+void test5()
+{
+ {
+ session sql(backEnd, connectString);
+
+ boolean_table_creator tableCreator(sql);
+
+ int i1 = 0;
+
+ sql << "insert into soci_test(val) values(:val)", use(i1);
+
+ int i2 = 7;
+ sql << "select val from soci_test", into(i2);
+
+ assert(i2 == i1);
+
+ sql << "update soci_test set val = true";
+ sql << "select val from soci_test", into(i2);
+ assert(i2 == 1);
+ }
+
+ std::cout << "test 5 passed" << std::endl;
+}
+
+// dynamic backend test
+void test6()
+{
+ try
+ {
+ session sql("nosuchbackend://" + connectString);
+ assert(false);
+ }
+ catch (soci_error const & e)
+ {
+ assert(e.what() == std::string("Failed to open: libsoci_nosuchbackend.so"));
+ }
+
+ {
+ dynamic_backends::register_backend("pgsql", backEnd);
+
+ std::vector<std::string> backends = dynamic_backends::list_all();
+ assert(backends.size() == 1);
+ assert(backends[0] == "pgsql");
+
+ {
+ session sql("pgsql://" + connectString);
+ }
+
+ dynamic_backends::unload("pgsql");
+
+ backends = dynamic_backends::list_all();
+ assert(backends.empty());
+ }
+
+ {
+ session sql("postgresql://" + connectString);
+ }
+
+ std::cout << "test 6 passed" << std::endl;
+}
+
+void test7()
+{
+ {
+ session sql(backEnd, connectString);
+
+ int i;
+ sql << "select 123", into(i);
+ assert(i == 123);
+
+ try
+ {
+ sql << "select 'ABC'", into (i);
+ assert(false);
+ }
+ catch (soci_error const & e)
+ {
+ assert(e.what() == std::string("Cannot convert data."));
+ }
+ }
+
+ std::cout << "test 7 passed" << std::endl;
+}
+
+void test8()
+{
+ {
+ session sql(backEnd, connectString);
+
+ assert(sql.get_backend_name() == "postgresql");
+ }
+
+ std::cout << "test 8 passed" << std::endl;
+}
+
+// DDL Creation objects for common tests
+struct table_creator_one : public table_creator_base
+{
+ table_creator_one(session& session)
+ : table_creator_base(session)
+ {
+ session << "create table soci_test(id integer, val integer, c char, "
+ "str varchar(20), sh int2, ul numeric(20), d float8, "
+ "tm timestamp, i1 integer, i2 integer, i3 integer, "
+ "name varchar(20))";
+ }
+};
+
+struct table_creator_two : public table_creator_base
+{
+ table_creator_two(session& session)
+ : table_creator_base(session)
+ {
+ session << "create table soci_test(num_float float8, num_int integer,"
+ " name varchar(20), sometime timestamp, chr char)";
+ }
+};
+
+struct table_creator_three : public table_creator_base
+{
+ table_creator_three(session& session)
+ : table_creator_base(session)
+ {
+ session << "create table soci_test(name varchar(100) not null, "
+ "phone varchar(15))";
+ }
+};
+
+//
+// Support for soci Common Tests
+//
+
+class test_context : public test_context_base
+{
+public:
+ test_context(backend_factory const &backEnd,
+ std::string const &connectString)
+ : test_context_base(backEnd, connectString) {}
+
+ table_creator_base* table_creator_1(session& s) const
+ {
+ return new table_creator_one(s);
+ }
+
+ table_creator_base* table_creator_2(session& s) const
+ {
+ return new table_creator_two(s);
+ }
+
+ table_creator_base* table_creator_3(session& s) const
+ {
+ return new table_creator_three(s);
+ }
+
+ std::string to_date_time(std::string const &datdt_string) const
+ {
+ return "timestamptz(\'" + datdt_string + "\')";
+ }
+
+};
+
+
+int main(int argc, char** argv)
+{
+
+#ifdef _MSC_VER
+ // Redirect errors, unrecoverable problems, and assert() failures to STDERR,
+ // instead of debug message window.
+ // This hack is required to run asser()-driven tests by Buildbot.
+ // NOTE: Comment this 2 lines for debugging with Visual C++ debugger to catch assertions inside.
+ _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
+#endif //_MSC_VER
+
+ if (argc == 2)
+ {
+ connectString = argv[1];
+ }
+ else
+ {
+ std::cout << "usage: " << argv[0]
+ << " connectstring\n"
+ << "example: " << argv[0]
+ << " \'connect_string_for_PostgreSQL\'\n";
+ return EXIT_FAILURE;
+ }
+
+ try
+ {
+ test_context tc(backEnd, connectString);
+ common_tests tests(tc);
+ tests.run();
+
+ std::cout << "\nSOCI Postgres Tests:\n\n";
+
+ test1();
+ test2();
+ test3();
+ test4();
+ test5();
+
+// test6();
+ std::cout << "test 6 skipped (dynamic backend)\n";
+
+ test7();
+ test8();
+
+ std::cout << "\nOK, all tests passed.\n\n";
+ return EXIT_SUCCESS;
+ }
+ catch (std::exception const & e)
+ {
+ std::cout << e.what() << '\n';
+ return EXIT_FAILURE;
+ }
+}
diff -Nur soci-3.0.0/src/core/soci-simple.cpp soci-3.0.0_4-pack/src/core/soci-simple.cpp
--- soci-3.0.0/src/core/soci-simple.cpp 2008-07-01 09:42:25.000000000 +0200
+++ soci-3.0.0_4-pack/src/core/soci-simple.cpp 2010-01-23 13:17:28.000000000 +0100
@@ -9,6 +9,8 @@
#include "soci-simple.h"
#include "soci.h"
+//
+#include <cstdio>
using namespace soci;
soci-3.0.0-16-fix-gnu-autotools-compatibility.patch:
AUTHORS | 9
COPYING | 1
INSTALL | 365
Makefile | 20
Makefile.am | 62
Makefile.common | 2
Makefile.in | 924
NEWS | 3
aclocal.m4 | 961
build/Makefile.am | 7
build/Makefile.in | 616
build/msvc80/Makefile.am | 8
build/msvc80/Makefile.in | 617
build/msvc80/dll/Makefile.am | 11
build/msvc80/dll/Makefile.in | 420
build/msvc80/lib/Makefile.am | 11
build/msvc80/lib/Makefile.in | 420
build/unix/Makefile.am | 11
build/unix/Makefile.in | 420
config/ax_boost.m4 | 754
config/ax_mysql.m4 | 164
config/ax_oracle_oci.m4 | 286
config/ax_postgresql.m4 | 171
config/config.guess | 1501 +
config/config.sub | 1705 +
config/cppunit.m4 | 93
config/depcomp | 630
config/install-sh | 520
config/libtool.m4 | 7360 +++++++
config/ltmain.sh | 8406 ++++++++
config/ltoptions.m4 | 368
config/ltsugar.m4 | 123
config/ltversion.m4 | 23
config/lt~obsolete.m4 | 92
config/missing | 376
configure |23094 +++++++++++++++++++++-
configure.ac | 402
doc/Makefile.am | 8
doc/Makefile.in | 632
doc/backends/Makefile.am | 16
doc/backends/Makefile.in | 629
doc/backends/sources.mk | 7
doc/sources.mk | 18
man/Makefile.am | 4
man/Makefile.in | 494
man/soci-config.1 | 39
soci-config.in | 76
soci.m4 | 118
soci.pc.in | 11
soci.spec.in | 336
soci/Makefile.am | 9
soci/Makefile.in | 635
soci/backends/Makefile.am | 9
soci/backends/Makefile.in | 617
soci/backends/mysql/Makefile.am | 26
soci/backends/mysql/Makefile.basic | 97
soci/backends/mysql/Makefile.in | 898
soci/backends/mysql/common.cpp | 8
soci/backends/mysql/soci-mysql.h | 17
soci/backends/mysql/sources.mk | 14
soci/backends/mysql/standard-into-type.cpp | 8
soci/backends/mysql/standard-use-type.cpp | 7
soci/backends/mysql/test/Makefile.am | 18
soci/backends/mysql/test/Makefile.basic | 22
soci/backends/mysql/test/Makefile.in | 558
soci/backends/mysql/test/sources.mk | 2
soci/backends/mysql/test/test-mysql.cpp | 24
soci/backends/mysql/vector-into-type.cpp | 8
soci/backends/mysql/vector-use-type.cpp | 7
soci/backends/oracle/Makefile.am | 27
soci/backends/oracle/Makefile.basic | 95
soci/backends/oracle/Makefile.in | 903
soci/backends/oracle/blob.cpp | 8
soci/backends/oracle/soci-oracle.h | 11
soci/backends/oracle/sources.mk | 14
soci/backends/oracle/standard-into-type.cpp | 14
soci/backends/oracle/standard-use-type.cpp | 14
soci/backends/oracle/statement.cpp | 8
soci/backends/oracle/test/Makefile.am | 22
soci/backends/oracle/test/Makefile.basic | 23
soci/backends/oracle/test/Makefile.in | 562
soci/backends/oracle/test/sources.mk | 2
soci/backends/oracle/test/test-oracle.cpp | 14
soci/backends/oracle/vector-into-type.cpp | 8
soci/backends/postgresql/Makefile.am | 30
soci/backends/postgresql/Makefile.basic | 95
soci/backends/postgresql/Makefile.in | 904
soci/backends/postgresql/common.cpp | 7
soci/backends/postgresql/soci-postgresql.h | 11
soci/backends/postgresql/sources.mk | 14
soci/backends/postgresql/standard-into-type.cpp | 13
soci/backends/postgresql/standard-use-type.cpp | 10
soci/backends/postgresql/test/Makefile.am | 18
soci/backends/postgresql/test/Makefile.basic | 22
soci/backends/postgresql/test/Makefile.in | 559
soci/backends/postgresql/test/sources.mk | 2
soci/backends/postgresql/test/test-postgresql.cpp | 14
soci/config.h.in | 155
soci/core/Makefile.am | 29
soci/core/Makefile.basic | 76
soci/core/Makefile.in | 996
soci/core/backend-loader.cpp | 3
soci/core/soci-platform.h | 6
soci/core/soci-simple.cpp | 13
soci/core/sources.mk | 58
soci/core/test/Makefile.am | 26
soci/core/test/Makefile.in | 564
soci/core/test/common-tests.h | 24
soci/core/test/sources.mk | 2
109 files changed, 61137 insertions(+), 567 deletions(-)
--- NEW FILE soci-3.0.0-16-fix-gnu-autotools-compatibility.patch ---
diff -Nur soci-3.0.0_4-pack/aclocal.m4 soci-3.0.0_trep300/aclocal.m4
--- soci-3.0.0_4-pack/aclocal.m4 1970-01-01 01:00:00.000000000 +0100
+++ soci-3.0.0_trep300/aclocal.m4 2010-01-23 14:44:47.000000000 +0100
@@ -0,0 +1,961 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
[...61940 lines suppressed...]
+#BuildRequires: texlive-latex, texlive-dvips
+%endif
+#BuildRequires: tetex-latex, tetex-dvips
+#BuildRequires: doxygen, ghostscript
+
+%description doc
+This package contains the documentation in the HTML format of the @PACKAGE_NAME@
+library. The documentation is the same as at the @PACKAGE_NAME@ web page.
+
+
+%prep
+%setup -q
+
+# Apply the g++ 4.4 compatibility patch
+%patch0 -p1
+
+# Rename change-log and license file, so that they comply with
+# packaging standard
+mv CHANGES ChangeLog
+mv LICENSE_1_0.txt COPYING
+rm -f INSTALL
+
+# Remove MacOSX compatibility building files
+rm -f build/unix/._*.tcl
+rm -f ._Makefile ._configure
+rm -f src/core/._*.h src/core/._*.cpp
+rm -f src/backends/postgresql/._*.h
+rm -f doc/._*.html
+
+# Rename the source code directory, so that the files (e.g, header
+# files) can be exported correctly into {_standard_dir}/%{name}
+mv src %{name}
+
+# Apply the GNU Autotools compatibility patch
+%patch1 -p1
+
+# Fix some permissions and formats
+find ./doc -type f -perm 755 -exec chmod 644 {} \;
+chmod -x AUTHORS ChangeLog COPYING NEWS README
+# find . -type f -name '*.[hc]pp' -exec chmod 644 {} \;
+
+
+%build
+%configure --disable-static \
+%{?with_mysql:--enable-backend-mysql} \
+%{?with_postgresql:--enable-backend-postgresql} \
+%{?with_oracle:--enable-backend-oracle %{?_with_oracle_incdir} %{?_with_oracle_libdir}}
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+##
+# Remove unpackaged files from the buildroot
+rm -f $RPM_BUILD_ROOT%{_includedir}/%{name}/config.h
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}_*.la
+##
+##
+# Duplicate the header files, so as to keep the compatibility, for
+# developers using the SOCI library, with the non-packaged version of
+# that library.
+for header_file in $RPM_BUILD_ROOT%{_includedir}/%{name}/core/*.h; do
+ cp ${header_file} $RPM_BUILD_ROOT%{_includedir}/%{name}
+done
+%{?with_mysql:cp $RPM_BUILD_ROOT%{_includedir}/%{name}/backends/mysql/soci-mysql.h $RPM_BUILD_ROOT%{_includedir}/%{name}}
+%{?with_postgresql:cp $RPM_BUILD_ROOT%{_includedir}/%{name}/backends/postgresql/soci-postgresql.h $RPM_BUILD_ROOT%{_includedir}/%{name}}
+%{?with_oracle:cp $RPM_BUILD_ROOT%{_includedir}/%{name}/backends/oracle/soci-oracle.h $RPM_BUILD_ROOT%{_includedir}/%{name}}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%{?with_mysql:%post mysql -p /sbin/ldconfig
+
+%postun mysql -p /sbin/ldconfig}
+
+%{?with_postgresql:%post postgresql -p /sbin/ldconfig
+
+%postun postgresql -p /sbin/ldconfig}
+
+%{?with_oracle:%post oracle -p /sbin/ldconfig
+
+%postun oracle -p /sbin/ldconfig}
+
+
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%{_libdir}/lib%{name}_core.so.*
+
+%{?with_mysql:%files mysql
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%{_libdir}/lib%{name}_mysql.so.*}
+
+%{?with_postgresql:%files postgresql
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%{_libdir}/lib%{name}_postgresql.so.*}
+
+%{?with_oracle:%files oracle
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%{_libdir}/lib%{name}_oracle.so.*}
+
+
+%files devel
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%dir %{_includedir}/%{name}
+%dir %{_includedir}/%{name}/core
+%{_includedir}/%{name}/*.h
+%{_includedir}/%{name}/core/*.h
+%{_includedir}/%{name}/core/test
+%{_bindir}/%{name}-config
+%{_libdir}/lib%{name}_core.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_datadir}/aclocal/%{name}.m4
+%{_mandir}/man1/%{name}-config.1.*
+
+%{?with_mysql:%files mysql-devel
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%dir %{_includedir}/%{name}
+%{_includedir}/%{name}/backends/mysql
+%{_libdir}/lib%{name}_mysql.so}
+
+%{?with_postgresql:%files postgresql-devel
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%dir %{_includedir}/%{name}
+%{_includedir}/%{name}/backends/postgresql
+%{_libdir}/lib%{name}_postgresql.so}
+
+%{?with_oracle:%files oracle-devel
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README
+%dir %{_includedir}/%{name}
+%{_includedir}/%{name}/backends/oracle
+%{_libdir}/lib%{name}_oracle.so}
+
+
+%files doc
+%defattr(-,root,root,-)
+%doc AUTHORS ChangeLog COPYING NEWS README doc
+
+
+%changelog
+* Sat Jan 23 2010 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-16
+- Added a missing cstring header include for g++-4.4 compatibility
+
+* Fri Jan 22 2010 Rahul Sundaram <sundaram at fedoraproject.org> - 3.0.0-15
+- Rebuild for Boost soname bump
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.0.0-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Sat May 09 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-13
+- Introduced distinct dependencies for different distributions
+
+* Tue May 05 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-12
+- Removed the dependency on the version of Boost, and on CPPUnit
+
+* Tue May 05 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-11
+- Removed the dependency on Latex for documentation delivery
+
+* Tue May 05 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-10
+- Burried the Boost Fusion header include for core/test/common-tests.h
+
+* Tue May 05 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-9
+- Added a missing cstdio header include for g++-4.4 compatibility
+
+* Tue May 05 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-8
+- Added missing cstdio header includes for g++-4.4 compatibility
+
+* Tue May 05 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-7
+- Added a missing cstdio header include for g++-4.4 compatibility
+
+* Sat May 02 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-6
+- Removed the unused build conditionals
+
+* Tue Apr 28 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-5
+- Simplified the conditional build rules within the RPM specification file
+
+* Sat Apr 18 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-4
+- Fixed an issue about OPTFLAGS compilation
+
+* Tue Apr 14 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-3
+- Restarted from pristine version 3.0.0 of upstream (SOCI) project
+
+* Sat Apr 4 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-2
+- Specific RPM for each backend
+
+* Fri Mar 27 2009 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-1
+- First RPM release
Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/soci/devel/import.log,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -p -r1.7 -r1.8
--- import.log 23 May 2009 12:12:25 -0000 1.7
+++ import.log 23 Jan 2010 15:16:48 -0000 1.8
@@ -5,3 +5,4 @@ soci-3_0_0-9_fc10:HEAD:soci-3.0.0-9.fc10
soci-3_0_0-10_fc10:HEAD:soci-3.0.0-10.fc10.src.rpm:1241563311
soci-3_0_0-11_fc10:HEAD:soci-3.0.0-11.fc10.src.rpm:1241567153
soci-3_0_0-13_fc11:HEAD:soci-3.0.0-13.fc11.src.rpm:1243080372
+soci-3_0_0-16_fc12:HEAD:soci-3.0.0-16.fc12.src.rpm:1264258849
Index: soci.spec
===================================================================
RCS file: /cvs/pkgs/rpms/soci/devel/soci.spec,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -p -r1.9 -r1.10
--- soci.spec 21 Jan 2010 22:04:42 -0000 1.9
+++ soci.spec 23 Jan 2010 15:16:49 -0000 1.10
@@ -18,7 +18,7 @@
#
Name: soci
Version: 3.0.0
-Release: 15%{?dist}
+Release: 16%{?dist}
Summary: The database access library for C++ programmers
@@ -27,9 +27,9 @@ License: Boost
URL: http://%{name}.sourceforge.net
Source0: http://downloads.sourceforge.net/soci/%{name}-%{version}.tar.gz
# That patch will be submitted upstream
-Patch0: %{name}-%{version}-13-fix-gcc43-compatibility.patch
+Patch0: %{name}-%{version}-16-fix-gcc44-compatibility.patch
# That patch will be submitted upstream
-Patch1: %{name}-%{version}-13-fix-gnu-autotools-compatibility.patch
+Patch1: %{name}-%{version}-16-fix-gnu-autotools-compatibility.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: boost-devel
@@ -147,7 +147,7 @@ library. The documentation is the same a
%prep
%setup -q
-# Apply the g++ 4.3 compatibility patch
+# Apply the g++ 4.4 compatibility patch
%patch0 -p1
# Rename change-log and license file, so that they comply with
@@ -287,6 +287,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Jan 23 2010 Denis Arnaud <denis.arnaud_fedora at m4x.org> 3.0.0-16
+- Added a missing cstring header include for g++-4.4 compatibility
+
* Fri Jan 22 2010 Rahul Sundaram <sundaram at fedoraproject.org> - 3.0.0-15
- Rebuild for Boost soname bump
--- soci-3.0.0-13-fix-gcc43-compatibility.patch DELETED ---
--- soci-3.0.0-13-fix-gnu-autotools-compatibility.patch DELETED ---
More information about the scm-commits
mailing list