]> code.ossystems Code Review - openembedded-core.git/commitdiff
package: Ensure pclist files are deterministic and don't use full paths
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 29 Sep 2021 12:30:59 +0000 (13:30 +0100)
committerAnuj Mittal <anuj.mittal@intel.com>
Wed, 20 Oct 2021 07:35:52 +0000 (15:35 +0800)
Currently the pkgconfig pclist files contain full paths which are build
host specific and the order of entries is not deterministic.

Fix both these issues so the files are deterministic.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e422e29bca4af3ab4073e04490f38b05cd7c38c0)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta/classes/package.bbclass

index e3f0a7060bf2d24a965dc570743e0faa03bfa4d7..5e51b89184ff76e4e541e00d7801ded70cc9720c 100644 (file)
@@ -2079,12 +2079,12 @@ python package_do_pkgconfig () {
     for pkg in packages.split():
         pkgconfig_provided[pkg] = []
         pkgconfig_needed[pkg] = []
-        for file in pkgfiles[pkg]:
+        for file in sorted(pkgfiles[pkg]):
                 m = pc_re.match(file)
                 if m:
                     pd = bb.data.init()
                     name = m.group(1)
-                    pkgconfig_provided[pkg].append(name)
+                    pkgconfig_provided[pkg].append(os.path.basename(name))
                     if not os.access(file, os.R_OK):
                         continue
                     with open(file, 'r') as f:
@@ -2107,7 +2107,7 @@ python package_do_pkgconfig () {
         pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist")
         if pkgconfig_provided[pkg] != []:
             with open(pkgs_file, 'w') as f:
-                for p in pkgconfig_provided[pkg]:
+                for p in sorted(pkgconfig_provided[pkg]):
                     f.write('%s\n' % p)
 
     # Go from least to most specific since the last one found wins