[oe-commits] org.oe.dev sanitize.py: Drop odict dependency.

pfalcon commit openembedded-commits at lists.openembedded.org
Sat Sep 9 00:54:51 UTC 2006


sanitize.py: Drop odict dependency.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 1997f387bbe1e6c453064b78bebac0eeaaa1dc02
ViewMTN: http://monotone.openembedded.org/revision.psp?id=1997f387bbe1e6c453064b78bebac0eeaaa1dc02
Files:
1
contrib/sanitize.py
Diffs:

#
# mt diff -rc56059bf1da2ea4d212ff175a446f6dfcec7d155 -r1997f387bbe1e6c453064b78bebac0eeaaa1dc02
#
# 
# 
# patch "contrib/sanitize.py"
#  from [a13d578af90810426fea6c5d83e70a1fef525631]
#    to [060dda8cbe81e5f8dd37e305fb76642ce6c2aa4a]
# 
============================================================
--- contrib/sanitize.py	a13d578af90810426fea6c5d83e70a1fef525631
+++ contrib/sanitize.py	060dda8cbe81e5f8dd37e305fb76642ce6c2aa4a
@@ -1,18 +1,12 @@
 #!/usr/bin/env python
 
-""" sanitize a bitbake file following the OpenEmbedded style guidelines
-
+"""\
+Sanitize a bitbake file following the OpenEmbedded style guidelines,
 see http://openembedded.org/wiki/StyleGuide 
+
 (C) 2006 Cyril Romain <cyril.romain at gmail.com>
 MIT license
 
-This script requires the odict module written by Nicola Larosa and Michael 
-Foord.
-To get the odict module is available on:
- Debian: apt-get install rest2web
- Gentoo: emerge pythonutils
- or can be download here: http://www.voidspace.org.uk/python/odict.html
-
 TODO: 
  - add the others OpenEmbedded variables commonly used:
  - parse command arguments and print usage on misuse
