PackageGroups

A package group corresponds to a collection of package names in the Pulp server. Yum uses package groups to install multiple related packages as a single collection, for example "yum groupinstall fonts". Additionally, the concept of a collection of groups exists, called a "Category".


Installation

Remote package group installation on a consumer is covered in the Consumers section of the User Guide.


Removal

Remote package group removal on a consumer is covered in the Consumers section of the User Guide.


List

The packagegroup list command displays package groups defined by a given repository.

Parameters:

Parameter Description Optional/Required?
-r or --repoid Repository ID Required
-f or --filter Removes groups that contain a package name outside of it's own repository. Optional

A package group may contain names of packages not included in it's repository. An optional parameter may be passed into the packagegroup list command to limit returned results to only include those groups where each package mentioned is present in the repository. This option would be specified as packagegroup list --filter.

Example

$ pulp-admin packagegroup list --repoid repo_with_groups
+------------------------------------------+
        Repository: repo_with_groups
          Package Group Information
+------------------------------------------+
	 admin-tools
	 afrikaans-support
	 albanian-support
	 amazigh-support
	 arabic-support
	 armenian-support
	 assamese-support
	 authoring-and-publishing

Example with/without --filter

$ pulp-admin packagegroup list --repoid pulp_f14
+------------------------------------------+
            Repository: pulp_f14
          Package Group Information
+------------------------------------------+
	 all_pkgs_in_repo_test
	 some_pkgs_not_in_repo


pulp-admin packagegroup list --repoid pulp_f14 --filter
+------------------------------------------+
            Repository: pulp_f14
          Package Group Information
+------------------------------------------+
	 all_pkgs_in_repo_test


Info

The packagegroup info command displays information about a specific package group. The package group is indicated by both a repository ID and a package group ID.

Parameters:

Parameter | Description
--id Package group ID
-r or --repoid Repository ID
-f or --filter For each group, only return package names which are part of the repository

Information about a package group includes:

Field Description
Name Name of this package group
ID ID of this package group, typically the name in lowercase
Mandatory Packages These packages are always installed if this package group is installed
Default Packages These packages are typically installed, but it's possible if using something like PackageKit to unselect a particular package
Optional Packages These packages are typically NOT installed, but they can be selected with a GUI like PackageKit
Conditional Packages These packages are associated with a 'requires' package; if the 'requires' package is installed, then the list of packages under this group would also be installed
$ pulp-admin packagegroup info --repoid repo_with_groups --id window-managers
+------------------------------------------+
          Package Group Information
+------------------------------------------+

Name                	Window Managers          
Id                  	window-managers          
Mandatory packages  	[]                       
Default packages    	[]                       
Optional packages   	['wmx', 'xmonad', 'obconf', 'blackbox', 'openbox', 'bbkeys', 'WindowMaker', 'obmenu', 'icewm', 'fluxconf', 'matchbox-window-manager', 'fluxbox', 'fvwm', 'xcompmgr', 'hackedbox', 'ratpoison']
Conditional packages	{} 

Example with conditional packages

$ pulp-admin packagegroup info --repo repo_with_groups --id albanian-support
+------------------------------------------+
          Package Group Information
+------------------------------------------+

Name                	Albanian Support         
Id                  	albanian-support         
Mandatory packages  	[]                       
Default packages    	[]                       
Optional packages   	[]                       
Conditional packages	{'moodle-sq': 'moodle', 'hunspell-sq': 'hunspell'}

If a user installed this packagegroup, 'albanian-support', yum would install the package 'moodle-sq' only if 'moodle' was installed, the same with 'hunspell-sq' would only be installed if 'hunspell' was installed.

Example with/without --filter

$ pulp-admin content list --repoid pulp_f14
pulp-common-0.0.176-1.fc14.noarch.rpm,0918d5a0399bd8ce0d4c03d2a073f6434049ff2af28cd946b3a62dcf2758c1bc
gofer-0.36-1.fc14.noarch.rpm,04b0d7d84808ad10e76a49cab8fa185351244c71aa5afa10deef149662459357
pulp-0.0.176-1.fc14.noarch.rpm,8b646b66bcb39865db695f3ef46476bda5143b3bda396be93463ec2c6c7e2419
python-webpy-0.32-8.fc14.noarch.rpm,e76c71b01fbb513266a65418e123a4ff2ca7c06c0c5f4921a59a5f31928b626c
python-gofer-0.36-1.fc14.noarch.rpm,5ba3cf59980034265608a0209269564dd24baaed7cf51ab15e54bf06a7554e92
ruby-gofer-0.36-1.fc14.noarch.rpm,bd09db8a7451e9050931f04f0ef4095ae470e138d3dc5fbe218e7381702c785f
pulp-client-0.0.176-1.fc14.noarch.rpm,30232134559234edcea1cf0dc395c0ea9a527f3a99d38bbb5e11d4a7380cc767
grinder-0.0.97-1.fc14.noarch.rpm,561a9f90c21b456ac3707ddfa7ffe4993fada119d37f0bee982d98d08ecd223b
pulp-cds-0.0.176-1.fc14.noarch.rpm,178aeb014ee75ef8976d644b5ff250044699a5a6bb95a35bce06810b3aaca7ed
python-qpid-0.7.946106-1.fc14.noarch.rpm,86acbfc8f21f19efa1aca79aa9e853e160b336f256e6568b7d012d84291304ee
python-isodate-0.4.4-1.fc14.noarch.rpm,576a894b72eaacb0d6e3f7e9a23a82f8d64a16c6fc610c208ac871e953950b85


