Updating a Baselibs Component

From GEOS-5
Revision as of 08:52, 27 December 2012 by Mathomp4 (talk | contribs) (Initial add. Not yet wikified.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Process of Importing A New Component to Baselibs

1. In a temporary directory (ImportCheckout) checkout:

  $ bcvs co Baselibs

2. Move into checkout:

  $ cd Baselibs/src

3. Tag current state:

  $ bcvs tag -r GMAO-Baselibs-3_3_0 Internal-3_3_1-before-NCO-4_2_3
  

3b. Untag Internal-3_3_1 (just in case)

  $ bcvs tag -d Internal-3_3_1

NCO 4.2.3


4. Move to /gpfsm/dswdev/mathomp4/Baselibs/NewImports

  $ cd /gpfsm/dswdev/mathomp4/Baselibs/NewImports

a. Untar nco-4.2.3.tar.gz (from http://nco.sourceforge.net/#Source)

  $ tar xzf nco-4.2.3.tar.gz
  

b. Move into netcdf directory:

  $ cd nco-4.2.3/

c. Test import netcdf package

  $ bcvs -nq import -kk -m 'MAT: import NCO 4.2.3 retrieved 2012-NOV-13 from http://nco.sourceforge.net/#Source' Baselibs/src/nco NCO release-4_2_3
  

d. Really import the package

  $ bcvs import -kk -m 'MAT: import NCO 4.2.3 retrieved 2012-NOV-13 from http://nco.sourceforge.net/#Source' Baselibs/src/nco NCO release-4_2_3
     39 conflicts created by this import.
     Use the following command to help the merge:
        cvs -d :ext:mathomp4@progressdirect:/cvsroot/baselibs checkout -j<prev_rel_tag> -jrelease-4_2_3 Baselibs/src/nco

e. Check out model anew

  $ cd /discover/swdev/mathomp4/Baselibs
  $ mkdir NewBaselibs
  $ cd NewBaselibs
  $ bcvs co -kk Baselibs/src
     <snip checkout>
  $ bcvs -q checkout -kk Baselibs/src/nco

f. Update to new release

  $ bcvs -nq update -kk -jrel-4_0_3-20100627 -jrelease-4_2_3 Baselibs/src/nco
  (remove -nq and run again once satisfied)
  

g. Move into nco

  $ cd Baselibs/src/nco
  

h. Check for conflicts

  $ bcvs -nq upd -kk | grep -r '^[C|M]'TmpBaselibs
  cvs update: New directory `autom4te.cache' -- ignored
  cvs update: New directory `debian' -- ignored
  cvs update: New directory `src/nco++/.deps' -- ignored
  M doc/ANNOUNCE
  M doc/ChangeLog
  M doc/MANIFEST
  M doc/Makefile.in
  M doc/README
  M doc/TODO
  M doc/VERSION
  M doc/debian.txt
  M doc/i18n.txt
  M doc/index.shtml
  M doc/man_end.txt
  M doc/nco.dvi
  M doc/nco.html
  M doc/nco.info
  M doc/nco.pdf
  M doc/nco.ps
  M doc/nco.texi
  M doc/nco.txt
  M doc/nco.xml
  M doc/nco_news.shtml
  M doc/nco_src_frg.txt
  M doc/opendap.sh
  M man/Makefile.in
  M man/ncap.1
  M man/ncap2.1
  M man/ncatted.1
  M man/ncbo.1
  M man/ncdiff.1
  M man/ncea.1
  M man/ncecat.1
  M man/ncflint.1
  M man/ncks.1
  M man/nco.1
  M man/ncpdq.1
  M man/ncra.1
  M man/ncrcat.1
  M man/ncrename.1
  M man/ncwa.1

i. Fix conflicts

  No conflicts found.

j. Commit changes

  $ bcvs commit -m "MAT: merge new NCO release 4.2.3, no conflicts found"

5. Tag new release at src level

  $ cd ..
  $ bcvs tag -r GMAO-Baselibs-3_3_0 Internal-3_3_1

6. UNTAG nco and retag the new vendor release

  $ cd nco/
  $ bcvs tag -d Internal-3_3_1 
  $ bcvs tag -r release-4_2_3 Internal-3_3_1 

7. Edit Changelog and VERSION and commit

8. Push tag on new files

  $ bcvs tag -F Internal-3_3_1 ChangeLog INSTALL VERSION

11. Checkout new tag and build

  a. Try doing a cvscmp to the "before" tag. Make sure the difference
     looks okay

12. If all works, delete the "before" tag

13. If all *really* works, rename Internal-3_3_1 to GMAO-Baselibs-3_3_1