@@ -25,7 +19,6 @@ TODO: 
  - count rule breaks and displays them in the order frequence
 """
 
-from odict import OrderedDict
 import fileinput
 import string
 import re
@@ -34,182 +27,187 @@ __version__ = "$Revision: 0.4 $"
 __version__ = "$Revision: 0.4 $"
 
 # The standard set of variables often found in .bb files in the preferred order
-OE_vars = OrderedDict([
-    ('DESCRIPTION', []),
-    ('AUTHOR', []),
-    ('HOMEPAGE', []),
-    ('SECTION', []),
-    ('PRIORITY', []),
-    ('MAINTAINER', []),
-    ('LICENSE', []),
-    ('DEPENDS', []),
-    ('RDEPENDS', []),
-    ('RRECOMMENDS', []),
-    ('RSUGGESTS', []),
-    ('PROVIDES', []),
-    ('RPROVIDES', []),
-    ('RCONFLICTS', []),
-    ('SRCDATE', []),
-    ('PV', []),
-    ('PR', []),
-    ('SRC_URI', []),
-    ('S', []),
-    ('GPE_TARBALL_SUFFIX', []),
-    ('inherit', []),
-    ('EXTRA_', []),
-    ('do_fetch', []),
-    ('do_unpack', []),
-    ('do_patch', []),
-    ('do_configure', []),
-    ('do_compile', []),
-    ('do_install', []),
-    ('do_package', []),
-    ('do_stage', []),
-    ('PACKAGE_ARCH', []),
-    ('PACKAGES', []),
-    ('FILES', []),
-    ('WORKDIR', []),
-    ('acpaths', []),
-    ('addhandler', []),
-    ('addtask', []),
-    ('bindir', []),
-    ('export', []),
-    ('headers', []),
-    ('include', []),
-    ('includedir', []),
-    ('python', []),
-    ('qtopiadir', []),
-    ('pkg_postins', []),
-    ('pkg_postrm', []),
-    ('require', []),
-    ('sbindir', []),
-    ('basesysconfdir', []),
-    ('sysconfdir', []),
-    ('ALLOW_EMPTY', []),
-    ('ALTERNATIVE_LINK', []),
-    ('ALTERNATIVE_NAME', []),
-    ('ALTERNATIVE_PATH', []),
-    ('ALTERNATIVE_PRIORITY', []),
-    ('ALTNAME', []),
-    ('AMD_DRIVER_LABEL', []),
-    ('AMD_DRIVER_VERSION', []),
-    ('ANGSTROM_EXTRA_INSTALL', []),
-    ('APPDESKTOP', []),
-    ('APPIMAGE', []),
-    ('APPNAME', []),
-    ('APPTYPE', []),
-    ('APPWEB_BUILD', []),
-    ('APPWEB_HOST', []),
-    ('AR', []),
-    ('ARCH', []),
-    ('ARM_INSTRUCTION_SET', []),
-    ('ARM_MUTEX', []),
-    ('ART_CONFIG', []),
-    ('B', []),
-    ('BJAM_OPTS', []),
-    ('BJAM_TOOLS', []),
-    ('BONOBO_HEADERS', []),
-    ('BOOTSCRIPTS', []),
-    ('BROKEN', []),
-    ('BUILD_ALL_DEPS', []),
-    ('BUILD_CPPFLAGS', []),
-    ('CFLAGS', []),
-    ('CCFLAGS', []),
-    ('CMDLINE', []),
-    ('COLLIE_MEMORY_SIZE', []),
-    ('COMPATIBLE_HOST', []),
-    ('COMPATIBLE_MACHINE', []),
-    ('COMPILE_HERMES', []),
-    ('CONFFILES', []),
-    ('CONFLICTS', []),
-    ('CORE_EXTRA_D', []),
-    ('CORE_PACKAGES_D', []),
-    ('CORE_PACKAGES_RD', []),
-    ('CPPFLAGS', []),
-    ('CVSDATE', []),
-    ('CXXFLAGS', []),
-    ('DEBIAN_NOAUTONAME', []),
-    ('DEBUG_APPS', []),
-    ('DEFAULT_PREFERENCE', []),
-    ('DB4_CONFIG', []),
-    ('EXCLUDE_FROM_SHLIBS', []),
-    ('EXCLUDE_FROM_WORLD', []),
-    ('FIXEDSRCDATE', []),
-    ('GLIBC_ADDONS', []),
-    ('GLIBC_EXTRA_OECONF', []),
-    ('GNOME_VFS_HEADERS', []),
-    ('HEADERS', []),
-    ('INHIBIT_DEFAULT_DEPS', []),
-    ('INITSCRIPT_NAME', []),
-    ('INITSCRIPT_PACKAGES', []),
-    ('INITSCRIPT_PARAMS', []),
-    ('IPKG_INSTALL', []),
-    ('KERNEL_IMAGETYPE', []),
-    ('KERNEL_IMAGEDEST', []),
-    ('KERNEL_OUTPUT', []),
-    ('KERNEL_RELEASE', []),
-    ('KERNEL_PRIORITY', []),
-    ('KERNEL_SOURCE', []),
-    ('KERNEL_SUFFIX', []),
-    ('KERNEL_VERSION', []),
-    ('K_MAJOR', []),
-    ('K_MICRO', []),
-    ('K_MINOR', []),
-    ('HHV', []),
-    ('KV', []),
-    ('LDFLAGS', []),
-    ('LD', []),
-    ('LD_SO', []),
-    ('LDLIBS', []),
-    ('LEAD_SONAME', []),
-    ('LIBTOOL', []),
-    ('LIBBDB_EXTRA', []),
-    ('LIBV', []),
-    ('MACHINE', []),
-    ('MACHINE_ESSENTIAL_EXTRA_RDEPENDS', []),
-    ('MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS', []),
-    ('MACHINE_EXTRA_RDEPENDS', []),
-    ('MACHINE_EXTRA_RRECOMMENDS', []),
-    ('MACHINE_FEATURES', []),
-    ('MACHINE_TASKS', []),
-    ('MACHTYPE', []),
-    ('MAKE_TARGETS', []),
-    ('MESSAGEUSER', []),
-    ('MESSAGEHOME', []),
-    ('MIRRORS', []),
-    ('MUTEX', []),
-    ('OE_QMAKE_INCDIR_QT', []),
-    ('OE_QMAKE_CXXFLAGS', []),
-    ('ORBIT_IDL_SRC', []),
-    ('PARALLEL_MAKE', []),
-    ('PAKCAGE_ARCH', []),
-    ('PCMCIA_MANAGER', []),
-    ('PKG_BASENAME', []),
-    ('QEMU', []),
-    ('QMAKE_PROFILES', []),
-    ('QPEDIR', []),
-    ('QPF_DESCRIPTION', []),
-    ('QPF_PKGPATTERN', []),
-    ('QT_CONFIG_FLAGS', []),
-    ('QT_LIBRARY', []),
-    ('ROOTFS_POSTPROCESS_COMMAND', []),
-    ('RREPLACES', []),
-    ('TARGET_CFLAGS', []),
-    ('TARGET_CPPFLAGS', []),
-    ('TARGET_LDFLAGS', []),
-    ('UBOOT_MACHINE', []),
-    ('UCLIBC_BASE', []),
-    ('UCLIBC_PATCHES', []),
-    ('UNSLUNG_PACKAGES', []),
-    ('VIRTUAL_NAME', []),
-    ('XORG_PN', []),
-    ('XSERVER', []),
-    ('others', [])
-])
+OE_vars = [
+    'DESCRIPTION',
+    'AUTHOR',
+    'HOMEPAGE',
+    'SECTION',
+    'PRIORITY',
+    'MAINTAINER',
+    'LICENSE',
+    'DEPENDS',
+    'RDEPENDS',
+    'RRECOMMENDS',
+    'RSUGGESTS',
+    'PROVIDES',
+    'RPROVIDES',
+    'RCONFLICTS',
+    'SRCDATE',
+    'PV',
+    'PR',
+    'SRC_URI',
+    'S',
+    'GPE_TARBALL_SUFFIX',
+    'inherit',
+    'EXTRA_',
+    'do_fetch',
+    'do_unpack',
+    'do_patch',
+    'do_configure',
+    'do_compile',
+    'do_install',
+    'do_package',
+    'do_stage',
+    'PACKAGE_ARCH',
+    'PACKAGES',
+    'FILES',
+    'WORKDIR',
+    'acpaths',
+    'addhandler',
+    'addtask',
+    'bindir',
+    'export',
+    'headers',
+    'include',
+    'includedir',
+    'python',
+    'qtopiadir',
+    'pkg_postins',
+    'pkg_postrm',
+    'require',
+    'sbindir',
+    'basesysconfdir',
+    'sysconfdir',
+    'ALLOW_EMPTY',
+    'ALTERNATIVE_LINK',
+    'ALTERNATIVE_NAME',
+    'ALTERNATIVE_PATH',
+    'ALTERNATIVE_PRIORITY',
+    'ALTNAME',
+    'AMD_DRIVER_LABEL',
+    'AMD_DRIVER_VERSION',
+    'ANGSTROM_EXTRA_INSTALL',
+    'APPDESKTOP',
+    'APPIMAGE',
+    'APPNAME',
+    'APPTYPE',
+    'APPWEB_BUILD',
+    'APPWEB_HOST',
+    'AR',
+    'ARCH',
+    'ARM_INSTRUCTION_SET',
+    'ARM_MUTEX',
+    'ART_CONFIG',
+    'B',
+    'BJAM_OPTS',
+    'BJAM_TOOLS',
+    'BONOBO_HEADERS',
+    'BOOTSCRIPTS',
+    'BROKEN',
+    'BUILD_ALL_DEPS',
+    'BUILD_CPPFLAGS',
+    'CFLAGS',
+    'CCFLAGS',
+    'CMDLINE',
+    'COLLIE_MEMORY_SIZE',
+    'COMPATIBLE_HOST',
+    'COMPATIBLE_MACHINE',
+    'COMPILE_HERMES',
+    'CONFFILES',
+    'CONFLICTS',
+    'CORE_EXTRA_D',
+    'CORE_PACKAGES_D',
+    'CORE_PACKAGES_RD',
+    'CPPFLAGS',
+    'CVSDATE',
+    'CXXFLAGS',
+    'DEBIAN_NOAUTONAME',
+    'DEBUG_APPS',
+    'DEFAULT_PREFERENCE',
+    'DB4_CONFIG',
+    'EXCLUDE_FROM_SHLIBS',
+    'EXCLUDE_FROM_WORLD',
+    'FIXEDSRCDATE',
+    'GLIBC_ADDONS',
+    'GLIBC_EXTRA_OECONF',
+    'GNOME_VFS_HEADERS',
+    'HEADERS',
+    'INHIBIT_DEFAULT_DEPS',
+    'INITSCRIPT_NAME',
+    'INITSCRIPT_PACKAGES',
+    'INITSCRIPT_PARAMS',
+    'IPKG_INSTALL',
+    'KERNEL_IMAGETYPE',
+    'KERNEL_IMAGEDEST',
+    'KERNEL_OUTPUT',
+    'KERNEL_RELEASE',
+    'KERNEL_PRIORITY',
+    'KERNEL_SOURCE',
+    'KERNEL_SUFFIX',
+    'KERNEL_VERSION',
+    'K_MAJOR',
+    'K_MICRO',
+    'K_MINOR',
+    'HHV',
+    'KV',
+    'LDFLAGS',
+    'LD',
+    'LD_SO',
+    'LDLIBS',
+    'LEAD_SONAME',
+    'LIBTOOL',
+    'LIBBDB_EXTRA',
+    'LIBV',
+    'MACHINE',
+    'MACHINE_ESSENTIAL_EXTRA_RDEPENDS',
+    'MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS',
+    'MACHINE_EXTRA_RDEPENDS',
+    'MACHINE_EXTRA_RRECOMMENDS',
+    'MACHINE_FEATURES',
+    'MACHINE_TASKS',
+    'MACHTYPE',
+    'MAKE_TARGETS',
+    'MESSAGEUSER',
+    'MESSAGEHOME',
+    'MIRRORS',
+    'MUTEX',
+    'OE_QMAKE_INCDIR_QT',
+    'OE_QMAKE_CXXFLAGS',
+    'ORBIT_IDL_SRC',
+    'PARALLEL_MAKE',
+    'PAKCAGE_ARCH',
+    'PCMCIA_MANAGER',
+    'PKG_BASENAME',
+    'QEMU',
+    'QMAKE_PROFILES',
+    'QPEDIR',
+    'QPF_DESCRIPTION',
+    'QPF_PKGPATTERN',
+    'QT_CONFIG_FLAGS',
+    'QT_LIBRARY',
+    'ROOTFS_POSTPROCESS_COMMAND',
+    'RREPLACES',
+    'TARGET_CFLAGS',
+    'TARGET_CPPFLAGS',
+    'TARGET_LDFLAGS',
+    'UBOOT_MACHINE',
+    'UCLIBC_BASE',
+    'UCLIBC_PATCHES',
+    'UNSLUNG_PACKAGES',
+    'VIRTUAL_NAME',
+    'XORG_PN',
+    'XSERVER',
+    'others'
+]
 
 varRegexp = r'^([A-Z_0-9]*)([ \t]*?)([+.:]?=[+.]?)([ \t]*?)("[^"]*["\\]?)'
 routineRegexp = r'^([a-zA-Z0-9_ -]+?)\('
 
+# Variables seen in the processed .bb
+seen_vars = {}
+for v in OE_vars: 
+    seen_vars[v] = []
+
 # _Format guideline #0_: 
 #   No spaces are allowed at the beginning of lines that define a variable or 
 #   a do_ routine
@@ -353,11 +351,11 @@ if __name__ == "__main__":
             commentBloc.append(line)
             continue
 
-        if OE_vars.has_key(var):
+        if seen_vars.has_key(var):
             for c in commentBloc: 
-                OE_vars[var].append(c)
+                seen_vars[var].append(c)
                 commentBloc = []
-            OE_vars[var].append(line)
+            seen_vars[var].append(line)
         else:
             varexist = False
             for k in OE_vars:
@@ -370,15 +368,15 @@ if __name__ == "__main__":
                         line = follow_rule(4, line)
                         line = follow_rule(5, line)
                     for c in commentBloc: 
-                        OE_vars[k].append(c)
+                        seen_vars[k].append(c)
                         commentBloc = []
-                    OE_vars[k].append(line)
+                    seen_vars[k].append(line)
                     var = (keep==True or in_routine==True) and k or ""
                     break
             if not varexist:
                 if not in_routine:
                     print "## Warning: unknown variable/routine \"%s\"" % line
-                    OE_vars['others'].append(line)
+                    seen_vars['others'].append(line)
         if not keep and not in_routine: var = ""
 
     # -- dump the sanitized .bb file --
@@ -386,9 +384,9 @@ if __name__ == "__main__":
     addEmptyLine = False
     for k in OE_vars:
         if k=='SRC_URI': addEmptyLine = True
-        if OE_vars[k] != []: 
+        if seen_vars[k] != []: 
             if addEmptyLine: olines.append("")
-            for l in OE_vars[k]: 
+            for l in seen_vars[k]: 
                 olines.append(l)
     for line in olines: print line
 






More information about the Openembedded-commits mailing list