Bug 1122004 - RPM fails to install package with "cpio: Archive file not in header"
Summary: RPM fails to install package with "cpio: Archive file not in header"
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1126946 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-22 10:48 UTC by Aaron Sowry
Modified: 2014-08-18 11:41 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-08-18 11:41:04 UTC


Attachments (Terms of Use)

Description Aaron Sowry 2014-07-22 10:48:57 UTC
Description of problem:
Installation of a third-party package (Cendio's ThinLinc client) fails on F21. Works fine on previous versions of Fedora.

Version-Release number of selected component (if applicable):
rpm-4.11.90-0.git12844.5.fc21.x86_64
cpio-2.11-29.fc21.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Download the latest ThinLinc client RPM package from [1]
2. sudo rpm -ivh thinlinc-client-4.2.0-4356.x86_64.rpm

Actual results:
Installation fails with the following message:

error: unpacking of archive failed: cpio: Archive file not in header
error: thinlinc-client-4.2.0-4356.x86_64: install failed

Expected results:
Installation succeeds as per previous versions of Fedora.

Additional info:
[1] http://www.cendio.com/downloads/clients/thinlinc-client-4.2.0-4356.x86_64.rpm

Comment 1 Florian Festi 2014-07-22 11:46:30 UTC
OK, looks like the new archive handling code does not work with rpm v3 packages. The reason is that they ship a cpio archive without leading "/" while rpm v4 uses leading "./". As a result the files in the archive cannot be mapped to the header entries. Working on a fix.

Comment 2 Florian Festi 2014-07-22 13:51:38 UTC
Hmm, weird. The packages actually states it was build with rpm 4.9.1.3. The files in the header do have a leading "/" while the entries in the cpio archive don't. Do you have the spec file of the package at hand? And any information on how the package was actually build?

Florian

Comment 3 Aaron Sowry 2014-07-23 13:49:24 UTC
Looking at the Makefile, the package is built using the following command:

rpmbuild -ta thinlinc-client.tar.gz --define="_topdir $(TOPDIR)/buildarea" --target=x86_64 --nodirtokens

Running "rpmbuild --version" indeed gives 4.9.1.3 (RHEL 6.5).

I dont have immediate access to the spec file, but if you still need it given the above info then just re-set the needinfo flag and I'll try to get it for you (or at least create a small test case).

Comment 4 Panu Matilainen 2014-08-12 08:13:49 UTC
Its built with %{_noPayloadPrefix} macro set to non-zero someplace, probably spec. That build-time compatibility option has been dropped in rpm 4.12 but I suppose we need to be able to install such packages still.

Comment 5 Panu Matilainen 2014-08-12 08:16:13 UTC
*** Bug 1126946 has been marked as a duplicate of this bug. ***

Comment 6 Panu Matilainen 2014-08-18 11:41:04 UTC
Fixed in rpm >= 4.12.0-0.beta1.1.fc21.1


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