[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#860350: marked as done (unblock (pre-approval): jenkins-debian-glue/0.18.2+deb9u1)



Your message dated Sat, 29 Apr 2017 13:42:38 +0000
with message-id <E1d4Sdy-0003U4-2f@respighi.debian.org>
and subject line unblock jenkins-debian-glue
has caused the Debian Bug report #860350,
regarding unblock (pre-approval): jenkins-debian-glue/0.18.2+deb9u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
860350: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860350
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
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 ---
--- Begin Message ---
Unblocked jenkins-debian-glue.

--- End Message ---

Reply to: