-
Notifications
You must be signed in to change notification settings - Fork 342
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
add options to don't use bundled libs #608
base: master
Are you sure you want to change the base?
Conversation
eb14b7b
to
01fe769
Compare
This changes make it possible to config rsync while not using the included zlib and popt libs Signed-off-by: Andre Correa <[email protected]> Co-authored-by: Sergio Durigan Junior <[email protected]>
@dartmol203 the problem with not using the bundled zlib is rsync by default uses a modification to zlib that allows for better compression ratios by compressing data that is not sent over the link so that the compression history is better setup for the data. |
I'm not understanding why the existing configure options aren't working for you. The change you made just seems to prevent the zlib/dummy file & popt/dummy files from being created. Those dummy files won't affect what libraries are configured into rsync. The existing |
Some comments on the old zlib issue for Tridge's sake: the modern rsync avoids the implied compression data when using zlib compression in order to be more compatible with a wide range of zlib implementations. I did get support for the rsync kluge into the official zlib, but given that rsync compression seems to be somewhat fragile, the default is to avoid the old-style implied compress data (since it seems like the official library might not be 100% compatible with the included popt in some scenarios). In the most modern rsyncs, a transfer negotiates a compression algorithm from the list of "zstd lz4 zlibx zlib" where zlibx is the newer style of zlib compression. This means that the newest rsync supports both kinds of zlib compression, even with an external zlib, but defaults to the newer style of zlib when zstd or lz4 isn't available on the other side. |
Hello everyone,
It has been a few years since I've switched Debian's rsync to dynamically link to plain zlib, so my memory is not perfect, but I recall that I did extensive testing to ensure there was compatibility by making transfers between differently built rsyncs. I also have a brief memory of Wayne writing somewhere that it should be fine to make the switch. It was probably what he mentioned in a later comment on this thread: #608 (comment) All of this being said, I'm happy to take feedback on this and consider reverting the change if you think that's the right approach (again, considering Wayne's comment, sounds like we're fine).
We are looking for support for the following scenario:
The PR adds support for this, without any downsides attached. Now, the reason for explicitly removing those folders is two-fold:
|
As I pointed out, the existing configure options work just fine without any patches. The only thing this diff seems to do is to not create "empty" dirs (that contain just a "dummy" file) in the build dir, which might be nice but isn't necessary. Those empty dirs don't contain any built files and are ignored. |
I was maintaining the Debian package of rsync and to be able to remove the bundled libs zlib and popt, I had to add this changes as a patch.
I intend to remove those libs to make the Debian package follow some internal rules that recommends the usage of packages instead of importing the whole lib inside the package.
The proposed changes make it possible to repack rsync removing the said libraries without breaking anything.
This patch makes it possible to avoid using bundled libraries when configuring, by using --with-included-zlib=no