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

unable to create delta rpms from redline rpms #137

Open
ruedigerblock opened this issue Oct 18, 2018 · 2 comments
Open

unable to create delta rpms from redline rpms #137

ruedigerblock opened this issue Oct 18, 2018 · 2 comments

Comments

@ruedigerblock
Copy link

ruedigerblock commented Oct 18, 2018

Hello,

We use maven and redline to build RPMs from WAR files. Those RPMs only contain the plain WAR file. Some are pretty big ~ 80MB, thus I tried to create deltarpms. Lets say I have:
myrpm-1.0-1.rpm and myrpm-1.2-1.rpm. I should be able to do:
makedeltarpm myrpm-1.0-1.rpm myrpm-1.2-1.rpm myrpm-1.2-1.drpm.
Which is only about 10 % of the size. But makedeltrpm fails with:

makedeltarpm myrpm-1.0-1.x86_64.rpm myrpm-1.2-1.x86_64.rpm new.rpm -vvvv
Old: myrpm-1.0-1.rpm
New: myrpm-1.2-1.rpm
reading new rpm...
reading old rpm...
USING ELEMENT opt/tomcat
USING ELEMENT opt/tomcat/webapps
USING FILE opt/tomcat/webapps/my.war
files used:       3/3 = 100.0%
files skipped:    0/3 = 0.0%
sequence: 30
creating diff...
writing delta rpm...
payload open failed

I tried a lot of things to make it work but I am stuck.
I tried building the RPMs but with a plain text file instead of the WAR but no luck.
If I create the RPMs using FPM it works though.

I suspect that it issue is somehow related to the compression method of the payload. This should be "gzip rsyncable" but is "gzip".
How do I know ?
If I append "-z bzip2" to makedeltarpm, it works. Unfortunately applydeltarpm does not have this switch so I am left with a deltarpm which I can't combine with the source rpm. :-(

I searched the Code and the Docs, but could not find a method to tell the payload which compression mode to use.

@oesolutions
Copy link
Contributor

@ruedigerblock did you ever make progress on this? I just encountered the same issue.

@ruedigerblock
Copy link
Author

Puh ... To be honest: I don't remember ! I switched jobs thus I can't look at the code. But what I do remember is that I figured that this solution did not fit my use case anyway.
I had to send GBs of RPMs over a very thin and expensive line on a regular non-deteministic basis.
At the end - and this worked amazing - I zipped the release at the source, used RSYNCs send only deltas feature, which did the job flawlessly and the extracted the archive at the destination for further distribution. With delta RPMs you always have to make sure that - as with sequencial backups - you supply the full lineage of RPMs. Which I could not gurantee.

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

No branches or pull requests

2 participants