chromebrew icon indicating copy to clipboard operation
chromebrew copied to clipboard

crew files does not give size of package taking hard linked files into account.

Open satmandu opened this issue 4 years ago • 0 comments

Using git as an example... (using a modified crew to hard link duplicate files in the package): total size of all files in a package:

chronos@cheekon-x86_64 /usr/local/lib/crew/packages $ ls -1is $(crew files git | head -n -2 | tail -n +2) |  awk '{print $2}' | paste -sd+ - | bc
606156

Now let's see if we ignore hard linked files:

chronos@cheekon-x86_64 /usr/local/lib/crew/packages $ ls -1is $(crew files git | head -n -2 | tail -n +2) | sort -u -n -s -k1,1 | sort -n -s -k2 | awk '{print $2}' | paste -sd+ - | bc
47896
crew files git | tail
/usr/local/share/musl/share/perl5/Git/SVN/GlobSpec.pm
/usr/local/share/musl/share/perl5/Git/SVN/Log.pm
/usr/local/share/musl/share/perl5/Git/SVN/Memoize/YAML.pm
/usr/local/share/musl/share/perl5/Git/SVN/Migration.pm
/usr/local/share/musl/share/perl5/Git/SVN.pm
/usr/local/share/musl/share/perl5/Git/SVN/Prompt.pm
/usr/local/share/musl/share/perl5/Git/SVN/Ra.pm
/usr/local/share/musl/share/perl5/Git/SVN/Utils.pm
Total found: 256
Disk usage: 593.07MB

If I don't hard link files though:

chronos@rpi4b-armv7l /usr/local/lib/crew/packages $ ls -1is $(crew files git | head -n -2 | tail -n +2) | sort -u -n -s -k1,1 | sort -n -s -k2 | awk '{print $2}' | paste -sd+ - | bc
215636
chronos@rpi4b-armv7l /usr/local/lib/crew/packages $ ls -1is $(crew files git | head -n -2 | tail -n +2) |  awk '{print $2}' | paste -sd+ - | bc
215636
chronos@rpi4b-armv7l /usr/local/lib/crew/packages $ crew files git | tail
/usr/local/share/musl/share/perl5/Git/SVN/GlobSpec.pm
/usr/local/share/musl/share/perl5/Git/SVN/Log.pm
/usr/local/share/musl/share/perl5/Git/SVN/Memoize/YAML.pm
/usr/local/share/musl/share/perl5/Git/SVN/Migration.pm
/usr/local/share/musl/share/perl5/Git/SVN.pm
/usr/local/share/musl/share/perl5/Git/SVN/Prompt.pm
/usr/local/share/musl/share/perl5/Git/SVN/Ra.pm
/usr/local/share/musl/share/perl5/Git/SVN/Utils.pm
Total found: 256
Disk usage: 211.43MB

We should probably correct this as if a package can use hard linked files much space can be saved...

satmandu avatar Dec 07 '21 17:12 satmandu