Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.deb's produce "corrupt builds" when building on an openSUSE system, and installing on a debian one. #737

Open
zackp30 opened this issue Jul 14, 2014 · 14 comments
Labels

Comments

@zackp30
Copy link

zackp30 commented Jul 14, 2014

Command: fpm -s gem -t deb --verbose fpm

Output:

Trying to download {:gem=>"fpm", :version=>nil, :level=>:info}
Downloaded fpm-1.1.0 {:level=>:info}
Using gem file {:path=>"/tmp/package-gem-build20140714-4714-1qz16qs/fpm/fpm-1.1.0.gem", :level=>:info}
Successfully installed fpm-1.1.0 {:level=>:info}
1 gem installed {:level=>:info}
Setting from flags: epoch= {:level=>:info}
Setting from flags: iteration= {:level=>:info}
Converting gem to deb {:level=>:info}
No deb_installed_size set, calculating now. {:level=>:info}
Reading template {:path=>"/home/zack/.rvm/gems/ruby-2.1.2/gems/fpm-1.1.0/templates/deb.erb", :level=>:info}
Creating {:path=>"/tmp/package-deb-build20140714-4714-1pkdm08/control.tar.gz", :from=>"/tmp/package-deb-build20140714-4714-1pkdm08/control", :level=>:info}
Created package {:path=>"rubygem-fpm_1.1.0_all.deb"}

Installing using dpkg -i rubygems-fpm_1.1.0_all.deb:

(Reading database ... 446435 files and directories currently installed.)
Preparing to replace rubygem-fpm 1.1.0 (using rubygem-fpm_1.1.0_all.deb) ...
Unpacking replacement rubygem-fpm ...
dpkg: error processing rubygem-fpm_1.1.0_all.deb (--install):
 corrupted filesystem tarfile - corrupted package archive
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 rubygem-fpm_1.1.0_all.deb

However, .deb's created on Ubuntu systems do work.

I would prefer to keep using openSUSE for all my build systems.

Thanks!

@r4um r4um added the deb label Jul 14, 2014
@djha-skin
Copy link
Contributor

Funny thing is, I believe I've made debs on red hat/cent machines and they've worked fine.

@zackp30
Copy link
Author

zackp30 commented Jul 14, 2014

Yes, I'm rather perplexed as well...

@jordansissel
Copy link
Owner

Hmm.. Is there any chance you can upload your corrupt .deb file somewhere I can download it?

@zackp30
Copy link
Author

zackp30 commented Jul 15, 2014

@jordansissel
Copy link
Owner

@zackp30 thanks!

I can confirm that dpkg -i ... reports your same error. dpkg -c ... shows me the filesystem contents of the package, though. Odd.

@jordansissel
Copy link
Owner

lintian doesn't complain, either.

@jordansissel
Copy link
Owner

This works, too:

dpkg-deb -x ~/rubygem-fpm_1.1.0_all.deb /tmp/z

@jordansissel
Copy link
Owner

I had a look at dpkg's source code and it's not entirely obvious what is causing the failure. I'll have to build a custom version with extra debugging to figure out what's going on.

@Rush
Copy link

Rush commented Dec 19, 2014

I just encountered the same problem. I am using openSUSE for development. Any ideas? Did you have any success @jordansissel

@jordansissel
Copy link
Owner

@Rush thank you so much for confirming this.

I'll see about setting up an openSUSE vm so I can reproduce this.

@diegopdomingos
Copy link

I had similar issues with SuSe. The solution for me was set --format=gnu instead --format=posix in tar compression

@Takios
Copy link

Takios commented Oct 24, 2018

Sorry to dig up an old bug report but this is still an issue for me. How do I apply the workaround proposed by @diegopdomingos ? How can I tell fpm to use --format=gnu when using tar compression?

@vibhutisawant
Copy link

@diegopdomingos @jordansissel I am facing same issue on OpenSUSE, fpm version used is 1.11.0.
As @Takios mentioned , I am unable to use --format=gnu in tar compression. Any pointers would be of great help. Thanks

@vibhutisawant
Copy link

vibhutisawant commented Oct 23, 2020

Above issue can be resolved on SLES distro by using dpkg-deb -c to unpack the tar instead of using dpkg -i.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants