chromebrew
chromebrew copied to clipboard
crew files does not give size of package taking hard linked files into account.
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...