[Bug 1173265] Re: facter fails to run from rebuilt source package
Brian Murray
brian at ubuntu.com
Thu May 30 19:12:08 UTC 2013
And quantal and precise.
--
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