smart groupinstall

Anders F Björklund afb at algonet.se
Sat Jun 14 05:48:02 PDT 2008


>> Ideas?
>
> Can't you add a special "Yum Groups" group, and then add comps.xml  
> to that ?
> Then you can install/remove the groups just like you do with  
> regular packages
>
> However, it seems like "--group" might be missing from `smart  
> query` options
> so that might be needed in order to do the "grouplist" equivalent  
> for smart.

I made the necessary patches/additions to smart, so that it will read  
the
"group" entry from the repomd.xml and create virtual packages  
accordingly.


The Yum group format has four kinds of dependencies: mandatory, default,
optional and conditional - only the first two are added to smart  
Requires.
Dependencies can be both for other groups from comps and for real  
packages,
both are handled (the groups are all prefixed, to separate from  
packages)

Some dependencies only exist for certain architectures, and not for  
others.
So these will break installation for Smart, and are filtered out  
explicitly*.
(not sure if this deficiency is part of the "comps" format by itself,  
or just
in the application thereof as part of the CentOS repository that I  
tried with)

* things like: mcelog, prctl, ppc64-utils, s390utils, and so on and  
so forth

It downloaded the files:

http://mirror.centos.org/centos/4/os/i386/repodata/yumgroups.xml
http://mirror.centos.org/centos/4/extras/i386/repodata/yumgroups.xml

I used these "settings":

GROUP_NAME   = "Virtual"
GROUP_PREFIX = "^"
GROUP_VERS   = "0"
GROUP_ARCH   = "noarch"

And it gave the result:

$ smart query --group="Virtual" --show-channels --show-summary
Updating cache...                                      
######################################################################## 
# [100%]

^AptRPM-0 at noarch [extras] - AptRPM
^Horde-Apps-0 at noarch [extras] - Horde-Apps
^ISO8859-2-support-0 at noarch [base] - ISO8859-2 Support
^ISO8859-9-support-0 at noarch [base] - ISO8859-9 Support
^XFCE-4.2-0 at noarch [extras] - XFCE-4.2
^admin-tools-0 at noarch [base] - Administration Tools
^arabic-support-0 at noarch [base] - Arabic Support
^assamese-support-0 at noarch [base] - Assamese Support
^authoring-and-publishing-0 at noarch [base] - Authoring and Publishing
^base-0 at noarch [base] - Base
^base-x-0 at noarch [base] - X Window System
^bengali-support-0 at noarch [base] - Bengali Support
^brazilian-support-0 at noarch [base] - Brazilian Portuguese Support
^british-support-0 at noarch [base] - British Support
^bulgarian-support-0 at noarch [base] - Bulgarian Support
^catalan-support-0 at noarch [base] - Catalan Support
^chinese-support-0 at noarch [base] - Chinese Support
^compat-arch-development-0 at noarch [base] - Compatibility Arch  
Development Support
^compat-arch-support-0 at noarch [base] - Compatibility Arch Support
^core-0 at noarch [base] - Core
^cyrillic-support-0 at noarch [base] - Cyrillic Support
^czech-support-0 at noarch [base] - Czech Support
^danish-support-0 at noarch [base] - Danish Support
^development-libs-0 at noarch [base] - Development Libraries
^development-tools-0 at noarch [base] - Development Tools
^dialup-0 at noarch [base] - Dialup Networking Support
^dns-server-0 at noarch [base] - DNS Name Server
^drbd-heartbeat-0 at noarch [extras] - drbd-heartbeat
^dutch-support-0 at noarch [base] - Dutch Support
^editors-0 at noarch [base] - Editors
^emacs-0 at noarch [base] - Emacs
^engineering-and-scientific-0 at noarch [base] - Engineering and Scientific
^estonian-support-0 at noarch [base] - Estonian Support
^finnish-support-0 at noarch [base] - Finnish Support
^french-support-0 at noarch [base] - French Support
^ftp-server-0 at noarch [base] - FTP Server
^games-0 at noarch [base] - Games and Entertainment
^german-support-0 at noarch [base] - German Support
^gnome-0 at noarch [base] - GNOME
^gnome-desktop-0 at noarch [base] - GNOME Desktop Environment
^gnome-software-development-0 at noarch [base] - GNOME Software Development
^graphical-internet-0 at noarch [base] - Graphical Internet
^graphics-0 at noarch [base] - Graphics
^greek-support-0 at noarch [base] - Greek Support
^gujarati-support-0 at noarch [base] - Gujarati Support
^hebrew-support-0 at noarch [base] - Hebrew Support
^hindi-support-0 at noarch [base] - Hindi Support
^hungarian-support-0 at noarch [base] - Hungarian Support
^icelandic-support-0 at noarch [base] - Icelandic Support
^italian-support-0 at noarch [base] - Italian Support
^japanese-support-0 at noarch [base] - Japanese Support
^kde-0 at noarch [base] - KDE
^kde-desktop-0 at noarch [base] - KDE (K Desktop Environment)
^kde-software-development-0 at noarch [base] - KDE Software Development
^korean-support-0 at noarch [base] - Korean Support
^legacy-network-server-0 at noarch [base] - Legacy Network Server
^legacy-software-development-0 at noarch [base] - Legacy Software  
Development
^mail-server-0 at noarch [base] - Mail Server
^miscallvars-0 at noarch [base] - Miscellaneous Included Packages
^mysql-0 at noarch [base] - MySQL Database
^network-server-0 at noarch [base] - Network Servers
^news-server-0 at noarch [base] - News Server
^norwegian-support-0 at noarch [base] - Norwegian Support
^office-0 at noarch [base] - Office/Productivity
^polish-support-0 at noarch [base] - Polish Support
^portuguese-support-0 at noarch [base] - Portuguese Support
^printing-0 at noarch [base] - Printing Support
^punjabi-support-0 at noarch [base] - Punjabi Support
^romanian-support-0 at noarch [base] - Romanian Support
^ruby-0 at noarch [base] - Ruby
^russian-support-0 at noarch [base] - Russian Support
^serbian-support-0 at noarch [base] - Serbian Support
^server-0 at noarch [base] - Server
^server-cfg-0 at noarch [base] - Server Configuration Tools
^slovak-support-0 at noarch [base] - Slovak Support
^slovenian-support-0 at noarch [base] - Slovenian Support
^smb-server-0 at noarch [base] - Windows File Server
^sound-and-video-0 at noarch [base] - Sound and Video
^spanish-support-0 at noarch [base] - Spanish Support
^sql-server-0 at noarch [base] - PostgreSQL Database
^swedish-support-0 at noarch [base] - Swedish Support
^system-tools-0 at noarch [base] - System Tools
^tamil-support-0 at noarch [base] - Tamil Support
^text-internet-0 at noarch [base] - Text-based Internet
^turkish-support-0 at noarch [base] - Turkish Support
^ukrainian-support-0 at noarch [base] - Ukrainian Support
^web-server-0 at noarch [base] - Web Server
^welsh-support-0 at noarch [base] - Welsh Support
^workstation-common-0 at noarch [base] - Workstation Common
^x-software-development-0 at noarch [base] - X Software Development
^xemacs-0 at noarch [base] - XEmacs

You can then use something like "smart install ^XFCE-4.2"...
But there isn't any feature like "groupremove" at the moment.


Will post the patch for rpm comps to the Smart tracker shortly.
(the --group addition to smart query has been posted already)

--anders




More information about the Smart mailing list