FEATURES ======== Contents: 2.0 Operations on image tree 2.1 ECMA-119 2.2 Rock Ridge 2.3 Joliet 2.4 El-Torito 2.5 UDF 2.6 HFS/HFS+ 2.7 Others =============================================================================== 2.0 Operations on image tree ----------------------------- Basic: - We HAVE TO Support addition of directories - From filesystem - From filesystem recursively - New on image - We HAVE TO support addition of files - From local filesystem - From previous/ms images - We HAVE TO support addition of other POSIX file types - From filesystem - New on image - Types: symlinks, block/char devices, fifos, sockets... - We HAVE TO support modification of file names on image - We HAVE TO support modification of POSIX attributes: - Uid/Gid - Permissions (we DON'T HAVE TO support full mode modification, as we don't want a dir to be changed to a reg file!!) - Timestamps - We HAVE TO support deletion of nodes. - We HAVE TO support iteration of directory tree. - We WANT TO support direct getting (without iteration) of the number of nodes in a directory. Extras: - We WANT TO support on-the-fly modification of file contents, to allow things like compression and encryption. Notes: many operations will need RR extensions to be actually reflected on the image. =============================================================================== 2.1 ECMA-119 ------------ Support for ECMA-119 (ISO-9660) specification. 2.1.1 Creation -------------- We HAVE TO support creation of new images. General: - We HAVE TO support single volume images - We DON'T NEED TO support multiple volume images. It seems multiple volume images are not used. - We HAVE TO support bootable volumes (see 2.4 in this doc) Conformance: - We HAVE TO support Level 1 restrictions (ECMA-119 10.1) - We HAVE TO support Level 2 restrictions (ECMA-119 10.2) Single Section files have a theoric size limit of 4GB (data length is a 32-bit number, see ECMA-119 9.1.4). However I think I have read that only files up to 2GB are supported. - We MAY support full Level 3 (ECMA-119 10.3) Multiple file sections are useful to support files higher than level 2 limit. However, it seems it's a feature not supported in most O.S. nowadays, so it's not very useful. - We DON'T WANT TO support files recording in interleaved mode (ECMA-119 6.4.3) It seems a feature that it's not used. - We DON'T WANT TO support associated files (ECMA-119 6.5.4) What is that? Is it used? - We DON'T WANT TO support Volume Partitions (ECMA-119 8.6) What is that? Is it used? - We DON'T WANT TO support extended attribute records (ECMA-119 9.5) It seems an unused feature. RR is a better alternative. - We DON'T NEED TO support file versions other than 1. Restrictions: - We HAVE TO provide a way to relax iso restrictions related to filenames, allowing: - Higher filename length, up to 37 chars (ECMA-119 7.5.1/7.6.3) - Omit version number (ECMA-119 7.5.1) - Directory hierarchy deeper than 8 levels / 255 path length (ECMA-119 6.8.2.1) - More characters in filenames, not only d-characters 2.2.2 Reading ------------- General - We HAVE TO support the reading of iso images - We DON'T NEED TO support reading of features we don't support in creation (see 2.2.1 above) - We HAVE TO support reading arbitray file contents inside image 2.2.3 Modification/growing -------------------------- General - We HAVE TO support creation of new images from the contents of an existing image - We HAVE TO support multissession images - We HAVE TO support growing of images =============================================================================== 2.2 Rock Ridge -------------- - We HAVE TO support ALL Rock Ridge features, with these exceptions: - We DON'T NEED TO support SF System User Entry (RRIP 4.1.7), used to encode sparse files. - We MIGHT support BACKUP timestamp (RRIP 4.1.6) - We HAVE TO support any charset in RR filenames, and not only POSIX portable filename character set (RRIP 3.4.1). Namely, UTF-8 SHOULD BE the default for RR filenames. - We MIGHT support Linux specific ZF extension, to allow transparent compression. =============================================================================== 2.3 Joliet ---------- - We HAVE TO support ALL Joliet features, with these exceptions: - We DON'T KNOW what to do with UCS-2 conformance level 1 and 2 (scape sequences '%\@' and '%\C'). What's this??????? - We DON'T KNOW what to do with CD-XA extensions. =============================================================================== 2.4 El-Torito ------------- - We HAVE TO El-Torito standard with a single boot image. - We MAY support multiple boot images and boot entry selection. - El Torito standard is not very clear about how to do that. - We HAVE TO support both emulation and not emulation mode. - We HAVE TO support 80x86 platform. We MAY support Power PC and Mac platforms. - We HAVE TO provide improved support for isolinux boot images, namely patching features. - We HAVE TO support El-Torito in ms images. =============================================================================== 2.5 UDF ------- =============================================================================== 2.6 HFS/HFS+ ------------ =============================================================================== 2.7 Others ---------- - We HAVE TO support sorting of file contents on image - We HAVE TO support inode caching to prevent the same file to be written several times into the image - We DON'T NEED TO support TRANS.TBL files - We DON'T NEED TO support padding of images - Padding should be part of the burning process