/usr/bin/pkgos-bop is in openstack-pkg-tools 54.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 | #!/bin/sh
# Build an OpenStack team's package and write it in /home/ftp
set -e
if ! [ -r /etc/pkgos/pkgos.conf ] ; then
echo "Could not read /etc/pkgos/pkgos.conf"
exit 1
else
. /etc/pkgos/pkgos.conf
fi
command_exists () {
type "$1" >/dev/null 2>&1
}
# Alias git-buildpackage
if ! command_exists git-buildpackage ; then
alias git-buildpackage="gbp buildpackage"
fi
# Some quick calculation
BPO_DISTRO_NUM=~bpo${TARGET_DISTRO_NUM}+1
cleanup_old_build () {
echo "===> Cleaning-up old builds"
rm -rf ../*.orig.tar.xz ../*.orig.tar.gz ../build-area
}
# Finds the current version of the package
get_deb_version() {
PKG_NAME=`dpkg-parsechangelog -SSource`
DEB_VERS=`dpkg-parsechangelog -SVersion`
NO_EPOC=`echo ${DEB_VERS} | cut -d":" -f2`
UPSTREAM_VERS=`echo ${NO_EPOC} | cut -d"-" -f1`
if [ "${DEB_VERS}" = "${UPSTREAM_VERS}" ] ; then IS_NATIVE="yes" ; else IS_NATIVE="no" ; fi
ORIG=${PKG_NAME}_${UPSTREAM_VERS}.orig.tar.xz
CHANGE=${PKG_NAME}_${NO_EPOC}_${ARCH}.changes
PKG_NAME_FIRST_CHAR=`echo ${PKG_NAME} | awk '{print substr($0,1,1)}'`
}
create_orig_tar () {
if grep pristine-tar debian/gbp.conf | grep -q -i true ; then
echo "Nothing special to do with Pristine tar: not generating orig file!"
else
if [ "${IS_NATIVE}" = "no" ] ; then
COMPRESSION_TYPE=xz
if [ -r debian/gbp.conf ] ; then
COMPRESSION_IN_FILE=`cat debian/gbp.conf | grep compression | cut -d'=' -f2 | awk '{print $1}'`
if [ "${COMPRESSION_IN_FILE}" = "gz" ] ; then
COMPRESSION_TYPE=gz
elif [ "${COMPRESSION_IN_FILE}" = "bzip2" ] ; then
COMPRESSION_TYPE=bzip2
fi
fi
if [ "${COMPRESSION_TYPE}" = "gz" ] ; then
./debian/rules gen-orig-gz
elif [ "${COMPRESSION_TYPE}" = "bzip2" ] ; then
./debian/rules gen-orig-bz2
else
./debian/rules gen-orig-xz
fi
fi
fi
}
bop_it () {
echo "===> Building using git-buildpackage"
LAST_GIT_COMMIT=`git log | head -n 1 | awk '{print $2}'`
dch --newversion ${DEB_VERS}${BPO_DISTRO_NUM} -b --allow-lower-version -m "Rebuilt by bop."
git commit debian/changelog -m "Rebuilt by bop."
pkgos-check-changelog || true
if [ "${PKGOS_RUN_UNIT_TESTS_AT_BUILD}" = "no" ] ; then
if ! DEB_BUILD_OPTIONS=nocheck git-buildpackage ; then
git reset --hard ${LAST_GIT_COMMIT}
echo "There was an error when bop called git-buildpackage: exiting."
exit 1
else
git reset --hard ${LAST_GIT_COMMIT}
fi
else
if ! git-buildpackage ; then
git reset --hard ${LAST_GIT_COMMIT}
echo "There was an error when bop called git-buildpackage: exiting."
exit 1
else
git reset --hard ${LAST_GIT_COMMIT}
fi
fi
}
test_the_package () {
echo "===> Lintian"
lintian -I -E --pedantic --profile debian/openstack ../build-area/*.changes
if [ x"$RUN_AUTOPKGTEST" = x"yes" ] ; then
echo "===> Autopkgtest"
set +e
adt-run ../build-area/*.changes --- schroot "$AUTOPKGTEST_SCHROOT"
RET=$?
if [ $RET != 0 ] && [ $RET != 8 ] ; then
echo "adt-run failed: $RET"
exit $RET
fi
set -e
fi
}
copy_to_ftparchive () {
echo "===> Copying to the FTP repo"
rm ../build-area/${PKG_NAME}_${NO_EPOC}${BPO_DISTRO_NUM}_*.build
TARGET_FOLDER=${REPO_ROOT}/debian/pool/${TARGET_DISTRO}-${TARGET_OPENSTACK_REL}-backports/main/${PKG_NAME_FIRST_CHAR}/${PKG_NAME}
rm -rf ${TARGET_FOLDER}
mkdir -p ${TARGET_FOLDER}
cp ../build-area/* ${TARGET_FOLDER}
}
cleanup_old_build
get_deb_version
create_orig_tar
bop_it
test_the_package
copy_to_ftparchive
# Scan the repo to add the new package
pkgos-scan-repo
|