Bug 1087430 - brp-compress gives errors when it finds gzip compressed files with special characters in man dir
brp-compress gives errors when it finds gzip compressed files with special ch...
Status: NEW
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Basesystem
Current
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: Michael Schröder
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-03-29 10:48 UTC by Atri Bhattacharya
Modified: 2018-05-11 07:48 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Atri Bhattacharya 2018-03-29 10:48:04 UTC
I am trying to build a package for openSUSE that is essentially a collection of the standard C++ reference in man format. The `make install` part of the build already installs the man files to the right %{_mandir} and gzips them. After the %install stage is done, brp-compress looks inside the man dir and here is what happens:

===================================================================
[   51s] + /usr/lib/rpm/brp-compress
[   52s] ls: cannot access './usr/share/man/man3/std::experimental::propagate_const::operatorelement_type*,.3': No such file or directory
[   52s] find: invalid argument `-inum' to `-inum'
[   52s] gzip: ./usr/share/man/man3/std::experimental::propagate_const::operatorelement_type*,.3: No such file or directory
[   57s] ls: cannot access './usr/share/man/man3/std::filesystem::recursive_directory_iterator::operator++,.3': No such file or directory
[   57s] find: invalid argument `-inum' to `-inum'
[   57s] gzip: ./usr/share/man/man3/std::filesystem::recursive_directory_iterator::operator++,.3: No such file or directory
[   59s] ls: cannot access './usr/share/man/man3/std::experimental::ostream_joiner::operator=.3': No such file or directory
[   59s] gzip: ./usr/share/man/man3/std::experimental::ostream_joiner::operator++.3.gz ./usr/share/man/man3/std::experimental::ostream_joiner::operator=.3: No such file or directory
[   59s] ln: failed to access './usr/share/man/man3/std::experimental::ostream_joiner::operator++.3.gz ./usr/share/man/man3/std::experimental::ostream_joiner::operator=.3.gz': No such file or directory
[   60s] ls: cannot access './usr/share/man/man3/std::back_insert_iterator::operator=.3': No such file or directory
[   60s] gzip: ./usr/share/man/man3/std::back_insert_iterator::operator++.3.gz ./usr/share/man/man3/std::back_insert_iterator::operator=.3: No such file or directory
[   60s] ln: failed to access './usr/share/man/man3/std::back_insert_iterator::operator++.3.gz ./usr/share/man/man3/std::back_insert_iterator::operator=.3.gz': No such file or directory
[   62s] ls: cannot access './usr/share/man/man3/std::raw_storage_iterator::operator=.3': No such file or directory
[   62s] gzip: ./usr/share/man/man3/std::raw_storage_iterator::operator++,operator++(int).3.gz ./usr/share/man/man3/std::raw_storage_iterator::operator=.3: No such file or directory
[   62s] ln: failed to access './usr/share/man/man3/std::raw_storage_iterator::operator++,operator++(int).3.gz ./usr/share/man/man3/std::raw_storage_iterator::operator=.3.gz': No such file or directory
[   64s] ls: cannot access './usr/share/man/man3/std::ostream_iterator::operator=.3': No such file or directory
[   64s] gzip: ./usr/share/man/man3/std::ostream_iterator::operator++.3.gz ./usr/share/man/man3/std::ostream_iterator::operator=.3: No such file or directory
[   64s] ln: failed to access './usr/share/man/man3/std::ostream_iterator::operator++.3.gz ./usr/share/man/man3/std::ostream_iterator::operator=.3.gz': No such file or directory
[   67s] ls: cannot access './usr/share/man/man3/std::ostreambuf_iterator::operator=.3': No such file or directory
[   67s] gzip: ./usr/share/man/man3/std::ostreambuf_iterator::operator++.3.gz ./usr/share/man/man3/std::ostreambuf_iterator::operator=.3: No such file or directory
[   67s] ln: failed to access './usr/share/man/man3/std::ostreambuf_iterator::operator++.3.gz ./usr/share/man/man3/std::ostreambuf_iterator::operator=.3.gz': No such file or directory
[   76s] ls: cannot access './usr/share/man/man3/std::front_insert_iterator::operator=.3': No such file or directory
[   76s] gzip: ./usr/share/man/man3/std::front_insert_iterator::operator++.3.gz ./usr/share/man/man3/std::front_insert_iterator::operator=.3: No such file or directory
[   76s] ln: failed to access './usr/share/man/man3/std::front_insert_iterator::operator++.3.gz ./usr/share/man/man3/std::front_insert_iterator::operator=.3.gz': No such file or directory
[   79s] ls: cannot access './usr/share/man/man3/std::insert_iterator::operator=.3': No such file or directory
[   79s] gzip: ./usr/share/man/man3/std::insert_iterator::operator++.3.gz ./usr/share/man/man3/std::insert_iterator::operator=.3: No such file or directory
[   79s] ln: failed to access './usr/share/man/man3/std::insert_iterator::operator++.3.gz ./usr/share/man/man3/std::insert_iterator::operator=.3.gz': No such file or directory
[   79s] ls: cannot access './usr/share/man/man3/std::unique_ptr::operatorbool.3': No such file or directory
[   79s] find: paths must precede expression: 27767
[   79s] Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[   79s] gzip: ./usr/share/man/man3/std::unique_ptr::operator=.3.gz ./usr/share/man/man3/std::unique_ptr::operator[].3.gz ./usr/share/man/man3/std::unique_ptr::operatorbool.3: No such file or directory
============================================================

At the end of the process brp-compress leaves behind uncompressed files with names matching the pattern operator*.3 (actual *, not a wildcard) in the man dir. These files are recreated by brp-compress: I checked right after the %install stage before brp-compress kicked in, and these -- or any other -- uncompressed files were not there before.

If instead, I skip the make install; copy the uncompressed man files to the same man dir; and then let brp-compress handle the compression, there is no issue. This seems to be a bug in brp-compress, as it should just not leave behind uncompressed files that it recreates.