[yocto] [opkg-utils PATCH] Added support to generate index file with multiple version per package
Desmond Correia
desmond.correia at prolucid.ca
Wed Dec 28 11:15:20 PST 2016
>From aefa378d6a167124bdfb0b8d6c92aadb4c36fa46 Mon Sep 17 00:00:00 2001
From: Desmond <desmond.correia at prolucid.ca>
Date: Wed, 28 Dec 2016 13:16:48 -0500
Subject: [opkg-utils PATCH] Added support to generate index file with
multiple
version per package
To: opkg-devel at googlegroups.com,
yocto at yoctoproject.org
Using the -a option with opkg-make-index, you can now generate an index
file which will list multiple version of the same package. Added since opkg
now supports specifying version of package.
---
opkg-make-index | 16 ++++++++++++----
opkg.py | 8 +++++++-
2 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/opkg-make-index b/opkg-make-index
index 7897918..3f757f6 100755
--- a/opkg-make-index
+++ b/opkg-make-index
@@ -11,7 +11,7 @@ import re
verbose = 0
def usage():
- sys.stderr.write("%s [-h] [-s] [-m] [-l Packages.filelist] [-p
Packages] [-r Packages.old] [-L localesdir] [-v] packagesdir\n" %
(sys.argv[0],))
+ sys.stderr.write("%s [-h] [-s] [-m] [-a] [-l Packages.filelist] [-p
Packages] [-r Packages.old] [-L localesdir] [-v] packagesdir\n" %
(sys.argv[0],))
sys.exit(-1)
def to_morgue(filename):
@@ -42,7 +42,8 @@ filelist_filename = None
stamplist_filename = "Packages.stamps"
opt_s = 0
opt_m = 0
-(opts, remaining_args) = getopt.getopt(sys.argv[1:], "hl:p:vsmr:L:")
+opt_a = 0
+(opts, remaining_args) = getopt.getopt(sys.argv[1:], "hl:p:vsmr:L:a")
for (optkey, optval) in opts:
if optkey == '-h':
usage()
@@ -61,6 +62,8 @@ for (optkey, optval) in opts:
old_filename = optval
if optkey == '-L':
locales_dir = optval
+ if optkey == '-a':
+ opt_a = 1
if ( not remaining_args ):
usage()
@@ -120,12 +123,17 @@ for abspath in files:
if (verbose):
sys.stderr.write("Reading info for package %s\n" %
(filename,))
pkg = opkg.Package(abspath, relpath=pkg_dir)
- pkg_key = ("%s:%s" % (pkg.package, pkg.architecture))
+
+ if opt_a:
+ pkg_key = ("%s:%s:%s" % (pkg.package, pkg.architecture,
pkg.version))
+ else:
+ pkg_key = ("%s:%s" % (pkg.package, pkg.architecture))
+
if (pkg_key in packages.packages):
old_filename = packages.packages[pkg_key].filename
else:
old_filename = ""
- s = packages.add_package(pkg)
+ s = packages.add_package(pkg, opt_a)
pkgsStamps[filename] = fnameStat.st_mtime
if s == 0:
if old_filename:
diff --git a/opkg.py b/opkg.py
index b0d79a6..47473da 100644
--- a/opkg.py
+++ b/opkg.py
@@ -501,10 +501,16 @@ class Packages(object):
self.packages = {}
return
- def add_package(self, pkg):
+ def add_package(self, pkg, opt_a=0):
package = pkg.package
arch = pkg.architecture
name = ("%s:%s" % (package, arch))
+ ver = pkg.version
+ if opt_a:
+ name = ("%s:%s:%s" % (package, arch, ver))
+ else:
+ name = ("%s:%s" % (package, arch))
+
if (name not in self.packages):
self.packages[name] = pkg
--
2.7.4
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20161228/26a78639/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Added-support-to-generate-index-file-with-multiple-v.patch
Type: text/x-patch
Size: 3114 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20161228/26a78639/attachment.bin>
More information about the yocto
mailing list