Bug 567630 - Some packages have duplicate 'rpmlib(VersionedDependencies)' requires
Summary: Some packages have duplicate 'rpmlib(VersionedDependencies)' requires
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: perl
Version: 12
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Marcela Mašláňová
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 567632 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-02-23 14:02 UTC by Patrick Grieshaber
Modified: 2010-02-24 18:10 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-02-24 17:47:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Patrick Grieshaber 2010-02-23 14:02:37 UTC
Description of problem:
I've attempted to upload the package ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm to Red Hat Satellite via rhnpush. 

After a couple of seconds, the following error message appears:
Internal server error 500 Internal Server Error Error pushing /root/mirror.switch.ch/mirror/fedora/linux/releases/12/Everything/x86_64/os/Packages/ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm: Error 500Error Message:
    ORA-00001: unique constraint (RHNSAT.RHN_PKG_REQ_PID_CID_S_UQ) violated Error Class Code: 54 Error Class Info:  
     Package Upload Failed due to uniqueness constraint violation.
     Make sure the package does not have any duplicate dependencies or
     does not already exists on the server (500) Waiting 5 seconds and trying again...
Internal server error 500 Internal Server Error Error pushing /root/mirror.switch.ch/mirror/fedora/linux/releases/12/Everything/x86_64/os/Packages/ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm: Error 500Error Message:
    ORA-00001: unique constraint (RHNSAT.RHN_PKG_REQ_PID_CID_S_UQ) violated Error Class Code: 54 Error Class Info:  
     Package Upload Failed due to uniqueness constraint violation.
     Make sure the package does not have any duplicate dependencies or
     does not already exists on the server (500) Waiting 5 seconds and trying again...
Internal server error 500 Internal Server Error Error pushing /root/mirror.switch.ch/mirror/fedora/linux/releases/12/Everything/x86_64/os/Packages/ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm: Error 500Error Message:
    ORA-00001: unique constraint (RHNSAT.RHN_PKG_REQ_PID_CID_S_UQ) violated Error Class Code: 54 Error Class Info:  
     Package Upload Failed due to uniqueness constraint violation.
     Make sure the package does not have any duplicate dependencies or
     does not already exists on the server (500) Waiting 1 seconds and trying again...
Giving up after 3 attempts 

Version-Release number of selected component (if applicable):


How reproducible:
rhnpush -d Packages/ -c fedora12-stag --server=satellite.example.com --force

Steps to Reproduce:
1. rhnpush -d Packages/ -c fedora12-stag --server=satellite.example.com --force
2.
3.
  
Actual results:
Can't upload package.

Expected results:
Upload package.

Additional info:
There is the suspicion the error occures because of multiple requires for the same "package dependencies":
rpm -q --requires -p ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm
rpmlib(VersionedDependencies) <= 3.0.3-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(VersionedDependencies) <= 3.0.3-1
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
ocaml(Arg) = b6513be035dc9c8a458c189cd8841700
ocaml(Array) = 9c9fa5f11e2d6992c427dde4d1168489
ocaml(Buffer) = 23af67395823b652b807c4ae0b581211
ocaml(Camlp4) = bb930f7c2bed5d057c794fe07dc8596a
ocaml(Camlp4_config) = 80b5d58834366711574a5ec4dfb123fd
ocaml(Camlp4_import) = 4d17b58763ba1f0aac92fd5dbb558b59
ocaml(Char) = 3da72249626c7db769beafc97036cb4f
ocaml(Filename) = 7cd172f02b7ee9b8d7bda3bb92144951
ocaml(Format) = b7ba3152a5eec5609d6ab86e6c51eebb
ocaml(Hashtbl) = ee2a3220e38a4350c5bc131ce9f3f6ce
ocaml(Int32) = b2545c419b6b6a173cac4c0a3e7e0277
ocaml(Int64) = d501d6e89fdce41c79f274fb464995d5
ocaml(Lexing) = 4d17267334f1a6c75730dc3fae21fb9b
ocaml(List) = a0e2e49d266ff302f8667651a43f71ba
ocaml(Marshal) = 02be0525cda0ca38ef8d49584e7769d6
ocaml(Nativeint) = 7233ce5207a538fea4f0c61ed411ea2c
ocaml(Obj) = c827f726ce05da709cf7de58fc15e324
ocaml(Parsing) = 29c3f123280f8e6e639cfb025b3c9a3f
ocaml(Pervasives) = 88cb1505c8bdf9a4dcd2cdf3452732b4
ocaml(Printf) = 807ecd3a1538992580464c03462c9964
ocaml(Queue) = 56b5e04dcda600ae0cdf49a37f17fcd9
ocaml(Set) = c4be5d24d30c129dd60d2739e54db7dd
ocaml(Stream) = 91a43ea7fb16bf36f3f10c0dc7d08a0e
ocaml(String) = ecc403546c1c50056801131811c39017
ocaml(Sys) = 21bf525b2b3f3a46a54b96163adfe387
ocaml(Unix) = 0596a58544f8cd88fed5bf5432a53d43
ocaml(runtime) = 3.11.1
rpmlib(PayloadIsXz) <= 5.2-1

