Package: chef Version: 0.8.16-4.1 Severity: serious Tags: patch Hi there!
===== l...@gismo:~/$ gismo-pbuilder.sh --build base-sid chef_0.8.16-4.1.dsc [...] dpkg-deb: building package `libchef-ruby1.8' in `../libchef-ruby1.8_0.8.16-4.1_all.deb'. dpkg-genchanges >../chef_0.8.16-4.1_amd64.changes dpkg-genchanges: not including original source code in upload fakeroot debian/rules clean test -x debian/rules dh_testroot dh_clean /usr/bin/make -f debian/rules reverse-config make[1]: Entering directory `/tmp/buildd/chef-0.8.16' make[1]: Nothing to be done for `reverse-config'. make[1]: Leaving directory `/tmp/buildd/chef-0.8.16' if [ -d "." ]; then \ cd . && QUILT_PATCHES=/tmp/buildd/chef-0.8.16/debian/patches quilt --quiltrc /dev/null pop -a -R || test $? = 2 ; \ fi Removing patch jquery_unminified.patch Removing chef-server-webui/public/javascripts/jquery.jeditable.js Removing chef-server-webui/public/javascripts/yetii.js Removing chef-server-webui/public/javascripts/jquery.tools.js Patch remove_rubygems.patch does not remove cleanly (refresh it or enforce with -f) make: *** [reverse-patches] Error 1 dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2 E: Failed autobuilding of package ===== When you do not build the package, the patch above seems to cleanly apply and remove, so I guess the building process modifies some files. And indeed if I compare the patched files above with the original ones, the diff includes more than the quilt patch: --8<---------------cut here---------------start------------->8--- --- chef-0.8.16/chef/bin/chef-client 2010-12-07 21:57:20.000000000 +0100 +++ chef-client 2010-12-07 22:17:57.000000000 +0100 @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby +#! /usr/bin/ruby1.8 # # ./chef-client - Run the chef client # @@ -18,7 +18,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -require 'rubygems' $:.unshift(File.join(File.dirname(__FILE__), "..", "lib")) require 'chef' require 'chef/application/client' --8<---------------cut here---------------end--------------->8--- This applies to the four chef-client binaries: chef-client, chef-solo, knife and shef. The build log contains the following: ===== (cd chef && /usr/bin/ruby debian-setup.rb setup) ---> bin updating shebang: chef-client updating shebang: shef updating shebang: knife updating shebang: chef-solo <--- bin ===== What is strange is that the current chef binary package available in sid contains the four binaries above with exactly the same shebang as the one that causes the error, which means that the build process should have stopped even in the past... Actually, the same problem should happen for the -server* binaries, but it does not, given that the shebang in these binaries is specifically modified to ruby1.8 because the -server* binaries do not support Ruby-1.9 yet: [chef-0.8.16/debian/patches/chef_solr_ruby18.patch] # Description: Use ruby1.8 specifically as Chef Solr/Server doesn't support # ruby1.9 yet. Nevertheless, I am not a Ruby nor a chef expert, but applying the same trick patch to the client binaries solves the FTBFS. I am confident this is the correct fix also because the chef binary package (which contains the client binaries) Depends: on Ruby-1.8: Depends: ${misc:Depends}, ruby1.8, liberubis-ruby1.8, libjson-ruby1.8, libextlib-ruby1.8 (>= 0.9.13), ohai (>= 0.4.0), libchef-ruby1.8 (= ${source:Version}), libopenssl-ruby1.8, libmixlib-authentication-ruby1.8 (>= 1.1.0), ucf --8<---------------cut here---------------start------------->8--- diff -u chef-0.8.16/debian/changelog chef-0.8.16/debian/changelog --- chef-0.8.16/debian/changelog +++ chef-0.8.16/debian/changelog @@ -1,3 +1,13 @@ +chef (0.8.16-4.2) UNRELEASED; urgency=low + + * Non-maintainer upload. + * debian/patches/series: update. + * debian/patches/chef_client_ruby18.patch: + + fix FTBFS, use a versioned shebang for client binaries, since + the chef binary package Depends: on Ruby-1.8 (Closes: #NNNNNN). + + -- Luca Capello <l...@pca.it> Tue, 07 Dec 2010 23:13:49 +0100 + chef (0.8.16-4.1) unstable; urgency=low * Non-maintainer upload to fix pending l10n issues diff -u chef-0.8.16/debian/patches/series chef-0.8.16/debian/patches/series --- chef-0.8.16/debian/patches/series +++ chef-0.8.16/debian/patches/series @@ -4,0 +5 @@ +chef_client_ruby18.patch only in patch2: unchanged: --- chef-0.8.16.orig/debian/patches/chef_client_ruby18.patch +++ chef-0.8.16/debian/patches/chef_client_ruby18.patch @@ -0,0 +1,34 @@ +# Description: Use ruby1.8 specifically as Chef clients do not support +# ruby1.9 yet (Closes: #NNNNNN). +--- chef-0.8.16.orig/chef/bin/chef-client ++++ chef-0.8.16/chef/bin/chef-client +@@ -1,4 +1,4 @@ +-#!/usr/bin/env ruby ++#!/usr/bin/ruby1.8 + # + # ./chef-client - Run the chef client + # +--- chef-0.8.16.orig/chef/bin/chef-solo ++++ chef-0.8.16/chef/bin/chef-solo +@@ -1,4 +1,4 @@ +-#!/usr/bin/env ruby ++#!/usr/bin/ruby1.8 + # + # ./chef-solo - Run the chef client, in stand-alone mode + # +--- chef-0.8.16.orig/chef/bin/shef ++++ chef-0.8.16/chef/bin/shef +@@ -1,4 +1,4 @@ +-#!/usr/bin/env ruby ++#!/usr/bin/ruby1.8 + # + # ./shef - Run the shef REPL + # +--- chef-0.8.16.orig/chef/bin/knife ++++ chef-0.8.16/chef/bin/knife +@@ -1,4 +1,4 @@ +-#!/usr/bin/env ruby ++#!/usr/bin/ruby1.8 + # + # ./knife - Chef CLI interface + # --8<---------------cut here---------------end--------------->8--- I will upload a 0-day NMU (also fixing #598365, #598626 and #604231) in two days if no one will complain before. The reason to now upload it *now* as DELAYED/2 is because I need to work on the other bugs above ;-) Thx, bye, Gismo / Luca -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (990, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 2.6.36-rc6-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
pgpXISnKEe9Ao.pgp
Description: PGP signature