diff options
author | Ola x Nilsson <ola.x.nilsson@axis.com> | 2019-10-21 12:30:32 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-10-23 16:30:36 +0100 |
commit | 95dca0ec5a89a6b4277abb7100dbeacede1cc4e3 (patch) | |
tree | 0b156ec8740d5bde3279d6e339c697482c211b25 /meta/classes | |
parent | a92ef13e3dc417c0dbb0543eccb3ed2223d02b92 (diff) | |
download | poky-95dca0ec5a89a6b4277abb7100dbeacede1cc4e3.tar.gz |
package.bbclass: Use with to manage file handle lifetimes
(From OE-Core rev: e90978056c4b49e138b3d422939bf995829ec3b0)
Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/package.bbclass | 76 |
1 files changed, 34 insertions, 42 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index d8bef3afb0..f955df1111 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -826,8 +826,9 @@ python fixup_perms () { | |||
826 | 826 | ||
827 | # Now we actually load from the configuration files | 827 | # Now we actually load from the configuration files |
828 | for conf in get_fs_perms_list(d).split(): | 828 | for conf in get_fs_perms_list(d).split(): |
829 | if os.path.exists(conf): | 829 | if not os.path.exists(conf): |
830 | f = open(conf) | 830 | continue |
831 | with open(conf) as f: | ||
831 | for line in f: | 832 | for line in f: |
832 | if line.startswith('#'): | 833 | if line.startswith('#'): |
833 | continue | 834 | continue |
@@ -848,7 +849,6 @@ python fixup_perms () { | |||
848 | fs_perms_table[entry.path] = entry | 849 | fs_perms_table[entry.path] = entry |
849 | if entry.path in fs_link_table: | 850 | if entry.path in fs_link_table: |
850 | fs_link_table.pop(entry.path) | 851 | fs_link_table.pop(entry.path) |
851 | f.close() | ||
852 | 852 | ||
853 | # Debug -- list out in-memory table | 853 | # Debug -- list out in-memory table |
854 | #for dir in fs_perms_table: | 854 | #for dir in fs_perms_table: |
@@ -1424,10 +1424,9 @@ fi | |||
1424 | pkgdest = d.getVar('PKGDEST') | 1424 | pkgdest = d.getVar('PKGDEST') |
1425 | pkgdatadir = d.getVar('PKGDESTWORK') | 1425 | pkgdatadir = d.getVar('PKGDESTWORK') |
1426 | 1426 | ||
1427 | data_file = pkgdatadir + d.expand("/${PN}" ) | 1427 | data_file = pkgdatadir + d.expand("/${PN}") |
1428 | f = open(data_file, 'w') | 1428 | with open(data_file, 'w') as fd: |
1429 | f.write("PACKAGES: %s\n" % packages) | 1429 | fd.write("PACKAGES: %s\n" % packages) |
1430 | f.close() | ||
1431 | 1430 | ||
1432 | pn = d.getVar('PN') | 1431 | pn = d.getVar('PN') |
1433 | global_variants = (d.getVar('MULTILIB_GLOBAL_VARIANTS') or "").split() | 1432 | global_variants = (d.getVar('MULTILIB_GLOBAL_VARIANTS') or "").split() |
@@ -1778,21 +1777,20 @@ python package_do_shlibs() { | |||
1778 | bb.note("Renaming %s to %s" % (old, new)) | 1777 | bb.note("Renaming %s to %s" % (old, new)) |
1779 | os.rename(old, new) | 1778 | os.rename(old, new) |
1780 | pkgfiles[pkg].remove(old) | 1779 | pkgfiles[pkg].remove(old) |
1781 | 1780 | ||
1782 | shlibs_file = os.path.join(shlibswork_dir, pkg + ".list") | 1781 | shlibs_file = os.path.join(shlibswork_dir, pkg + ".list") |
1783 | if len(sonames): | 1782 | if len(sonames): |
1784 | fd = open(shlibs_file, 'w') | 1783 | with open(shlibs_file, 'w') as fd: |
1785 | for s in sonames: | 1784 | for s in sonames: |
1786 | if s[0] in shlib_provider and s[1] in shlib_provider[s[0]]: | 1785 | if s[0] in shlib_provider and s[1] in shlib_provider[s[0]]: |
1787 | (old_pkg, old_pkgver) = shlib_provider[s[0]][s[1]] | 1786 | (old_pkg, old_pkgver) = shlib_provider[s[0]][s[1]] |
1788 | if old_pkg != pkg: | 1787 | if old_pkg != pkg: |
1789 | bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver)) | 1788 | bb.warn('%s-%s was registered as shlib provider for %s, changing it to %s-%s because it was built later' % (old_pkg, old_pkgver, s[0], pkg, pkgver)) |
1790 | bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0])) | 1789 | bb.debug(1, 'registering %s-%s as shlib provider for %s' % (pkg, pkgver, s[0])) |
1791 | fd.write(s[0] + ':' + s[1] + ':' + s[2] + '\n') | 1790 | fd.write(s[0] + ':' + s[1] + ':' + s[2] + '\n') |
1792 | if s[0] not in shlib_provider: | 1791 | if s[0] not in shlib_provider: |
1793 | shlib_provider[s[0]] = {} | 1792 | shlib_provider[s[0]] = {} |
1794 | shlib_provider[s[0]][s[1]] = (pkg, pkgver) | 1793 | shlib_provider[s[0]][s[1]] = (pkg, pkgver) |
1795 | fd.close() | ||
1796 | if needs_ldconfig and use_ldconfig: | 1794 | if needs_ldconfig and use_ldconfig: |
1797 | bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg) | 1795 | bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg) |
1798 | postinst = d.getVar('pkg_postinst_%s' % pkg) | 1796 | postinst = d.getVar('pkg_postinst_%s' % pkg) |
@@ -1864,11 +1862,10 @@ python package_do_shlibs() { | |||
1864 | deps_file = os.path.join(pkgdest, pkg + ".shlibdeps") | 1862 | deps_file = os.path.join(pkgdest, pkg + ".shlibdeps") |
1865 | if os.path.exists(deps_file): | 1863 | if os.path.exists(deps_file): |
1866 | os.remove(deps_file) | 1864 | os.remove(deps_file) |
1867 | if len(deps): | 1865 | if deps: |
1868 | fd = open(deps_file, 'w') | 1866 | with open(deps_file, 'w') as fd: |
1869 | for dep in sorted(deps): | 1867 | for dep in sorted(deps): |
1870 | fd.write(dep + '\n') | 1868 | fd.write(dep + '\n') |
1871 | fd.close() | ||
1872 | } | 1869 | } |
1873 | 1870 | ||
1874 | python package_do_pkgconfig () { | 1871 | python package_do_pkgconfig () { |
@@ -1898,9 +1895,8 @@ python package_do_pkgconfig () { | |||
1898 | pkgconfig_provided[pkg].append(name) | 1895 | pkgconfig_provided[pkg].append(name) |
1899 | if not os.access(file, os.R_OK): | 1896 | if not os.access(file, os.R_OK): |
1900 | continue | 1897 | continue |
1901 | f = open(file, 'r') | 1898 | with open(file, 'r') as f: |
1902 | lines = f.readlines() | 1899 | lines = f.readlines() |
1903 | f.close() | ||
1904 | for l in lines: | 1900 | for l in lines: |
1905 | m = var_re.match(l) | 1901 | m = var_re.match(l) |
1906 | if m: | 1902 | if m: |
@@ -1918,10 +1914,9 @@ python package_do_pkgconfig () { | |||
1918 | for pkg in packages.split(): | 1914 | for pkg in packages.split(): |
1919 | pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist") | 1915 | pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist") |
1920 | if pkgconfig_provided[pkg] != []: | 1916 | if pkgconfig_provided[pkg] != []: |
1921 | f = open(pkgs_file, 'w') | 1917 | with open(pkgs_file, 'w') as f: |
1922 | for p in pkgconfig_provided[pkg]: | 1918 | for p in pkgconfig_provided[pkg]: |
1923 | f.write('%s\n' % p) | 1919 | f.write('%s\n' % p) |
1924 | f.close() | ||
1925 | 1920 | ||
1926 | # Go from least to most specific since the last one found wins | 1921 | # Go from least to most specific since the last one found wins |
1927 | for dir in reversed(shlibs_dirs): | 1922 | for dir in reversed(shlibs_dirs): |
@@ -1931,9 +1926,8 @@ python package_do_pkgconfig () { | |||
1931 | m = re.match(r'^(.*)\.pclist$', file) | 1926 | m = re.match(r'^(.*)\.pclist$', file) |
1932 | if m: | 1927 | if m: |
1933 | pkg = m.group(1) | 1928 | pkg = m.group(1) |
1934 | fd = open(os.path.join(dir, file)) | 1929 | with open(os.path.join(dir, file)) as fd: |
1935 | lines = fd.readlines() | 1930 | lines = fd.readlines() |
1936 | fd.close() | ||
1937 | pkgconfig_provided[pkg] = [] | 1931 | pkgconfig_provided[pkg] = [] |
1938 | for l in lines: | 1932 | for l in lines: |
1939 | pkgconfig_provided[pkg].append(l.rstrip()) | 1933 | pkgconfig_provided[pkg].append(l.rstrip()) |
@@ -1951,10 +1945,9 @@ python package_do_pkgconfig () { | |||
1951 | bb.note("couldn't find pkgconfig module '%s' in any package" % n) | 1945 | bb.note("couldn't find pkgconfig module '%s' in any package" % n) |
1952 | deps_file = os.path.join(pkgdest, pkg + ".pcdeps") | 1946 | deps_file = os.path.join(pkgdest, pkg + ".pcdeps") |
1953 | if len(deps): | 1947 | if len(deps): |
1954 | fd = open(deps_file, 'w') | 1948 | with open(deps_file, 'w') as fd: |
1955 | for dep in deps: | 1949 | for dep in deps: |
1956 | fd.write(dep + '\n') | 1950 | fd.write(dep + '\n') |
1957 | fd.close() | ||
1958 | } | 1951 | } |
1959 | 1952 | ||
1960 | def read_libdep_files(d): | 1953 | def read_libdep_files(d): |
@@ -1965,9 +1958,8 @@ def read_libdep_files(d): | |||
1965 | for extension in ".shlibdeps", ".pcdeps", ".clilibdeps": | 1958 | for extension in ".shlibdeps", ".pcdeps", ".clilibdeps": |
1966 | depsfile = d.expand("${PKGDEST}/" + pkg + extension) | 1959 | depsfile = d.expand("${PKGDEST}/" + pkg + extension) |
1967 | if os.access(depsfile, os.R_OK): | 1960 | if os.access(depsfile, os.R_OK): |
1968 | fd = open(depsfile) | 1961 | with open(depsfile) as fd: |
1969 | lines = fd.readlines() | 1962 | lines = fd.readlines() |
1970 | fd.close() | ||
1971 | for l in lines: | 1963 | for l in lines: |
1972 | l.rstrip() | 1964 | l.rstrip() |
1973 | deps = bb.utils.explode_dep_versions2(l) | 1965 | deps = bb.utils.explode_dep_versions2(l) |