Comment 1 Richard W.M. Jones 2010-02-23 15:24:14 UTC
(In reply to comment #0)
> Additional info:
> There is the suspicion the error occures because of multiple requires for the
> same "package dependencies":

Which of those package dependencies is causing a problem?

TBH I know nothing at all about Red Hat Satellite, so I suggest
you raise a ticket with your support person who will escalate
this through the usual support channels.

Comment 2 Patrick Grieshaber 2010-02-24 07:51:00 UTC
hi Richard,

The actual problem is that there are duplicate requires in the RPM. These are
not allowed by Satellite/Spacewalk and should be prevented:

as far as I know, I think this gives you an answer:
# rpm -q --requires -p ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm | sort > ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm.full
# rpm -q --requires -p ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm | sort -u > ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm.filtered
# diff -u  ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm.full ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm.filtered
--- ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm.full	2010-02-24 08:47:52.797010246 +0100
+++ ocaml-bitstring-2.0.0-10.fc12.x86_64.rpm.filtered	2010-02-24 08:48:08.045886297 +0100
@@ -32,4 +32,3 @@
 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
 rpmlib(PayloadIsXz) <= 5.2-1
 rpmlib(VersionedDependencies) <= 3.0.3-1
-rpmlib(VersionedDependencies) <= 3.0.3-1

have an eye on: rpmlib(VersionedDependencies) <= 3.0.3-1

Satellite is something like a pretty cool centralized system management server :-)
Red Hat made a community version: http://www.redhat.com/spacewalk/
This is a must have for enterprise fedora/redhat IT infrastructure.

Comment 3 Richard W.M. Jones 2010-02-24 10:53:47 UTC
*** Bug 567632 has been marked as a duplicate of this bug. ***

Comment 4 Richard W.M. Jones 2010-02-24 11:10:03 UTC
Updating summary to accurately reflect the problem.

I ran this script over the RPMs installed on a Fedora 12 machine to
find out which RPMs are affected by the problem:

$ for f in $(rpm -qa); do \
    if [ $(rpm -qR $f | fgrep 'rpmlib(VersionedDependencies)' | wc -l) -eq 2 ]; \
    then echo $f; fi; \
  done
ocaml-bitstring-2.0.0-10.fc12.x86_64
ocaml-runtime-3.11.1-0.rc1.2.fc12.1.x86_64
perl-HTML-Parser-3.64-1.fc12.x86_64

And on another F12 machine that was partially upgraded to
Rawhide:

perl-Net-SSLeay-1.35-7.fc12.x86_64
perl-HTML-Parser-3.64-1.fc12.x86_64
perl-POE-1.269-1.fc12.noarch
perl-IO-Tty-1.08-3.fc12.x86_64
perl-Class-MOP-0.94-1.fc12.x86_64
perl-POE-Component-IRC-6.14-1.fc12.noarch
perl-SOAP-Lite-0.710.10-1.fc12.noarch
perl-Moose-0.92-1.fc12.noarch
perl-Try-Tiny-0.02-1.fc12.noarch
perl-Class-C3-XS-0.13-1.fc12.x86_64
perl-POE-Component-Pluggable-1.24-1.fc12.noarch
perl-Devel-GlobalDestruction-0.02-7.fc12.x86_64
perl-POE-Test-Loops-1.022-1.fc12.noarch
perl-Event-1.12-1.fc12.x86_64
perl-Sub-Identify-0.04-6.fc12.x86_64

This problem, for OCaml at least, seems to be fixed
in Rawhide, so I suggest the reporter just uses the OCaml
packages from Rawhide (they have a more recent version
of OCaml too).

Comment 5 Richard W.M. Jones 2010-02-24 11:36:46 UTC
This bug doesn't occur in any F13 OCaml packages.

It does still occur in many Perl packages from Rawhide, so reassigning
to Perl.

$ for f in $(rpm -qa); do if [ $(rpm -qR $f | fgrep 'rpmlib(VersionedDependencies)' | wc -l) -ge 2 ]; then echo $f; fi; done
perl-Class-MOP-0.98-2.fc13.x86_64
perl-POE-Component-IRC-6.14-1.fc12.noarch
perl-SOAP-Lite-0.710.10-1.fc12.noarch
perl-Moose-0.92-1.fc12.noarch
perl-Try-Tiny-0.02-1.fc12.noarch
perl-POE-1.269-2.fc13.noarch
perl-IO-Tty-1.08-4.fc13.x86_64
perl-Class-C3-XS-0.13-1.fc12.x86_64
perl-POE-Component-Pluggable-1.24-1.fc12.noarch
perl-Devel-GlobalDestruction-0.02-7.fc12.x86_64
perl-POE-Test-Loops-1.022-1.fc12.noarch
perl-Net-SSLeay-1.36-1.fc13.x86_64
perl-HTML-Parser-3.64-2.fc13.x86_64
perl-Event-1.12-1.fc12.x86_64
perl-Sub-Identify-0.04-6.fc12.x86_64

Comment 6 Patrick Grieshaber 2010-02-24 14:06:17 UTC
Hi Richard,
I understand you pointing at the rawhide packages.
But since I administrate a Satellite Server, I am familiar with software staging/production systems. I have a lot of packages in the Satellite to support. So if a package has a bug and it gets fixed I have to upload it to the staging software channel. After testing it, it gets a part of the production software channel. Each channel only contains software from one release. For example the satellite server hosts a channel called "Fedora 12 Release Software" (Staging). Another one is called "Fedora 12 Updates" (Staging). Maybe you already get my drift. I don't upload a Rawhide Package into the software channel "Fedora 12 Release Software" neither to "Fedora 12 Updates". It mixes up all the packages.

Comment 7 Chris Weyl 2010-02-24 17:47:49 UTC
Looks like most of the perl-* packages mentioned above are mine, so I'm going to go ahead and mark this as NOTABUG for all the reasons described in bug 567633.

Comment 8 Till Maas 2010-02-24 18:10:16 UTC
(In reply to comment #7)
> Looks like most of the perl-* packages mentioned above are mine, so I'm going
> to go ahead and mark this as NOTABUG for all the reasons described in bug
> 567633.    
You might reconsider it because of: bug 567633, comment 6


Note You need to log in before you can comment on or make changes to this bug.