Am 06.07.2017 um 12:03 schrieb Jos de Kloe:
something strange happened in my recent pyproj build on rawhide which
causes all relevant requires to be lost, see:
https://bugzilla.redhat.com/show_bug.cgi?id=1467366
I tried to find a solution or workaround, but without succes.
When I do a local mock build the same problem arises.
I tried to activate some debug options on mock, but even adding
" --verbose --rpmbuild-opts='-vv' "
did not give me anymore details on the process used to find the
requires. This is the only output I see for the python3 sub-package in
my local mock build when all these debug options are active:
...
Finding Requires(interp):
Finding Requires(rpmlib):
Finding Requires(verify):
Finding Requires(pre):
Finding Requires(post):
Finding Requires(preun):
Finding Requires(postun):
Finding Requires(pretrans):
Finding Requires(posttrans):
Finding Requires: /bin/sh -c " while read FILE; do echo "${FILE}" |
/usr/lib/rpm/rpmdeps -R; done | /bin/sort -u "
Finding Conflicts:
Finding Obsoletes:
Finding Recommends:
Finding Suggests:
Finding Supplements:
Finding Enhances:
Provides: python3-pyproj = 1.9.5.1-7.fc27 python3-pyproj(x86-64) =
1.9.5.1-7.fc27
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: pyproj-debuginfo-1.9.5.1-7.fc27.x86_64
Provides: pyproj-debuginfo = 1.9.5.1-7.fc27 pyproj-debuginfo(x86-64) =
1.9.5.1-7.fc27
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
...
While it should have requires on python3, proj-nad and proj-epsg
rpm confirms the problem:
rpm -q --requires -p
/var/lib/mock/fedora-rawhide-x86_64/result/python3-pyproj-1.9.5.1-7.fc27.x86_64.rpm
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
[end of output]
Adding explicit requires to python2 and python3 in the general
definitions in the top of the spec file or in the sub-package
definitions does not help.
Basically I have no clue what else I code do to debug this.
If anyone has an idea I would much appreciate to hear it.
Best regards,
Jos
It looks to me like you are using the old and discouraged / deprecated
`%filter_setup` macro stuff, valid for EPEL <= 6, only…
You should upgrade the way filtering is used:
%if 0%{?fedora} || 0%{?rhel} >= 7
# Do not check any files in docdir for requires
%global __requires_exclude_from ^%{_docdir}/.*$
# Do not check .so files in the python2_sitearch directory
# or any files in the application's directory for provides
%global __provides_exclude_from
^(%{python2_sitearch}/.*\\.so|%{_datadir}/myapp/.*)$
%else
{previous %filter_setup macro for EPEL <= 6 stuff goes here}
%endif
If you need help to get that setup correctly, feel free to ask me.
Cheers,
Björn
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx