This file is indexed.

/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