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]