]> code.ossystems Code Review - openembedded-core.git/commitdiff
rpm: Disable perl dependency generation
authorMark Hatle <mark.hatle@windriver.com>
Tue, 29 Aug 2017 21:21:19 +0000 (23:21 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 30 Aug 2017 22:59:53 +0000 (23:59 +0100)
When rpmdeps files a perl script, it attempts to determine what it provides
and what it requires.  Often the requires are incorrect, within the context
of Wind River Linux.  This results in an error that DNF is unable to install
a package due to one or more unresolved dependencies.

In RPM5 we had disabled this behavior, the alternative is to require that all
perl scripts be 'complete', in that they only require things they absolutely
need and that OE provides.  If we ever enforce that, this commit can be
reverted.  Until they fall back to prior behavior (which also matches ipkg
and deb style packages.)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch [new file with mode: 0644]
meta/recipes-devtools/rpm/rpm_git.bb

diff --git a/meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch b/meta/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch
new file mode 100644 (file)
index 0000000..a6c5869
--- /dev/null
@@ -0,0 +1,32 @@
+perl: disable auto requires
+
+When generating automatic requirements, it's possible for perl scripts to
+declare 'optional' dependencies.  These seem to often be incorrect and will
+cause installation failures in OE.  Instead of fixing the perl scripts, it
+was decided it is better to simply disable the automatic dependency
+generation.  This matches the behavior from the previous RPM5 implementation.
+
+Upstream-Status: Inappropriate [OE specific configuration]
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+Index: git/fileattrs/perl.attr
+===================================================================
+--- git.orig/fileattrs/perl.attr
++++ git/fileattrs/perl.attr
+@@ -1,3 +1,3 @@
+-%__perl_requires      %{_rpmconfigdir}/perl.req
++#__perl_requires      %{_rpmconfigdir}/perl.req
+ %__perl_magic         ^.*[Pp]erl .*$
+ %__perl_flags         exeonly
+Index: git/fileattrs/perllib.attr
+===================================================================
+--- git.orig/fileattrs/perllib.attr
++++ git/fileattrs/perllib.attr
+@@ -1,5 +1,5 @@
+ %__perllib_provides   %{_rpmconfigdir}/perl.prov
+-%__perllib_requires   %{_rpmconfigdir}/perl.req
++#__perllib_requires   %{_rpmconfigdir}/perl.req
+ %__perllib_magic      ^Perl[[:digit:]] module source.*
+ %__perllib_path               \\.pm$
+ %__perllib_flags      magic_and_path
index 971aac7867dda4b9052975ef2f975287810cdc07..b0f57809ccb89f976fff0f33560dacd3639441f2 100644 (file)
@@ -38,6 +38,7 @@ SRC_URI = "git://github.com/rpm-software-management/rpm \
            file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \
            file://0012-Use-conditional-to-access-_docdir-in-macros.in.patch \
            file://0013-Add-a-new-option-alldeps-to-rpmdeps.patch \
+           file://0001-perl-disable-auto-reqs.patch \
            "
 
 PV = "4.13.90+git${SRCPV}"