[Bug 1173265] Re: facter fails to run from rebuilt source package

Brian Murray brian at ubuntu.com
Thu May 30 19:03:57 UTC 2013


I've uploaded this to raring.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1173265

Title:
  facter fails to run from rebuilt source package

Status in “facter” package in Ubuntu:
  Fix Released
Status in “facter” source package in Precise:
  Invalid
Status in “facter” source package in Quantal:
  Triaged
Status in “facter” source package in Raring:
  Triaged

Bug description:
  [Impact]

  SRUs and security updates are impossible without breaking the package.

  [Development Fix]

  My merge of facter 1.7 drops most of the Ubuntu delta that is now no
  longer necessary. This eliminates the problem.

  [Stable Fix]

  Build-Depend on ruby1.8 specifically, instead of the ruby virtual
  package. The Quantal and Raring binaries in the archive were
  originally built against ruby1.8 anyway, as this is what the ruby
  virtual package brought in at the time of the build. With this minimal
  fix, the build doesn't change to pulling in 1.9.1 instead and thus
  causing breakage.

  [Test Case]

  A dep8 smoke test has been added. If the problem is fixed, the dep8
  test should pass.

  Failing this, just run "facter". If you get a bunch of facts printed
  out, then the problem is fixed. Note that to test this properly, you
  should start by not having ruby1.9.1 installed.

  The two failure possibilities are:

  # facter
  /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- facter/application (LoadError)
  	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  	from /usr/bin/facter:58:in `<main>'

  # facter
  bash: /usr/bin/facter: /usr/bin/ruby1.9.1: bad interpreter: No such file or directory

  [Regression Potential]

  The build could have accidentally changed other things apart from the
  original Ruby 1.8 dependency since the original build. But since
  "facter" on its own prints all known facts, it is easy to confidently
  verify that factor's fact-detection behaviour has not changed
  unexpectedly after an update.

  [Original Description]

  If I rebuild 1.6.9-2ubuntu1 in a raring chroot, then when I attempt to
  run facter I get an error:

  $ sudo dpkg -i facter_1.6.9-2ubuntu1_all.deb
  (Reading database ... 77464 files and directories currently installed.)
  Preparing to replace facter 1.6.9-2ubuntu1 (using facter_1.6.9-2ubuntu1_all.deb) ...
  Unpacking replacement facter ...
  Setting up facter (1.6.9-2ubuntu1) ...
  Processing triggers for man-db ...
  ubuntu at raring-test:~$ facter
  -bash: /usr/bin/facter: /usr/bin/ruby1.9.1: bad interpreter: No such file or directory

  The problem is that /usr/bin/facter gets a shebang of
  #!/usr/bin/ruby1.9.1 after the rebuild, rather than the
  #!/usr/bin/ruby1.8 shebang in the binary in the archive. It looks like
  this might have happened after the ruby metapackage was updated to 4.9
  which changed the default ruby to 1.9 from 1.8, causing the facter
  package build to turn out differently.

  It also looks like Debian's facter 1.6.10-1 rejigged some of the ruby
  versioning, so I suspect that the problem can be fixed in Saucy with a
  simple merge.

  But I suspect that an attempted SRU to Quantal or Raring will cause a
  regression unless this bug is fixed there.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/facter/+bug/1173265/+subscriptions



More information about the Ubuntu-sponsors mailing list