Skip to content

rsync does not preserve hard links and does not provide other_options #10

@pva

Description

@pva

Hi. COMPRESS_DEFINITIONS does not allow rsync to have other_options. Still, it uses only -a option that loses acls, xattrs, and hard-links during copy:

       --archive, -a            archive mode is -rlptgoD (no -A,-X,-U,-N,-H)

       --acls, -A               preserve ACLs (implies --perms)
       --xattrs, -X             preserve extended attributes
       --atimes, -U             preserve access (use) times
       --crtimes, -N            preserve create times (newness)
       --hard-links, -H         preserve hard links

For example, missing hard-links increase the size of directories more than 20x:

22M	/var/tmp/catalyst/tmp/hardened/livecd-stage1-core2-hardened-nomultilib-openrc-2023.03.04/usr/libexec/git-core/
502M	/var/tmp/catalyst/tmp/hardened/livecd-stage2-core2-hardened-nomultilib-openrc-2023.03.04/usr/libexec/git-core/

I'm looking for best solution here. Probably easiest solution will be to add H, A, and X options for rsync. Will you accept such change? Or should we add other_options for args definition, to allow catalyst check and set additional options and set these options there?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions