[Lsb-messages] /var/www/bzr/lsb/devel/repogen r177: Generate urpmi repos - first attempt

Denis Silakov denis.silakov at rosalab.ru
Thu Feb 2 07:14:03 UTC 2012


------------------------------------------------------------
revno: 177
committer: Denis Silakov <denis.silakov at rosalab.ru>
branch nick: repogen
timestamp: Thu 2012-02-02 11:14:03 +0400
message:
  Generate urpmi repos - first attempt
added:
  rpm/xml2synth.xsl
modified:
  rpm/Makefile
-------------- next part --------------
=== modified file 'rpm/Makefile'
--- a/rpm/Makefile	2011-05-12 02:42:15 +0000
+++ b/rpm/Makefile	2012-02-02 07:14:03 +0000
@@ -17,7 +17,7 @@
 
 snapshot: yum
 
-all: yum urpmi
+all: yum urpmi urpmi-rosa
 
 $(REPO_NAME)/repo-%:
 	rm -rf $@
@@ -48,6 +48,14 @@
 urpmi: $(ARCH_DIRS)
 	for dir in $(ARCH_DIRS); do (cd $$dir && genhdlist .); done
 
+urpmi-rosa: $(ARCH_DIRS)
+	for dir in $(ARCH_DIRS); do (cd $$dir && mkdir media_info && cd media_info \
+				    && cp ../repodata/*primary.xml.gz ./primary.xml.gz \
+				    && gunzip primary.xml.gz \
+				    && xsltproc ../../../xml2synth.xsl primary.xml | cut -s -f 3- | gzip > synthesis.hdlist.cz \
+				    && rm -f primary.xml \
+				    && md5sum * >MD5SUM); done
+
 %.gz: %
 	gzip < $< > $@
 

=== added file 'rpm/xml2synth.xsl'
--- a/rpm/xml2synth.xsl	1970-01-01 00:00:00 +0000
+++ b/rpm/xml2synth.xsl	2012-02-02 07:14:03 +0000
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- YUM primary.xml to URPM synthesis converter v1.0
+     Copyright 2010 Tomas Trnka tomastrnka at gmx.com
+     GNU GPL v2 or later -->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:md="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
+	<xsl:output method="text" encoding="utf-8"/>
+
+	<xsl:param name="overridegroup"/>
+
+	<xsl:template match="md:package[@type='rpm']">
+		<xsl:apply-templates select="md:format/rpm:provides[rpm:entry]"/>
+		<xsl:apply-templates select="md:format/rpm:conflicts[rpm:entry]"/>
+		<xsl:apply-templates select="md:format/rpm:obsoletes[rpm:entry]"/>
+		<xsl:apply-templates select="md:format/rpm:requires[rpm:entry]"/>
+		@summary@<xsl:value-of select="md:summary"/>
+		@filesize@<xsl:value-of select="md:size/@package"/>
+		@info@<xsl:value-of select="md:name"/>-<xsl:value-of select="md:version/@ver"/>-<xsl:value-of select="md:version/@rel"/>.<xsl:value-of select="md:arch"/>@<xsl:value-of select="md:version/@epoch"/>@<xsl:value-of select="md:size/@installed"/>@<xsl:choose><xsl:when test="$overridegroup"><xsl:value-of select="$overridegroup"/></xsl:when><xsl:otherwise><xsl:value-of select="md:format/rpm:group"/></xsl:otherwise></xsl:choose>
+	</xsl:template>
+
+	<xsl:template match="rpm:entry">
+		<!-- -->@<xsl:value-of select="@name"/>
+		<xsl:if test="@pre=1">[*]</xsl:if>
+		<xsl:if test="@flags">
+			<!-- -->[<!-- -->
+			<xsl:choose>
+				<xsl:when test="@flags='EQ'">== </xsl:when>
+				<xsl:when test="@flags='LT'">&lt; </xsl:when>
+				<xsl:when test="@flags='GT'">&gt; </xsl:when>
+				<xsl:when test="@flags='LE'">&lt;= </xsl:when>
+				<xsl:when test="@flags='GE'">&gt;= </xsl:when>
+				<xsl:otherwise><xsl:message terminate="yes">Unknown flag:<xsl:value-of select="@flags"/></xsl:message></xsl:otherwise>
+			</xsl:choose>
+			<xsl:value-of select="@epoch"/>:<xsl:value-of select="@ver"/>
+			<xsl:if test="@rel">-<xsl:value-of select="@rel"/></xsl:if>
+			<!-- -->]<!-- -->
+		</xsl:if>
+	</xsl:template>
+
+	<xsl:template match="rpm:provides|rpm:requires|rpm:obsoletes|rpm:conflicts">
+		@<xsl:value-of select="local-name(.)"/><xsl:apply-templates select="rpm:entry"/>
+	</xsl:template>
+
+
+</xsl:stylesheet>



More information about the lsb-messages mailing list