Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 291414
Collapse All | Expand All

(-)doc/config/sets.docbook (+8 lines)
Lines 124-129 Link Here
124
			[installed category packages]
124
			[installed category packages]
125
			class = portage.sets.dbapi.CategorySet
125
			class = portage.sets.dbapi.CategorySet
126
			multiset = true
126
			multiset = true
127
			repository = vartree
127
			name_pattern = $category/*
128
			name_pattern = $category/*
128
			</programlisting>
129
			</programlisting>
129
			</para>
130
			</para>
Lines 438-443 Link Here
438
			<listitem><para><varname>category</varname>: Required. The name of an existing ebuild
439
			<listitem><para><varname>category</varname>: Required. The name of an existing ebuild
439
				category which should be used to create the package set.</para>
440
				category which should be used to create the package set.</para>
440
			</listitem>
441
			</listitem>
442
			<listitem><para><varname>repository</varname>: Optional, defaults to 
443
				<parameter>porttree</parameter>. It determines which repository class should
444
				be used to create the package set. Valid values for this option are:
445
				<parameter>porttree</parameter> (normal ebuild repository), 
446
				<parameter>vartree</parameter> (installed package repository)
447
				and <parameter>bintree</parameter> (local binary package repository).</para>
448
			</listitem>
441
			<listitem><para><varname>only_visible</varname>: Optional, defaults to <parameter>true</parameter>.
449
			<listitem><para><varname>only_visible</varname>: Optional, defaults to <parameter>true</parameter>.
442
				When set to <parameter>true</parameter> the set will only include visible packages, 
450
				When set to <parameter>true</parameter> the set will only include visible packages, 
443
				when set to <parameter>false</parameter> it will also include masked packages.
451
				when set to <parameter>false</parameter> it will also include masked packages.
(-)pym/portage/sets/dbapi.py (-2 / +11 lines)
Lines 232-237 Link Here
232
					myatoms.append(cp)
232
					myatoms.append(cp)
233
		self._setAtoms(myatoms)
233
		self._setAtoms(myatoms)
234
	
234
	
235
	def _builderGetRepository(cls, options, repositories):
236
		repository = options.get("repository", "porttree")
237
		if not repository in repositories:
238
			raise SetConfigError(_("invalid repository class '%s'") % repository)
239
		return repository
240
	_builderGetRepository = classmethod(_builderGetRepository)
241
235
	def _builderGetVisible(cls, options):
242
	def _builderGetVisible(cls, options):
236
		return get_boolean(options, "only_visible", True)
243
		return get_boolean(options, "only_visible", True)
237
	_builderGetVisible = classmethod(_builderGetVisible)
244
	_builderGetVisible = classmethod(_builderGetVisible)
Lines 244-252 Link Here
244
		if not category in settings.categories:
251
		if not category in settings.categories:
245
			raise SetConfigError(_("invalid category name '%s'") % category)
252
			raise SetConfigError(_("invalid category name '%s'") % category)
246
253
254
		repository = cls._builderGetRepository(options, trees.keys())
247
		visible = cls._builderGetVisible(options)
255
		visible = cls._builderGetVisible(options)
248
		
256
		
249
		return CategorySet(category, dbapi=trees["porttree"].dbapi, only_visible=visible)
257
		return CategorySet(category, dbapi=trees[repository].dbapi, only_visible=visible)
250
	singleBuilder = classmethod(singleBuilder)
258
	singleBuilder = classmethod(singleBuilder)
251
259
252
	def multiBuilder(cls, options, settings, trees):
260
	def multiBuilder(cls, options, settings, trees):
Lines 260-265 Link Here
260
		else:
268
		else:
261
			categories = settings.categories
269
			categories = settings.categories
262
	
270
	
271
		repository = cls._builderGetRepository(options, trees.keys())
263
		visible = cls._builderGetVisible(options)
272
		visible = cls._builderGetVisible(options)
264
		name_pattern = options.get("name_pattern", "$category/*")
273
		name_pattern = options.get("name_pattern", "$category/*")
265
	
274
	
Lines 267-273 Link Here
267
			raise SetConfigError(_("name_pattern doesn't include $category placeholder"))
276
			raise SetConfigError(_("name_pattern doesn't include $category placeholder"))
268
	
277
	
269
		for cat in categories:
278
		for cat in categories:
270
			myset = CategorySet(cat, trees["porttree"].dbapi, only_visible=visible)
279
			myset = CategorySet(cat, trees[repository].dbapi, only_visible=visible)
271
			myname = name_pattern.replace("$category", cat)
280
			myname = name_pattern.replace("$category", cat)
272
			myname = myname.replace("${category}", cat)
281
			myname = myname.replace("${category}", cat)
273
			rValue[myname] = myset
282
			rValue[myname] = myset

Return to bug 291414