@@ -545,24 +545,23 @@ <H3><A name="14">14</A>) Why don't we use threads in the
545545
546546< H3 > < A name ="15 "> 15</ A > ) How are RPM's packaged?</ H3 >
547547
548- < P > This was written by Lamar Owen:</ P >
549- < P >
548+ < P > This was written by Lamar Owen:</ P >
550549< PRE >
551550As to how the RPMs are built -- to answer that question sanely requires
552551me to know how much experience you have with the whole RPM paradigm.
553552'How is the RPM built?' is a multifaceted question. The obvious simple
554553answer is that I maintain:
555- 1.) A set of patches to make certain portions of the source
556- tree 'behave' in the different environment of the RPMset;
557- 2.) The initscript;
558- 3.) Any other ancilliary scripts and files;
559- 4.) A README.rpm-dist document that tries to adequately document
560- both the differences between the RPM build and the WHY of the
561- differences, as well as useful RPM environment operations
562- (like, using syslog, upgrading, getting postmaster to
563- start at OS boot, etc);
564- 5.) The spec file that throws it all together. This is not a
565- trivial undertaking in a package of this size.
554+ 1.) A set of patches to make certain portions of the source
555+ tree 'behave' in the different environment of the RPMset;
556+ 2.) The initscript;
557+ 3.) Any other ancilliary scripts and files;
558+ 4.) A README.rpm-dist document that tries to adequately document
559+ both the differences between the RPM build and the WHY of the
560+ differences, as well as useful RPM environment operations
561+ (like, using syslog, upgrading, getting postmaster to
562+ start at OS boot, etc);
563+ 5.) The spec file that throws it all together. This is not a
564+ trivial undertaking in a package of this size.
566565
567566I then download and build on as many different canonical distributions
568567as I can -- currently I am able to build on Red Hat 6.2, 7.0, and 7.1 on
@@ -635,24 +634,23 @@ <H3><A name="15">15</A>) How are RPM's packaged?</H3>
635634Of course, there are many projects that DO include all the files
636635necessary to build RPMs from their Official Tarball (TM).
637636</ PRE >
638- < P >
639637
640638< H3 > < A name ="16 "> 16</ A > ) How are CVS branches managed?</ H3 >
641- < P > This was written by Tom Lane:
642- < P >
639+
640+ < P > This was written by Tom Lane: </ P >
643641< PRE >
644- If you just do basic" cvs checkout", " cvs update", " cvs commit" , then
642+ If you just do basic" cvs checkout", " cvs update", " cvs commit" , then
645643you'll always be dealing with the HEAD version of the files in CVS.
646644That's what you want for development, but if you need to patch past
647645stable releases then you have to be able to access and update the
648- " branch" portions of our CVS repository. We normally fork off a branch
646+ " branch" portions of our CVS repository. We normally fork off a branch
649647for a stable release just before starting the development cycle for the
650648next release.
651649
652650The first thing you have to know is the branch name for the branch you
653651are interested in getting at. Unfortunately Marc has been less than
654652100% consistent in naming the things. One way to check is to apply
655- " cvs log" to any file that goes back a long time, for example HISTORY
653+ " cvs log" to any file that goes back a long time, for example HISTORY
656654in the top directory:
657655
658656$ cvs log HISTORY | more
@@ -681,16 +679,16 @@ <H3><A name="16">16</A>) How are CVS branches managed?</H3>
681679total revisions: 129; selected revisions: 129
682680More---q
683681
684- Unfortunately" cvs log" isn't all that great about distinguishing
685- branches from tags --- it calls 'em all" symbolic names" . (A" tag" just
682+ Unfortunately" cvs log" isn't all that great about distinguishing
683+ branches from tags --- it calls 'em all" symbolic names" . (A" tag" just
686684marks a specific timepoint across all files --- it's essentially a
687685snapshot whereas a branch is a changeable fileset.) Rule of thumb is
688686that names attached to four-number versions where the third number is
689687zero represent branches, the others are just tags. Here we can see that
690688the extant branches are
691- REL7_1_STABLE
692- REL7_0_PATCHES
693- REL6_5_PATCHES
689+ REL7_1_STABLE
690+ REL7_0_PATCHES
691+ REL6_5_PATCHES
694692The next commit to the head will be revision 1.107, whereas any changes
695693committed into the REL7_1_STABLE branch will have revision numbers like
6966941.106.2.*, corresponding to the branch number 1.106.0.2 (don't ask where
@@ -705,25 +703,25 @@ <H3><A name="16">16</A>) How are CVS branches managed?</H3>
705703stable branch, you'd better be doubly sure that it's correct.)
706704
707705Normally, to checkout the head branch, you just cd to the place you
708- want to contain the toplevel" pgsql" directory and say
706+ want to contain the toplevel" pgsql" directory and say
709707
710- cvs ... checkout pgsql
708+ cvs ... checkout pgsql
711709
712710To get a past branch, you cd to whereever you want it and say
713711
714- cvs ... checkout -r BRANCHNAME pgsql
712+ cvs ... checkout -r BRANCHNAME pgsql
715713
716714For example, just a couple days ago I did
717715
718- mkdir ~postgres/REL7_1
719- cd ~postgres/REL7_1
720- cvs ... checkout -r REL7_1_STABLE pgsql
716+ mkdir ~postgres/REL7_1
717+ cd ~postgres/REL7_1
718+ cvs ... checkout -r REL7_1_STABLE pgsql
721719
722720and now I have a maintenance copy of 7.1.*.
723721
724- When you've done a checkout in this way, the branch name is" sticky" :
722+ When you've done a checkout in this way, the branch name is" sticky" :
725723CVS automatically knows that this directory tree is for the branch,
726- and whenever you do" cvs update" or" cvs commit" in this tree, you'll
724+ and whenever you do" cvs update" or" cvs commit" in this tree, you'll
727725fetch or store the latest version in the branch, not the head version.
728726Easy as can be.
729727
@@ -735,9 +733,8 @@ <H3><A name="16">16</A>) How are CVS branches managed?</H3>
735733or two, so that we won't have to double-patch the first wave of fixes.
736734</ PRE >
737735
738- < P > Also, Ian Lance Taylor points out that branches and tags can be
739- distiguished by using "cvs status -v".</ P >
740-
736+ < P > Also, Ian Lance Taylor points out that branches and tags can be
737+ distiguished by using "cvs status -v".</ P >
741738</ BODY >
742739</ HTML >
743740