Patchwork [1/1] dpkg-native:fix dpkg-scanpackages error at deb image creation time on Fedora 17

login
register
mail settings
Submitter Hongxu Jia
Date Feb. 1, 2013, 2:38 a.m.
Message ID <fdc81a0385c2bdf7a13f9536bb59b82f8a5f904e.1359686158.git.hongxu.jia@windriver.com>
Download mbox | patch
Permalink /patch/43783/
State Accepted
Commit 19ac10a86d1d35aa76cf3c97254e14c5c8de7221
Headers show

Comments

Hongxu Jia - Feb. 1, 2013, 2:38 a.m.
Invoking dpkg-scanpackages on Fedora 17 to build deb image meets such an error:

Can't locate Dpkg.pm in @INC  (@INC contains: /usr/local/lib64/perl5 /usr/loc
al/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr
/lib64/perl5 /usr/share/perl5.) at tmp/sysroots/x86_64-linux/usr/bin/dpkg-sca
npackages line 27.

1. The dpkg-scanpackages is invoked at deb image creation time and it is built
by dpkg-native. The dpkg-scanpackages is a perl script and import module `Dpkg'.

2. The Dpkg.pm has been installed in perl's staging dir at dpkg-native compiling
time. Such as `tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/Dpkg.pm'

3. The dpkg-native uses create_wrapper to relocate to perl-native if perl-native
has been built. If perl-native isn't built, it will use the host Dpkg as default.

4. If dpkg-native is built on a new build envionment which means perl-native doesn't
exist before, and the build system doesn't install dpkg (such as Fedora 17), the
dpkg-scanpackages could not work correctly.

5. Modify dpkg-native's depends, change `perl-native-runtime' to `perl-native', Let
perl-native automatically be built before building dpkg-native.

[YOCTO #3817]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/recipes-devtools/dpkg/dpkg.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/meta/recipes-devtools/dpkg/dpkg.inc b/meta/recipes-devtools/dpkg/dpkg.inc
index 27f69ef..8830ae7 100644
--- a/meta/recipes-devtools/dpkg/dpkg.inc
+++ b/meta/recipes-devtools/dpkg/dpkg.inc
@@ -8,7 +8,7 @@  SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.xz \
            file://ignore_extra_fields.patch"
 
 DEPENDS = "zlib bzip2 perl"
-DEPENDS_class-native = "bzip2-native zlib-native virtual/update-alternatives-native gettext-native perl-native-runtime"
+DEPENDS_class-native = "bzip2-native zlib-native virtual/update-alternatives-native gettext-native perl-native"
 RDEPENDS_${PN} = "${VIRTUAL-RUNTIME_update-alternatives}"
 RDEPENDS_${PN}_class-native = ""