Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- BUILDERRORS=""
- MAJORVERSION="0.2a"
- DISTRIBUTIONS="unstable testing stable jaunty"
- build_it () {
- cd $1
- for i in $DISTRIBUTIONS; do
- for j in i386 amd64; do
- DIST=$i ARCH=$j pdebuild -- --basetgz /var/cache/pbuilder/$i-$j-base.tgz
- if [[ $? != "0" ]]
- then
- BUILDERRORS="$BUILDERRORS
- $1 - $i - $j"
- fi
- done
- done
- cd ..
- }
- update_it () {
- echo "Updating pbuilder environments..."
- for i in $DISTRIBUTIONS; do
- for j in i386 amd64; do
- DIST=$i ARCH=$j pbuilder --update --basetgz /var/cache/pbuilder/$i-$j-base.tgz
- if [[ $? != "0" ]]
- then
- BUILDERRORS="$BUILDERRORS
- Updating - $i - $j"
- fi
- done
- done
- }
- make_package () {
- _REV=$1
- _URL=$2
- _NAME=$3
- _DIR=$4
- _BREV=$5
- DIRNAME=""
- PACKAGENAME=""
- if [[ $_URL != "" ]]
- then
- rm -rf "$_DIR"
- export $_REV=`LANG=C svn export $_URL $_DIR | awk '$1=="Exported" && $2=="revision" {print $3}' | sed 's/.$//'`
- if [[ ${!_REV} = "" ]]
- then
- echo "Error! Can't get $_NAME revision!" && exit 1
- fi
- echo "Received $_NAME revision: ${!_REV}"
- else
- export $_REV="1"
- fi
- export REVISION="${!_REV}"
- DIRNAME="${_DIR}-${_BREV}.${!_REV}"
- PACKAGENAME="${_DIR}_${_BREV}.${!_REV}"
- echo "$_NAME directory is: $DIRNAME"
- rm -rf "${PACKAGENAME}.orig.tar.gz" "$DIRNAME"
- cp -r "$_DIR" "$DIRNAME"
- tar czf "${PACKAGENAME}.orig.tar.gz" "$DIRNAME"
- echo "$_NAME source archive is: ${PACKAGENAME}.orig.tar.gz"
- cp -r "controls/${_DIR}/debian" "$DIRNAME/"
- sed -i "s#--VERSION--#${_BREV}.${!_REV}-1#" "$DIRNAME/debian/changelog"
- echo "Building $_NAME..."
- build_it "$DIRNAME"
- }
- if [[ $1 = "--update" ]]
- then
- update_it
- exit 0
- fi
- echo -n "Cleaning previously built packages... "
- rm -rf *{.dsc,.changes,.build,.deb,.diff.gz,.debian.tar.gz}
- for i in $DISTRIBUTIONS; do
- rm -rf /var/cache/pbuilder/$i/result/*
- done
- echo "done"
- echo "Major version: $MAJORVERSION"
- echo "Retrieving sources... "
- make_package "QREV" "http://qutim.org/svn/qutim" \
- "qutIM" "qutim" "$MAJORVERSION"
- echo "Installing qutim-dev package built..."
- reprepro -b /var/cache/reprepro -C main include unstable /var/cache/pbuilder/stable/result/qutim_$MAJORVERSION.$QREV-1_amd64*.changes
- update_it
- make_package "ICQ_REV" "http://qutim.org/svn/icq" \
- "ICQ" "qutim-protocol-icq" "$MAJORVERSION.$QREV"
- make_package "JABBER_REV" "http://qutim.org/svn/jabber" \
- "Jabber" "qutim-protocol-jabber" "$MAJORVERSION.$QREV"
- make_package "MRIM_REV" "http://qutim.org/svn/mrim" \
- "MRIM" "qutim-protocol-mrim" "$MAJORVERSION.$QREV"
- make_package "IRC_REV" "http://qutim.org/svn/irc" \
- "IRC" "qutim-protocol-irc" "$MAJORVERSION.$QREV"
- make_package "PLUGMAN_REV" "http://qutim-plugman.googlecode.com/svn/trunk" \
- "PlugMan" "qutim-plugin-plugman" "$MAJORVERSION.$QREV"
- make_package "KDEINT_REV" "http://qutim.org/svn/kde-integration" \
- "KDE-Integration" "qutim-plugin-kde-integration" "$MAJORVERSION.$QREV"
- echo "Copying packages to local repository..."
- for j in $DISTRIBUTIONS; do
- for i in `ls /var/cache/pbuilder/$j/result/*amd64.changes`; do
- reprepro -b rep/$j/ --ignore=wrongdistribution -C main include $j $i
- done
- for i in `ls /var/cache/pbuilder/$j/result/*_i386.deb`; do
- reprepro -b rep/$j/ --ignore=wrongdistribution -C main includedeb $j $i
- done
- done
- echo "Updating main repository..."
- scp -r rep/* remote.host:/path/to/repo/
- echo "Done."
- if [ "$BUILDERRORS" ];
- then
- echo "There were errors in: "
- echo "$BUILDERRORS"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement