Project

Profile

Help

Issue #3949

closed

Repositories can end up with RPMs with duplicate nevra after copy

Added by dustball over 5 years ago. Updated about 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

When synchronizing from http://ftp.halifax.rwth-aachen.de/opensuse/repositories/devel:/languages:/python/SLE_12_SP3/ (which in turn mirrors from the open build system), we have discovered a duplicate metadata definition in the primary.xml for the same package when a repository is copied:

<package type="rpm">
  <name>python-pyparsing</name>
  <arch>noarch</arch>
  <version epoch="0" rel="1.4" ver="2.2.0" />
  <checksum pkgid="YES" type="sha256">f0cb17cd16db6711cfc6a746fbe5bdf09fab61a516326b72b48270219174b332</checksum>
  <summary>Grammar Parser Library for Python</summary>
  <description>The pyparsing module is an alternative approach to creating and executing
simple grammars, vs. the traditional lex/yacc approach, or the use of regular
expressions. The pyparsing module provides a library of classes that client
code uses to construct the grammar directly in Python code.</description>
  <packager />
  <url>http://pyparsing.wikispaces.com/</url>
  <time build="1523554579" file="1523554593" />
  <size archive="790600" installed="788413" package="150252" />
  <location href="Packages/p/python-pyparsing-2.2.0-1.4.noarch.rpm"/>
  <format>
    <rpm:license>MIT and GPL-2.0+ and GPL-3.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/devel:languages:python</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb10</rpm:buildhost>
    <rpm:sourcerpm>python-pyparsing-2.2.0-1.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range end="33464" start="440" />
    <rpm:provides>
      <rpm:entry epoch="0" flags="EQ" name="python-parsing" ver="2.2.0" />
      <rpm:entry epoch="0" flags="EQ" name="python-pyparsing" rel="1.4" ver="2.2.0" />
      <rpm:entry epoch="0" flags="EQ" name="python2-pyparsing" rel="1.4" ver="2.2.0" />
    </rpm:provides>
    <rpm:requires>
      <rpm:entry epoch="0" flags="EQ" name="python(abi)" ver="2.7" />
      <rpm:entry name="python-base" />
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry epoch="0" flags="LT" name="python-parsing" ver="2.2.0" />
    </rpm:obsoletes>
  </format>
</package>

and

<package type="rpm">
  <name>python-pyparsing</name>
  <arch>noarch</arch>
  <version epoch="0" rel="1.4" ver="2.2.0" />
  <checksum pkgid="YES" type="sha256">443ce7c1a7a6c1dd9d2559bf045be8e11c28f951f4ab2336fbc83a53ee667a4f</checksum>
  <summary>Grammar Parser Library for Python</summary>
  <description>The pyparsing module is an alternative approach to creating and executing
simple grammars, vs. the traditional lex/yacc approach, or the use of regular
expressions. The pyparsing module provides a library of classes that client
code uses to construct the grammar directly in Python code.</description>
  <packager />
  <url>http://pyparsing.wikispaces.com/</url>
  <time build="1523550890" file="1523550908" />
  <size archive="790600" installed="788413" package="150209" />
  <location href="Packages/p/python-pyparsing-2.2.0-1.4.noarch.rpm"/>
  <format>
    <rpm:license>MIT and GPL-2.0+ and GPL-3.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/devel:languages:python</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>obs-power8-05</rpm:buildhost>
    <rpm:sourcerpm>python-pyparsing-2.2.0-1.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range end="33480" start="440" />
    <rpm:provides>
      <rpm:entry epoch="0" flags="EQ" name="python-parsing" ver="2.2.0" />
      <rpm:entry epoch="0" flags="EQ" name="python-pyparsing" rel="1.4" ver="2.2.0" />
      <rpm:entry epoch="0" flags="EQ" name="python2-pyparsing" rel="1.4" ver="2.2.0" />
    </rpm:provides>
    <rpm:requires>
      <rpm:entry epoch="0" flags="EQ" name="python(abi)" ver="2.7" />
      <rpm:entry name="python-base" />
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry epoch="0" flags="LT" name="python-parsing" ver="2.2.0" />
    </rpm:obsoletes>
  </format>
</package>

The "original" repository (which has a feed and synchronizes correctly) does not have this issue. I suspect while the metadata is copied, old metadata is not purged. Note: Removing the broken primary.xml and publishing the copied repository again results in the same issue.

Also available in: Atom PDF