List:MySQL++« Previous MessageNext Message »
From:Warren Young Date:March 17 2007 3:49am
Subject:Re: RPM packaging and library versioning
View as plain text  
Jack Eidsness wrote:
> 
> adding this to mysql++.bkl
>             <libname>mysqlpp</libname>
>             <so_version>2.2.1</so_version>
> and doing a rebake gets me a lot of new stuff about so_name in 
> Makefile.in, for different operating systems.  It seems to require 
> another configure.ac macro though, and I got very confused when trying 
> to find out what to add, for another test.  running "autoconf" on 
> unmodified source configure.ac got me similar errors though.

Actually, I think you've got it, even if you don't know it.  rebake 
really isn't for direct use on systems where we use autoconf, since 
regenerating Makefile.in isn't sufficient.  On those systems, you should 
use bootstrap instead, since that runs through all the autoconf stuff in 
addition to the Bakefile stuff.

I tried adding your changes, and it seems to work here, even with 
Bakefile 0.2.0.  Here are some lines from the end of the library link step:

g++ -shared -fPIC -o libmysqlpp.so.2.2.1 mysqlpp_coldata.o 
mysqlpp_connection.o mysqlpp_datetime.o mysqlpp_field_names.o 
mysqlpp_fields.o mysqlpp_field_types.o mysqlpp_manip.o mysqlpp_myset.o 
mysqlpp_mysql++.o mysqlpp_qparms.o mysqlpp_query.o mysqlpp_result.o 
mysqlpp_row.o mysqlpp_sql_string.o mysqlpp_string_util.o 
mysqlpp_transaction.o mysqlpp_type_info.o mysqlpp_vallist.o 
-Wl,-soname,libmysqlpp.so.2       -lmysqlclient -lz
(cd .; rm -f libmysqlpp.so libmysqlpp.so.2; ln -s libmysqlpp.so.2.2.1 
libmysqlpp.so.2; ln -s libmysqlpp.so.2 libmysqlpp.so)

That looks reasonable to me.  You've got the -soname link flag in there, 
the *so* file link creation is sane, etc.  The only thing I can see that 
might not be right is that we might want the soname to be just "2" or 
2.0.0, since that's the ABI version.  I'm going to check this change in 
anyway, since the structure of the change is the important thing...we 
can fiddle with numbers separately.

We'll also need some changes to the RPM spec file.  Patches thoughtfully 
considered.
Thread
Re: RPM packaging and library versioningJack Eidsness8 Mar
  • Re: RPM packaging and library versioningWarren Young8 Mar
    • Re: RPM packaging and library versioningRemi Collet8 Mar
      • Re: RPM packaging and library versioningWarren Young16 Mar
        • Re: RPM packaging and library versioningJack Eidsness16 Mar
          • Re: RPM packaging and library versioningWarren Young17 Mar
            • Re: RPM packaging and library versioningRemi Collet18 Mar
              • Re: RPM packaging and library versioningWarren Young19 Mar
                • Re: RPM packaging and library versioningJack Eidsness19 Mar
                  • Re: RPM packaging and library versioningRemi Collet19 Mar
                    • Re: RPM packaging and library versioningJack Eidsness19 Mar
                  • Re: RPM packaging and library versioningWarren Young19 Mar
                    • Re: RPM packaging and library versioningJack Eidsness19 Mar
                • Re: RPM packaging and library versioningRemi Collet19 Mar
                  • Re: RPM packaging and library versioningWarren Young19 Mar