123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- Daily Use Guide for using Savannah for lwIP
- Table of Contents:
- 1 - Obtaining lwIP from the CVS repository
- 2 - Committers/developers CVS access using SSH (to be written)
- 3 - Merging from DEVEL branch to main trunk (stable branch)
- 4 - How to release lwIP
- 1 Obtaining lwIP from the CVS repository
- ----------------------------------------
- To perform an anonymous CVS checkout of the main trunk (this is where
- bug fixes and incremental enhancements occur), do this:
- cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout lwip
-
- Or, obtain a stable branch (updated with bug fixes only) as follows:
- cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout \
- -r STABLE-0_7 -d lwip-0.7 lwip
- Or, obtain a specific (fixed) release as follows:
- cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout \
- -r STABLE-0_7_0 -d lwip-0.7.0 lwip
- 3 Committers/developers CVS access using SSH
- --------------------------------------------
- The Savannah server uses SSH (Secure Shell) protocol 2 authentication and encryption.
- As such, CVS commits to the server occur through a SSH tunnel for project members.
- To create a SSH2 key pair in UNIX-like environments, do this:
- ssh-keygen -t dsa
- Under Windows, a recommended SSH client is "PuTTY", freely available with good
- documentation and a graphic user interface. Use its key generator.
- Now paste the id_dsa.pub contents into your Savannah account public key list. Wait
- a while so that Savannah can update its configuration (This can take minutes).
- Try to login using SSH:
- ssh -v your_login@cvs.sv.gnu.org
- If it tells you:
- Authenticating with public key "your_key_name"...
- Server refused to allocate pty
- then you could login; Savannah refuses to give you a shell - which is OK, as we
- are allowed to use SSH for CVS only. Now, you should be able to do this:
- export CVS_RSH=ssh
- cvs -z3 -d:ext:your_login@cvs.sv.gnu.org:/sources/lwip co lwip
-
- after which you can edit your local files with bug fixes or new features and
- commit them. Make sure you know what you are doing when using CVS to make
- changes on the repository. If in doubt, ask on the lwip-members mailing list.
- (If SSH asks about authenticity of the host, you can check the key
- fingerprint against http://savannah.nongnu.org/cvs/?group=lwip)
- 3 Merging from DEVEL branch to main trunk (stable)
- --------------------------------------------------
- Merging is a delicate process in CVS and requires the
- following disciplined steps in order to prevent conflicts
- in the future. Conflicts can be hard to solve!
- Merging from branch A to branch B requires that the A branch
- has a tag indicating the previous merger. This tag is called
- 'merged_from_A_to_B'. After merging, the tag is moved in the
- A branch to remember this merger for future merge actions.
- IMPORTANT: AFTER COMMITTING A SUCCESFUL MERGE IN THE
- REPOSITORY, THE TAG MUST BE SET ON THE SOURCE BRANCH OF THE
- MERGE ACTION (REPLACING EXISTING TAGS WITH THE SAME NAME).
- Merge all changes in DEVEL since our last merge to main:
- In the working copy of the main trunk:
- cvs update -P -jmerged_from_DEVEL_to_main -jDEVEL
- (This will apply the changes between 'merged_from_DEVEL_to_main'
- and 'DEVEL' to your work set of files)
- We can now commit the merge result.
- cvs commit -R -m "Merged from DEVEL to main."
- If this worked out OK, we now move the tag in the DEVEL branch
- to this merge point, so we can use this point for future merges:
- cvs rtag -F -r DEVEL merged_from_DEVEL_to_main lwip
- 4 How to release lwIP
- ---------------------
- First, checkout a clean copy of the branch to be released. Tag this set with
- tag name "STABLE-0_6_3". (I use release number 0.6.3 throughout this example).
- Login CVS using pserver authentication, then export a clean copy of the
- tagged tree. Export is similar to a checkout, except that the CVS metadata
- is not created locally.
- export CVS_RSH=ssh
- cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout \
- -r STABLE-0_6_3 -d lwip-0.6.3 lwip
- Archive this directory using tar, gzip'd, bzip2'd and zip'd.
- tar czvf lwip-0.6.3.tar.gz lwip-0.6.3
- tar cjvf lwip-0.6.3.tar.bz2 lwip-0.6.3
- zip -r lwip-0.6.3.zip lwip-0.6.3
- Now, sign the archives with a detached GPG binary signature as follows:
- gpg -b lwip-0.6.3.tar.gz
- gpg -b lwip-0.6.3.tar.bz2
- gpg -b lwip-0.6.3.zip
- Upload these files using anonymous FTP:
- ncftp ftp://savannah.gnu.org/incoming/savannah/lwip
- ncftp>mput *0.6.3.*
- Additionally, you may post a news item on Savannah, like this:
- A new 0.6.3 release is now available here:
- http://savannah.nongnu.org/files/?group=lwip&highlight=0.6.3
- You will have to submit this via the user News interface, then approve
- this via the Administrator News interface.
|