[ 
https://issues.apache.org/jira/browse/COMPRESS-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12835228#action_12835228
 ] 

Stefan Bodewig commented on COMPRESS-85:
----------------------------------------

I'm not sure whether you are saying that the commands with -D odc work for my 
cpio archives on Suse or not.  If they do then Suse's cpio works for old ascii 
but the -c switch is broken.

In any case it means compress now creates cpio archives that can be extracted 
on AIX and Solaris and with GNU cpio 2.9.  I'll resolve this issue once I've 
documented the fix.


> cpio archive final entry corrupt
> --------------------------------
>
>                 Key: COMPRESS-85
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-85
>             Project: Commons Compress
>          Issue Type: Bug
>    Affects Versions: 1.0
>         Environment: Java 1.4.2 run on AIX and Linux
>            Reporter: Bill Maier
>         Attachments: archive.cpio, archive2.cpio, archive3.cpio, 
> archive4.cpio, cpio.tar, Creator.java
>
>
> The code below is called with an array of 4 file names. The cpio archive 
> archive.cpio is created with no error messages, but when I then run the Unix 
> command "cpio -ivct <archive.cpio" it reports the error "Can't read input" on 
> the last file in the archive. If I run "cpio -ivcBmu <archive.cpio" the last 
> file is incomplete, but the other files are extracted correctly. Same result 
> in AIX and Linux.
> {{
>   private void createArchive(String[] outFiles)
>   throws FileNotFoundException, IOException, ArchiveException {
>     short format = CpioArchiveOutputStream.FORMAT_OLD_ASCII;
>     final OutputStream out = new FileOutputStream("archive.cpio");
>     ArchiveOutputStream os = new CpioArchiveOutputStream(out, format);
>     for (int j = 0; j < outFiles.length; j++) {
>       System.out.println("Entry = " + outFiles[j]);
>       File f = new File(outFiles[j]);
>       CpioArchiveEntry entry = new CpioArchiveEntry(format);
>       entry.setName(outFiles[j]);
>       entry.setSize(f.length());
>       os.putArchiveEntry(entry);
>       IOUtils.copy(new FileInputStream(outFiles[j]), os);
>       os.closeArchiveEntry();
>     }
>     os.finish();
>     os.close();
>   }
> }}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to