[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1031696: Use of symbolic links in non-free ISO images breaks file system transposition support



Package: debian-cd
Followup-For: Bug #1031696
X-Debbugs-Cc: scdbackup@gmx.net

Please find below a proposed update to the commit message under discussion:

    nonfree-firmware: when creating on-disc firmware links, use the same link creation logic as archive-area links
    
    This changeset switches the creation of firmware file links from
    using the Perl 'symlink' function (that creates symbolic links) to
    the more configurable debian-cd 'good_link' function that will
    create links based on the demands of the environment it is
    configured in.
    
    Context:
    
    Debian bug #1031696 describes an issue where firmware files on
    alpha-release debian-cd ISO images cannot easily be copied for
    the purpose of creating another installation medium by users of
    some operating systems.
    
    Research:
    
    When creating links to firmware files on the installation media in
    the '/firmware' directory, we want to retain the same content
    de-duplication and corresponding space-saving efficiencies as
    symlinks currently provide.
    
    We'd also like the entire content of the ISO 9660 filesystem to be
    copyable to as many filesystems as possible, by as many operating
    systems as possible.
    
    Write-side considerations:
    
    Filesystem links are not supported everywhere, and where unavailable
    a reliable substitute for them is to create independent copies of the
    link target file for each link that is encountered in the input.
    
    The ISO9660 specifications, ECMA-119[1], section 6.5.1, allows[2] a
    single file content block ("File Section") to be referenced from
    multiple filenames ("records"). The ISO9660 generation tools
    genisoimage and xorriso can use this to de-duplicate multiple linked
    files from their input, saving space in the output filesystem image.
    
    Read-side considerations:
    
    Operating systems that read shared content blocks usually present
    the files to the user as if no links exist.  In the context of Debian
    bug #1031696, that's exactly what we want: copying of the files
    from the ISO filesystem produces independent data files without any
    filesystem-level links.
    
    [1] - https://www.ecma-international.org/publications-and-standards/standards/ecma-119/
    
    [2] - https://archive.org/details/ecma-119-1998/page/n13/mode/1up
    
    Co-described-by: Thomas Schmitt <scdbackup@gmx.net>


Reply to: