source: soft/build_system/build_system/upload/robot/trunk/admin @ 1

Last change on this file since 1 was 1, checked in by fasma, 13 years ago

Initial Import from Mandriva's soft revision 224062 and package revision 45733

File size: 23.4 KB
RevLine 
[1]1#!/bin/sh
2#---------------------------------------------------------------
3# Project         : Mandrakelinux
4# Module          : robot
5# File            : admin
6# Version         : $Id: admin 1272 2006-08-09 16:08:26Z mandrake $
7# Author          : Chmouel Boudjnah
8# Purpose         : process upload queues
9#---------------------------------------------------------------
10
11umask 022
12COOKER=/mnt/BIG/distrib/cooker
13
14media_info=media/media_info
15CVS=$HOME/poSPECS/
16CVS_RSH=ssh
17export CVS_RSH
18
19frozen_archs="i586"
20#all_archs="i586 ppc ia64"
21all_archs="i586 ppc x86_64 sparc sparc64"
22#archs_for_noarch="i586 ppc alpha ia64 sparc"
23not_frozen_archs="ppc sparc sparc64"
24CHECK_NEW=0
25PREVIOUS_VERSION=2006.0
26COMMUNITY_VERSIONS="10.1 10.2 2006.0"
27
28LOCK=/mnt/BIG/distrib/.update_in_progress
29TDIR=${TMPDIR=~/tmp}
30
31INMAIN="These packages are already in main"
32NEWINREP="These packages have older version than the ones in the repository"
33NONEWVERSION="New versions are not authorized"
34ERROR="These packages are corrupted"
35NONEW="New packages are not allowed"
36ALREADYINCONTRIB="These packages are already in contrib"
37DEEPFREEZE="The distribution is in deep freeze, ask qateam@mandriva.com, warly@mandriva.com for authorization"
38BADRELEASE="echo release of $NAME is not correct, it should be mdv20XX.X or .XXXmdk for old versions"
39LOSTCHANGE="You have not built your package with the changes from the previous package"
40
41export PERL5LIB=/home/mandrake/perl/lib/perl5/site_perl/5.8.0/:/home/mandrake/perl/lib/perl5/5.8.0/
42
43shopt -s extglob
44
45cleanup() {
46    rm -f $LOCK $TDIR/.list.*
47}
48
49# uncomment the following line to stop uploads
50#exit 0
51
52cd ~/
53
54mkdir -p $TDIR
55
56if [ "$1" = "-f" ];then
57    FORCE=true
58    Shift;
59fi
60
61fast=$1
62
63if [ -e "$LOCK" ]; then
64    pid=`cat $LOCK`
65    if [ "$pid" -gt 0 ]; then
66        kill -0 $pid > /dev/null 2>&1
67        if [ $? != 0 ]; then
68            echo "stale lock: removing it"
69            rm -f "$LOCK"
70        fi
71    fi
72fi
73       
74[ -z "$FORCE" ] && [ -e "$LOCK" ] && {
75    echo "Sound like a another cow boys run admin."
76    echo "The PID :"
77    cat $LOCK
78    echo "kill me -9 or use the -f options"
79    exit 1
80}
81
82echo "$$" > $LOCK
83
84trap cleanup 0
85
86check_freeze() {
87    arch=$1
88    for f in $frozen_archs; do
89        if [ "$f" = "$arch" ]; then
90            return 0
91        fi
92    done
93    return 1
94}
95
96check_bad_version() {
97    file=$1
98    dir=$2
99    allow_old=$3
100    allow_new=$4
101    srpm=$5
102    contrib=$6
103    force_b=$7
104
105    #echo file $file dir $dir allow_old $allow_old allow_new $allow_new srpm $srpm contrib $contrib force_b $force_b
106   
107    # new package naming scheme
108    case $file in
109        */kernel2?-tmb*)
110        ;;
111        */kernel-multimedia*)
112        ;;
113        */kernel*-1-1md*)
114            allow_old=0
115            allow_new=1
116        ;;
117        */urpmi*|*/*rpmdrake*|*/perl-URPM*|*/rpmtools*|*/sound-scripts*|*/drakxtools*|*/drakconf*|*/userdrake2*|*/mdkonline*|*/rfbdrake*|*/suspend-scripts*|*/numlock*|*/dynamic*|*/mkcd*|*/mandrakelinux*|*/bootsplash*|*/setup*|*/multiarch-utils*|*/gurpmi*|*/packdrake*|*/*ldetect*|*/monitor-edid*|*/menu-xdg*|*msec*|*rpmlint*|*kernel*|*/drakpxelinux*|*/indexhtml*|*/mandi-*)
118           allow_old=0
119           ;;
120    esac
121
122    if [ -z $srpm ]; then
123        target=`rpm -qp --queryformat '%{NAME}' $file`
124        sdir=$dir
125    else   
126        target=`rpm -qp --qf '%{SOURCERPM}' $file | sed 's/-[^-]\+-[^-]\+.src.rpm//'`
127        sdir=$srpm
128    fi
129    isnew=0
130    if ! ls $sdir/${target}-!(*-*)-!(*-*).src.rpm > /dev/null 2>&1; then
131        isnew=1
132    fi
133    if [ $allow_new = 0 ]; then
134        if [ -z $target ]; then
135            reason=$ERROR
136            return 0
137        fi
138        if [[ $isnew == 1 ]]; then
139            reason=$NONEW
140            return 0
141        fi           
142        if [ -n $contrib ]; then
143            if ls $contrib/${target}-!(*-*)-!(*-*).src.rpm > /dev/null 2>&1; then
144                reason=$ALREADYINCONTRIB
145                return 0
146            fi 
147        fi
148    fi
149    if ! $HOME/robot/check_release2 $file; then
150        reason=$BADRELEASE
151        return 0
152    fi
153
154    if $HOME/robot/check_old.pl $dir $file; then
155        reason=$NEWINREP
156        return 0
157    fi
158    if [[ $isnew == 0 && $force_b == 0 ]] && ! $HOME/robot/check_changelog.sh $dir $file; then
159        reason=$LOSTCHANGE
160        return 0
161    fi
162    if [ "$allow_old" -eq 0 ]; then
163        return 1
164    fi
165
166    target=`rpm -qp --queryformat '%{NAME}-%{VERSION}' $file`
167    if ls $dir/${target}-!(*-*).!(*\.*).rpm > /dev/null 2>&1; then
168        return 1
169    else
170        reason=$NONEWVERSION
171        return 0
172    fi
173}
174
175function insert_me_a_po_in_the_ass () {
176    RPM=$1
177    NAME=$(rpm -qp --qf '%{NAME}\n' $RPM)
178    if [ -f $CVS/$NAME.po ];then
179        [ -x /usr/lib/rpm/rpmputtext ] && /usr/lib/rpm/rpmputtext -C $CVS/$NAME.po $RPM
180    else
181        if [ -x /usr/lib/rpm/rpmgettext ]; then
182        /usr/lib/rpm/rpmgettext $RPM > $CVS/$NAME.po
183        (
184            cd $CVS/
185            cvs add $NAME.po
186            cvs commit -m "Changelog Automatic" $NAME.po
187        )
188        fi
189    fi
190}
191
192function resign_me_my_geule () {
193    RPM=$1
194    sudo -H /root/bin/resign_cooker $RPM
195}
196
197function process_queue () {
198
199#arguments parsing
200queue=$1
201release=$2
202check_old=$3
203allow_new=$4
204deep_freeze=$5
205force=$6
206i586_frozen=$7
207arch_to_process=$8
208top=$9
209vers=${10}
210no_srpms=${11}
211
212if [ -n "$vers" ]; then
213    changelog_arg="-f $vers"
214else
215    changelog_arg=
216fi
217srpms=$top/SRPMS/main/$release/
218contrib_srpm=$top/SRPMS/contrib/$release/
219
220
221echo process_queue queue $1 release $2 check_old $3 allow_new $4 deep_freeze $5 force $6 frozen $7 archs $8 top $9 vers $vers no_srpm $no_srpms
222
223if [[ "$i586_frozen" = "0" ]]; then
224  ################################################################################
225  # SOURCE
226  ################################################################################
227 
228  # fredl 04/07/2000
229  # source must be separated to prevent rpmputtext to
230  # mess up the package.
231  # chmou 04/08/2001
232  # launch cvstag scripts if we upload initscripts
233 
234  if [[ "$no_srpms" == "" ]]; then
235  /bin/ls $queue/SRPMS/*.src.rpm &> /dev/null && {
236      for i in $queue/SRPMS/*.src.rpm;do
237        rpm -K --nosignature $i &> /dev/null && {
238          reason=$DEEPFREEZE
239        if [[ "$deep_freeze" = "1" ]]; then
240            continue   
241        fi
242        if check_bad_version $i $srpms $check_old $allow_new '' $contrib_srpm $force; then
243            ~/robot/rejected "$reason" "src" "$vers" $i
244            echo $reason
245            mv -vf $i $queue/rejected/
246            continue
247        fi
248       
249  #     if [[ $(basename $i) = initscripts-* ]];then
250  #         if [ -f ~/robot/tagcvs ];then
251  #             ~/robot/tagcvs
252  #         fi
253  #     fi
254       
255        #~/robot/cvcp $i
256        ln $i /mnt/BIG/dis/cvs_queue/main/
257        echo ~/robot/changelog $changelog_arg $i
258        ~/robot/changelog $changelog_arg $i
259        resign_me_my_geule $i
260        ~/robot/cooker2rss.sh $i
261       
262        mv -vf $i $srpms
263        }
264      done
265  }
266  fi
267fi
268################################################################################
269# ARCH
270################################################################################
271
272for arch in $arch_to_process; do
273 /bin/ls $queue/RPMS/*.$arch.rpm &> /dev/null && {
274    if check_freeze $arch; then
275        check_old_tmp=$check_old
276        deep_freeze_tmp=$deep_freeze
277    else
278        check_old_tmp=0
279        deep_freeze_tmp=0
280    fi
281    for debug in 1 0; do
282        if [[ $debug == 1 ]]; then
283            if ls $queue/RPMS/*-debug-*.$arch.rpm &> /dev/null; then
284                    echo Looking for debug packages
285                    search=-debug-
286                    media=debug_main
287            else
288                    continue
289            fi
290        else
291            search=
292            media=main
293        fi   
294        for i in $queue/RPMS/*$search*.$arch.rpm; do
295                rpm -K --nosignature $i &> /dev/null && {
296                reason=$DEEPFREEZE
297                if [[ "$deep_freeze_tmp" = "1" ]]; then
298                        continue
299                fi
300                if check_bad_version $i $top/$arch/media/$media/$release $check_old_tmp $allow_new $srpms $contrib_srpm $force; then
301                        ~/robot/rejected "$reason" "$arch" "$vers" $i
302                        echo $reason
303                        mv -vf $i $queue/rejected/
304                        continue
305                fi
306   
307                insert_me_a_po_in_the_ass $i
308                resign_me_my_geule $i
309                if [ $arch = i586 ]; then
310                        ln $i /mnt/BIG/dis/cvs_queue/main/
311                        # these pacakegs need to be copied to the x86_64 tree too
312                        case $i in
313                                */gfxboot-*|*/lilo-*|*/dev86-*|*/etherboot-*|*/libdevmapper*|*/libgpm*|*/libncurses*|*/memtest86*|*/mkinitrd-net-*|*/pxelinux-*|*/syslinux-*)
314                                        ln $i $top/x86_64/media/$media/$release/
315                                        GENME="$GENME x86_64"
316                                ;;
317                        esac
318                fi
319
320                GENME="$GENME $arch"
321                if [ -n $vers ]; then
322                        community_to_gen="$community_to_gen $vers"
323                fi
324
325                ~/robot/process-obsoletes2 $i $top $arch main  contrib
326                #echo ~/robot/make_delta_rpm $i $PREVIOUS_VERSION $top/$arch/media/delta_main/
327                #~/robot/make_delta_rpm $i $PREVIOUS_VERSION $top/$arch/media/delta_main/
328                mv -vf $i $top/$arch/media/$media/$release/
329        }
330        done
331    done
332 }
333done
334
335
336if [[ "$i586_frozen" = "0" ]]; then
337################################################################################
338# NOARCH
339################################################################################
340
341  /bin/ls $queue/RPMS/*.noarch.rpm &> /dev/null && {
342      for i in $queue/RPMS/*.noarch.rpm;do
343          rpm -K --nosignature $i &> /dev/null && {
344              reason=$FROZEN
345              if [[ "$deep_freeze" = "1" ]]; then
346                continue
347              fi
348              if check_bad_version $i $top/i586/media/main/$release $check_old $allow_new $srpms $contrib_srpm $force; then
349                ~/robot/rejected "$reason" "noarch" "$vers" $i
350                echo $reason
351                mv -vf $i $queue/rejected/
352                continue
353              fi
354
355              insert_me_a_po_in_the_ass $i
356              resign_me_my_geule $i
357              ln $i /mnt/BIG/dis/cvs_queue/main/
358
359              GENME="$all_archs"
360              if [ -n $vers ]; then
361                      community_to_gen="$community_to_gen $vers"
362              fi
363              ~/robot/process-obsoletes2 $i $top i586 main contrib
364              #echo ~/robot/make_delta_rpm $i $PREVIOUS_VERSION $top/i586/media/delta_main/
365              #~/robot/make_delta_rpm $i $PREVIOUS_VERSION $top/i586/media/delta_main/
366              mv -vf $i $top/i586/media/main/$release/
367
368              for arch in $arch_to_process; do
369                      if [ $arch != i586 ]; then
370                              (cd $top/$arch/media/main; ln -vf $top/i586/media/main/`basename $i`)
371                              ~/robot/process-obsoletes2 $top/$arch/media/main/$release/`basename $i` $top $arch main contrib
372                      fi
373              done
374      }
375      done
376    }
377  fi
378}
379
380################################################################################
381# CONTRIB
382################################################################################
383function process_contrib {
384    queue=$1
385    release=$2
386    force=$3
387    arch_to_process=$4
388    i586_frozen=$5
389    top=$6
390    version=$7
391    no_srpms=$8
392    if [ -n "$version" ]; then
393        changelog_arg="-f $version"
394    else
395        changelog_arg=
396    fi
397    contrib_srpm=$top/SRPMS/contrib/$release/
398    echo process_contrib $queue $release $force $arch_to_process $i586_frozen $top $version
399    for arch in $arch_to_process; do
400        /bin/ls $queue/RPMS/*.$arch.rpm &> /dev/null && {
401        for debug in 1 0; do
402                if [[ $debug == 1 ]]; then
403                        if ls $queue/RPMS/*-debug-*.$arch.rpm &> /dev/null; then
404                                echo Looking for debug packages
405                                search=-debug-
406                                media=debug_contrib
407                        else
408                                continue
409                        fi
410                else
411                        search=
412                        media=contrib
413                fi   
414            for i in $queue/RPMS/*$search*.$arch.rpm; do
415                rpm -K --nosignature $i &> /dev/null && {
416                if [ $force == 0 ]; then
417                        target=`rpm -qp --queryformat '%{NAME}' $i`
418                        kernel=${target:0:7}
419                        if [ "$kernel" != "kernel-" ]; then
420                                if ls $top/$arch/media/main/$release/${target}-!(*-*)-!(*-*).!(*\.*).rpm &> /dev/null || ! check_bad_version $i 0 0 0 $top/SRPMS/main/$release; then
421                                        ~/robot/rejected "$INMAIN" "$arch" "$version" $i
422                                        echo $INMAIN
423                                        mv -vf $i $queue/rejected/
424                                        continue
425                                fi
426                        fi
427                        if check_bad_version $i $top/$arch/media/$media/$release/ 0 1 $contrib_srpm 0; then
428                                ~/robot/rejected "$reason" "$arch" "$version" $i
429                                echo $reason
430                                mv -vf $i $queue/rejected/
431                                continue
432                        fi
433                fi
434                resign_me_my_geule $i
435                ~/robot/process-obsoletes2 $i $top $arch main contrib
436                GENME="$GENME $arch"
437                if [ -n $version ]; then
438                        community_to_gen="$community_to_gen $version"
439                fi
440                mv -vf $i $top/$arch/media/$media/$release/
441            }
442          done
443      done
444  }
445  done
446
447  if [[ "$i586_frozen" = "0" ]]; then
448          /bin/ls $queue/RPMS/*.noarch.rpm &> /dev/null && {
449              for i in $queue/RPMS/*.noarch.rpm;do
450                  rpm -K --nosignature $i &> /dev/null && {
451                  if [ $force == 0 ]; then
452                          target=`rpm -qp --queryformat '%{NAME}' $i`
453                          kernel=${target:0:7}
454                          if [ "$kernel" != "kernel-" ]; then
455                                  if ! check_bad_version $i 0 0 0 $top/SRPMS/main/$release/; then
456                                          ~/robot/rejected "$INMAIN" "noarch" "$version" $i
457                                          echo $INMAIN
458                                          mv -vf $i $queue/rejected/
459                                          continue
460                                  fi
461                          fi
462                          if  check_bad_version $i $top/i586/media/contrib/$release/ 0 1 $contrib_srpm 0; then
463                                  ~/robot/rejected "$reason" "noarch" "$version" $i
464                                  echo $reason
465                                  mv -vf $i $queue/rejected/
466                                  continue
467                          fi
468
469                  fi
470
471                  ~/robot/process-obsoletes2 $i $top i586 main contrib
472                  resign_me_my_geule $i
473                  mv -vf $i $top/i586/media/contrib/$release/
474                  GENME="$all_archs"
475                  if [ -n $version ]; then
476                          community_to_gen="$community_to_gen $version"
477                  fi
478                  for larch in $arch_to_process; do
479                          if [ $larch != i586 ]; then
480                                  (cd $top/$larch/media/contrib/$release/; ln -vf $top/i586/media/contrib/$release/`basename $i`)
481                                  ~/robot/process-obsoletes2 $top/$larch/media/contrib/$release/`basename $i` $top $larch main contrib
482                          fi
483                  done
484                 }
485            done
486        }
487
488        ########################################################################
489        # SRPMS                                     
490        ########################################################################
491        if [[ "$no_srpms" == "" ]]; then
492        /bin/ls $queue/SRPMS/*.src.rpm &> /dev/null && {
493            for i in $queue/SRPMS/*.src.rpm;do
494                rpm -K --nosignature $i &> /dev/null && {
495                    if [ $force == 0 ]; then
496                            target=`rpm -qp --queryformat '%{NAME}' $i`
497                            kernel=${target:0:7}
498                            if [ "$kernel" != "kernel-" ]; then
499                                    if ! check_bad_version $i $top/SRPMS/main/$release 0 0; then
500                                            ~/robot/rejected "$INMAIN" "src" "$version" $i
501                                            echo $INMAIN
502                                            mv -vf $i $queue/rejected/
503                                            continue
504                                    fi
505                                   
506                            fi
507                            if check_bad_version $i $contrib_srpm 0 1 '' 0 $force; then
508                                            ~/robot/rejected "$reason" "src" "$vers" $i
509                                            echo $reason
510                                            mv -vf $i $queue/rejected/
511                                            continue
512                            fi
513                    fi
514                    ln $i /mnt/BIG/dis/cvs_queue/contrib/
515                    #~/robot/cvcp -c $i
516                    echo ~/robot/changelog -c $changelog_arg $i
517                    ~/robot/changelog -c $changelog_arg $i
518                    resign_me_my_geule $i
519                    ~/robot/contrib2rss.sh $i
520                    mv -vf $i $contrib_srpm/
521                }
522            done
523        }
524        fi
525    fi
526}
527
528function process_club {
529    arch_to_process=$1
530    version_to_process=$2
531    for vers in $version_to_process; do
532        changelog_arg="-f $vers"
533        for arch in $arch_to_process noarch; do
534            for i in ~/uploads/$vers/club/free/RPMS/*.$arch.rpm; do
535                if [ -f $i ]; then
536                    rpm -K --nosignature $i &> /dev/null && resign_me_my_geule $i
537                    club_dir=/mnt/BIG/dis/club_queue/free/$vers/$arch
538                    if [[ ! -d $club_dir ]]; then mkdir -p $club_dir; fi
539                    mv $i $club_dir
540                    # scp -c arcfour -l 1024 $i devmandrake@upload.mandrivaclub.com:Volunteer/free/$vers/$arch/
541                fi
542            done
543            for i in ~/uploads/$vers/club/comm/RPMS/*.$arch.rpm; do
544                if [ -f $i ]; then
545                    rpm -K --nosignature $i &> /dev/null && resign_me_my_geule $i
546                    club_dir=/mnt/BIG/dis/club_queue/comm/$vers/$arch
547                    if [[ ! -d $club_dir ]]; then mkdir -p $club_dir; fi
548                    mv $i $club_dir
549                    # scp -c arcfour -l 1024 $i devmandrake@upload.mandrivaclub.com:Volunteer/free/$vers/$arch/
550                fi
551            done
552        done
553        for i in ~/uploads/$vers/club/free/SRPMS/*.src.rpm; do
554            if [ -f $i ]; then
555                rpm -K --nosignature $i &> /dev/null && resign_me_my_geule $i
556                ~/robot/changelog -C $changelog_arg $i
557                club_dir=/mnt/BIG/dis/club_queue/free/$vers/SRPMS
558                if [[ ! -d $club_dir ]]; then mkdir -p $club_dir; fi
559                mv $i $club_dir
560            fi
561        done
562        for i in ~/uploads/$vers/club/comm/SRPMS/*.src.rpm; do
563            if [ -f $i ]; then
564                rpm -K --nosignatuer $i &> /dev/null && resign_me_my_geule $i
565                ~/robot/changelog -C $changelog_arg $i
566                club_dir=/mnt/BIG/dis/club_queue/comm/$vers/SRPMS
567                if [[ ! -d $club_dir ]]; then mkdir -p $club_dir; fi
568                mv $i $club_dir
569            fi
570        done
571
572    done
573}
574
575################################################################################
576# PROCESS QUEUES
577#################################################################################
578for d in cooker/RPMS cooker/SRPMS cooker/force/RPMS cooker/force/SRPMS contrib/force/RPMS contrib/force/SRPMS contrib/RPMS contrib/SRPMS \
57910.1/RPMS 10.1/SRPMS 10.1/force/SRPMS 10.1/force/RPMS 10.1/contrib/RPMS 10.1/contrib/SRPMS 10.1/contrib/force/RPMS/ 10.1/contrib/force/SRPMS 10.1/club/RPMS 10.1/club/SRPMS \
58010.2/RPMS 10.2/SRPMS 10.2/force/SRPMS 10.2/force/RPMS 10.2/contrib/RPMS 10.2/contrib/SRPMS 10.2/contrib/force/RPMS/ 10.2/contrib/force/SRPMS 10.2/club/RPMS 10.2/club/SRPMS \
5812006.0/RPMS 2006.0/SRPMS 2006.0/force/SRPMS 2006.0/force/RPMS 2006.0/contrib/RPMS 2006.0/contrib/SRPMS 2006.0/contrib/force/RPMS/ 2006.0/contrib/force/SRPMS 2006.0/club/free/RPMS 2006.0/club/free/SRPMS 2006.0/club/comm/RPMS 2006.0/club/comm/SRPMS; do
582#    files=`ssh kenobi "ls ~/uploads/$d/*.rpm"`
583#    files=/home/mandrake/uploads/$d/*.rpm
584#    scp -c arcfour -q -B kenobi:$files ~/uploads/$d/ 2> /dev/null && \
585#    ssh -x kenobi "rm -f $files"
586    rsync -alHe 'ssh -xc arcfour' --remove-sent-files --include "*.rpm" --exclude "*" mandrake@kenobi:/home/mandrake/uploads/$d/ ~/uploads/$d/
587#    for f in $files; do
588#       scp -c arcfour -q -B kenobi:$f ~/uploads/$d/ && \
589#        ssh -x kenobi "rm -f $f"
590# #     ssh kenobi "mkdir -p ~/tmp/$d; mv $f ~/tmp/$d"
591done
592
593for c_version in $COMMUNITY_VERSIONS
594do
595  if [ -d /mnt/BIG/dis/community/$c_version/i586/media/main ]; then
596
597# process queue option:
598#
599# queue=$1
600# check_old=$2 1=>only allow new release
601# allow_new=$3 1=>allow to upload new packages
602# deep_freeze=$4  1=>reject everything
603# force=$5
604# i586_frozen=$7
605# arch_to_process=$8
606# top=$9
607# version=$9 (version if not cooker)
608
609    if ls $HOME/uploads/$c_version/contrib/RPMS/*.ppc.rpm || ls $HOME/uploads/$c_version/RPMS/*.ppc.rpm || ls $HOME/uploads/$c_version/force/RPMS/*.rpm || ls $HOME/uploads/$c_version/force/SRPMS/*.rpm || ls $HOME/uploads/$c_version/contrib/RPMS/*.rpm || ls $HOME/uploads/$c_version/contrib/SRPMS/*.rpm || ls $HOME/uploads/$c_version/contrib/force/RPMS/*.rpm || ls $HOME/uploads/$c_version/contrib/force/SRPMS/*.rpm; then
610      process_queue $HOME/uploads/$c_version "" 0 0 0 0 0 "ppc sparc sparc64" /mnt/BIG/dis/community/$c_version/ $c_version 1
611      process_queue $HOME/uploads/$c_version/force "" 0 1 0 1 0 "i586 x86_64" /mnt/BIG/dis/community/$c_version/ $c_version
612      process_contrib $HOME/uploads/$c_version/contrib/ "" 1 "i586 ppc x86_64 sparc sparc64" 0 /mnt/BIG/dis/community/$c_version $c_version
613      process_contrib $HOME/uploads/$c_version/contrib/force "" 1 "i586 ppc x86_64 sparc sparc64" 0 /mnt/BIG/dis/community/$c_version $c_version
614      # generate descriptions file to have a working MandrakeUpdate in Community
615      echo Generate descriptions files for $c_version Community updates
616      ~/robot/gen-descriptions2 $c_version i586 > /mnt/BIG/dis/community/$c_version/i586/media/main/descriptions
617    fi
618  fi
619done
620
621# normal time
622process_queue $HOME/uploads/cooker release 0 0 0 0 0 "$all_archs" /mnt/BIG/dis/cooker/
623#process_queue $HOME/uploads/cooker 0 0 0 0 1 "ppc" /mnt/BIG/dis/cooker/ "" 1
624
625# frozen time, only allow new release
626#process_queue $HOME/uploads/cooker 1 0 0 0 0 "$all_archs" /mnt/BIG/dis/cooker/
627
628# deep frozen time, does not upload main arch
629#process_queue $HOME/uploads/cooker 1 0 1 0 1 "$not_frozen_archs" /mnt/BIG/dis/cooker/
630 
631process_queue $HOME/uploads/cooker/force release 0 1 0 1 0 "$all_archs" /mnt/BIG/dis/cooker/
632
633# normal time
634process_contrib $HOME/uploads/contrib release 0 "$all_archs" 0 /mnt/BIG/dis/cooker/
635process_contrib $HOME/uploads/contrib/force release 1 "$all_archs" 0 /mnt/BIG/dis/cooker/
636
637# frozen time
638#process_contrib $HOME/uploads/contrib/force 1 "$not_frozen_archs" 1 /mnt/BIG/dis/cooker/
639
640for version in 9.2 10.0 $COMMUNITY_VERSIONS
641do
642        process_club "$all_archs" "$version"
643done
644################################################################################
645# CLEAN UP
646################################################################################
647mkdir -p /mnt/BIG/dis/old
648ln -sf /mnt/BIG/dis/old ~/old
649
650remove_old() {
651    dir=$1
652   
653    if [ -d $dir ]; then
654        cd $dir
655        for i in $(~/robot/doble2 $dir);do
656            if [ -L $i ]; then rm -vf $i; else mv -vf $i /mnt/BIG/dis/old; rm -f $i; fi
657            touch /mnt/BIG/dis/old/$i
658        done
659    fi
660}
661
662remove_delta() {
663    dir=$1
664   
665    if [ -d $dir ]; then
666        cd $dir
667        for i in $(~/robot/doble2 --delta $dir);do
668            if [ -L $i ]; then rm -vf $i; else mv -vf $i /mnt/BIG/dis/old; rm -f $i; fi
669            touch /mnt/BIG/dis/old/$i
670        done
671    fi
672}
673# do a subshell because we do cd
674(
675for arch in $all_archs; do
676     remove_old $top/$arch/media/main/release
677     remove_old $top/$arch/media/debug_main/release
678     remove_old $top/$arch/media/contrib/release
679     remove_old $top/$arch/media/debug_contrib/release
680     #remove_delta $top/$arch/media/delta_main
681done
682
683if [ -d $FROZEN/i586/media/main ]; then
684    for arch in $frozen_archs; do
685        remove_old $FROZEN/$arch/media/main
686    done
687fi
688
689for version in $COMMUNITY_VERSIONS
690do
691    for arch in $all_archs; do
692        if [ -d /mnt/BIG/dis/community/$version/$arch/media/main ]; then
693            remove_old /mnt/BIG/dis/community/$version/$arch/media/main
694            remove_old /mnt/BIG/dis/community/$version/$arch/media/contrib
695        fi
696    done
697    if [ -d /mnt/BIG/dis/community/$version/SRPMS/main ]; then
698        remove_old /mnt/BIG/dis/community/$version/SRPMS/contrib
699        remove_old /mnt/BIG/dis/community/$version/SRPMS/main
700    fi 
701done
702
703remove_old /SRPMS/main/release
704remove_old /SRPMS/contrib/release
705)
706
707################################################################################
708# Regenerate lists
709################################################################################
710
711function generate_hdlist () {
712    path=/mnt/BIG/dis/$1
713    version=$2
714    name=$3
715    genme=$4
716    for arch in $genme; do
717        if [ -e $TDIR/.list.$name.$arch ]; then
718                continue
719        fi
720        mkdir -p $TDIR/$name/$version/$arch
721        touch $TDIR/.list.$name.$arch
722        #cd $path/$arch
723        #echo "Mandrakelinux $name $version-Download-$arch `date +"%Y%m%d %k:%M"`" > VERSION
724        #pwd
725        #path=`pwd`
726        echo TMPDIR=$TDIR/$name/$version/$arch ~/robot/gendistrib2 --nochkdep --nobadrpm $fast --noclean $path/$arch
727        TMPDIR=$TDIR/$name/$version/$arch time ~/robot/gendistrib2 --nochkdep --nobadrpm $fast --noclean $path/$arch
728        /home/mandrake/robot/check_hdlist $TMPDIR $path/$arch
729        # md5sum $path/$arch/media/media_info/*hdlist_* > $path/$arch/media/media_info/MD5SUM
730        #echo TMPDIR=$TDIR/$name/$version/$arch ~/robot/gendistrib --fast --nochkdep --nobadrpm --noclean /home/mandrake/tmp/test/$arch
731        #TMPDIR=$TDIR/$name/$version/$arch time ~/robot/gendistrib --fast --nochkdep --nobadrpm --noclean /home/mandrake/tmp/test/$arch
732    done
733}
734
735for version in $community_to_gen
736do
737  if [ -d /mnt/BIG/dis/community/$version/i586/media/main ]; then
738      generate_hdlist community/$version $version Community "$GENME"
739  fi
740done
741echo GENME $GENME 
742generate_hdlist cooker 2007.0 Cooker "$GENME"
743
744# admin.sh ends here
Note: See TracBrowser for help on using the repository browser.