# Directory Structure Image (DSI) File Format. # Lines starting with hash ('#') characteres are comments. # Hash characters inline are comments # Support for characters in filenames is limited to ASCII (not extended ASCII) The general format of data lines (i.e. non-commment lines) is: where is one of a fixed set of values, and depends on . can be one of i, d, D, f, s. The format of for element and directives types is: i The 'i' Info entry contains package metadata provided by the user upon DSI creation. There can be only one 'i' entry per DSI file, and it must be the first entry. Form: alphanumeric+dash+underbar Sample: FGS Comments: This is the index into the DSI database. Form: alphanumeric+dash+underbar Sample: 2022.1.19340 Comments: This is the user-defined version identifier for the image. d |:|| The 'd' is a directory element. is the relative path to the directory from the package root : are the owner/group settings as used by the `chown` command. are the file permissions as used by the `chmod` command. is the file timestamp as reported by the `ls -l` command. D |:| The 'D' is a shorthand way to specify that all directories under the relative path have the same permissions. (NOT IMPLEMENTED, FOR FUTURE USE) f |:||| The 'f' is a file element. s |:|| The 's' is a symbolic link element. is the tag name for a product, e.g. 'fgs' for the Friendly Greeting System product. The : defines the Operating System owner and group. contains permission data, of the form ::, as reported by `ls`, e.g. rwxr-x---. LIMITATIONS: * DSI works only with regular files, directories, and symlinks. Block special devices and character special devices, sockets, pipes, and other exotic items that can appear in a directory structure are not handled. Handling of such items is undefined. * DSI descriptions only support non-extended ASCII text.