示例#1
0
def main():
    """Parse command line and execute all actions."""
    # set default options
    options = {}
    options['nocolor'] = (port_settings.get("NOCOLOR") in ('yes', 'true')
                          or not sys.stdout.isatty())
    if options['nocolor']:
        pp.output.nocolor()
    # parse command line options and actions
    try:
        action = parseArgs(options)
    # filter exception to know what message to display
    except ParseArgsException as e:
        if e.value == 'help':
            printUsage(help='all')
            sys.exit(0)
        elif e.value[:5] == 'help-':
            printUsage(help=e.value[5:])
            sys.exit(0)
        elif e.value == 'version':
            printVersion()
            sys.exit(0)
        else:
            printUsage(e.value)
            sys.exit(2)
    output = OutputControl(options)
    options['verbose-output'] = lambda x: None
    if not options['quiet']:
        if options['verbose']:
            options['verbose-output'] = output.einfo
    # parse the exclusion file
    if not 'exclude-file' in options:
        # set it to the default exclude file if it exists
        exclude_file = "%s/etc/%s/%s.exclude" % (EPREFIX, __productname__,
                                                 action)
        if os.path.isfile(exclude_file):
            options['exclude-file'] = exclude_file
    if 'exclude-file' in options:
        try:
            exclude = parseExcludeFile(options['exclude-file'],
                                       options['verbose-output'])
        except ParseExcludeFileException as e:
            print(pp.error(str(e)), file=sys.stderr)
            print(pp.error("Invalid exclusion file: %s" %
                           options['exclude-file']),
                  file=sys.stderr)
            print(pp.error("See format of this file in `man %s`" %
                           __productname__),
                  file=sys.stderr)
            sys.exit(1)
    else:
        exclude = {}
    # security check for non-pretend mode
    if not options['pretend'] and portage.secpass == 0:
        print(pp.error("Permission denied: you must be root or belong to " +
                       "the portage group."),
              file=sys.stderr)
        sys.exit(1)
    # execute action
    doAction(action, options, exclude=exclude, output=output)
示例#2
0
文件: cli.py 项目: zmedico/gentoolkit
def main():
	"""Parse command line and execute all actions."""
	# set default options
	options = {}
	options['nocolor'] = (port_settings.get("NOCOLOR") in ('yes','true')
		or not sys.stdout.isatty())
	if options['nocolor']:
		pp.output.nocolor()
	# parse command line options and actions
	try:
		action = parseArgs(options)
	# filter exception to know what message to display
	except ParseArgsException as e:
		if e.value == 'help':
			printUsage(help='all')
			sys.exit(0)
		elif e.value[:5] == 'help-':
			printUsage(help=e.value[5:])
			sys.exit(0)
		elif e.value == 'version':
			printVersion()
			sys.exit(0)
		else:
			printUsage(e.value)
			sys.exit(2)
	output = OutputControl(options)
	options['verbose-output'] = lambda x: None
	if not options['quiet']:
		if options['verbose']:
			options['verbose-output'] = output.einfo
	# parse the exclusion file
	if not 'exclude-file' in options:
		# set it to the default exclude file if it exists
		exclude_file = "%s/etc/%s/%s.exclude" % (EPREFIX,__productname__ , action)
		if os.path.isfile(exclude_file):
			options['exclude-file'] = exclude_file
	if 'exclude-file' in options:
		try:
			exclude = parseExcludeFile(options['exclude-file'],
					options['verbose-output'])
		except ParseExcludeFileException as e:
			print( pp.error(str(e)), file=sys.stderr)
			print( pp.error(
				"Invalid exclusion file: %s" % options['exclude-file']), file=sys.stderr)
			print( pp.error(
				"See format of this file in `man %s`" % __productname__), file=sys.stderr)
			sys.exit(1)
	else:
			exclude = {}
	# security check for non-pretend mode
	if not options['pretend'] and portage.secpass == 0:
		print( pp.error(
			"Permission denied: you must be root or belong to " +
			"the portage group."), file=sys.stderr)
		sys.exit(1)
	# execute action
	doAction(action, options, exclude=exclude,
		output=output)
示例#3
0
def _parse_exclude(exclude_file):
    '''
    Parse an exclude file.

    Returns a dict as defined in gentoolkit.eclean.exclude.parseExcludeFile
    '''
    if os.path.isfile(exclude_file):
        exclude = excludemod.parseExcludeFile(exclude_file, lambda x: None)
    else:
        exclude = dict()
    return exclude
示例#4
0
def _parse_exclude(exclude_file):
    '''
    Parse an exclude file.

    Returns a dict as defined in gentoolkit.eclean.exclude.parseExcludeFile
    '''
    if os.path.isfile(exclude_file):
        exclude = excludemod.parseExcludeFile(exclude_file, lambda x: None)
    else:
        exclude = dict()
    return exclude
示例#5
0
 def setUp(self):
     self.vardb = Dbapi(cp_all=[],
                        cpv_all=CPVS,
                        props=PROPS,
                        cp_list=[],
                        name="FAKE VARDB")
     self.portdb = Dbapi(cp_all=[],
                         cpv_all=CPVS[:4],
                         props=get_props(CPVS[:4]),
                         cp_list=[],
                         name="FAKE PORTDB")
     print(self.portdb)
     # set a fetch restricted pkg
     self.portdb._props[CPVS[0]]["RESTRICT"] = 'fetch'
     self.callback_data = []
     self.output = OutputSimulator(self.callback)
     self.target_class = DistfilesSearch(self.output.einfo, self.portdb,
                                         self.vardb)
     search.exclDictExpand = self.exclDictExpand
     self.exclude = parseExcludeFile(
         os.path.join(os.path.dirname(os.path.abspath(__file__)),
                      'distfiles.exclude'), self.output.einfo)
     #print(self.callback_data)
     #print(self.exclude)
     self.callback_data = []
     self.results = {}
     self.testdata = {
         'non_destructive1': {
             'deprecated': {
                 'app-emulation/emul-linux-x86-baselibs-20100220':
                 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz'
             },
             'pkgs': {
                 'sys-auth/consolekit-0.4.1':
                 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
                 'sys-apps/help2man-1.37.1':
                 'mirror://gnu/help2man/help2man-1.37.1.tar.gz',
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'app-emulation/emul-linux-x86-baselibs-20100220':
                 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz',
                 'media-libs/sdl-pango-0.1.2':
                 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
             },
             'output': [
                 '   - getting complete ebuild list',
                 '   - getting source file names for 5 ebuilds',
                 '!!! "Deprecation Warning: Installed package: app-emulation/emul-linux-x86-baselibs-20100220\n\tIs no longer in the tree or an installed overlay\n'
             ]
         },
         'non_destructive2': {
             'deprecated': {},
             'pkgs': {
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'sys-auth/consolekit-0.4.1':
                 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
                 'media-libs/sdl-pango-0.1.2':
                 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
             },
             'output': [
                 '   - getting complete ebuild list',
                 '   - getting source file names for 3 installed ebuilds',
                 '   - getting fetch-restricted source file names for 2 remaining ebuilds'
             ]
         },
         'non_destructive3': {
             'deprecated': {},
             'pkgs': {
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'sys-auth/consolekit-0.4.1':
                 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
                 'app-emulation/emul-linux-x86-baselibs-20100220':
                 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz',
             },
             'output': [
                 '   - getting complete ebuild list',
                 '   - getting source file names for 2 installed ebuilds',
                 '   - getting fetch-restricted source file names for 3 remaining ebuilds'
             ]
         },
         'destructive1': {
             'deprecated': {
                 'app-emulation/emul-linux-x86-baselibs-20100220':
                 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz'
             },
             'pkgs': {
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'sys-apps/help2man-1.37.1':
                 'mirror://gnu/help2man/help2man-1.37.1.tar.gz',
                 'sys-auth/consolekit-0.4.1':
                 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
                 'app-emulation/emul-linux-x86-baselibs-20100220':
                 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz',
                 'media-libs/sdl-pango-0.1.2':
                 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
             },
             'output': [
                 '   - processing 5 installed ebuilds',
                 '   - processing excluded',
                 '   - (5 of 0 total) additional excluded packages to get source filenames for',
                 '!!! "Deprecation Warning: Installed package: app-emulation/emul-linux-x86-baselibs-20100220\n\tIs no longer in the tree or an installed overlay\n'
             ]
         },
         'destructive2': {
             'deprecated': {},
             'pkgs': {},
             'output': [
                 '   - processing 0 installed packages',
                 '   - processing excluded',
                 '   - (0 of 0 total) additional excluded packages to get source filenames for'
             ]
         },
         'destructive3': {
             'deprecated': {},
             'pkgs': {
                 'app-portage/gentoolkit-0.3.0_rc8-r1':
                 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'app-portage/gentoolkit-0.3.0_rc8':
                 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
                 'app-portage/gentoolkit-0.2.4.6-r1':
                 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
                 'app-portage/gentoolkit-0.3.0_rc7':
                 'mirror://gentoo/gentoolkit-0.3.0_rc7.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc7.tar.gz',
                 'app-portage/gentoolkit-0.2.4.6':
                 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
                 'app-portage/eix-0.19.2':
                 'mirror://sourceforge/eix/eix-0.19.2.tar.xz',
                 'app-portage/gentoolkit-0.2.4.5':
                 'mirror://gentoo/gentoolkit-0.2.4.5.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.5.tar.gz',
                 'app-portage/gentoolkit-0.3.0_rc9':
                 'mirror://gentoo/gentoolkit-0.3.0_rc9.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc9.tar.gz',
                 'app-portage/eix-0.20.1':
                 'mirror://sourceforge/eix/eix-0.20.1.tar.xz',
                 'app-portage/eix-0.20.2':
                 'mirror://berlios/eix/eix-0.20.2.tar.xz'
             },
             'output': [
                 '   - processing excluded',
                 '   - (10 of 10 total) additional excluded packages to get source filenames for'
             ]
         },
         'destructive4': {
             'deprecated': {},
             'pkgs': {
                 'sys-auth/consolekit-0.4.1':
                 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'media-libs/sdl-pango-0.1.2':
                 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
             },
             'output': [
                 '   - processing 3 installed ebuilds',
                 '   - processing excluded',
                 '   - (3 of 0 total) additional excluded packages to get source filenames for'
             ]
         },
         'destructive5': {
             'deprecated': {},
             'pkgs': {
                 'x11-base/xorg-server-1.7.5':
                 'http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.7.5.tar.bz2',
                 'app-portage/gentoolkit-0.3.0_rc8-r1':
                 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
                 'sys-apps/devicekit-power-014':
                 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
                 'x11-misc/util-macros-1.6.0':
                 'http://xorg.freedesktop.org/releases/individual/util/util-macros-1.6.0.tar.bz2',
                 'app-portage/eix-0.19.2':
                 'mirror://sourceforge/eix/eix-0.19.2.tar.xz',
                 'app-portage/gentoolkit-0.3.0_rc8':
                 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
                 'app-portage/gentoolkit-0.2.4.6-r1':
                 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
                 'app-portage/gentoolkit-0.3.0_rc7':
                 'mirror://gentoo/gentoolkit-0.3.0_rc7.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc7.tar.gz',
                 'sys-auth/consolekit-0.4.1':
                 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
                 'app-portage/gentoolkit-0.2.4.6':
                 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
                 'media-libs/sdl-pango-0.1.2':
                 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch',
                 'x11-libs/pixman-0.16.4':
                 'http://xorg.freedesktop.org/releases/individual/lib/pixman-0.16.4.tar.bz2',
                 'app-portage/gentoolkit-0.2.4.5':
                 'mirror://gentoo/gentoolkit-0.2.4.5.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.5.tar.gz',
                 'app-portage/gentoolkit-0.3.0_rc9':
                 'mirror://gentoo/gentoolkit-0.3.0_rc9.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc9.tar.gz',
                 'app-portage/eix-0.20.1':
                 'mirror://sourceforge/eix/eix-0.20.1.tar.xz',
                 'app-portage/eix-0.20.2':
                 'mirror://berlios/eix/eix-0.20.2.tar.xz'
             },
             'output': [
                 '   - processing 6 installed ebuilds',
                 '   - processing excluded',
                 '   - (16 of 10 total) additional excluded packages to get source filenames for'
             ]
         }
     }
示例#6
0
	def setUp(self):
		self.vardb = Dbapi(cp_all=[], cpv_all=CPVS,
			props=PROPS, cp_list=[], name="FAKE VARDB")
		self.portdb = Dbapi(cp_all=[], cpv_all=CPVS[:4],
			props=get_props(CPVS[:4]), cp_list=[], name="FAKE PORTDB")
		print(self.portdb)
		# set a fetch restricted pkg
		self.portdb._props[CPVS[0]]["RESTRICT"] = 'fetch'
		self.callback_data = []
		self.output = OutputSimulator(self.callback)
		self.target_class = DistfilesSearch(self.output.einfo, self.portdb, self.vardb)
		search.exclDictExpand = self.exclDictExpand
		self.exclude = parseExcludeFile(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'distfiles.exclude'), self.output.einfo)
		#print(self.callback_data)
		#print(self.exclude)
		self.callback_data = []
		self.results = {}
		self.testdata = {
			'non_destructive1':{
					'deprecated':
						{'app-emulation/emul-linux-x86-baselibs-20100220': 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz'
						},
					'pkgs': {
						'sys-auth/consolekit-0.4.1': 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
						'sys-apps/help2man-1.37.1': 'mirror://gnu/help2man/help2man-1.37.1.tar.gz',
						'sys-apps/devicekit-power-014': 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'app-emulation/emul-linux-x86-baselibs-20100220': 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz',
						'media-libs/sdl-pango-0.1.2': 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
						},
					'output': [
						'   - getting complete ebuild list',
						'   - getting source file names for 5 ebuilds',
						'!!! "Deprecation Warning: Installed package: app-emulation/emul-linux-x86-baselibs-20100220\n\tIs no longer in the tree or an installed overlay\n'
						]
					},
			'non_destructive2':{
					'deprecated': {
						},
					'pkgs': {
						'sys-apps/devicekit-power-014': 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'sys-auth/consolekit-0.4.1': 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
						'media-libs/sdl-pango-0.1.2': 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
						},
					'output': [
						'   - getting complete ebuild list',
						'   - getting source file names for 3 installed ebuilds',
						'   - getting fetch-restricted source file names for 2 remaining ebuilds'
						]
					},
			'non_destructive3':{
					'deprecated':{
						},
					'pkgs': {
						'sys-apps/devicekit-power-014': 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'sys-auth/consolekit-0.4.1': 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
						'app-emulation/emul-linux-x86-baselibs-20100220': 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz',
						},
					'output': [
						'   - getting complete ebuild list',
						'   - getting source file names for 2 installed ebuilds',
						'   - getting fetch-restricted source file names for 3 remaining ebuilds'
						]
					},
			'destructive1':{
					'deprecated':{
						'app-emulation/emul-linux-x86-baselibs-20100220': 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz'
						},
					'pkgs': {
						'sys-apps/devicekit-power-014': 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'sys-apps/help2man-1.37.1': 'mirror://gnu/help2man/help2man-1.37.1.tar.gz',
						'sys-auth/consolekit-0.4.1': 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
						'app-emulation/emul-linux-x86-baselibs-20100220': 'mirror://gentoo/emul-linux-x86-baselibs-20100220.tar.gz',
						'media-libs/sdl-pango-0.1.2': 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
						},
					'output': [
						'   - processing 5 installed ebuilds', '   - processing excluded',
						'   - (5 of 0 total) additional excluded packages to get source filenames for',
						'!!! "Deprecation Warning: Installed package: app-emulation/emul-linux-x86-baselibs-20100220\n\tIs no longer in the tree or an installed overlay\n'
						]
					},
			'destructive2':{
					'deprecated':{
						},
					'pkgs': {
						},
					'output': [
						'   - processing 0 installed packages',
						'   - processing excluded', '   - (0 of 0 total) additional excluded packages to get source filenames for'
						]
					},
			'destructive3':{
					'deprecated':{
						},
					'pkgs': {
						'app-portage/gentoolkit-0.3.0_rc8-r1': 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
						'sys-apps/devicekit-power-014': 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'app-portage/gentoolkit-0.3.0_rc8': 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
						'app-portage/gentoolkit-0.2.4.6-r1': 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
						'app-portage/gentoolkit-0.3.0_rc7': 'mirror://gentoo/gentoolkit-0.3.0_rc7.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc7.tar.gz',
						'app-portage/gentoolkit-0.2.4.6': 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
						'app-portage/eix-0.19.2': 'mirror://sourceforge/eix/eix-0.19.2.tar.xz',
						'app-portage/gentoolkit-0.2.4.5': 'mirror://gentoo/gentoolkit-0.2.4.5.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.5.tar.gz',
						'app-portage/gentoolkit-0.3.0_rc9': 'mirror://gentoo/gentoolkit-0.3.0_rc9.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc9.tar.gz',
						'app-portage/eix-0.20.1': 'mirror://sourceforge/eix/eix-0.20.1.tar.xz',
						'app-portage/eix-0.20.2': 'mirror://berlios/eix/eix-0.20.2.tar.xz'
						},
					'output': [
						'   - processing excluded',
						'   - (10 of 10 total) additional excluded packages to get source filenames for'
						]
					},
			'destructive4':{
					'deprecated':{
						},
					'pkgs': {
						'sys-auth/consolekit-0.4.1':
							'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
						'sys-apps/devicekit-power-014':
							'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'media-libs/sdl-pango-0.1.2':
							'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch'
						},
					'output': [
						'   - processing 3 installed ebuilds',
						'   - processing excluded',
						'   - (3 of 0 total) additional excluded packages to get source filenames for'
						]
					},
			'destructive5':{
					'deprecated':{
						},
					'pkgs': {
						'x11-base/xorg-server-1.7.5': 'http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-1.7.5.tar.bz2',
						'app-portage/gentoolkit-0.3.0_rc8-r1': 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
						'sys-apps/devicekit-power-014': 'http://hal.freedesktop.org/releases/DeviceKit-power-014.tar.gz',
						'x11-misc/util-macros-1.6.0': 'http://xorg.freedesktop.org/releases/individual/util/util-macros-1.6.0.tar.bz2',
						'app-portage/eix-0.19.2': 'mirror://sourceforge/eix/eix-0.19.2.tar.xz',
						'app-portage/gentoolkit-0.3.0_rc8': 'mirror://gentoo/gentoolkit-0.3.0_rc8.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc8.tar.gz',
						'app-portage/gentoolkit-0.2.4.6-r1': 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
						'app-portage/gentoolkit-0.3.0_rc7': 'mirror://gentoo/gentoolkit-0.3.0_rc7.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc7.tar.gz',
						'sys-auth/consolekit-0.4.1': 'http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2',
						'app-portage/gentoolkit-0.2.4.6': 'mirror://gentoo/gentoolkit-0.2.4.6.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.6.tar.gz',
						'media-libs/sdl-pango-0.1.2': 'mirror://sourceforge/sdlpango/SDL_Pango-0.1.2.tar.gz http://zarb.org/~gc/t/SDL_Pango-0.1.2-API-adds.patch',
						'x11-libs/pixman-0.16.4': 'http://xorg.freedesktop.org/releases/individual/lib/pixman-0.16.4.tar.bz2',
						'app-portage/gentoolkit-0.2.4.5': 'mirror://gentoo/gentoolkit-0.2.4.5.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.2.4.5.tar.gz',
						'app-portage/gentoolkit-0.3.0_rc9': 'mirror://gentoo/gentoolkit-0.3.0_rc9.tar.gz http://dev.gentoo.org/~fuzzyray/distfiles/gentoolkit-0.3.0_rc9.tar.gz',
						'app-portage/eix-0.20.1': 'mirror://sourceforge/eix/eix-0.20.1.tar.xz',
						'app-portage/eix-0.20.2': 'mirror://berlios/eix/eix-0.20.2.tar.xz'
						},
					'output': [
						'   - processing 6 installed ebuilds',
						'   - processing excluded',
						'   - (16 of 10 total) additional excluded packages to get source filenames for'
						]
					}
			}