[Notes] [Git][BuildStream/buildstream][adamjones/labels] 3 commits: element.py: Expect absolute paths in overlap whitelists



Title: GitLab

Tom Pollard pushed to branch adamjones/labels at BuildStream / buildstream

Commits:

7 changed files:

Changes:

  • .gitlab/issue_templates/bst_bug.md
    ... ... @@ -33,4 +33,6 @@
    33 33
     * BuildStream version affected: /milestone %BuildStream_v1.x
    
    34 34
     
    
    35 35
     ----
    
    36
    +[//]: # (To review information about possible relevant labels for this issue please view the list of labels: https://gitlab.com/BuildStream/buildstream/labels)
    
    37
    +
    
    36 38
     /label ~bug

  • .gitlab/issue_templates/bst_task.md
    ... ... @@ -15,3 +15,5 @@
    15 15
     [//]: # (Acceptance criteria should follow the S.M.A.R.T. principle https://en.wikipedia.org/wiki/SMART_criteria )
    
    16 16
     
    
    17 17
     ----
    
    18
    +[//]: # (To review information about possible relevant labels for this issue please view the list of labels: https://gitlab.com/BuildStream/buildstream/labels)
    
    19
    +

  • NEWS
    ... ... @@ -138,6 +138,9 @@ buildstream 1.3.1
    138 138
       o BREAKING CHANGE: Symlinks are no longer resolved during staging and absolute
    
    139 139
         symlinks are now preserved instead of being converted to relative symlinks.
    
    140 140
     
    
    141
    +  o BREAKING CHANGE: Overlap whitelists now require absolute paths. This allows
    
    142
    +    use of variables such as %{prefix} and matches the documentation.
    
    143
    +
    
    141 144
     
    
    142 145
     =================
    
    143 146
     buildstream 1.1.5
    

  • buildstream/element.py
    ... ... @@ -2609,7 +2609,7 @@ class Element(Plugin):
    2609 2609
                 if include_file and not exclude_file:
    
    2610 2610
                     yield filename.lstrip(os.sep)
    
    2611 2611
     
    
    2612
    -    def __file_is_whitelisted(self, pattern):
    
    2612
    +    def __file_is_whitelisted(self, path):
    
    2613 2613
             # Considered storing the whitelist regex for re-use, but public data
    
    2614 2614
             # can be altered mid-build.
    
    2615 2615
             # Public data is not guaranteed to stay the same for the duration of
    
    ... ... @@ -2621,7 +2621,7 @@ class Element(Plugin):
    2621 2621
                 whitelist_expressions = [utils._glob2re(self.__variables.subst(exp.strip())) for exp in whitelist]
    
    2622 2622
                 _expression_ = ('^(?:' + '|'.join(whitelist_expressions) + ')$')
    
    2623 2623
                 self.__whitelist_regex = re.compile(_expression_)
    
    2624
    -        return self.__whitelist_regex.match(pattern)
    
    2624
    +        return self.__whitelist_regex.match(os.path.join(os.sep, path))
    
    2625 2625
     
    
    2626 2626
         # __extract():
    
    2627 2627
         #
    

  • tests/frontend/overlaps/a-whitelisted.bst
    ... ... @@ -10,4 +10,4 @@ sources:
    10 10
     public:
    
    11 11
       bst:
    
    12 12
         overlap-whitelist:
    
    13
    -    - "file*"
    13
    +    - "/file*"

  • tests/frontend/overlaps/b-whitelisted.bst
    ... ... @@ -8,9 +8,9 @@ sources:
    8 8
     - kind: local
    
    9 9
       path: "b"
    
    10 10
     variables:
    
    11
    -  FILE: file
    
    11
    +  FILE: /file
    
    12 12
     public:
    
    13 13
       bst:
    
    14 14
         overlap-whitelist:
    
    15
    -    - file2
    
    15
    +    - /file2
    
    16 16
         - "%{FILE}3"

  • tests/frontend/overlaps/c-whitelisted.bst
    ... ... @@ -8,4 +8,4 @@ sources:
    8 8
     public:
    
    9 9
       bst:
    
    10 10
         overlap-whitelist:
    
    11
    -    - "file*"
    11
    +    - "/file*"



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]