repackaging rpm with xz payload compression

198 views
Skip to first unread message

Jason Koppe

unread,
May 22, 2012, 8:12:26 PM5/22/12
to fpm-...@googlegroups.com
I'm hitting a stumbling block repackaging rhel6 rpms from http://repo.percona.com/centos/6/os/x86_64/ with the new payload compression, xz, in arr-pm.  Note, that I've tried the --rpm-compression option

jkoppe@scotty in ~/rhel6 at 2012-05-19 20:06:37
--> fpm --rpm-compression xz -t rpm -s rpm --debug Percona-Server-client-51-5.1.62-rel13.3.435.rhel6.x86_64.rpm
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","output_type":"rpm","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","input_type":"rpm","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","chdir":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","prefix":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","package":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","name":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","verbose?":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","debug?":true}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","version":1.0,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","iteration":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","epoch":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","license":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","vendor":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","category":"none"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","dependencies":[]}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","provides":[],"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","conflicts":[],"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","replaces":[],"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","config_files":[],"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","architecture":null,"method":"execute","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","maintainer":"<jkoppe@scotty>","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","package_name_suffix":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","edit?":false}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","excludes":[]}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","description":"no description","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","url":"http://example.com/no-uri-given","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","inputs":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","post_install":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","pre_install":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","post_uninstall":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","pre_uninstall":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","after_install":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","before_install":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","after_remove":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","before_remove":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_bin_path":"/usr/bin","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_package_prefix":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_package_name_prefix":"rubygem","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_gem":"gem","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_fix_name?":true,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","gem_fix_dependencies?":true}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_bin_path":"/usr/bin","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_package_prefix":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_package_name_prefix":"rubygem","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_gem":"gem","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","gem_fix_name?":true,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","gem_fix_dependencies?":true}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_bin":"python"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_easyinstall":"easy_install","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_pypi":"http://pypi.python.org/simple"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_package_prefix":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_package_name_prefix":"python","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_fix_name?":true,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_fix_dependencies?":true}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_install_bin":"/usr/bin"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_install_lib":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_bin":"python"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_easyinstall":"easy_install","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_pypi":"http://pypi.python.org/simple"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_package_prefix":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_package_name_prefix":"python","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_fix_name?":true,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_fix_dependencies?":true}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","python_install_bin":"/usr/bin"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","python_install_lib":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_rpmbuild_define":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_no_provides?":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_digest":"md5","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_compression":"xz","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_rpmbuild_define":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_no_provides?":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_digest":"md5","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","rpm_compression":"xz","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","pear_package_name_prefix":"php-pear","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","deb_ignore_iteration_in_dependencies?":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","deb_pre_depends":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","deb_custom_control":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","deb_config":null}
Setting attribute {"line":"234","file":"fpm/command.rb","deb_templates":null,"method":"execute","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","deb_installed_size":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","deb_ignore_iteration_in_dependencies?":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","deb_pre_depends":null,"level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","deb_custom_control":null}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","level":"debug","deb_config":null}
Setting attribute {"line":"234","file":"fpm/command.rb","deb_templates":null,"method":"execute","level":"debug"}
Setting attribute {"line":"234","file":"fpm/command.rb","method":"execute","deb_installed_size":null,"level":"debug"}
Cleaning up staging path {"line":"259","file":"fpm/package.rb","method":"cleanup_staging","level":"debug","path":"/tmp/package-rpm-staging20120519-5036-vc388d"}
Cleaning up build path {"line":"266","file":"fpm/package.rb","method":"cleanup_build","level":"debug","path":"/tmp/package-rpm-build20120519-5036-1wvf2yi"}
/usr/lib/ruby/gems/1.8/gems/arr-pm-0.0.7/lib/arr-pm/file.rb:102:in `extract': undefined method `force_encoding' for "":String (NoMethodError)
        from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.9/lib/fpm/package/rpm.rb:167:in `input'
        from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.9/lib/fpm/command.rb:243:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.9/lib/fpm/command.rb:242:in `each'
        from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.9/lib/fpm/command.rb:242:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/clamp-0.3.1/lib/clamp/command.rb:64:in `run'
        from /usr/lib/ruby/gems/1.8/gems/clamp-0.3.1/lib/clamp/command.rb:126:in `run'
        from /usr/lib/ruby/gems/1.8/gems/fpm-0.4.9/bin/fpm:8
        from /usr/bin/fpm:19:in `load'
        from /usr/bin/fpm:19
sh: line 0: cd: /tmp/package-rpm-staging20120519-5036-vc388d: No such file or directory
xz: (stdin): File format not recognized
cpio: premature end of archive

I know staging directory IS getting created because of the conditional in the beginning of the extract() method in aar-pm/file.rb isn't being met.  And this works just fine: rpm2cpio Percona-Server-shared-51-5.1.62-rel13.3.435.rhel6.x86_64.rpm | cpio -idv

So it feels like the RPM/temp dir aren't the problem.  Here are the gems on my system:

jkoppe@scotty in ~/rhel6 at 2012-05-19 20:08:17
--> sudo gem list

*** LOCAL GEMS ***

arr-pm (0.0.7)
backports (2.3.0)
cabin (0.4.4)
clamp (0.3.1)
fpm (0.4.9)
json (1.6.6)
stomp (1.1.8)

jkoppe@scotty in ~/rhel6 at 2012-05-19 20:08:37
--> rpm -q centos-release
centos-release-6-2.el6.centos.7.x86_64

Thoughts on how to proceed?

Jason Koppe

unread,
May 29, 2012, 2:34:42 PM5/29/12
to fpm-...@googlegroups.com
I was using ruby-1.8.7 which does not have the force_encoding method for Strings.  Using ruby-1.9.3 works just fine.

Jordan Sissel

unread,
May 29, 2012, 3:06:56 PM5/29/12
to fpm-...@googlegroups.com
On Tue, May 29, 2012 at 11:34 AM, Jason Koppe <jko...@indeed.com> wrote:
I was using ruby-1.8.7 which does not have the force_encoding method for Strings.  Using ruby-1.9.3 works just fine.



Ahh. Easy fix for that. I'll update fpm later today.

-Jordan

Erik theRed

unread,
Feb 13, 2013, 3:13:56 PM2/13/13
to fpm-...@googlegroups.com
Was this updated?  I'm seeing this to still be an issue with the installed version of fpm via gems:

$ gem list fpm
fpm (0.4.29, 0.4.9)
Reply all
Reply to author
Forward
0 new messages