Software

To add a channel using the command line, use the command rcman channel-add tool with the name and alias of the channel as arguments. A description may be added with an option flag. For example:

rcman -U username channel-add "Developer" dev --desc="Developer tools"

For a complete list of the options for channel creation, use the command rcman channel-add --help. There is an additional option available at the command line that is not available in the Web interface: Base Path.

Every package you distribute must be in a channel. The rcman channel-listpkgs command lists the available packages. The package list shows the name, version, and the package summary for each package available.

If you are working with more than a few packages, the Web interface becomes cumbersome. Using rcman channel-addpkg makes it much easier to add several packages at once, because at the command line you can use wildcards to specify a whole directory of software.

The rcman channel-addpkg command uses the --targets flag to list target platforms, and the --desc flag to specify a short description of the update. Following those flags, enter the alias of the channel to which you will add the package, and the filename of the package itself. For example:

rcman -U my@username.com channel-addpkg --targets=suse-81-i586,suse-82-i586 --desc="Security update" mychannel *.rpm

Adds all RPM packages in the current directory to the "mychannel" channel. The targets will be SUSE Linux 8.1 and 8.2, and the priority will be the default "suggested."

If you have already added a package, and wish to ship it for additional target platforms, you can edit its information with the Web interface, or add it again at the command line, using different information in the --targets flag. To change target platforms for a package using the Web interface:

Alternately, use the rcman channel-delpkg command. The package deletion command takes the arguments, in order, of channel, package, and target. For package deletion, you must enter one target at a time. For example, to remove the Emacs package from the Developer Channel on both Red Hat 8.0 and Red Hat 9, you would do the following:

rcman -U name@mycorp.com channel-delpkg DevChannel emacs redhat-80-i386 rcman -U name@mycorp.com channel-delpkg DevChannel emacs redhat-9-i386

The command line tools for package sets may be confusing to those who are not familiar with dependency syntax. To add a dependency line to a package set, use rcman pkgset-adddep with arguments for type and value of the dependency. For example:

rcman pkgset-addep "conflicts" "j2re<1.0" rcman pkgset-addep "obsoletes" "netscape-common (any)"