Initial commit. First version of Features documentation.
This initial commit only contains some documentation.
This commit is contained in:
commit
8adafdea11
0
doc/devel/1. Overview
Normal file
0
doc/devel/1. Overview
Normal file
193
doc/devel/2. Features
Normal file
193
doc/devel/2. Features
Normal file
@ -0,0 +1,193 @@
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
0
doc/devel/3. Design
Normal file
0
doc/devel/3. Design
Normal file
0
doc/devel/4. Implementation
Normal file
0
doc/devel/4. Implementation
Normal file
7
doc/devel/README
Normal file
7
doc/devel/README
Normal file
@ -0,0 +1,7 @@
|
||||
Index
|
||||
=====
|
||||
|
||||
1. Overview
|
||||
2. Features
|
||||
3. Design
|
||||
4. Implementation
|
Loading…
Reference in New Issue
Block a user