[Bio] / ReleaseTools / getpackage Repository:
ViewVC logotype

Annotation of /ReleaseTools/getpackage

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (view) (download)

1 : efrank 1.1 #!/bin/sh
2 :     ########################################################################
3 :     #
4 :     # getpackage
5 :     #
6 :     # Used when inside a work directory. Figures out the correct version of
7 :     # a package for the underlying base release and checks it out from CVS.
8 :     # It may make modifications to lib/ or other directories to make ready
9 :     # for the release tools (but I hope not).
10 :     #
11 :     # getpackage is NOT a wrapper over cvs.
12 :     #
13 :     # Usage:
14 :     # 1. cd to your work directory
15 :     # 2. getpackage <packageName>
16 :     #
17 :     # Options
18 :     # -h get the HEAD of CVS
19 :     # -r TAG get the specificed tag
20 :     #
21 :     # Assumes:
22 :     # o cvs in path
23 :     ########################################################################
24 :    
25 :     #-----------------------------------------------------------------------
26 :     #++ Sanity check: are we in a test release?
27 :    
28 :     if [ ! -r rtConfig ]; then
29 :     echo Use from a work directory made by mkworkdir
30 :     exit 2
31 :     fi
32 :    
33 :     #-----------------------------------------------------------------------
34 :     #++ vars
35 :     source rtConfig
36 :    
37 :     getHead=0
38 :     getTag=0
39 :     tagName=""
40 :    
41 :     #-----------------------------------------------------------------------
42 :     #++ process options
43 :    
44 :     set -- `getopt hr: $*`
45 :     if [ $? = 0 ]; then
46 :     while [ $1 != -- ]
47 :     do
48 :     case $1 in
49 :     -h) getHead=1; getTag=0;;
50 :     -r) getTag=1; getHead=0; tagName=$2; shift;;
51 :     esac
52 :     shift
53 :     done
54 :     shift
55 :     fi
56 :    
57 :     #-----------------------------------------------------------------------
58 :     #++ check for correct number of arguments
59 :     if [ "$#" -ne 1 ]; then
60 :     echo "One argument required"
61 :     echo "Usage: getpackage [-h | -r <releaseName>] <PackageName>"
62 :     exit 2
63 :     fi
64 :     packageName=$1
65 :    
66 :     #-----------------------------------------------------------------------
67 :     #++ Makesure the package is not already checked out
68 :    
69 :     if [ -r $packageName ]; then
70 :     echo $packageName already exists
71 :     exit 2
72 :     fi
73 :    
74 :     #-----------------------------------------------------------------------
75 :     #++ Get package version from release
76 :     #-----------------------------------------------------------------------
77 :    
78 :     if [ -z "$RTROOT" ]; then
79 :     echo "No RTROOT set"
80 :     exit 2
81 :     fi
82 :    
83 :     baserel=$RTROOT/dist/releases/$baserelname
84 :    
85 :     if [ ! -r "$baserel" ]; then
86 :     echo "No such release: " $baserel
87 :     exit 2
88 :     fi
89 :    
90 :     if [ ! -r "$baserel/$packageName" ]; then
91 :     echo Package $packageName not in the release
92 :     exit 2
93 :     fi
94 :    
95 :     if [ ! -r "$baserel/PackageVersions" ]; then
96 :     echo Release $baserel lacks a PackageVersions file
97 :     exit 2
98 :     fi
99 :    
100 :     packageVer=`grep $packageName $baserel/PackageVersions | awk '{print $2}'`
101 :    
102 :     if [ -z "$packageVer" ]; then
103 :     echo No version information for $packageName in $baserel/PackageVersions
104 :     exit 2
105 :     fi
106 :    
107 :     #-----------------------------------------------------------------------
108 :     #++ Get package if HEAD or TAG
109 :    
110 :     if [ $getTag -eq 1 ]; then
111 :     echo overriding release version $packageVer with tag $tagName
112 :     cvs co -r $tagName $packageName
113 :     elif [ $getHead -eq 1 ]; then
114 :     echo echo overriding release version $packageVer with HEAD of CVS
115 :     cvs co -r HEAD $packageName
116 :     else
117 :     cvs co -r $packageVer $packageName
118 :     fi
119 :    
120 : efrank 1.2 #-----------------------------------------------------------------------
121 :     #++ Tune up the release area
122 :    
123 :     mkdir tmp/$RTARCH/$packageName
124 :    
125 : efrank 1.1 exit 0
126 : efrank 1.2

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3