deploy_deb.sh 3.14 KB
Newer Older
isaagar's avatar
isaagar committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
#!/bin/bash
#Created by Amardeep Singh - 20/11/2014
#Updated Version 1.1 - 03/12/2014
#Updated - 21/02/2017

if [[ $# -lt 5 ]]; then
    echo "Usage: ${0} Paramaters missing please. Example Usage: <src-amd64-dir> <src-i386-dir> <path-to-incoming-dir> <path-to-repodir> <distro> OPTIONAL for uploading to master repo <upload>''"
    exit -1
fi

##Binaries
COPY="$(which cp)"
REPREPRO="$(which reprepro)"
DIFF="$(which diff)"
SED="$(which sed)"
GREP="$(which grep)"
CAT="$(which cat)"
DUP="$(which dupload)"

#Static Variables
#CHANGES_i386="i386.changes.tmp"
#CHANGES_amd64="amd64.changes.tmp"

##Export variables
export SRC_AMD=${1}
export SRC_i386=${2}
export DST_DIR=${3}
export REPO_DIR=${4}
export DISTRO=${5}
export REPOPTS=${6}
export UPLOAD=${7}
export CLEANUP=${8}

function deploy {

echo "=====Copy Function Start======"

#Copy Files for i386 only
$COPY -v $SRC_i386/* $DST_DIR/

#Copy Files for amd64
$COPY -v $SRC_AMD/* $DST_DIR/

echo "=====Copy Function Completed======"

echo "=====Changing directory======"
echo $DST_DIR
cd $DST_DIR

#echo "=====Append Function Start======"
#Grep i386 lines and create new tmp file
#$CAT *_i386.changes |grep -E '_i386|Checksums-Sha1:|Checksums-Sha256:|Files:|Original-Maintainer:' > $CHANGES_i386

#Run Diff
#$DIFF -DVERSION1 *_amd64.changes $CHANGES_i386 > $CHANGES_amd64

#Set filename for changes file using package name
#CHANGES_DEPLOY=`ls *.dsc | sed 's/\(.*\)\..*/\1/'`

#Cleaning up the files
#$GREP -v '^#if' $CHANGES_amd64 | grep -v '^#endif'|grep -v '^#else' > $CHANGES_DEPLOY.changes

#Appending $CHANGES_DEPLOY to add i386 arch
#$SED  -i '/Architecture\:/ s/$/ i386/' $CHANGES_DEPLOY.changes

#echo "======Append Function Completed======"

#echo "======Merging Changes files======"

mergechanges  *amd64*.changes *i386*.changes > multi.changes

#Deploying to repo

PACKAGES_SOURCE=`$SED -n -e 's/^.*Source: //p' multi.changes`
PACKAGES=`$SED -n -e 's/^.*Binary: //p' multi.changes`


#if [ $UPLOAD == "upload" ]; then
#	echo "Upload parameter found running dupload"
#	$DUP $CHANGES_DEPLOY.changes
#else
#echo "=====Listing Packages====="
#echo $PACKAGES $PACKAGES_SOURCE
#echo "=========================="

#echo "=====Removing Packages====="
#$REPREPRO -VVVb $REPO_DIR remove $DISTRO $PACKAGES $PACKAGES_SOURCE
#echo "==========================="

#echo "=====Deploying Packages====="
#$REPREPRO -Vb $REPO_DIR include $DISTRO $CHANGES_DEPLOY.changes
#echo "============================"

#fi

if [ -z $UPLOAD ]; then
echo "=====Listing Packages====="
echo $PACKAGES $PACKAGES_SOURCE
echo "=========================="

echo "=====Removing Packages====="
$REPREPRO -VVVb $REPO_DIR remove $DISTRO $PACKAGES $PACKAGES_SOURCE
echo "==========================="

echo "=====Deploying Packages====="
$REPREPRO $REPOPTS -Vb  $REPO_DIR include $DISTRO multi.changes
echo "============================"
else
	echo "Upload parameter found running dupload"
	$DUP multi.changes
fi

#Clean up all files
echo "=====Cleaning Up======"

rm -vf $DST_DIR/*.deb
rm -vf $DST_DIR/*.tar.gz
rm -vf $DST_DIR/*.udeb
rm -vf $DST_DIR/*.changes
rm -vf $DST_DIR/*.tmp
rm -vf $DST_DIR/*.dsc
rm -vf $DST_DIR/*.buildinfo

}
trap deploy EXIT
#Cleaning up in case of failure
rm -f $DST_DIR/*