RPM upgrade problem: howto replace a directory with a symlink?

Miroslav Lichvar mlichvar at redhat.com
Wed Aug 22 16:34:16 UTC 2007


On Wed, Aug 22, 2007 at 12:15:06PM -0400, Tom Lane wrote:
> The postgresql-server RPM contains its own copy of the zoneinfo
> database, which I wanted to replace with a symlink to
> /usr/share/zoneinfo to avoid needing to turn Postgres for zoneinfo
> updates.  Unfortunately it seems RPM fails to cope with this
> situation during an update scenario; it fails like so:
> 
> [tgl at rh2 x86_64]$ sudo rpm -F postgresql-8.2.4-4.x86_64.rpm postgresql-serv...
> error: unpacking of archive failed on file /usr/share/pgsql/timezone: cpio: rename failed - Is a directory
> [tgl at rh2 x86_64]$ 
> 
> and leaves me with a half-updated fileset.
> 
> Is this a bug in RPM, or in cpio itself?  Perhaps more to the point,
> how can I work around it until it gets fixed?  I was hoping to ship
> this update today ...

It's an old bug in rpm, can't find it in bugzilla atm. The workaround
is to symlink everything in the directory, not sure how stable is the
content of /usr/share/zoneinfo though. I've done this in ncurses
package.

-- 
Miroslav Lichvar




More information about the fedora-devel-list mailing list