Re: How to make Fedora4 build threadsafe for Postgresql?



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.

--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list



Relevant Pages

  • upgrading postgres on unstable
    ... Debian several years ago, my Debian install's version of postgres was ... install from source to get postgres 7.0 functionality. ... The following NEW packages will be installed: ...
    (Debian-User)
  • Re: [SLE] Login Script Error??
    ... I am a new linux user and I am currently running NLD9. ... some packages through red-carpet which were critical and now I have noticed ... "else: endif not found." ... open a konsole-window (usefull because of the large scroll-back buffer) ...
    (SuSE)
  • Base packaging
    ... I've got a prototype setup that packages the base tree. ... .ORDER: beforeinstall realinstall afterinstall ... .ORDER: beforeinstall realinstall afterinstall fake-pkg ...
    (freebsd-current)
  • Re: Cant compile SWI on FreeBSD
    ... could be the same given their common ancestry. ... I like to keep the approx 20,0000 packages from sourceforge upt-o-date on ... sometype offendingname; ...
    (comp.lang.prolog)
  • Re: JNI problems
    ... I am having some problems with using some packages and my JNI application. ... The library is found by Java, but the problem is that the declaration of this native method is not found. ... I am running this program from a jar file. ...
    (comp.lang.java.programmer)