xref: /nrf52832-nimble/rt-thread/components/net/lwip-1.4.1/doc/savannah.txt (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZeroDaily Use Guide for using Savannah for lwIP
2*10465441SEvalZero
3*10465441SEvalZeroTable of Contents:
4*10465441SEvalZero
5*10465441SEvalZero1 - Obtaining lwIP from the CVS repository
6*10465441SEvalZero2 - Committers/developers CVS access using SSH (to be written)
7*10465441SEvalZero3 - Merging from DEVEL branch to main trunk (stable branch)
8*10465441SEvalZero4 - How to release lwIP
9*10465441SEvalZero
10*10465441SEvalZero
11*10465441SEvalZero
12*10465441SEvalZero1 Obtaining lwIP from the CVS repository
13*10465441SEvalZero----------------------------------------
14*10465441SEvalZero
15*10465441SEvalZeroTo perform an anonymous CVS checkout of the main trunk (this is where
16*10465441SEvalZerobug fixes and incremental enhancements occur), do this:
17*10465441SEvalZero
18*10465441SEvalZerocvs -z3 -d:pserver:[email protected]:/sources/lwip checkout lwip
19*10465441SEvalZero
20*10465441SEvalZeroOr, obtain a stable branch (updated with bug fixes only) as follows:
21*10465441SEvalZerocvs -z3 -d:pserver:[email protected]:/sources/lwip checkout \
22*10465441SEvalZero  -r STABLE-0_7 -d lwip-0.7 lwip
23*10465441SEvalZero
24*10465441SEvalZeroOr, obtain a specific (fixed) release as follows:
25*10465441SEvalZerocvs -z3 -d:pserver:[email protected]:/sources/lwip checkout \
26*10465441SEvalZero  -r STABLE-0_7_0 -d lwip-0.7.0 lwip
27*10465441SEvalZero
28*10465441SEvalZero3 Committers/developers CVS access using SSH
29*10465441SEvalZero--------------------------------------------
30*10465441SEvalZero
31*10465441SEvalZeroThe Savannah server uses SSH (Secure Shell) protocol 2 authentication and encryption.
32*10465441SEvalZeroAs such, CVS commits to the server occur through a SSH tunnel for project members.
33*10465441SEvalZeroTo create a SSH2 key pair in UNIX-like environments, do this:
34*10465441SEvalZero
35*10465441SEvalZerossh-keygen -t dsa
36*10465441SEvalZero
37*10465441SEvalZeroUnder Windows, a recommended SSH client is "PuTTY", freely available with good
38*10465441SEvalZerodocumentation and a graphic user interface. Use its key generator.
39*10465441SEvalZero
40*10465441SEvalZeroNow paste the id_dsa.pub contents into your Savannah account public key list. Wait
41*10465441SEvalZeroa while so that Savannah can update its configuration (This can take minutes).
42*10465441SEvalZero
43*10465441SEvalZeroTry to login using SSH:
44*10465441SEvalZero
45*10465441SEvalZerossh -v [email protected]
46*10465441SEvalZero
47*10465441SEvalZeroIf it tells you:
48*10465441SEvalZero
49*10465441SEvalZeroAuthenticating with public key "your_key_name"...
50*10465441SEvalZeroServer refused to allocate pty
51*10465441SEvalZero
52*10465441SEvalZerothen you could login; Savannah refuses to give you a shell - which is OK, as we
53*10465441SEvalZeroare allowed to use SSH for CVS only. Now, you should be able to do this:
54*10465441SEvalZero
55*10465441SEvalZeroexport CVS_RSH=ssh
56*10465441SEvalZerocvs -z3 -d:ext:[email protected]:/sources/lwip co lwip
57*10465441SEvalZero
58*10465441SEvalZeroafter which you can edit your local files with bug fixes or new features and
59*10465441SEvalZerocommit them. Make sure you know what you are doing when using CVS to make
60*10465441SEvalZerochanges on the repository. If in doubt, ask on the lwip-members mailing list.
61*10465441SEvalZero
62*10465441SEvalZero(If SSH asks about authenticity of the host, you can check the key
63*10465441SEvalZero fingerprint against http://savannah.nongnu.org/cvs/?group=lwip)
64*10465441SEvalZero
65*10465441SEvalZero
66*10465441SEvalZero3 Merging from DEVEL branch to main trunk (stable)
67*10465441SEvalZero--------------------------------------------------
68*10465441SEvalZero
69*10465441SEvalZeroMerging is a delicate process in CVS and requires the
70*10465441SEvalZerofollowing disciplined steps in order to prevent conflicts
71*10465441SEvalZeroin the future. Conflicts can be hard to solve!
72*10465441SEvalZero
73*10465441SEvalZeroMerging from branch A to branch B requires that the A branch
74*10465441SEvalZerohas a tag indicating the previous merger. This tag is called
75*10465441SEvalZero'merged_from_A_to_B'. After merging, the tag is moved in the
76*10465441SEvalZeroA branch to remember this merger for future merge actions.
77*10465441SEvalZero
78*10465441SEvalZeroIMPORTANT: AFTER COMMITTING A SUCCESFUL MERGE IN THE
79*10465441SEvalZeroREPOSITORY, THE TAG MUST BE SET ON THE SOURCE BRANCH OF THE
80*10465441SEvalZeroMERGE ACTION (REPLACING EXISTING TAGS WITH THE SAME NAME).
81*10465441SEvalZero
82*10465441SEvalZeroMerge all changes in DEVEL since our last merge to main:
83*10465441SEvalZero
84*10465441SEvalZeroIn the working copy of the main trunk:
85*10465441SEvalZerocvs update -P -jmerged_from_DEVEL_to_main -jDEVEL
86*10465441SEvalZero
87*10465441SEvalZero(This will apply the changes between 'merged_from_DEVEL_to_main'
88*10465441SEvalZeroand 'DEVEL' to your work set of files)
89*10465441SEvalZero
90*10465441SEvalZeroWe can now commit the merge result.
91*10465441SEvalZerocvs commit -R -m "Merged from DEVEL to main."
92*10465441SEvalZero
93*10465441SEvalZeroIf this worked out OK, we now move the tag in the DEVEL branch
94*10465441SEvalZeroto this merge point, so we can use this point for future merges:
95*10465441SEvalZero
96*10465441SEvalZerocvs rtag -F -r DEVEL merged_from_DEVEL_to_main lwip
97*10465441SEvalZero
98*10465441SEvalZero4 How to release lwIP
99*10465441SEvalZero---------------------
100*10465441SEvalZero
101*10465441SEvalZeroFirst, checkout a clean copy of the branch to be released. Tag this set with
102*10465441SEvalZerotag name "STABLE-0_6_3". (I use release number 0.6.3 throughout this example).
103*10465441SEvalZero
104*10465441SEvalZeroLogin CVS using pserver authentication, then export a clean copy of the
105*10465441SEvalZerotagged tree. Export is similar to a checkout, except that the CVS metadata
106*10465441SEvalZerois not created locally.
107*10465441SEvalZero
108*10465441SEvalZeroexport CVS_RSH=ssh
109*10465441SEvalZerocvs -z3 -d:pserver:[email protected]:/sources/lwip checkout \
110*10465441SEvalZero  -r STABLE-0_6_3 -d lwip-0.6.3 lwip
111*10465441SEvalZero
112*10465441SEvalZeroArchive this directory using tar, gzip'd, bzip2'd and zip'd.
113*10465441SEvalZero
114*10465441SEvalZerotar czvf lwip-0.6.3.tar.gz lwip-0.6.3
115*10465441SEvalZerotar cjvf lwip-0.6.3.tar.bz2 lwip-0.6.3
116*10465441SEvalZerozip -r lwip-0.6.3.zip lwip-0.6.3
117*10465441SEvalZero
118*10465441SEvalZeroNow, sign the archives with a detached GPG binary signature as follows:
119*10465441SEvalZero
120*10465441SEvalZerogpg -b lwip-0.6.3.tar.gz
121*10465441SEvalZerogpg -b lwip-0.6.3.tar.bz2
122*10465441SEvalZerogpg -b lwip-0.6.3.zip
123*10465441SEvalZero
124*10465441SEvalZeroUpload these files using anonymous FTP:
125*10465441SEvalZeroncftp ftp://savannah.gnu.org/incoming/savannah/lwip
126*10465441SEvalZero
127*10465441SEvalZeroncftp>mput *0.6.3.*
128*10465441SEvalZero
129*10465441SEvalZeroAdditionally, you may post a news item on Savannah, like this:
130*10465441SEvalZero
131*10465441SEvalZeroA new 0.6.3 release is now available here:
132*10465441SEvalZerohttp://savannah.nongnu.org/files/?group=lwip&highlight=0.6.3
133*10465441SEvalZero
134*10465441SEvalZeroYou will have to submit this via the user News interface, then approve
135*10465441SEvalZerothis via the Administrator News interface.