[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'">< </xsl:when>
+ <xsl:when test="@flags='GT'">> </xsl:when>
+ <xsl:when test="@flags='LE'"><= </xsl:when>
+ <xsl:when test="@flags='GE'">>= </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