Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   CentOS (http://www.linux-archive.org/centos/)
-   -   Kickstart package groups (http://www.linux-archive.org/centos/183639-kickstart-package-groups.html)

Francisco Puente 10-28-2008 07:57 PM

Kickstart package groups
 
Hello,



I'm building another kickstart CD, minimal, and creating my own
repository.



Is there any way I can get the list of files that a group (like @core o
@base) will install?



The idea is to put only those files in the repository to be included
later in the iso file, and only those files, nothing else.



Thanks in advance

Francisco




_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Paul Heinlein 10-28-2008 08:15 PM

Kickstart package groups
 
On Tue, 28 Oct 2008, Francisco Puente wrote:


Hello,

I'm building another kickstart CD, minimal, and creating my own
repository.


Is there any way I can get the list of files that a group (like
@core o @base) will install?


Below my .sig is an XSLT stylesheet that will do the trick. Save it to
your filesystem as, e.g., comps.xsl. Then use xsltproc to apply it to
the comps.xml file, e.g.,


xsltproc --novalid comps.xsl /path/to/repodata/comps.xml > comps.html

The resulting HTML file will provide you a reasonable list of packages
associated with each group.


Warning: the list might not be complete because any given package in
your named group(s) might might require packages not in those groups.
That's why anaconda does dependency checking at installation time.


--
Paul Heinlein <> heinlein@madboa.com <> http://www.madboa.com/

----- comps.xsl -----

<?xml version='1.0'?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
<xsl:stylesheet version="1.0"
mlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml"
indent="yes"
encoding="iso-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>

<!-- the main event -->
<xsl:template match="comps">
<html lang="en-US">
<head>
<title>comps.xml</title>
<xsl:call-template name="default.css"/>
</head>
<body>
<xsl:call-template name="intro.text"/>
<table width="95%">
<tr>
<th>Name</th>
<th>Default</th>
<th>Visible</th>
<th>Description</th>
</tr>
<xsl:apply-templates select="group" mode="group.chart"/>
</table>
<p>&nbsp;</p>
<table width="95%">
<tr>
<th>Name</th>
<th>Groups Req.</th>
<th>Packages Req.</th>
</tr>
<xsl:apply-templates select="group" mode="package.chart"/>
</table>
</body>
</html>
</xsl:template>


<!-- for listing descriptions, whether group is default, ... -->
<xsl:template match="group" mode="group.chart">
<xsl:variable name="id" select="id"/>
<tr>
<td id="{$id}-info">
<a href="#{$id}-detail"><xsl:value-of select="name"/></a>
</td>
<td><xsl:value-of select="default"/>&nbsp;</td>
<td><xsl:value-of select="uservisible"/>&nbsp;</td>
<td><xsl:value-of select="description"/>&nbsp;</td>
</tr>
</xsl:template>

<!-- for listing groups and packages req. by this group -->
<xsl:template match="group" mode="package.chart">
<xsl:variable name="id" select="id"/>
<tr>
<td id="{$id}-detail">
<a href="#{$id}-info"><xsl:value-of select="name"/></a>
</td>
<td><xsl:apply-templates select="grouplist"/></td>
<td><xsl:apply-templates select="packagelist"/></td>
</tr>
</xsl:template>

<!-- templates for grouplist and children -->
<xsl:template match="grouplist">
<table width="100%">
<xsl:apply-templates select="*" mode="html.table"/>
</table>
</xsl:template>

<xsl:template match="groupreq" mode="html.table">
<tr>
<xsl:call-template name="sub.table.row">
<xsl:with-param name="leftcol" select="."/>
<xsl:with-param name="rightcol" select="'&nbsp;'"/>
</xsl:call-template>
</tr>
</xsl:template>

<xsl:template match="metapkg" mode="html.table">
<tr>
<xsl:call-template name="sub.table.row">
<xsl:with-param name="leftcol" select="."/>
<xsl:with-param name="rightcol" select="@type"/>
</xsl:call-template>
</tr>
</xsl:template>

<!-- templates for packagelist and children -->
<xsl:template match="packagelist">
<table width="100%">
<xsl:apply-templates select="*" mode="html.table"/>
</table>
</xsl:template>

<xsl:template match="packagereq" mode="html.table">
<tr>
<xsl:call-template name="sub.table.row">
<xsl:with-param name="leftcol" select="."/>
<xsl:with-param name="rightcol" select="@type"/>
</xsl:call-template>
</tr>
</xsl:template>


<!-- named templates -->
<xsl:template name="sub.table.row">
<xsl:param name="leftcol"/>
<xsl:param name="rightcol"/>
<xsl:variable name="last">
<xsl:choose>
<xsl:when test="position() = last()">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<xsl:when test="$last = '1'">
<td style="border-style: none;"><xsl:value-of select="$leftcol"/></td>
<td style="border-style: none; text-align: right;">
<xsl:value-of select="$rightcol"/>
</td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="$leftcol"/></td>
<td style="text-align: right;"><xsl:value-of select="$rightcol"/></td>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

<xsl:template name="default.css">
<xsl:variable name="color" select="'#990000'"/>
<style type="text/css">
a, a:link, a:active, a:visited {
color: <xsl:value-of select="$color"/>;
}
body {
font-size: small;
background-color: white;
color: black;
width: 700px;
}
td {
border-bottom: 1px solid #999;
font-size: small;
vertical-align: top;
}
th {
color: white;
background-color: <xsl:value-of select="$color"/>;
font-weight: bold;
text-align: left;
padding-right: 15px;
}
</style>
</xsl:template>

<xsl:template name="intro.text">
<p>
Below is an outline of the package groups available at installation
and, later, via yum and other package-management tools. The top
table contains descriptions of each group. To see a detailed view
of the packages that get installed with each group, click on the
group name.
</p>
</xsl:template>

</xsl:stylesheet>

----- end comps.xsl -----

_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Francisco Puente 10-28-2008 09:25 PM

Kickstart package groups
 
Thanks a
lot Paul, I'll give a try now, I'll post back the results



Francisco



Paul Heinlein wrote:
On Tue, 28 Oct 2008, Francisco Puente wrote:




Hello,




I'm building another kickstart CD, minimal, and creating my own
repository.




Is there any way I can get the list of files that a group (like @core o
@base) will install?





Below my .sig is an XSLT stylesheet that will do the trick. Save it to
your filesystem as, e.g., comps.xsl. Then use xsltproc to apply it to
the comps.xml file, e.g.,




* xsltproc --novalid comps.xsl /path/to/repodata/comps.xml >
comps.html




The resulting HTML file will provide you a reasonable list of packages
associated with each group.




Warning: the list might not be complete because any given package in
your named group(s) might might require packages not in those groups.
That's why anaconda does dependency checking at installation time.







_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos

Kai Schaetzl 10-28-2008 09:31 PM

Kickstart package groups
 
Francisco Puente wrote on Tue, 28 Oct 2008 17:57:32 -0300:

> Is there any way I can get the list of files that a group (like @core o
> @base) will install?

yum groupinfo

Kai

--
Kai Schätzl, Berlin, Germany
Get your web at Conactive Internet Services: http://www.conactive.com



_______________________________________________
CentOS mailing list
CentOS@centos.org
http://lists.centos.org/mailman/listinfo/centos


All times are GMT. The time now is 05:47 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.