| Home | Trees | Indices | Help |
|---|
|
|
1 #!/usr/bin/env python 2 # Copyright (c) 2009, Willow Garage, Inc. 3 # All rights reserved. 4 # 5 # Redistribution and use in source and binary forms, with or without 6 # modification, are permitted provided that the following conditions are met: 7 # 8 # * Redistributions of source code must retain the above copyright 9 # notice, this list of conditions and the following disclaimer. 10 # * Redistributions in binary form must reproduce the above copyright 11 # notice, this list of conditions and the following disclaimer in the 12 # documentation and/or other materials provided with the distribution. 13 # * Neither the name of the Willow Garage, Inc. nor the names of its 14 # contributors may be used to endorse or promote products derived from 15 # this software without specific prior written permission. 16 # 17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 # POSSIBILITY OF SUCH DAMAGE. 28 29 from __future__ import with_statement 30 import os.path 31 import roslib.os_detect 32 import subprocess 33 34 import rosdep.base_rosdep 35 36 # Determine whether package p needs to be installed38 cmd = ['equery', '-q', 'l', p] 39 pop = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 40 (std_out, std_err) = pop.communicate() 41 42 return (std_out.count("") == 1)43 44 # Check equery for existence and compatibility (gentoolkit 0.3)46 if not os.path.exists("/usr/bin/equery"): 47 return False 48 49 cmd = ['equery', '-V'] 50 pop = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 51 (stdout, stderr) = pop.communicate() 52 53 return "0.3." == stdout[8:12]54 55 56 ###### Gentoo SPECIALIZATION #########################71 72 ###### END Gentoo SPECIALIZATION ######################## 7359 if equery_available(): 60 return [p for p in packages if equery_detect(p)] 61 else: 62 return packages6365 if len(packages) == 0: 66 return "# Package prerequisites satisfied - nothing to do" 67 elif equery_available(): 68 return "#Packages\nsudo emerge " + ' '.join(packages) 69 else: 70 return "#Packages\nsudo emerge -u " + ' '.join(packages)
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Fri Jan 11 10:12:10 2013 | http://epydoc.sourceforge.net |