Re: How to make Fedora4 build threadsafe for Postgresql?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2006-03-01 at 00:50 -0600, Matt England wrote:
> At 3/1/2006 12:40 AM, Paul Howarth wrote:
> >On Wed, 2006-03-01 at 00:05 -0600, Matt England wrote:
> > > I received the following problems while trying to build 
> > postgresql-8.1.3 on
> > > FedoraCore4.  Can anyone provide any feedback or suggestions for help?
> >
> >The rawhide postgres 8.1.3 package builds thread-safe; why not take the
> >SRPM and try rebuilding it on FC4?
> 
> I take it "rawhide" is he codename for FC4?  (I'm ignorant; I'm dealing 
> with porting my software to a myriad of OSes across the board.)

No, rawhide is the development branch of Fedora, soon to become FC5.

> Is this an appropriate reference:
> 
> http://download.fedora.redhat.com/pub/fedora/linux/core/development/s390/repodata/repoview/postgresql-contrib-0-8.1.3-1.html

Partly. That's one of the packages (in this case, for the s390
architecture) built from the postgres SRPM.

The source file you need is:

http://download.fedora.redhat.com/pub/fedora/linux/core/development/SRPMS/postgresql-8.1.3-1.src.rpm

> And can I confirm via the above docs somewhere that it's built with the 
> './configure --enable-thread-safety' flavor?

Looking at the spec file referenced below, you'll see the following
snippet:

%configure --disable-rpath \
%if %beta
	--enable-debug \
	--enable-cassert \
%endif
%if %plperl
	--with-perl \
%endif
%if %pltcl
	--with-tcl \
	--with-tclconfig=%{_libdir} \
%endif
%if %python
	--with-python \
%endif
%if %ssl
	--with-openssl \
%endif
%if %pam
	--with-pam \
%endif
%if %kerberos
	--with-krb5 \
%endif
%if %nls
	--enable-nls \
%endif
%if %pgfts
	--enable-thread-safety \
%endif
	--sysconfdir=/etc/sysconfig/pgsql \
	--datadir=/usr/share/pgsql \
	--with-docdir=%{_docdir}

RPM macros are used to specify which optional features are to be used, and these are defined higher up the spec file:

%{!?tcldevel:%define tcldevel 1}
%{!?jdbc:%define jdbc 1}
%{!?test:%define test 1}
%{!?python:%define python 1}
%{!?pltcl:%define pltcl 1}
%{!?plperl:%define plperl 1}
%{!?tcl:%define tcl 1}
%{!?pls:%define pls 1}
%{!?ssl:%define ssl 1}
%{!?kerberos:%define kerberos 1}
%{!?nls:%define nls 1}
%{!?xml:%define xml 1}
%{!?pam:%define pam 1}
%{!?pgfts:%define pgfts 1}
%{!?runselftest:%define runselftest 1}

So by default, all of these options (including pgfts) are on.

> >If you're dead set on building it yourself, you might want to look at
> >the spec file and see how RedHat do it:
> >
> >http://cvs.fedora.redhat.com/viewcvs/devel/postgresql/postgresql.spec?view=markup
> 
> Ok, thanks Paul for these great references.  I don't yet know redhat/fedora 
> spec files/language, but I may learn soon enough if need be.  (I suspect 
> this is the stuff needed to write things like .rpm packages, but I'm not sure.)

The spec file is the "recipe" for building the RPM package.

http://rpm.org/max-rpm-snapshot/ is a good reference.

> My main reason for building from source: if my group finds an integration 
> problem (or just general bug) when we integrate/embed with postgres, we 
> like to be able to address the bug in source and rebuild the integratable 
> portion/library/whatever and deliver it to our customers quickly...and we 
> don't want to have to wait around when/if said crisis hits and try to poke 
> around and figure out how to get the source to build when we are rushing to 
> deliver said fix/patch (even if it's a fix on Postgres' behalf which we 
> would also push back to Postgres' site).

This sounds like a great reason for learning how to build your own RPM
packages - they're wonderful for shipping pre-built/configured packages
to customers.

Paul.


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux