Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReproZip tends to pack all fonts #360

Open
nuest opened this issue Jul 11, 2019 · 6 comments
Open

ReproZip tends to pack all fonts #360

nuest opened this issue Jul 11, 2019 · 6 comments
Labels
A-help wanted Attention: More help is needed here, as I am out of my depth C-tracer (Python) Component: The Python part of the tracer codebase T-enhancement Type: En enhancement to existing code, or a new feature

Comments

@nuest
Copy link

nuest commented Jul 11, 2019

I am trying to pack a Python 2-based model, and see a lot of font-related files in my config.yml.

  • Is that expected? I find it kind of weird, but it's my first time I'm using tracing :-) I guess the video creation part of the workflow might include some library checking for installed fonts, but that is only a guess.
  • Can the fact that Python is used from a virtual env mess things up in unzip?
  • The fonts add quite some size, too.

Note: I have not packed or unzipped yet!

More information below, a "Don't worry about it, storage for fonts is cheap" might be a perfectly fine answer to this issue.


Snippet of packages:

packages:
  - name: "coreutils"
    version: "8.28-1ubuntu1"
    size: 6717440
    packfiles: true
    files:
      # Total files used: 34.21 KB
      # Installed package size: 6.41 MB
      - "/bin/uname" # 34.21 KB
  - name: "dash"
    version: "0.5.8-2.10"
    size: 219136
    packfiles: true
    files:
      # Total files used: 118.59 KB
      # Installed package size: 214.00 KB
      - "/bin/dash" # 118.59 KB
      - "/bin/sh" # Link to /bin/dash
  - name: "default-jre-headless"
    version: "2:1.11-68ubuntu1~18.04.1"
    size: 20480
    packfiles: true
    files:
      # Total files used: 0.0 bytes
      # Installed package size: 20.00 KB
      - "/usr/lib/jvm/default-java" # Link to /usr/lib/jvm/java-1.11.0-openjdk-amd64
  - name: "ffmpeg"
    version: "7:3.4.6-0ubuntu0.18.04.1"
    size: 2276352
    packfiles: true
    files:
      # Total files used: 266.14 KB
      # Installed package size: 2.17 MB
      - "/usr/bin/ffmpeg" # 266.14 KB
  - name: "fontconfig"
    version: "2.12.6-0ubuntu2"
    size: 576512
    packfiles: true
    files:
      # Total files used: 10.07 KB
      # Installed package size: 563.00 KB
      - "/usr/bin/fc-list" # 10.07 KB
  - name: "fontconfig-config"
    version: "2.12.6-0ubuntu2"
    size: 423936
    packfiles: true
    files:
      # Total files used: 59.59 KB
      # Installed package size: 414.00 KB
      - "/etc/fonts/conf.avail/10-antialias.conf" # 225.0 bytes
      - "/etc/fonts/conf.avail/10-hinting-slight.conf" # 463.0 bytes
      - "/etc/fonts/conf.avail/10-scale-bitmap-fonts.conf" # 1.96 KB
      - "/etc/fonts/conf.avail/11-lcdfilter-default.conf" # 526.0 bytes
      - "/etc/fonts/conf.avail/20-unhint-small-vera.conf" # 1.23 KB
      - "/etc/fonts/conf.avail/30-metric-aliases.conf" # 12.71 KB
      - "/etc/fonts/conf.avail/40-nonlatin.conf" # 5.26 KB
      - "/etc/fonts/conf.avail/45-generic.conf" # 3.17 KB
      - "/etc/fonts/conf.avail/45-latin.conf" # 6.21 KB
      - "/etc/fonts/conf.avail/49-sansserif.conf" # 545.0 bytes
      - "/etc/fonts/conf.avail/50-user.conf" # 673.0 bytes
      - "/etc/fonts/conf.avail/51-local.conf" # 189.0 bytes
      - "/etc/fonts/conf.avail/60-generic.conf" # 1.72 KB
      - "/etc/fonts/conf.avail/60-latin.conf" # 1.79 KB
      - "/etc/fonts/conf.avail/65-fonts-persian.conf" # 9.88 KB
      - "/etc/fonts/conf.avail/65-nonlatin.conf" # 7.59 KB
      - "/etc/fonts/conf.avail/69-unifont.conf" # 672.0 bytes
      - "/etc/fonts/conf.avail/70-no-bitmaps.conf" # 263.0 bytes
      - "/etc/fonts/conf.avail/80-delicious.conf" # 422.0 bytes
      - "/etc/fonts/conf.avail/90-synthetic.conf" # 1.65 KB
      - "/etc/fonts/conf.d/10-antialias.conf" # Link to /etc/fonts/conf.avail/10-antialias.conf
      - "/etc/fonts/conf.d/10-hinting-slight.conf" # Link to /etc/fonts/conf.avail/10-hinting-slight.conf
      - "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf" # Link to /etc/fonts/conf.avail/10-scale-bitmap-fonts.conf
      - "/etc/fonts/conf.d/11-lcdfilter-default.conf" # Link to /etc/fonts/conf.avail/11-lcdfilter-default.conf
      - "/etc/fonts/conf.d/20-unhint-small-vera.conf" # Link to /etc/fonts/conf.avail/20-unhint-small-vera.conf
      - "/etc/fonts/conf.d/30-metric-aliases.conf" # Link to /etc/fonts/conf.avail/30-metric-aliases.conf
      - "/etc/fonts/conf.d/40-nonlatin.conf" # Link to /etc/fonts/conf.avail/40-nonlatin.conf
      - "/etc/fonts/conf.d/45-generic.conf" # Link to /etc/fonts/conf.avail/45-generic.conf
      - "/etc/fonts/conf.d/45-latin.conf" # Link to /etc/fonts/conf.avail/45-latin.conf
      - "/etc/fonts/conf.d/49-sansserif.conf" # Link to /etc/fonts/conf.avail/49-sansserif.conf
      - "/etc/fonts/conf.d/50-user.conf" # Link to /etc/fonts/conf.avail/50-user.conf
      - "/etc/fonts/conf.d/51-local.conf" # Link to /etc/fonts/conf.avail/51-local.conf
      - "/etc/fonts/conf.d/60-generic.conf" # Link to /etc/fonts/conf.avail/60-generic.conf
      - "/etc/fonts/conf.d/60-latin.conf" # Link to /etc/fonts/conf.avail/60-latin.conf
      - "/etc/fonts/conf.d/65-fonts-persian.conf" # Link to /etc/fonts/conf.avail/65-fonts-persian.conf
      - "/etc/fonts/conf.d/65-nonlatin.conf" # Link to /etc/fonts/conf.avail/65-nonlatin.conf
      - "/etc/fonts/conf.d/69-unifont.conf" # Link to /etc/fonts/conf.avail/69-unifont.conf
      - "/etc/fonts/conf.d/70-no-bitmaps.conf" # Link to /etc/fonts/conf.avail/70-no-bitmaps.conf
      - "/etc/fonts/conf.d/80-delicious.conf" # Link to /etc/fonts/conf.avail/80-delicious.conf
      - "/etc/fonts/conf.d/90-synthetic.conf" # Link to /etc/fonts/conf.avail/90-synthetic.conf
      - "/etc/fonts/fonts.conf" # 2.52 KB

Snippet of other_files:

[...]
other_files:
  - "/etc/alternatives/convert" # Link to /usr/bin/convert-im6.q16
  - "/etc/alternatives/fonts-japanese-gothic.ttf" # Link to /usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
  - "/etc/fonts/conf.d" # Directory
  - "/etc/ld.so.cache" # 240.96 KB
  - "/etc/localtime" # Link to /usr/share/zoneinfo/Europe/Berlin
  - "/home/daniel" # Directory
  - "/home/daniel/.cache/fontconfig/06c11524f63d4ff824512a8aea66f50b-le64.cache-7" # 15.41 KB
  - "/home/daniel/.cache/fontconfig/13cc71c55cfffaa2c3ea173a9e4403c7-le64.cache-7" # 296.0 bytes
  - "/home/daniel/.cache/fontconfig/165b9254a84ccada37e340049ffc8b30-le64.cache-7" # 1.43 KB
  - "/home/daniel/.cache/fontconfig/1875cd15ff5cb94240a7b9ba024d4703-le64.cache-7" # 176.0 bytes
  - "/home/daniel/.cache/fontconfig/3abfa2488312f909b35fa0ebe3bcbf08-le64.cache-7" # 256.0 bytes
  - "/home/daniel/.cache/fontconfig/40991ff0a5546db9730a2936d3ba0498-le64.cache-7" # 9.68 KB
  - "/home/daniel/.cache/fontconfig/87b4b9637a45d1e5f810525099feac83-le64.cache-7" # 384.0 bytes
  - "/home/daniel/.cache/fontconfig/9af608ae0ee9d2ef29ee571fd8270494-le64.cache-7" # 25.74 KB
  - "/home/daniel/.cache/fontconfig/9d20e3df18771968b7609cd23dcc2c84-le64.cache-7" # 17.55 KB
  - "/home/daniel/.cache/fontconfig/a1152301e1a95a67528356a4df9ff728-le64.cache-7" # 200.0 bytes
  - "/home/daniel/.cache/fontconfig/b26e9719d37da29cfcc5e22cb43a429b-le64.cache-7" # 150.38 KB
  - "/home/daniel/.cache/fontconfig/cae0f794d13cfbd2edafef3f246f9e17-le64.cache-7" # 27.40 KB
  - "/home/daniel/.cache/fontconfig/f894f59559f11d9760ae0b8121711064-le64.cache-7" # 1.72 KB
  - "/home/daniel/.cache/matplotlib" # Directory
  - "/home/daniel/.config/fontconfig/conf.d" # Directory
  - "/home/daniel/.config/matplotlib" # Directory
  - "/home/daniel/.fonts" # Directory
  - "/home/daniel/.fonts/.uuid" # 36.0 bytes
  - "/home/daniel/.fonts/Read Me.txt" # 646.0 bytes
  - "/home/daniel/.fonts/xkcd.ttf" # 12.41 KB
  - "/home/daniel/.local/share/fonts" # Directory
  - "/home/daniel/.local/share/fonts/AUSTRALIA-TITLE.otf" # 7.40 KB
  - "/home/daniel/.local/share/fonts/Adobe" # Directory
  - "/home/daniel/.local/share/fonts/Adobe/OpenType" # Directory
  - "/home/daniel/.local/share/fonts/Adobe/OpenType/Darleston" # Directory
  - "/home/daniel/.local/share/fonts/Adobe/OpenType/Darleston/Darleston_Regular.otf" # 31.22 KB
  - "/home/daniel/.local/share/fonts/Chomp.ttf" # 39.46 KB
  - "/home/daniel/.local/share/fonts/Creepster-Regular.ttf" # 61.25 KB
  - "/home/daniel/.local/share/fonts/DAYPBL__.ttf" # 32.76 KB
  - "/home/daniel/.local/share/fonts/DINBd.ttf" # 56.45 KB
  - "/home/daniel/.local/share/fonts/DINBdA.ttf" # 92.83 KB
  - "/home/daniel/.local/share/fonts/DINBdEp_.ttf" # 31.92 KB
  - "/home/daniel/.local/share/fonts/DINBk.ttf" # 57.00 KB
  - "/home/daniel/.local/share/fonts/DINBkA.ttf" # 56.64 KB
  - "/home/daniel/.local/share/fonts/DINBkEp_.ttf" # 29.98 KB
  - "/home/daniel/.local/share/fonts/DINLiA.ttf" # 123.40 KB
  - "/home/daniel/.local/share/fonts/DINLiEp_.ttf" # 34.85 KB
  - "/home/daniel/.local/share/fonts/DINLt____.ttf" # 85.34 KB
  - "/home/daniel/.local/share/fonts/DINMd.ttf" # 64.61 KB
  - "/home/daniel/.local/share/fonts/DINMdA.ttf" # 80.92 KB
  - "/home/daniel/.local/share/fonts/DINMdEp_.ttf" # 34.54 KB
  - "/home/daniel/.local/share/fonts/DINRg.ttf" # 62.95 KB
  - "/home/daniel/.local/share/fonts/DINRgA.ttf" # 101.97 KB
  - "/home/daniel/.local/share/fonts/DINRgEp_.ttf" # 32.95 KB
  - "/home/daniel/.local/share/fonts/Delicious-Bold.otf" # 24.07 KB
  - "/home/daniel/.local/share/fonts/Delicious-BoldItalic.otf" # 24.83 KB
  - "/home/daniel/.local/share/fonts/Delicious-Heavy.otf" # 24.67 KB
  - "/home/daniel/.local/share/fonts/Delicious-Italic.otf" # 24.45 KB
  - "/home/daniel/.local/share/fonts/Delicious-Roman.otf" # 24.12 KB
  - "/home/daniel/.local/share/fonts/Delicious-SmallCaps.otf" # 24.93 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoComprRegular.otf" # 153.23 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoEliteDblRegular.otf" # 221.14 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoEliteDblULSubRegular.otf" # 141.42 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoEliteExpRegular.otf" # 232.49 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoEliteRegular.otf" # 107.73 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoPicaRegular.otf" # 92.86 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105MonoPicaULRegular.otf" # 100.33 KB
  - "/home/daniel/.local/share/fonts/FXMatrix105PropPicaRegular.otf" # 92.33 KB
  - "/home/daniel/.local/share/fonts/Fette Engschrift.ttf" # 31.08 KB
  - "/home/daniel/.local/share/fonts/Font Awesome 5 Brands-Regular-400.otf" # 396.49 KB
  - "/home/daniel/.local/share/fonts/Font Awesome 5 Free-Regular-400.otf" # 113.83 KB
  - "/home/daniel/.local/share/fonts/Font Awesome 5 Free-Solid-900.otf" # 451.05 KB
  - "/home/daniel/.local/share/fonts/FontAwesome.otf" # 107.12 KB
  - "/home/daniel/.local/share/fonts/Great Day bold Personal Use.ttf" # 43.01 KB
  - "/home/daniel/.local/share/fonts/Hairy Monster Solid.ttf" # 81.63 KB
  - "/home/daniel/.local/share/fonts/Hairy Monster.ttf" # 335.56 KB
  - "/home/daniel/.local/share/fonts/HappyFox-Condensed.otf" # 12.11 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-Bold.ttf" # 92.67 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-BoldItalic.ttf" # 95.31 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-Italic.ttf" # 92.16 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-Light.ttf" # 91.18 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-LightItalic.ttf" # 91.12 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-Regular.ttf" # 92.59 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-SemiBold.ttf" # 94.98 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-SemiBoldItalic.ttf" # 94.39 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-Thin.ttf" # 93.83 KB
  - "/home/daniel/.local/share/fonts/JosefinSans-ThinItalic.ttf" # 93.12 KB
  - "/home/daniel/.local/share/fonts/LOUDNOISEBLACK.ttf" # 29.85 KB
  - "/home/daniel/.local/share/fonts/LOUDNOISEBLACKSKEW.ttf" # 33.33 KB
  - "/home/daniel/.local/share/fonts/LOUDNOISESKEW.ttf" # 72.50 KB
  - "/home/daniel/.local/share/fonts/LeagueGothic-CondensedItalic.otf" # 29.37 KB
  - "/home/daniel/.local/share/fonts/LeagueGothic-CondensedRegular.otf" # 25.15 KB
  - "/home/daniel/.local/share/fonts/LeagueGothic-Italic.otf" # 22.12 KB
  - "/home/daniel/.local/share/fonts/LeagueGothic-Regular.otf" # 23.90 KB
  - "/home/daniel/.local/share/fonts/MetaOT-Black.otf" # 69.03 KB
  - "/home/daniel/.local/share/fonts/MetaOT-BlackItalic.otf" # 88.11 KB
  - "/home/daniel/.local/share/fonts/MetaOT-Bold.otf" # 70.78 KB
  - "/home/daniel/.local/share/fonts/MetaOT-BoldItalic.otf" # 70.78 KB
  - "/home/daniel/.local/share/fonts/MetaOT-Book.otf" # 71.41 KB
  - "/home/daniel/.local/share/fonts/MetaOT-BookItalic.otf" # 72.05 KB
  - "/home/daniel/.local/share/fonts/MetaOT-Medium.otf" # 74.84 KB
  - "/home/daniel/.local/share/fonts/MetaOT-MediumItalic.otf" # 73.11 KB
  - "/home/daniel/.local/share/fonts/MetaOT-Normal.otf" # 72.44 KB
  - "/home/daniel/.local/share/fonts/MetaOT-NormalItalic.otf" # 71.09 KB
  - "/home/daniel/.local/share/fonts/MetaOffcPro-Bold.ttf" # 182.91 KB
  - "/home/daniel/.local/share/fonts/MetaOffcPro-Norm.ttf" # 185.94 KB
  - "/home/daniel/.local/share/fonts/MetaOffcPro-NormIta.ttf" # 188.54 KB
  - "/home/daniel/.local/share/fonts/MetaScOffcPro-Bold.ttf" # 172.77 KB
  - "/home/daniel/.local/share/fonts/MetaScOffcPro-Norm.ttf" # 176.23 KB
  - "/home/daniel/.local/share/fonts/MetaScOffcPro-NormIta.ttf" # 178.66 KB
  - "/home/daniel/.local/share/fonts/MtBdLFRo.ttf" # 75.35 KB
  - "/home/daniel/.local/share/fonts/MtBdRo__.ttf" # 75.20 KB
  - "/home/daniel/.local/share/fonts/MtNoIt__.ttf" # 88.54 KB
  - "/home/daniel/.local/share/fonts/MtNoLFIt.ttf" # 83.92 KB
  - "/home/daniel/.local/share/fonts/MtNoLFRo.ttf" # 75.97 KB
  - "/home/daniel/.local/share/fonts/MtNoRo__.ttf" # 76.34 KB
  - "/home/daniel/.local/share/fonts/NICHTLUSDICK.ttf" # 59.84 KB
  - "/home/daniel/.local/share/fonts/NICHTLUSDUENN.ttf" # 94.47 KB
  - "/home/daniel/.local/share/fonts/PTF-NORDIC-Rnd-Lt.ttf" # 23.80 KB
  - "/home/daniel/.local/share/fonts/PTF-NORDIC-Rnd.ttf" # 22.96 KB
  - "/home/daniel/.local/share/fonts/PTF-NORDIC-Std-Lt.ttf" # 18.72 KB
  - "/home/daniel/.local/share/fonts/PTF-NORDIC-Std.ttf" # 17.83 KB
  - "/home/daniel/.local/share/fonts/SEASRN__.ttf" # 38.54 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Bold.otf" # 152.14 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_ExtraLight.otf" # 147.73 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Heavy_Italic.otf" # 141.77 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Italic.otf" # 154.95 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Light.otf" # 152.05 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Light_Italic.otf" # 155.15 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Medium.otf" # 151.50 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Medium_Italic.otf" # 154.79 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Brix Slab/Brix_Slab_Regular.otf" # 151.71 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Bold.otf" # 183.00 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Bold_Italic.otf" # 187.32 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_ExtraLight.otf" # 175.47 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Heavy.otf" # 179.88 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Heavy_Italic.otf" # 182.39 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Italic.otf" # 175.24 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Light.otf" # 176.50 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Light_Italic.otf" # 182.25 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Medium.otf" # 178.81 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Medium_Italic.otf" # 184.14 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Regular.otf" # 177.73 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Semi_Bold.otf" # 181.52 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Semi_Bold_Italic.otf" # 186.03 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Thin.otf" # 169.55 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Ultra_Bold.otf" # 182.51 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat Alternates/Montserrat_Alternates_Ultra_Bold_Italic.otf" # 186.82 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Bold.otf" # 229.68 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Bold_Italic.otf" # 237.39 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_ExtraLight.otf" # 221.46 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Heavy.otf" # 224.73 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Heavy_Italic.otf" # 231.32 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Italic.otf" # 222.64 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Light.otf" # 222.72 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Light_Italic.otf" # 232.26 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Medium.otf" # 224.96 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Medium_Italic.otf" # 234.04 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Regular.otf" # 223.26 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Semi_Bold.otf" # 228.57 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Semi_Bold_Italic.otf" # 236.98 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Thin.otf" # 212.54 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Ultra_Bold.otf" # 228.94 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/OpenType/Montserrat/Montserrat_Ultra_Bold_Italic.otf" # 237.11 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed" # Directory
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed/Roboto_Condensed_Bold_Condensed.ttf" # 138.47 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed/Roboto_Condensed_Bold_Italic_Condensed.ttf" # 141.85 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed/Roboto_Condensed_Condensed.ttf" # 137.11 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed/Roboto_Condensed_Italic_Condensed.ttf" # 141.02 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed/Roboto_Condensed_Light_Condensed.ttf" # 138.07 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto Condensed/Roboto_Condensed_Light_Italic_Condensed.ttf" # 141.70 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Bold.ttf" # 166.76 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Bold_Italic.ttf" # 170.85 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Heavy.ttf" # 167.46 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Heavy_Italic.ttf" # 173.39 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Italic.ttf" # 172.17 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Light.ttf" # 166.43 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Light_Italic.ttf" # 172.48 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Medium.ttf" # 168.03 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Medium_Italic.ttf" # 172.72 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Regular.ttf" # 167.65 KB
  - "/home/daniel/.local/share/fonts/Unknown Vendor/TrueType/Roboto/Roboto_Thin.ttf" # 167.88 KB
  - "/home/daniel/.local/share/fonts/YanoneKaffeesatz-Bold.otf" # 63.48 KB
  - "/home/daniel/.local/share/fonts/YanoneKaffeesatz-Light.otf" # 66.16 KB
  - "/home/daniel/.local/share/fonts/YanoneKaffeesatz-Regular.otf" # 66.34 KB
  - "/home/daniel/.local/share/fonts/YanoneKaffeesatz-Thin.otf" # 66.20 KB
  - "/home/daniel/.local/share/fonts/christmabet.ttf" # 78.50 KB
  - "/home/daniel/.local/share/fonts/daniel.ttf" # 50.77 KB
  - "/home/daniel/.local/share/fonts/danielbd.ttf" # 62.20 KB
  - "/home/daniel/.local/share/fonts/danielbk.ttf" # 86.68 KB
  - "/home/daniel/.local/share/fonts/universalis-adf-std.bold-italic.otf" # 40.95 KB
  - "/home/daniel/.local/share/fonts/universalis-adf-std.cond-italic.otf" # 39.85 KB
  - "/home/daniel/.local/share/fonts/universalis-adf-std.cond.otf" # 36.89 KB
  - "/home/daniel/.local/share/fonts/universalis-adf-std.italic.otf" # 39.50 KB
  - "/home/daniel/.virtualenvs/pcraster_reprozip/bin/python" # Link to /home/daniel/.virtualenvs/pcraster_reprozip/bin/python2
  - "/home/daniel/.virtualenvs/pcraster_reprozip/bin/python2" # 3.47 MB
  - "/home/daniel/.virtualenvs/pcraster_reprozip/lib/python2.7" # Directory
  - "/home/daniel/.virtualenvs/pcraster_reprozip/lib/python2.7/UserDict.py" # Link to /usr/lib/python2.7/UserDict.py
  - "/home/daniel/.virtualenvs/pcraster_reprozip/lib/python2.7/UserDict.pyc" # 11.11 KB
[..]

I'm rougly doing the following:

# Python 2!

git clone https://github.com/JudithVerstegen/PLUC_Mozambique.git
cd PLUC_Mozambique/model

# pip install numpy matplotlib
# install PCRaster version 4.1.0, see https://github.com/JudithVerstegen/PLUC_Mozambique/blob/master/Dockerfile#L17
reprozip trace python LU_Moz.py

I am running this in a virtual environment. If that might shake things up, I'm happy to extend the script above to also do that.

@remram44
Copy link
Member

Files whose stats only are looked at (not content) don't get packed, so it is probable that the program actually read all those files. I can see that being a problem size-wise, and you might want to remove them from the configuration file, unfortunately ReproZip can't really tell the difference between files "opened and needed" and files "opened just to look".

Special code could be written for the case of fonts, but only if we can figure out which ones actually get used...

@remram44 remram44 changed the title Why is ReproZip packing so many font files ReproZip tends to pack all fonts Jul 11, 2019
@remram44
Copy link
Member

I can reproduce it here, matplotlib looks at all the fonts. They actually get read.

I am not sure there is something we can do about it 😅 Maybe something about the specific parts of the files that are read, or we can hook whatever library is used to enumerate the fonts? Thank you for reporting!

@remram44 remram44 added C-tracer (Python) Component: The Python part of the tracer codebase T-enhancement Type: En enhancement to existing code, or a new feature A-help wanted Attention: More help is needed here, as I am out of my depth labels Jul 11, 2019
@nuest
Copy link
Author

nuest commented Jul 29, 2019

Could it be possible to filter specific files from the rpz? E.g. everything in ~/.local/share/fonts?

The many font files might also be the issue why the created graphs are unusable... and I noticed a few copyrighted fonts there, too, which I shouldn't upload as part of an rpz to a repo.

The file /home/daniel/.cache/matplotlib/fontList.json was also on the list of a second run I made, so I investigated: if that file exists, then the font files in ~/.local/share/fonts are not touched.

Without the font cache, .local/share/fonts occurs 330 times in my config.yml and 87 packages named fonts-... are added to the list.

With the font cache and a manual configuration of the default font only the selected font (/usr/share/fonts/truetype/msttcorefonts/Arial.ttf) and

Maybe the recommendation is simply to run the trace twice and define a default font if you use matplotlib?

@remram44 It would be great if you could reproduce my findings. Not sure what reprozip can do better... reducing the size of the rpz is not really my issue, but the understandability of the config.yml surely is.


tl;dr By running reprozip trace twice and using a default font I could reduce the size of config.yml from 10543 to 6492 lines, and the file size of the .rpz went from 328 MB to 162 MB.

nuest added a commit to nuest/PLUC_Mozambique that referenced this issue Jul 29, 2019
thouching/reading all the installed fonts to build a font cache blows up the number of files listed and packed by tools to trace reproducibility, e.g. ReproZip (see VIDA-NYU/reprozip#360)
@remram44
Copy link
Member

This might be something ReproZip could look for, e.g. if matplotlib/fontList.json gets written, recommend that the user run the trace a second time.

@nuest
Copy link
Author

nuest commented Jul 30, 2019

Or even check if the trace writes anything to ~/\.* and point that out? When a workflow writes something into a config directory of my home, it's probably good that the user knows that.. although it could also confuse them. Probably it is better to connect this kind of observation with a clear recommendation, as in case of matplotlib/fontList.json.

@remram44
Copy link
Member

This is likely to catch things that write there every time, so we can't recommend that the user run the experiment a second time on all those files.

There could be a warning though, the same we have for files that are read then overwritten.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-help wanted Attention: More help is needed here, as I am out of my depth C-tracer (Python) Component: The Python part of the tracer codebase T-enhancement Type: En enhancement to existing code, or a new feature
Projects
None yet
Development

No branches or pull requests

2 participants