$ pulp-admin packagegroup info --repoid pulp_f14 --id some_pkgs_not_in_repo
+------------------------------------------+
          Package Group Information
+------------------------------------------+

Name                	SomePkgsNotInRepo        
Id                  	some_pkgs_not_in_repo    
Mandatory packages  	[]                       
Default packages    	[u'ruby-gofer', u'test_package']
Optional packages   	[]                       
Conditional packages	{}    

$ pulp-admin packagegroup info --repoid pulp_f14 --id some_pkgs_not_in_repo --filter
+------------------------------------------+
          Package Group Information
+------------------------------------------+

Name                	SomePkgsNotInRepo        
Id                  	some_pkgs_not_in_repo    
Mandatory packages  	[]                       
Default packages    	[u'ruby-gofer']          
Optional packages   	[]                       
Conditional packages	{}                       


Create

The packagegroup create command allows a packagegroup to be created in a repository.

Parameters:

Parameter | Description
--id ID of packagegroup (required)
-r or --repoid ID of repository (required)
-n or --name Name of packagegroup (required)
-d or --description Description of packagegroup (optional)

Example

$ pulp-admin packagegroup create --repoid f14 --id test_group -n test_group_name -d "Test Description"
Package group [test_group] created in repository [f14]

Delete

The packagegroup delete command allows a packagegroup to be deleted from a repository. The delete will only be allowed on user created packagegroups. Those packagegroups imported into pulp through a repository synchronization are marked as immutable and will not be allowed to be deleted.

Example

$ pulp-admin packagegroup delete -r f14 --id test_group
Packagegroup [test_group] deleted from repository [f14]

Add Package

The packagegroup add_package command adds a package name to a package group.

Parameters:

Parameter Description
--id ID of packagegroup
-n or --name Name of package to add
-t or --type Type of list to add package to. Example values: 'mandatory', 'optional', 'default', 'conditional'
--requires Required package name, only used by 'conditional' package group type

A description of the different types of packagegroup lists is below

Name Description
Mandatory packages These packages are always installed if this package group is installed
Default packages These packages are typically installed, but it's possible if using something like PackageKit to unselect a particular package.
Optional packages These packages are typically NOT installed, but they can be selected with a GUI like PackageKit
Conditional packages These packages are associated with a 'requires' package. If the 'requires' package is installed, then the list of packages under this group would also be installed

Example

$ pulp-admin packagegroup add_package -r f14 --id test_group -n grinder
Following packages added to group [test_group] in repository [f14]: 
 ['grinder']

Example using a conditional type

$ pulp-admin packagegroup add_package -r f14 --id test_group --type 'conditional' -n 'grinder-docs' --requires 'grinder'
Following packages added to group [test_group] in repository [f14] for required package [grinder]: 
 ['grinder-docs']

Delete Package

The packagegroup delete_package command removes a package name from a packagegroup.

Parameters

Parameters Description
--id ID of packagegroup
-r or --repoid ID of Repository
-n or --name Package name to remove
-t or --type Group type, possible values: 'mandatory', 'optional', 'default', 'conditional'

Example

$ pulp-admin packagegroup delete_package -r f14 --id test_group -t 'conditional' -n grinder-docs
Package [grinder-docs] deleted from group [test_group] in repository [f14]

Import

The packagegroup import command imports a comps.xml to populate package group/category information

Parameters

Parameters Description
-r or --repoid ID of Repository
--comps Comps xml file to import (required)

Example

$ pulp-admin packagegroup import -r test_import --comps ./comps.xml 
Successfully imported comps groups and categories into repository [test_import]

Export

The packagegroup export command exports package group/category information to a XML file

Parameters

Parameters Description
-r or --repoid ID of Repository
-o or '--out' Output file to store the exported comps data

Example

$  pulp-admin packagegroup export -r latest-rpmforge-redhat-el5-en-x86_64 -o test_comps.xml
Successfully exported the comps data to [test_comps.xml]