Bug 266159

Summary: libarchive: Ark does not extract selected files when they are renamed
Product: [Applications] ark Reporter: Christopher Yeleighton <giecrilj>
Component: generalAssignee: Raphael Kubo da Costa <rakuco>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.6.1
Attachments: A small archive with one short text file in it.
maybe this time

Description Christopher Yeleighton 2011-02-12 19:56:53 UTC
Created attachment 57193 [details]
A small archive with one short text file in it.

Version:           unspecified (using KDE 4.6.0) 
OS:                Linux

When Ark encounters an existing file during extraction, it asks the operator whether it should rename it.  When told to rename it, Ark fails to extract.

Reproducible: Always

Steps to Reproduce:
  1. Tell Ark to open the attached archive.
  2. Tell Ark to extract the file.
  3. Tell Ark to extract the file.
  4. Tell Ark to rename the file.

Actual Results:  
  1. The archive contains one file.
  2. Ark extracts the file.
  3. Ark asks whether it should rename the file.
  4. Ark complains: couldn't create slave: klauncher: unknown protocol

Expected Results:  
  4. Let Ark extract the file under the new name.

OS: Linux (x86_64) release 2.6.34.7-0.7-desktop
Compiler: gcc
Comment 1 Raphael Kubo da Costa 2011-02-13 18:24:46 UTC
The file you have attached seems to be a 99-byte text file, so I could not open it with Ark.

I did, however, create a tar.gz archive with it (tar czf test.tar.gz it-works) then tried to extract it in the same directory the original `it-works' file exists. I clicked 'suggest new name' and then 'Rename' and everything worked fine -- I now have both `it-works' and `it-works 1' in /tmp.
Comment 2 Christopher Yeleighton 2011-02-13 19:30:26 UTC
Created attachment 57219 [details]
maybe this time

Ark fails if you select the file and tell Ark to extract selected.
I confirm it succeeds when you tell Ark to extract all files.
Comment 3 Raphael Kubo da Costa 2011-02-13 20:59:06 UTC
Confirming, thanks.
Comment 4 Raphael Kubo da Costa 2011-02-14 01:23:18 UTC
SVN commit 1220439 by rkcosta:

libarchive: Consider renamed files valid files when extracting.

When one or more files are selected for extraction and they already
exist on the filesystem, if the user chooses to rename it, extraction
will fail for that file. That happens because when we are not
extracting all files, the new file name fails the
files.contains(entryName) check.

We now keep track of the current file being renamed to avoid this
problem.

BUG: 266159
FIXED-IN: 4.6.1



 M  +6 -1      libarchivehandler.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1220439
Comment 5 Raphael Kubo da Costa 2011-02-14 01:26:20 UTC
SVN commit 1220441 by rkcosta:

libarchive: Consider renamed files valid files when extracting.

When one or more files are selected for extraction and they already
exist on the filesystem, if the user chooses to rename it, extraction
will fail for that file. That happens because when we are not
extracting all files, the new file name fails the
files.contains(entryName) check.

We now keep track of the current file being renamed to avoid this
problem.

Forward-port of r1220439.

CCBUG: 266159

 M  +6 -1      libarchivehandler.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1220441
Comment 6 Raphael Kubo da Costa 2011-02-14 01:28:59 UTC
SVN commit 1220442 by rkcosta:

Mention Ark's bug 266159 in the changelog.

CCBUG: 266159


 M  +5 -0      changelog_branch_4_6.xml  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1220442