generic-poky/meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.p...

57 lines
1.8 KiB
Diff

If we're building an image and some package rebuilds while this is happening
some package can be removed/added to the ipk deploy directory. The image will
not depend on this package so we can safely ignore these cases rather than
error out.
RP - 26/8/09
Upstream-Status: Inappropriate [embedded specific]
Index: opkg-utils/opkg-make-index
===================================================================
--- opkg-utils.orig/opkg-make-index 2009-08-26 17:21:26.000000000 +0100
+++ opkg-utils/opkg-make-index 2009-08-27 16:11:22.000000000 +0100
@@ -96,6 +96,7 @@
files=glob(pkg_dir + '/*.ipk') + glob(pkg_dir + '/*.deb')
files.sort()
for filename in files:
+ try:
basename = os.path.basename(filename)
pkg = None
fnameStat = os.stat(filename)
@@ -130,6 +131,12 @@
to_morgue(basename)
if opt_s:
print filename
+ except OSError:
+ sys.stderr.write("Package %s disappeared on us!\n" % (filename))
+ continue
+ except IOError:
+ sys.stderr.write("Package %s disappeared on us!\n" % (filename))
+ continue
pkgsStampsFile = open(stamplist_filename, "w")
for f in pkgsStamps.keys():
@@ -148,6 +155,7 @@
names = packages.packages.keys()
names.sort()
for name in names:
+ try:
pkg = packages.packages[name]
if locales_dir and pkg.depends:
depends = string.split(pkg.depends, ',')
@@ -165,6 +173,13 @@
if (verbose):
sys.stderr.write("Writing info for package %s\n" % (pkg.package,))
print pkg
+ except OSError:
+ sys.stderr.write("Package %s disappeared on us!\n" % (name))
+ continue
+ except IOError:
+ sys.stderr.write("Package %s disappeared on us!\n" % (name))
+ continue
+
if packages_filename:
sys.stdout.close()
sys.stdout = old_stdout