mirror of
https://git.yoctoproject.org/poky-contrib
synced 2025-05-09 08:02:36 +08:00

All the regexes throw a warning like this: WARNING: scripts/lib/recipetool/create_buildsys.py:140: SyntaxWarning: invalid escape sequence '\s' proj_re = re.compile('project\s*\(([^)]*)\)', re.IGNORECASE) Python 3 interprets string literals as Unicode strings, and therefore \s is treated as an escaped Unicode character which is not correct. Declaring the RegEx pattern as a raw string instead of unicode is required for Python 3. (From OE-Core rev: 24b0ba00d4f0b4d9834f7693ecb6032dfc534a80) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
73 lines
2.1 KiB
Python
Executable File
73 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
# OpenEmbedded opkg query helper utility
|
|
#
|
|
# Written by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
#
|
|
# Copyright 2012 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
|
|
import sys
|
|
import fileinput
|
|
import re
|
|
|
|
archmode = False
|
|
filemode = False
|
|
vermode = False
|
|
|
|
args = []
|
|
for arg in sys.argv[1:]:
|
|
if arg == '-a':
|
|
archmode = True
|
|
elif arg == '-f':
|
|
filemode = True
|
|
elif arg == '-v':
|
|
vermode = True
|
|
else:
|
|
args.append(arg)
|
|
|
|
# Regex for removing version specs after dependency items
|
|
verregex = re.compile(r' \([=<>]* [^ )]*\)')
|
|
|
|
pkg = ""
|
|
ver = ""
|
|
for line in fileinput.input(args):
|
|
line = line.rstrip()
|
|
if ': ' in line:
|
|
if line.startswith("Package:"):
|
|
pkg = line.split(": ")[1]
|
|
ver = ""
|
|
else:
|
|
if archmode:
|
|
if line.startswith("Architecture:"):
|
|
arch = line.split(": ")[1]
|
|
print("%s %s" % (pkg,arch))
|
|
elif filemode:
|
|
if line.startswith("Version:"):
|
|
ver = line.split(": ")[1]
|
|
elif line.startswith("Architecture:"):
|
|
arch = line.split(": ")[1]
|
|
print("%s %s_%s_%s.ipk %s" % (pkg,pkg,ver,arch,arch))
|
|
elif vermode:
|
|
if line.startswith("Version:"):
|
|
ver = line.split(": ")[1]
|
|
elif line.startswith("Architecture:"):
|
|
arch = line.split(": ")[1]
|
|
print("%s %s %s" % (pkg,arch,ver))
|
|
else:
|
|
if line.startswith("Depends:"):
|
|
depval = line.split(": ")[1]
|
|
deps = depval.split(", ")
|
|
for dep in deps:
|
|
dep = verregex.sub('', dep)
|
|
print("%s|%s" % (pkg,dep))
|
|
elif line.startswith("Recommends:"):
|
|
recval = line.split(": ")[1]
|
|
recs = recval.split(", ")
|
|
for rec in recs:
|
|
rec = verregex.sub('', rec)
|
|
print("%s|%s [REC]" % (pkg, rec))
|
|
|