diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2019-07-31 12:30:26 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2019-08-06 13:59:40 +0200 |
commit | 859d04d6d9d17b803686063a4b78ca105353dec8 (patch) | |
tree | 6e980a7d8f28b1dc20bcb0e71518e5010eb869f5 | |
parent | c903537810c68e8b41bf74b0ed8b058b6c6dee5e (diff) |
solenv installer: don't let RPM generate config(...) Requires
Fedora 30's rpm 4.14.2.1 will generate this Requires:
config(lodevbasis6.1-core) = 6.1.7.0.0-1
... but no corresponding Provides because that's disabled, so the
package cannot be installed.
The reason is that there is one %config file in the -core rpm:
%attr(0644,root,root) %config(noreplace) "/opt/libreofficedev6.1/./share/psprint/psprint.conf"
Old RPM from CentOS6 does not generate these config requires.
Unfortunately there doesn't appear to be a way to disable this
config(...) without disabling AutoReq, so do that, and invoke the shell
script find-requires-x11.sh manually from epmfile.pm.
Change-Id: I7fee0d9cd1b9e79f81bd4c611500e84736564881
Reviewed-on: https://gerrit.libreoffice.org/76736
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
(cherry picked from commit b1d555ed42a035e0489accc19903c1ed8897bcee)
(cherry picked from commit fa58f27bb421b449134e79c03a4fb8762ab18679)
(cherry picked from commit fe51efc58dc04746282aaf641b5e4bd240d20da5)
-rw-r--r-- | solenv/bin/modules/installer/epmfile.pm | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm index 0dbc37a92cb9..fce17518aa76 100644 --- a/solenv/bin/modules/installer/epmfile.pm +++ b/solenv/bin/modules/installer/epmfile.pm @@ -1193,15 +1193,15 @@ sub set_autoprovreq_in_specfile { my ($changefile, $findrequires, $bindir) = @_; - my $autoreqprovline; + my $autoreqprovline = "AutoReqProv\: no\n"; if ( $findrequires ) { - $autoreqprovline = "AutoProv\: no\n%define _use_internal_dependency_generator 0\n%define __find_requires $bindir/$findrequires\n"; - } - else - { - $autoreqprovline = "AutoReqProv\: no\n"; + # don't let rpm invoke it, we never want to use AutoReq because + # rpm will generate Requires: config(packagename) + open (FINDREQUIRES, "echo | $bindir/$findrequires |"); + while (<FINDREQUIRES>) { $autoreqprovline .= "Requires: $_\n"; } + close (FINDREQUIRES); } $autoreqprovline .= "%define _binary_filedigest_algorithm 1\n%define _binary_payload w9.gzdio\n"; |