--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock (pre-approval): jenkins-debian-glue/0.18.2+deb9u1
- From: Michael Prokop <mika@debian.org>
- Date: Fri, 14 Apr 2017 23:56:47 +0200
- Message-id: <2017-04-14T23-36-22@devnull.michael-prokop.at>
- Message-id: <20170414215647.18772.30394.reportbug@odysseus.grml.info>
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Hi,
asking for pre-approval of unblocking package jenkins-debian-glue.
In the current stretch version of jenkins-debian-glue (0.18.2) there
are two major bugs that should be fixed prior to release:
* dpkg-buildpackage might apply wrong defaults and then leaking the
version control repository content (e.g. .git) through the
generated tarball
* in binary only package builds the source package might get
removed, which is neither expected nor wanted behavior
(see https://github.com/mika/jenkins-debian-glue/issues/173)
Please let me know if this upload would be OK for you.
unblock jenkins-debian-glue/0.18.2+deb9u1
Debdiff at the end of the mail.
Thanks!
regards,
-mika-
diff -Nru jenkins-debian-glue-0.18.2/debian/changelog jenkins-debian-glue-0.18.2+deb9u1/debian/changelog
--- jenkins-debian-glue-0.18.2/debian/changelog 2017-01-24 22:13:48.000000000 +0100
+++ jenkins-debian-glue-0.18.2+deb9u1/debian/changelog 2017-04-14 22:48:41.000000000 +0200
@@ -1,3 +1,14 @@
+jenkins-debian-glue (0.18.2+deb9u1) unstable; urgency=medium
+
+ * [9492a4f] Support SKIP_SOURCE_REMOVAL to not remove source package in
+ binary only package builds. Thanks to Antoine Delvaux
+ <antoine.delvaux@gmail.com> for the bugreport + initial patch
+ * [56563d7] Fix regression from commit 8fe677820fae2 to apply safe dpkg-
+ buildpackage defaults. Thanks to Guillem Jover for feedback and code
+ review
+
+ -- Michael Prokop <mika@debian.org> Fri, 14 Apr 2017 22:48:41 +0200
+
jenkins-debian-glue (0.18.2) unstable; urgency=medium
[ Will DeBerry ]
diff -Nru jenkins-debian-glue-0.18.2/scripts/build-and-provide-package jenkins-debian-glue-0.18.2+deb9u1/scripts/build-and-provide-package
--- jenkins-debian-glue-0.18.2/scripts/build-and-provide-package 2016-11-17 01:23:51.000000000 +0100
+++ jenkins-debian-glue-0.18.2+deb9u1/scripts/build-and-provide-package 2017-04-14 22:47:49.000000000 +0200
@@ -451,6 +451,9 @@
SKIP_ARCH_BUILD=false
echo "*** Setting SKIP_ARCH_BUILD=$SKIP_ARCH_BUILD to skip further arch builds. ***"
+
+ SKIP_SOURCE_REMOVAL=true
+ echo "*** Setting SKIP_SOURCE_REMOVAL=$SKIP_SOURCE_REMOVAL to skip source removal in binary only build ***"
return 0
fi
@@ -474,6 +477,9 @@
echo "*** Host architecture [${HOST_ARCH}] does not match \$architecture [${architecture:-}] ... ***"
echo "*** ... setting binary only build and continuing with identify_build_type ***"
DEBBUILDOPTS="-B"
+
+ SKIP_SOURCE_REMOVAL=true
+ echo "*** Setting SKIP_SOURCE_REMOVAL=$SKIP_SOURCE_REMOVAL to skip source removal in binary only build ***"
fi
else
if [ "${MAIN_ARCHITECTURE:-}" = "${architecture:-}" ] ;then
@@ -483,6 +489,9 @@
else
echo "*** MAIN_ARCHITECTURE [${MAIN_ARCHITECTURE:-}] does not match \$architecture [${architecture:-}], setting binary only build and continuing with identify_build_type ***"
DEBBUILDOPTS="-B"
+
+ SKIP_SOURCE_REMOVAL=true
+ echo "*** Setting SKIP_SOURCE_REMOVAL=$SKIP_SOURCE_REMOVAL to skip source removal in binary only build ***"
fi
fi
@@ -500,6 +509,9 @@
echo "*** Package provides arch 'all' + 'any', enabling -B buildoption for this architecture. ***"
# -B -> binary-only build, limited to architecture dependent packages
DEBBUILDOPTS="-B"
+
+ SKIP_SOURCE_REMOVAL=true
+ echo "*** Setting SKIP_SOURCE_REMOVAL=$SKIP_SOURCE_REMOVAL to skip source removal in binary only build ***"
break
else
# only "Architecture: all", so no arch specific packages since
@@ -776,8 +788,12 @@
return 0
fi
- echo "*** Removing source package version from repository ***"
- ${SUDO_CMD:-} ${REPREPRO_CMD} -A source -b "${REPOSITORY}" ${REPREPRO_OPTS} remove "${REPOS}" "${SOURCE_PACKAGE}"
+ if [ -n "${SKIP_SOURCE_REMOVAL:-}" ] ; then
+ echo "*** Skipping removal of existing source package as requested via SKIP_SOURCE_REMOVAL ***"
+ else
+ echo "*** Removing source package version from repository ***"
+ ${SUDO_CMD:-} ${REPREPRO_CMD} -A source -b "${REPOSITORY}" ${REPREPRO_OPTS} remove "${REPOS}" "${SOURCE_PACKAGE}"
+ fi
echo "*** Removing previous binary package versions from repository ***"
for p in $(list_deb_files "${WORKSPACE}/binaries/"*"_${newest_version}_${arch}.changes") ; do
diff -Nru jenkins-debian-glue-0.18.2/scripts/generate-git-snapshot jenkins-debian-glue-0.18.2+deb9u1/scripts/generate-git-snapshot
--- jenkins-debian-glue-0.18.2/scripts/generate-git-snapshot 2016-12-02 17:00:43.000000000 +0100
+++ jenkins-debian-glue-0.18.2+deb9u1/scripts/generate-git-snapshot 2017-04-14 22:48:24.000000000 +0200
@@ -372,6 +372,31 @@
rm -rf .pc
}
+identify_source_build_opts() {
+ # unset by default
+ DBP_OPTS=""
+
+ if [ -r "debian/source/format" ] && ! grep -q '^1\.0' debian/source/format ; then
+ echo "*** Found dpkg source format != 1.0, nothing to do ****"
+ return 0
+ fi
+
+ if [ -r "debian/source/options" ] ; then
+ if ! grep -q 'tar-ignore' "debian/source/options" ; then
+ echo "*** Enabling '-I' option as tar-ignore option not present in debian/source/options ***"
+ DBP_OPTS+=" -I"
+ fi
+
+ if ! egrep -qe '^(diff-ignore|extend-diff-ignore)' "debian/source/options" ; then
+ echo "*** Enabling '-i' option as diff-ignore or extend-diff-ignore options not present in debian/source/options ***"
+ DBP_OPTS+=" -i"
+ fi
+ else
+ echo "*** Enabling '-i -I' options as building for dpkg source format 1.0 ***"
+ DBP_OPTS="-i -I"
+ fi
+}
+
source_format_opts() {
if ! [ -f "debian/source/format" ] ; then
echo '*** WARNING: Source format is not specified in debian/source/format! ***'
@@ -420,6 +445,7 @@
git_cleanup
source_format_opts
+identify_source_build_opts
# Only if we are using git-buildpackage...
if [ "${IGNORE_GIT_BUILDPACKAGE:-}" != "true" ] ; then
@@ -462,7 +488,7 @@
# build source package, run before switching back to previous branch
# to get the actual requested version
-dpkg-buildpackage -uc -us -nc -d -S ${DBP_EXTRA_OPTS:-}
+dpkg-buildpackage -uc -us -nc -d -S ${DBP_OPTS:-} ${DBP_EXTRA_OPTS:-}
if [ -n "${KEY_ID:-}" ] ; then
echo "*** Found environment variable KEY_ID, set to ${KEY_ID:-}, signing source package ***"
--- End Message ---