@@ -545,24 +545,23 @@ <H3><A name="14">14</A>) Why don't we use threads in the
545
545
546
546
< H3 > < A name ="15 "> 15</ A > ) How are RPM's packaged?</ H3 >
547
547
548
- < P > This was written by Lamar Owen:</ P >
549
- < P >
548
+ < P > This was written by Lamar Owen:</ P >
550
549
< PRE >
551
550
As to how the RPMs are built -- to answer that question sanely requires
552
551
me to know how much experience you have with the whole RPM paradigm.
553
552
'How is the RPM built?' is a multifaceted question. The obvious simple
554
553
answer 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.
566
565
567
566
I then download and build on as many different canonical distributions
568
567
as 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>
635
634
Of course, there are many projects that DO include all the files
636
635
necessary to build RPMs from their Official Tarball (TM).
637
636
</ PRE >
638
- < P >
639
637
640
638
< 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 >
643
641
< 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
645
643
you'll always be dealing with the HEAD version of the files in CVS.
646
644
That's what you want for development, but if you need to patch past
647
645
stable 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
649
647
for a stable release just before starting the development cycle for the
650
648
next release.
651
649
652
650
The first thing you have to know is the branch name for the branch you
653
651
are interested in getting at. Unfortunately Marc has been less than
654
652
100% 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
656
654
in the top directory:
657
655
658
656
$ cvs log HISTORY | more
@@ -681,16 +679,16 @@ <H3><A name="16">16</A>) How are CVS branches managed?</H3>
681
679
total revisions: 129; selected revisions: 129
682
680
More---q
683
681
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
686
684
marks a specific timepoint across all files --- it's essentially a
687
685
snapshot whereas a branch is a changeable fileset.) Rule of thumb is
688
686
that names attached to four-number versions where the third number is
689
687
zero represent branches, the others are just tags. Here we can see that
690
688
the 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
694
692
The next commit to the head will be revision 1.107, whereas any changes
695
693
committed into the REL7_1_STABLE branch will have revision numbers like
696
694
1.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>
705
703
stable branch, you'd better be doubly sure that it's correct.)
706
704
707
705
Normally, 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
709
707
710
- cvs ... checkout pgsql
708
+ cvs ... checkout pgsql
711
709
712
710
To get a past branch, you cd to whereever you want it and say
713
711
714
- cvs ... checkout -r BRANCHNAME pgsql
712
+ cvs ... checkout -r BRANCHNAME pgsql
715
713
716
714
For example, just a couple days ago I did
717
715
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
721
719
722
720
and now I have a maintenance copy of 7.1.*.
723
721
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" :
725
723
CVS 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
727
725
fetch or store the latest version in the branch, not the head version.
728
726
Easy as can be.
729
727
@@ -735,9 +733,8 @@ <H3><A name="16">16</A>) How are CVS branches managed?</H3>
735
733
or two, so that we won't have to double-patch the first wave of fixes.
736
734
</ PRE >
737
735
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 >
741
738
</ BODY >
742
739
</ HTML >
743
740
0 commit comments