** Description changed:

+ [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 
+ $ 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@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.

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

Title:
  facter fails to run from rebuilt source package

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

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to