source: subversion/applications/utils/packaging/setup-chroot.sh @ 25355

Last change on this file since 25355 was 17754, checked in by joerg, 10 years ago

Add jaunty + karmic

File size: 20.7 KB
Line 
1#!/bin/bash
2# This script is intended to do the setup and chroot environment for
3# Various Distributions on one Machine.
4# For this we first do a setup of some chroot systems
5#
6# For now I started with the debian based ones.
7
8# TODO:
9# automatic answering Yes to java install
10# setting dpkg question verbosity very low
11# renaming from -64 --> amd64 to reflect debian naming
12# renaming from -32 --> i386  to reflect debian naming (including symlink to old)
13
14
15chroot_base_dir="/home/chroot"
16username=`grep 1000 /etc/passwd | sed 's/:.*//'`
17
18unset http_proxy
19unset HTTP_PROXY
20export LANG=C
21export DEB_BUILD_OPTIONS="parallel=4"
22
23
24distri=debian
25release=lenny
26architecture=32
27
28log_dir="/home/chroot/log-setup"
29svn_co_base_dir=${chroot_base_dir}/svn
30
31mkdir -p "${log_dir}"
32mkdir -p "${log_dir}/results/"
33
34verbose=true
35debug=false
36quiet=false
37force=false
38do_fast=false
39do_summarize=false
40do_install_dev_tools=false
41do_setup_distri=false
42do_apt_get_update=false
43do_all_distributions=false
44
45# ----------------------------------------------------------------------------------------
46function show_error () {
47    local logfile="$1"
48    local error_text="$2"
49
50    if [ -n "${logfile}" ] ; then
51        cat "${logfile}" >>${log_dir}/$chroot/errors.log
52
53        mv "${logfile}" "${logfile}.error"
54        logfile="${logfile}.error"
55        echo "Logfile: ${logfile}"
56        if $verbose ; then
57            echo "tail ${logfile} ... "
58            tail ${logfile}
59        fi
60    fi
61
62    echo "${BG_WHITE}${RED}!!!!!!! ERROR($chroot): $task_name: $error_text${NORMAL}"
63    echo "!!!!!!! ERROR($chroot): $task_name: $error_text" \
64        >> ${log_dir}/$chroot/results.log
65}
66# ------------------------------------------------------------------
67
68for arg in "$@" ; do
69    arg_true=true
70    arg_false=false
71    case $arg in
72        --no-*)
73            arg_true=false
74            arg_false=true
75            arg=${arg/--no-/--}
76    esac
77    case $arg in
78        --all) # do all install/build steps
79            do_setup_distri=$arg_true
80            do_install_dev_tools=$arg_true
81            do_apt_get_update=$arg_true
82            do_debuild_packages=$arg_true
83            ;;
84
85
86        --setup-distri) # Setup the chroot with the distribution
87            do_setup_distri=$arg_true
88            ;;
89
90        --install-dev-tools) # Install Devtools inside chroot
91            do_install_dev_tools=$arg_true
92            ;;
93
94        --apt-get-update) #  Update debian packages with 'apt-get update;apt-get dist-upgrade'
95            do_apt_get_update=$arg_true
96            ;;
97
98        --iterate-all-distributions) # iterate over all possibilities
99            do_all_distributions=$arg_true
100            ;;
101
102        --distri=*) #   Select distribution [debian|ubuntu|maemo]
103                    #   Default: debian
104                    #   Where * means iterate over all distributions
105        distri=${arg#*=}
106        if [ "$distri" = "*" ] ; then
107            do_all_distributions=$arg_true
108        fi
109        ;;
110       
111        --release=*) #  Specify Release
112                     #  debian: etch|lenny|squeeze
113                     #  ubuntu: [dapper|feisty|gutsy|hardy|intrepid|jaunty|karmic]
114                     #  maemo: [diablo]
115                     #  Default: debian squeeze
116                     #  If we recognize that it is debian/ubuntu we set this too
117                     #  lenny-64 for example also sets the architecture
118                     #   Where * means iterate over all distributions
119        release=${arg#*=}
120        if [ "$release" = "*" ] ; then
121            do_all_distributions=$arg_true
122            continue
123        fi
124       
125        case $release in
126            *-32)
127                architecture=32
128                release=${release%-32}
129                ;;
130            *-i386)
131                architecture=32
132                release=${release%-i386}
133                ;;
134            *-64)
135                architecture=64
136                release=${release%-64}
137                ;;
138            *-amd64)
139                architecture=64
140                release=${release%-amd64}
141                ;;
142        esac
143       
144        if [ -d "/usr/share/debootstrap/scripts/" -a \( ! -s "/usr/share/debootstrap/scripts/${release}" \) ] ; then
145            available_ubuntu_releases=`grep -i 'mirror.*ubuntu' /usr/share/debootstrap/scripts/* | sed 's,.*scripts/,,;s,:.*,,; s,\..*,,'  | sort -u`
146            echo  "Available Ubuntu Release scripts: " $available_ubuntu_releases
147            show_error '' "there is no debootstrap script for $release"
148            exit -1
149        elif grep -q ubuntu /usr/share/debootstrap/scripts/${release}; then
150            distri="ubuntu"
151        elif echo "${release}" | grep -q -e diablo; then
152            distri="maemo"
153        fi
154        ;;
155
156        --architecture=*) #Specify Architecture
157                     #  Default: 32-bit Linux
158        architecture=${arg#*=}
159        ;;
160
161        --chroot-base-dir=*) # The basedir where to store the chroot environments
162        chroot_base_dir=${arg#*=}
163        ;;
164       
165        --force) #      force some actions
166            force=$arg_true
167            ;;
168
169        -h)
170            help=$arg_true
171            ;;
172
173        --help)
174            help=$arg_true
175            ;;
176
177        -help)
178            help=$arg_true
179            ;;
180
181        --verbose) #    switch on verbose output
182            verbose=$arg_true
183            quiet=$arg_false
184            ;;
185
186        --debug) #      switch on debugging
187            debug=$arg_true
188            verbose=$arg_true
189            quiet=$arg_false
190            ;;
191
192        --quiet) #      switch on quiet Mode
193            debug=$arg_false
194            verbose=$arg_false
195            quiet=$arg_true
196            ;;
197
198        -debug)
199            debug=$arg_true
200            verbose=$arg_true
201            quiet=""
202            ;;
203        --nv) #         be a little bit less verbose
204            verbose=''
205            ;;
206
207        *)
208            echo ""
209            echo "${RED}!!!!!!!!! Unknown option $arg${NORMAL}"
210            echo ""
211            help=true
212            UNKNOWN_OPTION=true
213            ;;
214    esac
215done # END OF OPTIONS
216
217
218# define Colors
219ESC=`echo -e "\033"`
220RED="${ESC}[91m"
221GREEN="${ESC}[92m"
222YELLOW="${ESC}[93m"
223BLUE="${ESC}[94m"
224MAGENTA="${ESC}[95m"
225CYAN="${ESC}[96m"
226WHITE="${ESC}[97m"
227BG_RED="${ESC}[41m"
228BG_GREEN="${ESC}[42m"
229BG_YELLOW="${ESC}[43m"
230BG_BLUE="${ESC}[44m"
231BG_MAGENTA="${ESC}[45m"
232BG_CYAN="${ESC}[46m"
233BG_WHITE="${ESC}[47m"
234BRIGHT="${ESC}[01m"
235UNDERLINE="${ESC}[04m"
236BLINK="${ESC}[05m"
237REVERSE="${ESC}[07m"
238NORMAL="${ESC}[0m"
239
240# ----------------------------------------------------------------------------------------
241# HELP
242if [ "true" = "$help" ] ; then
243    # extract options from case commands above
244    options=`grep -E -e esac -e '\s*--.*\).*#' $0 | sed '/esac/,$d;s/.*--/ [--/; s/=\*)/=val]/; s/)[\s ]/]/; s/#.*\s*//; s/[\n/]//g;'`
245    options=`for a in $options; do echo -n " $a" ; done`
246    echo "$0 $options"
247    echo "
248
249    This script does set up some chroot environments.
250    This chroot environment then can be used to build
251    debian(for now) based Packages.
252    It also installes a basic set of tools inside the
253    chroot environment to later be able to do the packaging.
254    "
255    # extract options + description from case commands above
256    grep -E  \
257        -e 'END OF OPTIONS' \
258        -e '--.*\).*#' \
259        -e '^[\t\s      ]+#' \
260        $0 | \
261        grep -v /bin/bash | sed '/END OF OPTIONS/,$d;s/.*--/  --/;s/=\*)/=val/;s/)//;s/^[ \t]*#/\t\t/;;s/[ \t]*#/\t/;' 
262    echo "Using an option with --no-option-name switches off this option"
263    $UNKNOWN_OPTION && exit -1
264    exit;
265fi
266
267# ----------------------------------------------------------------------------------------
268
269if ! whoami | grep -q root ; then
270    echo "!!!!!! Need to be root"
271    exit
272fi
273
274if ps fauxwww | grep -v -e grep -e emacs -e "$$" | grep -B 5 -A 2 -e $0 ; then
275    echo "There is already another setup_chroot.sh running"
276    ps -eo "%t %u %p %C %y %x %c %a " |  (head -n 1 ; grep java)
277    exit -1
278fi
279
280
281# ----------------------------------------------------------------------------------------
282
283if $debug ; then
284    echo "Started `date`"
285else
286    #exec 2>&4-
287    #exec 2<>/dev/null
288    true
289fi
290
291
292# ----------------------------------------------------------------------------------------
293function debug_out () {
294    task_name="$1"
295    description_string="$2"
296    LOGFILE="${log_dir}/$chroot/log-$task_name.log"
297
298    if $debug ; then
299        echo "DEBUG: -------- $chroot --- '$task_name': Trying '$description_string'"
300    fi
301
302    if $debug ; then
303        tee $LOGFILE
304        cat "${LOGFILE}" >>${log_dir}/$chroot/full-debug.log
305    else
306        cat >$LOGFILE
307    fi
308    rc=`tail -1 | grep "EXIT CODE" $LOGFILE`
309    rc=${rc##EXIT CODE=}
310    if [ "$rc" != "0" ] ; then   
311        echo "$task_name: Trying $description_string" >>${log_dir}/$chroot/errors.log
312        cat "${LOGFILE}" >>${log_dir}/$chroot/errors.log
313        show_error "${LOGFILE}" "cannot do '$description_string' Exit Code $rc" 
314        return -1
315    fi
316
317    $debug && echo "DEBUG: $LOGFILE"
318    return $rc
319}
320
321function set_rc {
322    rc=$?
323    echo "EXIT CODE=$rc"
324}
325
326# ----------------------------------------------------------------------------------------
327
328prerequisites=true
329debootstrap --version >/dev/null || prerequisites=false
330dchroot --version >/dev/null || prerequisites=false
331rpm --version >/dev/null || prerequisites=false
332if ! $prerequisites; then
333    $quiet || echo "-- $chroot ----- install debootstrap,dchroot,rpm on host"
334    task_name="aptitide_install_debootstrap_dchroot"
335    aptitude --assume-yes install debootstrap dchroot rpm
336    if [ "$?" -ne "0" ] ; then
337        show_error "${LOGFILE}" "cannot install debootstrap dchroot rmp"
338        exit -1
339    fi
340fi
341
342
343# ----------------------------------------------------------------------------------------
344#                                         Functions
345# ----------------------------------------------------------------------------------------
346
347
348# ----------------------------------------------------------------------------------------
349function setup_variables {
350    $debug && echo ""
351
352    chroot="$distri-$release-$architecture"
353    chroot_dir="$chroot_base_dir/$chroot"
354
355
356    if $verbose || $debug ; then
357        echo
358        echo "Distribution: '$distri'"
359        echo "Release: '$release'"
360        echo "Architecture: '$architecture'"
361    fi
362
363    variant=" --variant=buildd "
364
365    # --------------------------------------------
366    # 32/64 -Bit
367    case $architecture in
368        linux32|32)
369            arch="  --arch i386"
370            personality="linux32"
371            ;;
372        amd64|64)
373            arch="  --arch amd64"
374            personality="linux"
375            ;;
376        arm)
377            arch="  --arch arm"
378            personality="linux"
379            ;;
380        *)
381            show_error "${LOGFILE}" "Uknown Architecture $architecture"
382            return -1
383    esac
384
385    # --------------------------------------------
386    #  debian/ubuntu/maemo//Suse
387    debian_based=false
388    suse_based=false
389    case $distri in
390        debian)
391            archive_url="http://ftp.de.debian.org/debian"
392            debian_based=true
393            case $release in
394                etch|lenny|squeeze)
395                    $debug && echo "Specified Release '$release' is OK"
396                    ;;
397                *)
398                    show_error "${LOGFILE}" "unknown Debian Release $release"
399                    return -1
400                    ;;
401            esac
402            ;;
403        ubuntu)
404            archive_url="http://archive.ubuntu.com/ubuntu/"
405            debian_based=true
406            case $release in
407                dapper|feisty|gutsy|hardy|intrepid|jaunty|karmic)
408                    $debug && echo "Specified Release '$release' is OK"
409                    ;;
410                *)
411                    show_error "${LOGFILE}" "unknown Ubuntu Release $release"
412                    return -1
413                    ;;
414            esac
415            ;;
416        maemo)
417            archive_url="http://archive.maemo.com/"
418            debian_based=true
419            case $release in
420                diablo)
421                    $debug && echo "Specified Release '$release' is OK"
422                    ;;
423                *)
424                    show_error "${LOGFILE}" "unknown Ubuntu Release $release"
425                    return -1
426                    ;;
427            esac
428            ;;
429        suse)
430            archive_url="http://download.opensuse.org/distribution/11.1/repo/oss/"
431            suse_based=true
432            case $release in
433                11.1)
434                    $debug && echo "Installing Suse"
435                    ;;
436            esac
437            ;;
438        *)
439            show_error "${LOGFILE}" "Uknown Distribution $distri"
440            return -1
441    esac
442   
443
444    return 0
445}
446
447# ----------------------------------------------------------------------------------------
448function setup_distri {
449
450    $do_setup_distri ||    return 0 
451
452    $debug && echo ""
453    # --------------------------------------------
454    if $debian_based ; then
455        if  $force || [ ! -s "$chroot_dir/etc/debian_version" ]; then
456            $quiet || echo "-- $chroot -- debootstrap ----------------------------------------"
457            command="debootstrap $variant $arch $release $chroot_dir $archive_url"
458            $debug && echo $command
459            task_name="debootstrap"
460            { debootstrap $variant $arch "$release" "$chroot_dir" "$archive_url" \
461                2>&1 ;set_rc; } | debug_out "debootstrap" "$command"
462            test "$?" -ne "2" && return -1
463        fi
464    fi
465
466    if $suse_based ; then
467        # $archive_url/bla.rpm
468        rpm --root $chroot_dir -ihv `cat /tmp/rpms-suse`
469        echo "$chroot not implemented .... Ends here for now ..." \
470            | tee -a ${log_dir}/$chroot/results.log
471        return -1
472    fi
473
474    # --------------------------------------------
475    if true; then
476        $quiet || echo "-- $chroot -- mount /proc, ... ----------------------------------------"
477
478        # Google: ...
479        # mount --bind /dev /path-to-your-chroot/dev
480        # mount --bind /dev/pts /path-to-your-chroot/dev/pts
481        # mount --bind /dev/shm /path-to-your-chroot/dev/shm
482        # mount -t proc none /path-to-your-chroot/proc
483        # mount -t sysfs none /path-to-your-chroot/sys
484
485        for dev_type  in proc; do 
486            # mount -o bind /proc  $chroot_dir/proc
487            if ! grep -q -e "/proc.*$chroot_dir/proc proc bind" /etc/fstab; then
488                echo "/proc  $chroot_dir/proc proc bind" >>/etc/fstab
489            fi
490            umount "$chroot_dir/proc"
491            mount "$chroot_dir/proc"
492            if $debug ; then
493                echo "mounted:"
494                mount | grep -e '^/proc'
495            fi
496        done
497    fi
498
499    # For DNS Lookup
500    cp /etc/resolv.conf $chroot_dir/etc/resolv.conf
501
502
503    $quiet || echo "-- $chroot -- Update Sources.list----------------------------------------"
504    if [ ! -s  "$chroot_dir/etc/apt/sources.list.DIST" ] ; then
505        mv "$chroot_dir/etc/apt/sources.list" "$chroot_dir/etc/apt/sources.list.DIST"
506    fi
507    case $distri in
508        ubuntu)
509            cat <<EOF >$chroot_dir/etc/apt/sources.list
510deb http://archive.ubuntu.com/ubuntu/ $release main restricted multiverse universe
511deb http://de.archive.ubuntu.com/ubuntu $release main restricted
512deb-src http://de.archive.ubuntu.com/ubuntu $release main restricted
513deb http://security.ubuntu.com/ubuntu/ $release-security restricted main multiverse universe
514
515deb http://archive.ubuntu.com/ubuntu/ $release-updates restricted main multiverse universe
516deb http://archive.ubuntu.com/ubuntu/ $release universe
517EOF
518            ;;
519
520        debian)
521            cat >$chroot_dir/etc/apt/sources.list <<EOF
522deb http://ftp.de.debian.org/debian/ $release main contrib non-free
523deb-src http://ftp.de.debian.org/debian/ $release main contrib non-free
524
525deb http://security.debian.org/ $release/updates main contrib non-free
526deb-src http://security.debian.org/ $release/updates main contrib non-free
527EOF
528
529            case $release in
530                etch)
531                    $quiet || echo "deb http://www.backports.org/debian $release-backports main contrib non-free" \
532                        >>$chroot_dir/etc/apt/sources.list
533#                   echo "deb http://volatile.debian.org/debian-volatile $release/volatile main contrib non-free" \
534#                         >>$chroot_dir/etc/apt/sources.list
535                    ;;
536            esac
537
538            case $architecture in
539                linux32|32)
540                    cat >>$chroot_dir/etc/apt/sources.list <<EOF
541
542#deb     http://www.gpsdrive.de/debian testing main
543#deb-src http://www.gpsdrive.de/debian testing main
544EOF
545                    ;;
546            esac
547            ;;
548    esac
549
550    # ----------------------------------------------------------------------------------------
551    if $do_apt_get_update; then
552        $debug && echo ""
553        command="apt-get update"
554        $quiet || echo "-- $chroot ---------- Update to newest version (update;dist-upgrade)"
555        $debug && echo "---- apt-get update"
556        task_name="apt-get_update"
557        { chroot $chroot_dir apt-get --quiet --force-yes update \
558            2>&1  ;set_rc; } | debug_out "$task_name" "$command"
559        test "$?" -ne "0" && return -1
560       
561        $debug && echo "---- dist-upgrade"
562        command="dist-upgrade"
563        task_name="apt-get_dist-upgrade"
564        { chroot $chroot_dir apt-get --quiet --assume-yes --force-yes dist-upgrade \
565            2>&1  ;set_rc; } | debug_out $task_name "$command"
566        test "$?" -ne "0" && return -1
567       
568        case $distri in
569            ubuntu)
570                $debug && echo "---- apt-get install gnupg"
571                command="apt-get install aptitude"
572                task_name="apt-get_install_gpg"
573                { chroot $chroot_dir apt-get --assume-yes --force-yes install gnupg \
574                    2>&1  ;set_rc; } | debug_out $task_name "$command"
575                test "$?" -ne "0" && return -1
576                ;;
577        esac
578
579        $debug && echo "---- apt-get install aptitude"
580        command="apt-get install aptitude"
581        task_name="apt-get_install_aptitude"
582        if ! chroot $chroot_dir aptitude --version >/dev/null ; then
583            { chroot $chroot_dir apt-get --quiet --assume-yes --force-yes install aptitude \
584                2>1   ;set_rc; } | debug_out $task_name "$command"
585            test "$?" -ne "0" && return -1
586        fi
587
588    fi
589
590    # ----------------------------------------------------------------------------------------
591    chroot $chroot_dir ls -ld /home/$username | grep "$username root" >/dev/null 2>/dev/null
592    user_dir_ok=$?
593    id $username >/dev/null
594    user_id_ok=$?
595    if [ ! $force -a "$user_id_ok" -eq 0 -a "$user_dir_ok" -eq 0 ] ; then
596        $debug && echo "--- $chroot -- User Setup OK"
597    else
598        $debug && echo ""
599        echo "--- $chroot -- Add User"
600        chroot $chroot_dir useradd $username
601        if [ "$?" -ne "0" ] ; then
602            echo "WARNING: cannot add user $username"
603        fi
604        chroot $chroot_dir mkdir -p /home/$username
605        if [ "$?" -ne "0" ] ; then
606            show_error "${LOGFILE}" "cannot create homedir for $username"
607            return -1
608        fi
609
610        # Show Chroot Type in bash Prompt
611        echo '#!/bin/bash' > $chroot_dir/home/$username/.profile
612        echo 'PS1="`version`:\u@\h:\w\$"' >>$chroot_dir/home/$username/.profile
613
614        # set Permissions for user home
615        chroot $chroot_dir chown -R $username /home/$username
616        if [ "$?" -ne "0" ] ; then
617            show_error "${LOGFILE}" "cannot grant user $username access to its home"
618            return -1
619        fi
620
621    fi
622
623
624    # ----------------------------------------------------------------------------------------
625    if ! grep -q -e "$chroot " /etc/dchroot.conf; then
626        $debug && echo ""
627        $quiet || echo "-- $chroot ---------- dchroot.conf"
628        $quiet || echo "-- $chroot ---------- add to dchroot.conf"
629        echo "$chroot $chroot_dir ${personality}" >>/etc/dchroot.conf
630    fi
631
632    if ! sudo -u $username dchroot -c $chroot "id $username" >/dev/null 2>&1 ; then
633        sudo -u $username dchroot -c $chroot "id $username"
634        show_error "${LOGFILE}" "calling dchroot"
635        return -1 
636    fi
637
638
639    # ----------------------------------------------------------------------------------------
640    # Add a version command inside the chroot
641    echo "#!/bin/bash"  >$chroot_dir/bin/version
642    echo "echo \"$chroot\"" >>$chroot_dir/bin/version
643    chmod a+rx $chroot_dir/bin/version
644
645    return 0
646}
647
648# ----------------------------------------------------------------------------------------
649function install_devtools {
650    $do_install_dev_tools || return 0
651
652    $debug && echo ""
653    $quiet || echo "-- $chroot -------------------- Install development Tools"
654
655    development_tools="pbuilder subversion wget gnupg nano subversion vim cmake less"
656    development_tools="$development_tools devscripts debconf debhelper"
657    development_tools="$development_tools debian-archive-keyring debian-edu-archive-keyring debian-keyring"
658    development_tools="$development_tools sun-java6-jdk openssh-server apt-utils dpatch"
659    case $distri in
660        debian)
661            development_tools="$development_tools python-central"
662            ;;
663        ubuntu)
664            development_tools="$development_tools ubuntu-keyring python-central"
665            ;;
666    esac
667
668    $debug && echo "Check For Old dependencies: 'apt-get -f  --quiet --force-yes --assume-yes install'"
669    task_name="apt-get_-f_install"
670    command="Install development tools: apt-get -f install"
671    { chroot $chroot_dir apt-get -f install \
672        2>&1  ;set_rc; } | debug_out $task_name "$command"
673    test "$?" -ne "0" && return -1
674
675    $debug && echo "Check For Packages: '$development_tools'"
676    task_name="aptitude_install_developmenttools"
677    command="Install development tools: aptitude --assume-yes install $development_tools"
678    { chroot $chroot_dir aptitude --assume-yes install $development_tools \
679        2>&1  ;set_rc; } | debug_out $task_name "$command"
680    test "$?" -ne "0" && return -1
681    return 0
682}
683
684
685# ----------------------------------------------------------------------------------------
686#                                          Main
687# ----------------------------------------------------------------------------------------
688function main_func {
689
690    setup_variables || return -1
691
692
693    mkdir -p ${log_dir}-old
694    old_log=${log_dir}-old/$chroot
695    echo $old_log
696    rm -rf  ${log_dir}-old/$chroot
697    test -d ${log_dir}/$chroot && mv -f ${log_dir}/$chroot ${log_dir}-old/
698    mkdir -p ${log_dir}/$chroot
699
700    setup_distri || return -1
701    install_devtools || return -1
702
703    echo "Usage of chroot $chroot with"
704    echo "        dchroot -c $chroot"
705    return 0
706}
707
708
709# ----------------------------------------------------------------------------------------
710
711if $do_all_distributions ; then
712   
713    for architecture in 64 32 ; do 
714       
715        $quiet || echo "# -------------------- Debian"
716        distri=debian
717        for release in squeeze lenny ; do 
718            main_func || echo "Incomplete $distri-$release-$architecture"
719        done
720
721        $quiet || echo "# -------------------- Ubuntu"
722        distri=ubuntu
723        #for release in dapper feisty  gutsy hardy intrepid jaunty; do
724        for release in jaunty karmic intrepid hardy ; do
725        #for release in intrepid ; do
726            main_func  || echo "Incomplete $distri-$release-$architecture"
727        done
728
729        if false; then # TODO: Not YET Implemented
730            echo "# SuSe"
731            distri=suse
732            for release in 11.1 11.0 10.3 10.2 ; do
733                main_func || echo "Incomplete $distri-$release-$architecture"
734            done 
735        fi
736    done
737   
738else
739    main_func || echo "Incomplete $distri-$release-$architecture"
740fi
741
742
743if $debug ; then
744    echo "Finished `date`"
745fi
746
Note: See TracBrowser for help on using the repository browser.