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