diff --git a/bootstrapvz/plugins/minimize_size/assets/bootstrap-files-filter.sh b/bootstrapvz/plugins/minimize_size/assets/bootstrap-files-filter.sh index 886187a..e061972 100644 --- a/bootstrapvz/plugins/minimize_size/assets/bootstrap-files-filter.sh +++ b/bootstrapvz/plugins/minimize_size/assets/bootstrap-files-filter.sh @@ -1,2 +1,4 @@ #!/bin/sh +# First we filter out all paths not relating to the stuff we want to filter +# After that we take out the paths that we *do* want to keep grep 'EXCLUDE_PATTERN' | grep --invert-match --fixed-strings 'INCLUDE_PATHS' diff --git a/bootstrapvz/plugins/minimize_size/tasks/dpkg.py b/bootstrapvz/plugins/minimize_size/tasks/dpkg.py index ff75b13..9e6e148 100644 --- a/bootstrapvz/plugins/minimize_size/tasks/dpkg.py +++ b/bootstrapvz/plugins/minimize_size/tasks/dpkg.py @@ -49,6 +49,9 @@ class CreateBootstrapFilterScripts(Task): sed_i(bootstrap_script, r'BOOTSTRAP_FILES_FILTER_PATH', filter_script) + # We exclude with patterns but include with fixed strings + # The pattern matching when excluding is needed in order to filter + # everything below e.g. /usr/share/locale but not the folder itself filter_lists = info._minimize_size['bootstrap_filter'] exclude_list = '\|'.join(map(lambda p: '.' + p + '.\+', filter_lists['exclude'])) include_list = '\n'.join(map(lambda p: '.' + p, filter_lists['include']))