Questions on cvsup, tags, and such

I'm new here, and am trying to make sure I understand some things. I have just installed 7.1, and started reading the handbook and FAQ and such. Here are some questions I need help with:

1. It IS true, is it not, that even though The Handbook refers to "cvsup" repeatedly, I can freely use "csup" in all my scripts, right? The handbook mentions this in one little place. Just checking.

2. Before using cvsup for the first time on my /usr/src, must I empty /usr/src? I loaded /usr/src from the 7.1 release media, but am unsure if it's safe to start from that, or if I should blow it away, and let the first cvsup fill it back up.

3. Confirm my understanding of cvsup "tags", in my supfile:
a. "tag=." follows "CURRENT", the latest mainline code.
b. "tag=RELENG_7_1_0" will never see any change. It is always the release 7.1 source code.
c. "tag=RELENG_7_1" will fetch the release 7.1, plus any critical and security patches. That is, it would be reasonable to use this for production servers.
d. "tag=RELENG_7" follows the "7-STABLE" line.

4. Would anything Bad happen if I were to change my supfile like this:
a. Change from RELENG_7_1_0 to RELENG_7_1? I think I'd just pick up all the critical patches to 7.1.
b. Change from RELENG_7_1 to RELENG_7? I'd just get up to date with STABLE.
c. How about from RELENG_7_1 to "."? Would that take me right to current?
d. How about "going backwards", from, say, RELENG_7 to RELENG_7.1? Does cvsup do that sort of thing? I'd guess not. Yes, I know I could just clear /usr/src and start again, but I'm the curious type.
 
tgphelps said:
1. It IS true, is it not, that even though The Handbook refers to "cvsup" repeatedly, I can freely use "csup" in all my scripts, right? The handbook mentions this in one little place. Just checking.
Yes.

tgphelps said:
2. Before using cvsup for the first time on my /usr/src, must I empty /usr/src? I loaded /usr/src from the 7.1 release media, but am unsure if it's safe to start from that, or if I should blow it away, and let the first cvsup fill it back up.
No, you don't have to delete it. It might even save some time or traffic to have it there.

tgphelps said:
3. Confirm my understanding of cvsup "tags", in my supfile:
a. "tag=." follows "CURRENT", the latest mainline code.
b. "tag=RELENG_7_1_0" will never see any change. It is always the release 7.1 source code.
c. "tag=RELENG_7_1" will fetch the release 7.1, plus any critical and security patches. That is, it would be reasonable to use this for production servers.
d. "tag=RELENG_7" follows the "7-STABLE" line.
a. Yes.
b. I have never seen that one.
c. Yes.
d. Yes.

tgphelps said:
4. Would anything Bad happen if I were to change my supfile like this:
a. Change from RELENG_7_1_0 to RELENG_7_1? I think I'd just pick up all the critical patches to 7.1.
b. Change from RELENG_7_1 to RELENG_7? I'd just get up to date with STABLE.
c. How about from RELENG_7_1 to "."? Would that take me right to current?
d. How about "going backwards", from, say, RELENG_7 to RELENG_7.1? Does cvsup do that sort of thing? I'd guess not. Yes, I know I could just clear /usr/src and start again, but I'm the curious type.
a. Yes.
b. Yes.
c. Yes, actually you can go from any version to any other version.
d. Of course it works. You don't have to delete stuff.

All these statements just say that you'll get the sources you expect. However, once you've updated your system to a higher version any software built with that version is very unlikely to work with a lower one.
 
Just to make sure:

You're saying that it doesn't matter what /usr/src contains when I do a cvsup. I will always end up with what the "tag=..." line says in my supfile, no matter what I started with in /usr/src?
 
Not quite. Whatever file that has never existed on the CVS-System is in your source tree, will remain untouched.
 
kamikaze said:
Not quite. Whatever file that has never existed on the CVS-System is in your source tree, will remain untouched.

That's quite acceptable. Thanks for the complete answer.
 
be aware that going from -current to any other -stable branch might result in some problems. I have personally tried it remotely once in my life and it didn't make it to the next boot ;)
 
Back
Top