On Wed, Oct 16, 2013 at 2:17 PM, Greg Freemyer <greg.freemyer@gmail.com> wrote:
On Wed, Oct 16, 2013 at 3:50 AM, Johannes Meixner <jsmeix@suse.de> wrote:
Hello,
On Oct 15 18:53 Greg Freemyer wrote (excerpt):
I maintain httrack and httrack-3.47.24 installs fine on 12.3
With openSUSE 13.1 it fails:
The error is: Error: Subprocess failed. Error: RPM failed: error: unpacking of archive failed on file /usr/share/httrack/html: cpio: rename failed - Is a directory
It is actually not a directory, it's a symbolic link
I assume you do a RPM package upgrade and it is a directory in the already installed old version which was changed into a symbolic link in the new version.
Such a change is not possible with RPM.
If upstream changed a directory into a symbolic link, it is no longer possible to make a sound RPM package and one can no longer do a RPM package upgrade in a reasonabe way.
I don't know that upstream did it. They don't normally control the details of how /usr/share/<package> and /usr/share/doc/packages/<package> are setup.
I accepted a SR a couple months ago that introduced the change. <https://build.opensuse.org/request/show/196232> It has a lot of specfile changes so it could be something in there that did it. I'll go back and see if I can undo that part of the SR.
See the "RPM how to change a directory to a link" mail thread at http://lists.opensuse.org/opensuse-packaging/2011-02/msg00034.html
That basically points at <https://bugs.launchpad.net/rpm/+bug/633636/comments/3> which is one ugly solution.
If you think using RPM scriptlets could help here, see http://lists.opensuse.org/opensuse-packaging/2011-02/msg00079.html
That doesn't even include the solution, it just complains about it being really bad.
=====
Despite the above, this sure acts like a regression in 13.1 to me.
First I want to highlight the httrack upgrade from v3.46.1 in OSS to v3.47.24 in security works in openSUSE 12.3 I just confirmed it again, so I am confident it is true.
The similar upgrade from httrack 3.46.1 in security to 3.47.24 in 13.1 OSS does not work in openSUSE 13.1. I tried via both zypper dup and zypper in.
Admittedly the source of the RPM for 12.3 is the security repo and the source for 13.1 is the 13.1 OSS repo, but the same tarball/specfile built both of them.
Thus, this seems to be a caused by a change in functionality between oS 12.3 and oS 13.1.
Anyway:
For 12.3 - httrack 3.46.1 from OSS repo:
/usr/share/httrack/html is a directory. /usr/share/doc/packages/html does not exist
For 12.3 - httrack v3.47.24 from security repo:
/usr/share/httrack/html is a symbolic link /usr/share/doc/packages/html is a directory
Note again that openSUSE 12.3 allows me to upgrade from 3.46.1 to 3.47.24 and it handles the conversion automatically. If you have 12.3 running, you can confirm it by installing httrack from the main OSS repo, then upgrading it to the httrack in the security repo. It works fine.
My 13.1 test VM upgraded from 12.3 still has the httrack 3.46.1 installed because the upgrade to 3.47.24 from the 13.1 OSS repo is failing.
In /usr/share/httrack I have remnant symbolic links from my failed upgrade attempts:
html;5259bb87 -> ../doc/packages/httrack/html
I have attempted the upgrade via both "zypper dup" and "zypper in httrack-3.47.24-2.1.3". Both ways it fails with the same error.
There aren't a lot of httrack users out there I don't think, so I could just provide a workaround in bugzilla. The workaround being "zypper rm httrack; zypper in httrack".
Greg
If anyone cares: The SR from this summer introduced: %configure \ --disable-static \ --docdir=%{_docdir}/%{name} \ --htmldir=%{_docdir}/%{name}/html Reverting this to: %configure \ --disable-static \ --docdir=%{_docdir}/%{name} \ - --htmldir=%{_docdir}/%{name}/html + --htmldir=%{_datadir}/%{name}/html resolved the issue for users using httrack from 12.3 OSS or 12.3 updates. Any users that upgraded to 3.47.24 for openSUSE 12.3 from the security repo may still hit the bug since 12.3 allowed the upgrade. Those few users may need to uninstall that version and install the version I just pushed to security. Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org