Bug 1246743

Summary: Regression with %doc in 4.13.0-alpha
Product: [Fedora] Fedora Reporter: Remi Collet <fedora>
Component: rpmAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dominik, ffesti, jzeleny, lkardos, novyjindrich, packaging-team-maint, pknirsch, ppisar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-27 12:21:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Remi Collet 2015-07-25 11:30:20 UTC
Description of problem:
%doc 
Version-Release number of selected component (if applicable):
4.12.90 in rawhide

How reproducible:
Always

Steps to Reproduce:
1. %doc foo/{A,B,C}
2.
3.

Actual results:
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.URf8HN
+ umask 022
+ cd /builddir/build/BUILD
+ cd OCSNG_UNIX_SERVER-2.1.2
+ DOCDIR=/builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ cp -pr LICENSE.txt /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ cp -pr README /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ cp -pr Apache/Changes /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ cp -pr binutils/ipdiscover-util.README binutils/ocsinventory-injector.README binutils/ocsinventory-log.README binutils/soap-client.README /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ cp -pr binutils/ocs-errors binutils/soap-client.pl /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server
+ exit 0
error: File not found: /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server/{ocs-errors,soap-client.pl}
RPM build errors:
    File not found: /builddir/build/BUILDROOT/ocsinventory-2.1.2-6.fc24.noarch/usr/share/doc/ocsinventory-server/{ocs-errors,soap-client.pl}

Expected results:
No error


Additional info:
See Koschei build tasks
https://kojipkgs.fedoraproject.org/work/tasks/4402/10474402/build.log
https://kojipkgs.fedoraproject.org/work/tasks/4390/10474390/build.log
https://kojipkgs.fedoraproject.org/work/tasks/1342/10471342/build.log
etc

Comment 1 Florian Festi 2015-07-25 17:09:25 UTC
The symptom is clearly caused by:

https://github.com/rpm-software-management/rpm/commit/f16a522ca4be7090db5a3fc1a507e58a4d4946fd
and its followups:
https://github.com/rpm-software-management/rpm/commit/b52a5ca55722b0b5316cf8189b6caa285ba5c469
https://github.com/rpm-software-management/rpm/commit/a817b246330780902eaed12633ce9282ef715fd9

Looking at the code it seems like that actually never had worked. There is some code to do { } expansion but is is not used in the file selection. This got just hidden by #728959. There is still a pretty good argument to be made that { } expansion should actually work. We'll have a deeper look into this...

Comment 2 Ľuboš Kardoš 2015-07-27 12:21:02 UTC
Braces expansion is now enabled, fixed in rawhide.

Comment 3 Remi Collet 2015-07-27 12:46:29 UTC
I confirm the issue is fixed.

Koschei notifications:
  php-pecl-imagick's builds are back to normal in f24
  php-pecl-parsekit's builds are back to normal in f24
  ...

Thanks

Comment 4 Dominik 'Rathann' Mierzejewski 2015-07-31 12:15:14 UTC
This one may be fixed, but it introduced a new bug:

And now files with actual { and } in their path/name no longer work in %files:
http://koji.fedoraproject.org/koji/taskinfo?taskID=10556583

[...]
Processing files: mozilla-noscript-2.6.9.33-1.fc24.noarch
error: File not found by glob: /builddir/build/BUILDROOT/mozilla-noscript-2.6.9.33-1.fc24.noarch/usr/share/mozilla/extensions/{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}/{73a6fe31-595d-460b-a920-fcc0f8843232}
error: Directory not found by glob: /builddir/build/BUILDROOT/mozilla-noscript-2.6.9.33-1.fc24.noarch/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{73a6fe31-595d-460b-a920-fcc0f8843232}/

The above builds fine with 4.12.90-1.fc24 but breaks with 4.12.90-2.fc24

Comment 5 Ľuboš Kardoš 2015-08-03 16:04:52 UTC
It should be fixed in rpm-4.12.90-5.fc24. Now if globbing of a file name fails, rpm tries to use the original file name without globbing.

Comment 6 Dominik 'Rathann' Mierzejewski 2015-08-04 21:26:55 UTC
(In reply to Ľuboš Kardoš from comment #5)
> It should be fixed in rpm-4.12.90-5.fc24. Now if globbing of a file name
> fails, rpm tries to use the original file name without globbing.

Confirmed, thank you!