[20] | 1 | #!/bin/bash
|
---|
| 2 | #
|
---|
[589] | 3 | # Deliver packages and tgz files to ftp.mondorescue.org
|
---|
[33] | 4 | #
|
---|
| 5 | # $Id: pkg2ftp 1529 2007-07-06 12:28:03Z bruno $
|
---|
| 6 | #
|
---|
[20] | 7 |
|
---|
[755] | 8 |
|
---|
[757] | 9 | (
|
---|
[33] | 10 | dname=`dirname $0`
|
---|
| 11 | prem=`echo $dname |cut -c1`
|
---|
[1042] | 12 | if [ _${prem} = _"/" ]; then
|
---|
[33] | 13 | export TOOLHOME=$dname
|
---|
| 14 | else
|
---|
| 15 | export TOOLHOME=${PWD}/$dname
|
---|
| 16 | fi
|
---|
[20] | 17 |
|
---|
[549] | 18 | . $TOOLHOME/common-env
|
---|
[589] | 19 | . $TOOLHOME/distro-env
|
---|
[590] | 20 | . $TOOLHOME/ftp-env
|
---|
[33] | 21 |
|
---|
[589] | 22 | # We need to get $VER and $TAG
|
---|
| 23 | if [ "$1" = "" ]; then
|
---|
| 24 | LAST=`cat ${TOPDIR}/LAST`
|
---|
| 25 | else
|
---|
| 26 | LAST=$1
|
---|
| 27 | shift
|
---|
| 28 | fi
|
---|
| 29 | VER=`echo $LAST | cut -d- -f1`
|
---|
| 30 | TAG=`echo $LAST | cut -d- -f2`
|
---|
| 31 | echo "Working on ${VER}-$TAG"
|
---|
| 32 |
|
---|
| 33 | if [ "$1" = "" ]; then
|
---|
[825] | 34 | c="mondo-doc mindi mindi-busybox mondo"
|
---|
[589] | 35 | else
|
---|
| 36 | if [ "$1" = "all" ]; then
|
---|
[825] | 37 | c="mindi-kernel mondo-doc mindi mindi-busybox mondo"
|
---|
[589] | 38 | else
|
---|
[924] | 39 | c="$*"
|
---|
[589] | 40 | fi
|
---|
| 41 | fi
|
---|
| 42 |
|
---|
| 43 | export pkg=""
|
---|
| 44 | echo "Working under $TOPBUILDDIR"
|
---|
| 45 | cd $TOPBUILDDIR
|
---|
| 46 |
|
---|
[590] | 47 | spkg=""
|
---|
| 48 | pkg=""
|
---|
| 49 |
|
---|
[589] | 50 | for p in $c; do
|
---|
[590] | 51 | # s= stable; t = trunk; 1-9 = official version
|
---|
| 52 | src=${TOPDIR}/${VER}-$TAG/$p-[1-9st]*.tar.gz
|
---|
| 53 | pv=`basename $src .tar.gz`
|
---|
[995] | 54 | tar -xz -C $MONDOTMP -f $src $pv/TAG
|
---|
[994] | 55 | tag=`cat $MONDOTMP/$pv/TAG`
|
---|
[590] | 56 | if [ _"$dtype" = _"rpm" ]; then
|
---|
[1121] | 57 | if [ _"$p" = _"mondo-doc" ] || [ _"$p" = _"mindi" ]; then
|
---|
[590] | 58 | ar="noarch"
|
---|
| 59 | else
|
---|
| 60 | ar=$ARCH
|
---|
| 61 | fi
|
---|
[924] | 62 | pkg="$pkg ${TOPBUILDDIR}/RPMS/${ar}/$pv-${tag}${suf}.${ar}.rpm"
|
---|
| 63 | spkg="$spkg ${TOPBUILDDIR}/SRPMS/$pv-${tag}${suf}.src.rpm"
|
---|
[721] | 64 | elif [ _"$dtype" = "_deb" ]; then
|
---|
[755] | 65 | pkg="$pkg ${TOPBUILDDIR}/$p_*.deb"
|
---|
[721] | 66 | spkg="$spkg ${TOPBUILDDIR}/$p_*.dsc ${TOPBUILDDIR}/$p_*.tar.gz"
|
---|
[765] | 67 | elif [ _"$dtype" = "_ebuild" ]; then
|
---|
| 68 | spkg="$spkg ${TOPBUILDDIR}/portage/sys-apps/$p/$pv.ebuild"
|
---|
| 69 | pkg="$pkg /usr/portage/packages/All/$pv.tbz2"
|
---|
[1028] | 70 | elif [ _"$dfam" = _"slackware" ]; then
|
---|
| 71 | pkg="$pkg ${TOPBUILDDIR}/build-$p/$pv-*-${tag}mr.tgz"
|
---|
[590] | 72 | fi
|
---|
| 73 | done
|
---|
[589] | 74 |
|
---|
[402] | 75 | echo "Packages delivery to ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}"
|
---|
[1011] | 76 | ssh -q ${ACCOUNT} "mkdir -p ${DSTDIR}/${ddir}/${dver} ; cd ${DSTDIR}/${ddir}/${dver} ; rm -f ${pkg} ${spkg}"
|
---|
[1394] | 77 | scp -p ${pkg} ${spkg} ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
|
---|
[1442] | 78 | if [ _"$dtype" = _"rpm" ]; then
|
---|
| 79 | if [ _"$ddir" = _"mandriva" ] || [ _"$ddir" = _"mandrake" ]; then
|
---|
| 80 | cat > $MONDOTMP/addmedia << EOF
|
---|
| 81 | urpmi.addmedia mondorescue ftp://ftp.mondorescue.org/$ddir/$dver with hdlist.cz
|
---|
| 82 | EOF
|
---|
| 83 | chmod 755 $MONDOTMP/addmedia
|
---|
| 84 | scp -p $MONDOTMP/addmedia ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
|
---|
| 85 | # Build a urpmi repository
|
---|
| 86 | ssh -q ${ACCOUNT} "cd ${DSTDIR}/${ddir}/${dver} ; genhdlist ."
|
---|
| 87 | else
|
---|
| 88 | cat > $MONDOTMP/${ddir}-mondo.repo << EOF
|
---|
| 89 | [mondorescue]
|
---|
| 90 | name=$ddir $dver - MondoRescue Vanilla Packages
|
---|
| 91 | baseurl=ftp://ftp.mondorescue.org/$ddir/$dver
|
---|
| 92 | enabled=1
|
---|
| 93 | gpgcheck=0
|
---|
| 94 | EOF
|
---|
| 95 | scp -p $MONDOTMP/${ddir}-mondo.repo ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
|
---|
| 96 | # Build a yum repository
|
---|
[1529] | 97 | ssh -q ${ACCOUNT} "cd ${DSTDIR}/${ddir}/${dver} ; rm -rf headers/ repodata/ ; yum-arch . ; createrepo ."
|
---|
[1442] | 98 | fi
|
---|
| 99 | fi
|
---|
| 100 | rm -rf $MONDOTMP
|
---|
[757] | 101 | ) 2>&1 | tee /tmp/pkg2ftp.log
|
---|