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

Last change on this file since 1442 was 1442, checked in by Bruno Cornec, 17 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.