source: MondoRescue/branches/stable/tools/pkg2ftp @ 1442

Last change on this file since 1442 was 1442, checked in by Bruno Cornec, 13 years ago

pkg2ftp now creates yum and urpmi repositories for the respective rpm based distros

  • Property svn:executable set to *
  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1#!/bin/bash
2#
3# Deliver packages and tgz files to ftp.mondorescue.org
4#
5# $Id: pkg2ftp 1442 2007-05-16 23:39:28Z bruno $
6#
7
8
9(
10dname=`dirname $0`
11prem=`echo $dname |cut -c1`
12if [ _${prem} = _"/" ]; then
13        export TOOLHOME=$dname
14else
15    export TOOLHOME=${PWD}/$dname
16fi
17
18. $TOOLHOME/common-env
19. $TOOLHOME/distro-env
20. $TOOLHOME/ftp-env
21
22# We need to get $VER and $TAG
23if [ "$1" = "" ]; then
24    LAST=`cat ${TOPDIR}/LAST`
25else
26    LAST=$1
27    shift
28fi
29VER=`echo $LAST | cut -d- -f1`
30TAG=`echo $LAST | cut -d- -f2`
31echo "Working on ${VER}-$TAG"
32   
33if [ "$1" = "" ]; then
34    c="mondo-doc mindi mindi-busybox mondo"
35else
36    if [ "$1" = "all" ]; then
37        c="mindi-kernel mondo-doc mindi mindi-busybox mondo"
38    else
39        c="$*"
40    fi
41fi
42
43export pkg=""
44echo "Working under $TOPBUILDDIR"
45cd $TOPBUILDDIR
46
47spkg=""
48pkg=""
49
50for p in $c; do
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`
54    tar -xz -C $MONDOTMP -f $src $pv/TAG
55    tag=`cat $MONDOTMP/$pv/TAG`
56    if [  _"$dtype" = _"rpm" ]; then
57        if [ _"$p" = _"mondo-doc" ] || [ _"$p" = _"mindi" ]; then
58            ar="noarch"
59        else
60            ar=$ARCH
61        fi
62        pkg="$pkg ${TOPBUILDDIR}/RPMS/${ar}/$pv-${tag}${suf}.${ar}.rpm"
63        spkg="$spkg ${TOPBUILDDIR}/SRPMS/$pv-${tag}${suf}.src.rpm"
64    elif [  _"$dtype" = "_deb" ]; then
65        pkg="$pkg ${TOPBUILDDIR}/$p_*.deb"
66        spkg="$spkg ${TOPBUILDDIR}/$p_*.dsc ${TOPBUILDDIR}/$p_*.tar.gz"
67    elif [  _"$dtype" = "_ebuild" ]; then
68        spkg="$spkg ${TOPBUILDDIR}/portage/sys-apps/$p/$pv.ebuild"
69        pkg="$pkg /usr/portage/packages/All/$pv.tbz2"
70    elif [  _"$dfam" = _"slackware" ]; then
71        pkg="$pkg ${TOPBUILDDIR}/build-$p/$pv-*-${tag}mr.tgz"
72    fi
73done
74
75echo "Packages delivery to ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}"
76ssh -q ${ACCOUNT} "mkdir -p ${DSTDIR}/${ddir}/${dver} ; cd ${DSTDIR}/${ddir}/${dver} ; rm -f ${pkg} ${spkg}"
77scp -p ${pkg} ${spkg} ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
78if [  _"$dtype" = _"rpm" ]; then
79    if [ _"$ddir" = _"mandriva" ] || [ _"$ddir" = _"mandrake" ]; then
80        cat > $MONDOTMP/addmedia << EOF
81urpmi.addmedia mondorescue ftp://ftp.mondorescue.org/$ddir/$dver with hdlist.cz
82EOF
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]
90name=$ddir $dver - MondoRescue Vanilla Packages
91baseurl=ftp://ftp.mondorescue.org/$ddir/$dver
92enabled=1
93gpgcheck=0
94EOF
95        scp -p $MONDOTMP/${ddir}-mondo.repo ${ACCOUNT}:${DSTDIR}/${ddir}/${dver}
96        # Build a yum repository
97        ssh -q ${ACCOUNT} "cd ${DSTDIR}/${ddir}/${dver} ; yum-arch . ; createrepo ."
98    fi
99fi
100rm -rf $MONDOTMP
101) 2>&1 | tee /tmp/pkg2ftp.log
Note: See TracBrowser for help on using the repository browser.