1313< H1 > Developer's Frequently Asked Questions (FAQ) for
1414 PostgreSQL</ H1 >
1515
16- < P > Last updated:Wed Sep 6 20:12:13 EDT 2006</ P >
16+ < P > Last updated:Mon Oct 16 15:24:36 EDT 2006</ P >
1717
1818< P > Current maintainer: Bruce Momjian (< A href =
1919 "mailto:bruce@momjian.us "> bruce@momjian.us</ A > )< BR >
@@ -488,15 +488,15 @@ <H3 id="item1.13">1.13) Why don't you use threads, raw
488488
489489< H3 id ="item1.14 "> 1.14) How are RPMs packaged?</ H3 >
490490
491- < P > This was written by Lamar Owen:</ P >
491+ < P > This was written by Lamar Owen and Devrim Gündüz :</ P >
492492
493- < P > 2001-05-03</ P >
494-
495- < P > As to how the RPMs are built -- to answer that question sanely
496- requires me to know how much experience you have with the whole RPM
497- paradigm. 'How is the RPM built?' is a multifaceted question. The
498- obvious simple answer is that I maintain:</ P >
493+ < P > 2006-10-16</ P >
499494
495+ < P >
496+ As to how the RPMs are built -- to answer that question sanely
497+ requires us to know how much experience you have with the whole RPM
498+ paradigm. 'How is the RPM built?' is a multifaceted question. The
499+ obvious simple answer is that we maintain:</ P >
500500< OL >
501501< LI > A set of patches to make certain portions of the source tree
502502 'behave' in the different environment of the RPMset;</ LI >
@@ -515,81 +515,61 @@ <H3 id="item1.14">1.14) How are RPMs packaged?</H3>
515515 trivial undertaking in a package of this size.</ LI >
516516</ OL >
517517
518- < P > I then download and build on as many different canonical
519- distributions as I can -- currently I am able to build on Red Hat
520- 6.2, 7.0, and 7.1 on my personal hardware. Occasionally I receive
521- opportunity from certain commercial enterprises such as Great
522- Bridge and PostgreSQL, Inc. to build on other distributions.</ P >
523-
524- < P > I test the build by installing the resulting packages and
525- running the regression tests. Once the build passes these tests, I
526- upload to the postgresql.org ftp server and make a release
527- announcement. I am also responsible for maintaining the RPM
528- download area on the ftp site.</ P >
529-
530- < P > You'll notice I said 'canonical' distributions above. That
531- simply means that the machine is as stock 'out of the box' as
532- practical -- that is, everything (except select few programs) on
533- these boxen are installed by RPM; only official Red Hat released
534- RPMs are used (except in unusual circumstances involving software
535- that will not alter the build -- for example, installing a newer
536- non-RedHat version of the Dia diagramming package is OK --
537- installing Python 2.1 on the box that has Python 1.5.2 installed is
538- not, as that alters the PostgreSQL build). The RPM as uploaded is
539- built to as close to out-of-the-box pristine as is possible. Only
540- the standard released 'official to that release' compiler is used
541- -- and only the standard official kernel is used as well.</ P >
542-
543- < P > For a time I built on Mandrake for RedHat consumption -- no
544- more. Nonstandard RPM building systems are worse than useless.
545- Which is not to say that Mandrake is useless! By no means is
546- Mandrake useless -- unless you are building Red Hat RPMs -- and Red
547- Hat is useless if you're trying to build Mandrake or SuSE RPMs, for
548- that matter. But I would be foolish to use 'Lamar Owen's Super
549- Special RPM Blend Distro 0.1.2' to build for public consumption!
550- :-)</ P >
551-
552- < P > I _do_ attempt to make the _source_ RPM compatible with as many
553- distributions as possible -- however, since I have limited
554- resources (as a volunteer RPM maintainer) I am limited as to the
555- amount of testing said build will get on other distributions,
556- architectures, or systems.</ P >
557-
558- < P > And, while I understand people's desire to immediately upgrade
559- to the newest version, realize that I do this as a side interest --
560- I have a regular, full-time job as a broadcast
561- engineer/webmaster/sysadmin/Technical Director which occasionally
562- prevents me from making timely RPM releases. This happened during
563- the early part of the 7.1 beta cycle -- but I believe I was pretty
564- much on the ball for the Release Candidates and the final
565- release.</ P >
566-
567- < P > I am working towards a more open RPM distribution -- I would
568- dearly love to more fully document the process and put everything
569- into CVS -- once I figure out how I want to represent things such
570- as the spec file in a CVS form. It makes no sense to maintain a
571- changelog, for instance, in the spec file in CVS when CVS does a
572- better job of changelogs -- I will need to write a tool to generate
573- a real spec file from a CVS spec-source file that would add version
574- numbers, changelog entries, etc to the result before building the
575- RPM. IOW, I need to rethink the process -- and then go through the
576- motions of putting my long RPM history into CVS one version at a
577- time so that version history information isn't lost.</ P >
578-
579- < P > As to why all these files aren't part of the source tree, well,
580- unless there was a large cry for it to happen, I don't believe it
581- should. PostgreSQL is very platform-agnostic -- and I like that.
582- Including the RPM stuff as part of the Official Tarball (TM) would,
583- IMHO, slant that agnostic stance in a negative way. But maybe I'm
584- too sensitive to that. I'm not opposed to doing that if that is the
585- consensus of the core group -- and that would be a sneaky way to
586- get the stuff into CVS :-). But if the core group isn't thrilled
587- with the idea (and my instinct says they're not likely to be), I am
588- opposed to the idea -- not to keep the stuff to myself, but to not
589- hinder the platform-neutral stance. IMHO, of course.</ P >
590-
591- < P > Of course, there are many projects that DO include all the files
592- necessary to build RPMs from their Official Tarball (TM).</ P >
518+ < P > PGDG RPM Maintainer builds the SRPM and announces the SRPM to the
519+ pgsqlrpms-hackers list. This is a list where package builders are
520+ subscribed. Then, the builders download the SRPM and rebuild it on their
521+ machines.</ P >
522+
523+ < P > We try to build on as many different canonical distributions as we can.
524+ Currently we are able to build on Red Hat Linux 9, RHEL 3 and above,
525+ and all Fedora Core Linux releases.</ P >
526+
527+ < P > To test the binaries, we install them on our local machines and run
528+ regression tests. If the package builders uses postgres user to build the
529+ rpms, then it is possible to run regression tests during RPM builds.</ P >
530+
531+ < P > Once the build passes these tests, the binary RPMs are sent back to PGDG
532+ RPM Maintainer and they are pushed to main FTP site, followed by a
533+ release announcement to pgsqlrpms-* lists, pgsql-general and
534+ pgsql-announce lists.</ P >
535+
536+ < P > You will notice we said 'canonical' distributions above. That simply
537+ means that the machine is as stock 'out of the box' as practical --
538+ that is, everything (except select few programs) on these boxen are
539+ installed by RPM; only official Red Hat released RPMs are used (except
540+ in unusual circumstances involving software that will not alter the
541+ build -- for example, installing a newer non-RedHat version of the Dia
542+ diagramming package is OK -- installing Python 2.1 on the box that has
543+ Python 1.5.2 installed is not, as that alters the PostgreSQL build).
544+ The RPM as uploaded is built to as close to out-of-the-box pristine as
545+ is possible. Only the standard released 'official to that release'
546+ compiler is used -- and only the standard official kernel is used as
547+ well.</ P >
548+
549+ < P > PGDG RPM Building Project does not build RPMs for Mandrake .</ P >
550+
551+ < P > We usually have only one SRPM for all platforms. This is because of our
552+ limited resources. However, on some cases, we may distribute different
553+ SRPMs for different platforms, depending on possible compilation problems,
554+ especially on older distros.</ P >
555+
556+ < P > Please note that this is a volunteered job -- We are doing our best to
557+ keep packages up to date. We, at least, provide SRPMs for all platforms.
558+ For example, if you do not find a RHEL 4 x86_64 RPM in our FTP site, it
559+ means that we do not have a RHEL 4 x86_64 server around. If you have one
560+ and want to help us, please do not hesitate to build rpms and send to us :-)
561+ http://pgfoundry.org/docman/view.php/1000048/98/PostgreSQL-RPM-Installation-PGDG.pdf
562+ has some information about building binary RPMs using an SRPM.</ P >
563+
564+ < P > PGDG RPM Building Project is a hosted on pgFoundry :
565+ < a href ="http://pgfoundry.org/projects/pgsqlrpms "> http://pgfoundry.org/projects/pgsqlrpms</ a > .
566+ We are an open community, except one point : Our pgsqlrpms-hackers list is open
567+ to package builders only. Still, its archives are visible to public.
568+ We use a CVS server to save the work we have done so far. This includes
569+ spec files and patches; as well as documents.</ P >
570+
571+ < P > As to why all these files aren't part of the source tree, well, unless
572+ there was a large cry for it to happen, we don't believe it should.</ P >
593573
594574< H3 id ="item1.15 "> 1.15) How are CVS branches managed?</ H3 >
595575