Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(195)

Unified Diff: src/scripts/recursive_dep.py

Issue 651083: Get rid of some scripts that are no longer used (Closed)
Patch Set: Created 10 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/scripts/install_packages.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/recursive_dep.py
diff --git a/src/scripts/recursive_dep.py b/src/scripts/recursive_dep.py
deleted file mode 100644
index 2bcfc637db11ff9f4607815fb8d69ea7ebb482dc..0000000000000000000000000000000000000000
--- a/src/scripts/recursive_dep.py
+++ /dev/null
@@ -1,139 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from sets import Set
-import subprocess
-import sys
-import time
-
-preferred_virtual_pkg_providers = {
- '<debconf-2.0>': 'debconf',
- '<libgl1>': 'libgl1-mesa-glx',
- '<modutils>': 'module-init-tools',
- '<x-terminal-emulator>': 'xvt',
- '<xserver-xorg-input-4>': 'xserver-xorg-input-kbd',
- '<xserver-xorg-video-5>': 'xserver-xorg-video-dummy'
-}
-
-# if we have a set of packages to choose from, we see if any packages we
-# can choose from are in this list (starting from element 0). if we find a
-# match, we use that, otherwise the script just picks one from the set
-preferred_packages = [
- 'debconf',
- 'debconf-english',
- 'ttf-bitstream-vera',
- 'libgl1-mesa-glx',
- 'module-init-tools',
- '<x-terminal-emulator>',
- 'xserver-xorg-input-kbd',
- 'xserver-xorg-video-dummy',
- '<xserver-xorg-input-4>',
- '<xserver-xorg-video-5>',
- 'udev'
-]
-
-def isVirtualPackage(packagename):
- return packagename.startswith('<') and packagename.endswith('>')
-
-def providerForVirtualPkg(packagename):
- # check for any pre-chosen packages
- if packagename in preferred_virtual_pkg_providers:
- return preferred_virtual_pkg_providers[packagename]
-
- name = packagename.strip('<>')
- lines = subprocess.Popen(['apt-cache', 'showpkg', name],
- stdout=subprocess.PIPE).communicate()[0].split('\n')
- if len(lines) < 2:
- print 'too few lines!', packagename
- sys.exit(1)
- got_reverse_provides_line = False
- for line in lines:
- if got_reverse_provides_line:
- # just take the first one
- provider = line.split(' ')[0]
- if provider == '':
- print 'no provider for', packagename
- sys.exit(1)
- print '"' + provider + '" provides "' + packagename + '"'
- return provider
- got_reverse_provides_line = line.startswith('Reverse Provides:')
- print 'didn\'t find a provider for', packagename
- sys.exit(1)
-
-def getDepsFor(packagename):
- results = subprocess.Popen(['apt-cache', 'depends', packagename],
- stdout=subprocess.PIPE).communicate()[0]
- lines = results.split('\n')
- if len(lines) < 2:
- print 'too few lines!', packagename
- sys.exit(1)
- ret = Set()
- prefix = ' Depends: '
- # If a package depends on any in a set of packages then each possible package
- # in the set, except for the last one, will have a pipe before Depends.
- # For example:
- # Depends: foo
- # Depends: bar
- # |Depends: baz
- # |Depends: bat
- # |Depends: flower
- # Depends: candle
- # Depends: trunk
- # means this package depends on foo, bar, trunk, and any one of baz, bat,
- # flower, and candle.
- # I couldn't find this documented anywhere.
- set_prefix = ' |Depends: '
- dep_set = Set()
- for line in lines:
- if line.startswith(set_prefix):
- dep_set.add(line[len(set_prefix):])
- continue
- if not line.startswith(prefix):
- dep_set.clear()
- continue
- pkgname = line[len(prefix):]
- if len(dep_set) > 0:
- dep_set.add(pkgname)
- # we need to pick one from dep_set
- found_pref = False
- for pref in preferred_packages:
- if pref in dep_set:
- print 'using pref to choose "' + pref + '" from set ' + str(dep_set)
- pkgname = pref
- found_pref = True
- break
- if not found_pref:
- print 'chose "' + pkgname + '" from set ' + str(dep_set)
- dep_set.clear()
- ret.add(pkgname)
- print packagename + ' has deps: ' + str(ret)
- return ret
-
-def main(argv):
- checked = Set()
- unchecked = Set()
- for arg in argv[1:]:
- unchecked.add(arg)
- while True:
- directdeps = Set()
- for pkg in unchecked:
- if isVirtualPackage(pkg):
- pkg = providerForVirtualPkg(pkg)
- directdeps = directdeps.union(getDepsFor(pkg))
- checked.add(pkg)
- directdeps = directdeps.difference(checked)
- unchecked = directdeps
- if len(unchecked) == 0:
- print 'done'
- checked_list = list(checked)
- checked_list.sort()
- print 'all:', checked_list
- print 'total of ' + str(len(checked_list)) + ' items'
- sys.exit(0)
-
-
-if __name__ == '__main__':
- main(sys.argv)
« no previous file with comments | « src/scripts/install_packages.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698