aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.patch')
-rw-r--r--meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.patch
new file mode 100644
index 0000000000..e4a548156f
--- /dev/null
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils/index-ignore-filenotfound.patch
@@ -0,0 +1,54 @@
+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
+
+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