deploy_deb.sh 3.17 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
#!/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`
rajudev's avatar
rajudev committed
75 76
PACKAGES=`$SED -n -e 's/^.*Binary: //p' multi.changes` 
PACKAGES="$PACKAGES $EXTRAPKG"
isaagar's avatar
isaagar committed
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

#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====="
rajudev's avatar
rajudev committed
102
$REPREPRO -VVVb $REPO_DIR remove $DISTRO $PACKAGES $PACKAGES_SOURCE
isaagar's avatar
isaagar committed
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
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/*