Overview

Request 952093 accepted

now with explicit Conflicts for gzip+busybox-gzip

- enable zlib/gzip compatible backend, as zlib is significantly
(50%-100%) faster than gzip
- add zstd-gzip compatibility subpackage which can be used
as a drop in compatible replacement for gzip
- small spec file cleanups

- update to 1.5.2:
* correct a performance regression
* smaller improvements and fixes
* See https://github.com/facebook/zstd/releases/tag/v1.5.2
- Refresh pzstd.1.patch
- Drop upstream noexecstack.patch

Loading...

Bernhard Wiedemann's avatar

@dimstar_suse - you still need to add the Prefer: gzip


Dominique Leuenberger's avatar

test suite of zchunk fails with this:

[   86s] Summary of Failures:
[   86s] 
[   86s] 23/30 compress auto-chunked file - no dict                        FAIL            0.19s   exit status 1
[   86s] 25/30 compress auto-chunked file - dict                           FAIL            0.16s   exit status 1
[   86s] 27/30 compress manual file - no dict                              FAIL            0.19s   exit status 1
[   86s] 29/30 compress manual file - dict                                 FAIL            0.19s   exit status 1

https://build.opensuse.org/package/live_build_log/openSUSE:Factory:Staging:B/zchunk/standard/x86_64


Dominique Leuenberger's avatar

And libzypp fails, most likely due to transparent feature disablement in graphviz

[   83s] error: problems opening map file /home/abuild/rpmbuild/BUILD/libzypp-17.28.8/build/doc/autodoc/html/zypp_2url_2UrlBase_8h__incl.map for inclusion in the docs!
[   83s] If you installed Graphviz/dot after a previous failing run, 
[   83s] try deleting the output directory and rerun doxygen.
[   83s] error: problems opening map file /home/abuild/rpmbuild/BUILD/libzypp-17.28.8/build/doc/autodoc/html/zypp_2url_2UrlException_8h__incl.map for inclusion in the docs!

Dominique Leuenberger's avatar

That was actually a red herring - the real error is buried deeper in the logs:

[  0%] Building CXX object zypp-proto/CMakeFiles/zypp-protobuf.dir/envelope.pb.cc.o
/usr/lib64/gcc/x86_64-suse-linux/11/../../../../x86_64-suse-linux/bin/ld: /usr/lib64/gcc/x86_64-suse-linux/11/../../../../lib64/Scrt1.o: in function `_start':
/home/abuild/rpmbuild/BUILD/glibc-2.34/csu/../sysdeps/x86_64/start.S:104: undefined reference to `main'
collect2: error: ld returned 1 exit status
/bin/sh: line 1: -DOPENSSL_LOAD_CONF: command not found
make[2]: *** [zypp-proto/CMakeFiles/zypp-protobuf.dir/build.make:124: zypp-proto/CMakeFiles/zypp-protobuf.dir/envelope.pb.cc.o] Error 127
make[1]: *** [CMakeFiles/Makefile2:1620: zypp-proto/CMakeFiles/zypp-protobuf.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

Bernhard Wiedemann's avatar

note: this will likely need an added

Prefer: zstd-gzip or

Prefer: gzip line in prjconf


Dominique Leuenberger's avatar

Thanks; if this 150% compatible? In this case we might actually drop gzip from ring0 and use zstd-gzip for all builds :)


Bernhard Wiedemann's avatar

I have done some basic tests and those looked good. I remember initrd generation sometimes had trouble when it only pulled in symlinks, but I guess, openQA tests will notice that.

@dirkmueller might know more.


Dominique Leuenberger's avatar

https://build.opensuse.org/package/live_build_log/home:dimstar:Factory/yaz/Staging_B/i586

This seams to imply very much that zstd-gzip is not a drop-in replacement, as it seems not to understand the command line parameters:

[  155s] + /usr/lib/rpm/brp-compress
[  155s] Incorrect parameters 
[  155s] Usage : 
[  155s]       gzip [args] [FILE(s)] [-o file] 
[  155s] 
[  155s] FILE    : a filename 
[  155s]           with no FILE, or when FILE is - , read standard input
[  155s] Arguments : 
[  155s]  -#     : # compression level (1-19, default: 3) 
[  155s]  -d     : decompression 
[  155s]  -D DICT: use DICT as Dictionary for compression or decompression 
[  155s]  -o file: result stored into `file` (only 1 output file) 
[  155s]  -f     : disable input and output checks. Allows overwriting existing files,
[  155s]           input from console, output to stdout, operating on links,
[  155s]           block devices, etc.
[  155s] --rm    : remove source file(s) after successful de/compression 
[  155s]  -k     : preserve source file(s) (default) 
[  155s]  -h/-H  : display help/long help and exit 

the brp-compress script seems to use gzip -9 -n


Dirk Mueller's avatar

there are several issues with zstd-gzip currently, please stay with gzip for now. I'm working on patches.


Dominique Leuenberger's avatar

| found conflict of gzip-1.11-3.49.x86_64 with zstd-gzip-1.5.2-1.5.x86_64 /usr/bin/gunzip /usr/bin/gzip `


Bernhard Wiedemann's avatar

So should we add an explicit Conflicts: gzip ? It seems, gzip does not provide alternatives(gzip) atm.


Dominique Leuenberger's avatar

I'd conflict gzip directly; the alternatives provides is just a weird thing :)

there should actually also be a Conflicts busybox-gzip - that one also does not have the alternatives(gzip) provides

Request History
Bernhard Wiedemann's avatar

bmwiedemann created request

now with explicit Conflicts for gzip+busybox-gzip

- enable zlib/gzip compatible backend, as zlib is significantly
(50%-100%) faster than gzip
- add zstd-gzip compatibility subpackage which can be used
as a drop in compatible replacement for gzip
- small spec file cleanups

- update to 1.5.2:
* correct a performance regression
* smaller improvements and fixes
* See https://github.com/facebook/zstd/releases/tag/v1.5.2
- Refresh pzstd.1.patch
- Drop upstream noexecstack.patch


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:B as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:B"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked "openSUSE:Factory:Staging:B"


Saul Goodman's avatar

licensedigger accepted review

ok


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Dominique Leuenberger's avatar

dimstar accepted review


Dominique Leuenberger's avatar

dimstar_suse accepted review

Staging Project openSUSE:Factory:Staging:B got accepted.


Dominique Leuenberger's avatar

dimstar_suse approved review

Staging Project openSUSE:Factory:Staging:B got accepted.


Dominique Leuenberger's avatar

dimstar_suse accepted request

Staging Project openSUSE:Factory:Staging:B got accepted.

openSUSE Build Service is sponsored by