/[smeserver]/builds_bin/build_all
ViewVC logotype

Diff of /builds_bin/build_all

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

Revision 1.1 by gordonr, Fri Nov 18 06:43:11 2005 UTC Revision 1.21 by slords, Wed May 9 15:19:59 2007 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/bash
2    # Build all locally maintained packages from CVS
3    # Check whether anything is new and let us know if there is
4    
5  cd /mirrors/mitel/devel/repo/SRPMS  # Normally run as "buildrobot"
6    # Requires CVS/SSH access to cvs.sourceforge.net:/cvsroot/smeserver
7    
8  FAILED=""  umask 002
9    
10  for file in e-smith*  PATH=~/bin:$PATH
11  do  export PATH
12      if [ -f /builds/rpms/SRPMS/$file ]  
13    check_package()
14    {
15        for NVR in $(rpm -q --qf "%{NAME}-%{VERSION}-%{RELEASE}\n" --specfile $SPEC)
16        do
17            SRPM=/builds/rpms/SRPMS/$NVR*.src.rpm
18            if [ -f $SRPM ]
19            then
20                echo "$SRPM already exists"
21                return
22            fi
23        done
24    
25        case $package in
26            openssl)
27                build_package "--arch i386,i586,i686"
28                ;;
29            kmod-*)
30                build_package "--arch i586,i686"
31                ;;
32            *-kmod)
33                build_package "--arch i686"
34                ;;
35            *)
36                build_package
37                ;;
38        esac
39    }
40    
41    build_package()
42    {
43        if LANG=en_US mzbuild $1 --specfile $SPEC >> $LOG 2>&1
44      then      then
45          echo "Already built: $file"          release_rpms *.rpm
46          continue      else
47            echo "Build of $package failed - check $LOG"
48      fi      fi
49    }
50    
51    for package in $(ls /mirrors/cvsroot/${2:-smeserver} | grep "^$1.*$")
52    do
53        case $package in
54            CVSROOT|anaconda|booty|builds_bin|cdrom.image|devguide|isolinux)
55                    continue
56                    ;;
57        esac
58    
59        LOG=$HOME/work/$(hostname -s)/logs/$package.log
60        > $LOG
61    
62      echo "Building: $file"      echo -n "Checking $package "; date
63      if rpmbuild --rebuild $file      (echo -n "Checking $package "; date) >> $LOG
64        echo ========================================================== >> $LOG
65    
66        cd ~/work/$(hostname -s)
67        rm -rf ~/work/$(hostname -s)/$package
68        mzget --dir /mirrors/cvsroot/${2:-smeserver} $package >> $LOG
69    
70        cd ~/work/$(hostname -s)/$package
71    
72        SPEC=$(ls F/*.spec 2> /dev/null | tail -1)
73        if [ -z "$SPEC" ]
74      then      then
75          cp -p $file /builds/rpms/SRPMS          echo "Not building $package (No SPEC file)"
76            rm -f $LOG
77            continue
78      else      else
79          echo "FAILED: $file"          TAGS=$(cvs status -v $SPEC | awk '/\(branch:/ && !/\(branch: 1\.1\.1\)/ { print $1 }' | sort -u)
         FAILED="$FAILED $file"  
80      fi      fi
81  done      check_package
82    
83  echo "Failed to build: $FAILED"      for tag in $TAGS
84        do
85            echo >> $LOG
86    
87            echo -n "Checking $package ($tag) "; date
88            (echo -n "Checking $package ($tag) "; date) >> $LOG
89            echo ========================================================== >> $LOG
90            cd ~/work/$(hostname -s)
91            rm -rf ~/work/$(hostname -s)/$package
92            mzget --dir /mirrors/cvsroot/${2:-smeserver} --tag $tag $package >> $LOG
93    
94            cd ~/work/$(hostname -s)/$package
95    
96            SPEC=$(ls F/*.spec 2> /dev/null | tail -1)
97            if [ -z "$SPEC" ]
98            then
99                echo "Not building $package (No SPEC file)"
100                continue
101            fi
102            check_package
103        done
104    done


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed