pombreda / libarchive

Automatically exported from code.google.com/p/libarchive
Other
0 stars 0 forks source link

Add libcdio as dependency and use it for ISO9660 and UDF (iso) files #187

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Hi,

Currently libarchive supports reading and writing ISO9660 but there is no read 
nor write support for UDF thus miking it, at the moment, impossible to open an 
UDF iso without mounting it or using fuse.

Libcdio: http://www.gnu.org/software/libcdio/ is exactly there to support those 
formats and works for ISO9660, UDF, audio cd's and perhaps something else 
(didn't look into it that deep).

My proposal is to drop the current read support of ISO9660 and start using 
libcdio for that and UDF files. Another possibility is copying the UDF parts 
from libcdio if you really don't want a dependency on there.. I don't think 
that's the best way to go though.

Big advantage is that archive applications can be used to open udf iso files 
once this is implemented.

Regards,
Mark

Original issue reported on code.google.com by mark...@gmail.com on 22 Sep 2011 at 1:42

GoogleCodeExporter commented 9 years ago
Sorry, i pressed "Save changes" to quick. Please change the type to Enhancement.
Also this makes issue #27 obsolete once implemented.

Original comment by mark...@gmail.com on 22 Sep 2011 at 1:45

GoogleCodeExporter commented 9 years ago
I haven't looked deeply, but I did notice that cdio_open() requires a filename.

Libarchive can't use this.  It doesn't read files, it reads "streams", which 
can come from many sources, not just files.  See the archive_read man page for 
the description of archive_read_open():  
http://code.google.com/p/libarchive/wiki/ManPageArchiveRead3

If libcdio can accomodate input sources other than files, then it may be 
possible to integrate.  Until that happens, programs that use libarchive can 
use libcdio beside it to handle ISO and UDF formats that libarchive can't 
handle.  Since libarchive's format modules are all optional, it's easy for a 
program to create a libarchive handle that recognizes formats other than ISO, 
ask libarchive to taste a new file and if that fails, try opening the file with 
libcdio.

But that's completely outside of libarchive proper.

If libcdio has some more flexible way of accessing the data, then it may be an 
option.

Original comment by kientzle@gmail.com on 22 Sep 2011 at 3:40