diff options
author | Jürg Billeter <j@bitron.ch> | 2019-02-13 12:42:42 +0000 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2019-02-13 12:42:42 +0000 |
commit | ae0ee361350b13a6c0f2fb24d3a24579305a021b (patch) | |
tree | e7e23696c4fd32bf2c5038faef8bbc048b3e908e | |
parent | 8c6baf2360a756562291a9b3f398aaa6d5f06491 (diff) | |
parent | 353745a492102c96d7b2ca465c360836966f46ce (diff) | |
download | buildstream-ae0ee361350b13a6c0f2fb24d3a24579305a021b.tar.gz |
Merge branch 'juerg/list-all-directories' into 'master'
Return all directories in list_relative_paths()
See merge request BuildStream/buildstream!1139
33 files changed, 44 insertions, 41 deletions
diff --git a/buildstream/data/projectconfig.yaml b/buildstream/data/projectconfig.yaml index 2a6b09a15..ee4055cf5 100644 --- a/buildstream/data/projectconfig.yaml +++ b/buildstream/data/projectconfig.yaml @@ -91,10 +91,16 @@ split-rules: # and shared libraries by default. runtime: - | + %{bindir} + - | %{bindir}/* - | + %{sbindir} + - | %{sbindir}/* - | + %{libexecdir} + - | %{libexecdir}/* - | %{libdir}/lib*.so* diff --git a/buildstream/storage/_casbaseddirectory.py b/buildstream/storage/_casbaseddirectory.py index 09c8c9875..b6a39b83d 100644 --- a/buildstream/storage/_casbaseddirectory.py +++ b/buildstream/storage/_casbaseddirectory.py @@ -800,11 +800,11 @@ class CasBasedDirectory(Directory): directory_list = filter(lambda i: isinstance(i[1].buildstream_object, CasBasedDirectory), self.index.items()) - if file_list == [] and relpath != "": + if relpath != "": yield relpath - else: - for (k, v) in sorted(file_list): - yield os.path.join(relpath, k) + + for (k, v) in sorted(file_list): + yield os.path.join(relpath, k) for (k, v) in sorted(directory_list): yield from v.buildstream_object.list_relative_paths(relpath=os.path.join(relpath, k)) diff --git a/buildstream/utils.py b/buildstream/utils.py index b739ca658..12407ba30 100644 --- a/buildstream/utils.py +++ b/buildstream/utils.py @@ -117,9 +117,6 @@ def list_relative_paths(directory): This generator is useful for checking the full manifest of a directory. - Note that directories will be yielded only if they are - empty. - Symbolic links will not be followed, but will be included in the manifest. @@ -156,11 +153,9 @@ def list_relative_paths(directory): # `directory`, prefer to have no prefix in that case. basepath = relpath if relpath != '.' and dirpath != directory else '' - # We've decended into an empty directory, in this case we - # want to include the directory itself, but not in any other - # case. - if not filenames: - yield relpath + # First yield the walked directory itself, except for the root + if basepath != '': + yield basepath # List the filenames in the walked directory for f in filenames: diff --git a/tests/cachekey/project/elements/build1.expected b/tests/cachekey/project/elements/build1.expected index 623a491e9..c2982f939 100644 --- a/tests/cachekey/project/elements/build1.expected +++ b/tests/cachekey/project/elements/build1.expected @@ -1 +1 @@ -dadb8f86874f714b4f6d4c9025332934efb7e85c38f6a68b1267746ae8f43f24 +298bb7caab56c60bc12f59df15db2b1107a604fdb0ce3fa5729aa23d6d37f6e4
\ No newline at end of file diff --git a/tests/cachekey/project/elements/build2.expected b/tests/cachekey/project/elements/build2.expected index 34853b9ad..bc663989f 100644 --- a/tests/cachekey/project/elements/build2.expected +++ b/tests/cachekey/project/elements/build2.expected @@ -1 +1 @@ -f81cefce283dd3581ba2fc865ff9c2763119274b114b12edb4e87196cfff8b2a +c745f07458a2488180ae7f5b0601a38853dcdfd2b6771c18ecbb622f1af10cf1
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose1.expected b/tests/cachekey/project/elements/compose1.expected index 2bb7802d7..9abf5b751 100644 --- a/tests/cachekey/project/elements/compose1.expected +++ b/tests/cachekey/project/elements/compose1.expected @@ -1 +1 @@ -36cb2ac57281343959266e87913eb690f4c68980d7267160ff5f071db778719d
\ No newline at end of file +d759c8b7262c4782c12b425bfca0bc8f4c30656d91c98e309c10f11d4179b101
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose2.expected b/tests/cachekey/project/elements/compose2.expected index 4b03402cb..4c3881b8e 100644 --- a/tests/cachekey/project/elements/compose2.expected +++ b/tests/cachekey/project/elements/compose2.expected @@ -1 +1 @@ -30ffe86750a497052f8fc868c47a08644cd579f8e86f59be9b04fa5530b6a9b6
\ No newline at end of file +01e22d37b82c9b35c35d3d8485e05fe6de526d3af00137bbff51a309b1fa3401
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose3.expected b/tests/cachekey/project/elements/compose3.expected index 5b975be25..e66de59f5 100644 --- a/tests/cachekey/project/elements/compose3.expected +++ b/tests/cachekey/project/elements/compose3.expected @@ -1 +1 @@ -1bac1d17cc2aed85ab14daf264f955b2204823799bc5bac5ff77c79b32d0c08b
\ No newline at end of file +22b846d1928155b5a21497e8048af2945ee03a826338f91d4f00d74597cc3ef7
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose4.expected b/tests/cachekey/project/elements/compose4.expected index 48a96844a..abc56f234 100644 --- a/tests/cachekey/project/elements/compose4.expected +++ b/tests/cachekey/project/elements/compose4.expected @@ -1 +1 @@ -99690e3a915f4c5b6f76a5bcee8bffe74d077a4398ac29623be36bca26703290
\ No newline at end of file +0e00f203ce9bc4163be0ed304fcf2abb6ee39aad4ee9a12d80719708a4327337
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose5.expected b/tests/cachekey/project/elements/compose5.expected index 40287aa87..83345705e 100644 --- a/tests/cachekey/project/elements/compose5.expected +++ b/tests/cachekey/project/elements/compose5.expected @@ -1 +1 @@ -a3e25dabe35a2909920f94c9e457c977b00dfa49c161b82c47ad55e761349c6a
\ No newline at end of file +3d8dd9fef508c27961edeb21dd469d04e7ea097c86a98e7c3bf725975548748f
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import1.expected b/tests/cachekey/project/elements/import1.expected index ab07f28da..fd349363e 100644 --- a/tests/cachekey/project/elements/import1.expected +++ b/tests/cachekey/project/elements/import1.expected @@ -1 +1 @@ -791aaae474dce95f98c849d748088697334a9b4bfcb6225c59804efe03e803c9
\ No newline at end of file +02f863aedaf175f4b4bb9979a538bd1fb6eabd0ef9d77a633b141c072d957df5
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import2.expected b/tests/cachekey/project/elements/import2.expected index 8b7327e20..e68e2b505 100644 --- a/tests/cachekey/project/elements/import2.expected +++ b/tests/cachekey/project/elements/import2.expected @@ -1 +1 @@ -3aaf0565ffbeb2faa4e48230d07ef839b9bc2ff012780ca9b5f6b9c968f539b2
\ No newline at end of file +80ee70ad27ee4640400533585d1b2313b1abdb0034f4159dad42f545310d9c24
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import3.expected b/tests/cachekey/project/elements/import3.expected index 05cfbdf2e..1cab93718 100644 --- a/tests/cachekey/project/elements/import3.expected +++ b/tests/cachekey/project/elements/import3.expected @@ -1 +1 @@ -7cadfb9b592af06fa765389278d919cb8e29515ad057710563da9cd1c36e2ce9
\ No newline at end of file +b30d79b763ba3048945784d06482ee378d2642dff712ecffae737aa6f9391b9f
\ No newline at end of file diff --git a/tests/cachekey/project/elements/script1.expected b/tests/cachekey/project/elements/script1.expected index 71a53906c..18977ecc0 100644 --- a/tests/cachekey/project/elements/script1.expected +++ b/tests/cachekey/project/elements/script1.expected @@ -1 +1 @@ -14db0665eed7c3d4cf3685c2e386a9e494465927a5ad962c98b92856be3d88b8
\ No newline at end of file +fb69c9237156bdeb0f948078f735189e9d8a4c4dca3c67b6f1ed5fa314f88707
\ No newline at end of file diff --git a/tests/cachekey/project/sources/bzr1.expected b/tests/cachekey/project/sources/bzr1.expected index debfe0c9d..68ef31975 100644 --- a/tests/cachekey/project/sources/bzr1.expected +++ b/tests/cachekey/project/sources/bzr1.expected @@ -1 +1 @@ -faadf63e4025e4a068532d01296b65db38dbf2c95625695832f7c601b2134375
\ No newline at end of file +5a8144078d50ff5507d7260c2aa7c62fc6272554767392cd827277e224385cb9
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git1.expected b/tests/cachekey/project/sources/git1.expected index 5a98e679f..271faafdf 100644 --- a/tests/cachekey/project/sources/git1.expected +++ b/tests/cachekey/project/sources/git1.expected @@ -1 +1 @@ -3dc6b7c47ddb3ced44c42d22f4c192b9245112197172d2f9ce9498e4614bbca4
\ No newline at end of file +21968271111bb43e57417d24481742c2fe52fddd798af4aacca0f604c54b6b94
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git2.expected b/tests/cachekey/project/sources/git2.expected index bfccc82c2..8abecc0c0 100644 --- a/tests/cachekey/project/sources/git2.expected +++ b/tests/cachekey/project/sources/git2.expected @@ -1 +1 @@ -3ded0e77f43c43f86920012d6ffe0e2f0cd98908ceab7023bf5a8d34bedf1d6e
\ No newline at end of file +f3d0b8c1179f7b7a22beb4cef7b33a13af047bd882e7e3c34cea55c85dc0aae4
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git3.expected b/tests/cachekey/project/sources/git3.expected index c0ab92c20..55b02f242 100644 --- a/tests/cachekey/project/sources/git3.expected +++ b/tests/cachekey/project/sources/git3.expected @@ -1 +1 @@ -31e95bdf97eb85d2261c988de7ee055e00c31a76199b495643661e5d1fbd195e
\ No newline at end of file +d3c796a610f0ce13c7f4dc99ce5d0f0a8674c7bbd8c53de28248711b44d427a1
\ No newline at end of file diff --git a/tests/cachekey/project/sources/local1.expected b/tests/cachekey/project/sources/local1.expected index ab07f28da..fd349363e 100644 --- a/tests/cachekey/project/sources/local1.expected +++ b/tests/cachekey/project/sources/local1.expected @@ -1 +1 @@ -791aaae474dce95f98c849d748088697334a9b4bfcb6225c59804efe03e803c9
\ No newline at end of file +02f863aedaf175f4b4bb9979a538bd1fb6eabd0ef9d77a633b141c072d957df5
\ No newline at end of file diff --git a/tests/cachekey/project/sources/local2.expected b/tests/cachekey/project/sources/local2.expected index f59f4a7cf..6aa588c9e 100644 --- a/tests/cachekey/project/sources/local2.expected +++ b/tests/cachekey/project/sources/local2.expected @@ -1 +1 @@ -e44b20eaec873dd28471963d789fbb5660eb14754b7711a5ab0d7785d3bffd37
\ No newline at end of file +b9c5019375c715cb6a239714c78a1bd702d4acf81518f0c05da0217a74c365df
\ No newline at end of file diff --git a/tests/cachekey/project/sources/ostree1.expected b/tests/cachekey/project/sources/ostree1.expected index 7bfd2ee12..d3fb12439 100644 --- a/tests/cachekey/project/sources/ostree1.expected +++ b/tests/cachekey/project/sources/ostree1.expected @@ -1 +1 @@ -3b13c4a4b3adcfdf2b6bbbc8b74cc8f43cbfd39ec73af1b285bd8fef79a57068
\ No newline at end of file +8e9f5115d54df9feff28accf061f18b77458816897fdd841d7399bc0d5375633
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch1.expected b/tests/cachekey/project/sources/patch1.expected index 1a2a1a782..85cd460ec 100644 --- a/tests/cachekey/project/sources/patch1.expected +++ b/tests/cachekey/project/sources/patch1.expected @@ -1 +1 @@ -ffad4c89efdbcabb86aeea338b4d076f9f44dec2b7b0bc0e6ede39a0e792f992
\ No newline at end of file +52f6d22e92bb627d48f6957d0c55d57d0da5e228ea0d43d108283425b3cb13f4
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch2.expected b/tests/cachekey/project/sources/patch2.expected index 3a6812987..54636aa88 100644 --- a/tests/cachekey/project/sources/patch2.expected +++ b/tests/cachekey/project/sources/patch2.expected @@ -1 +1 @@ -5e91946c032a83120ae97a84f96dbfbf98992d6decff99df0073a117cd45702e
\ No newline at end of file +1937060b2df8c11f37b031751beacdd28b471324734f372b970d29ba3d605b0d
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch3.expected b/tests/cachekey/project/sources/patch3.expected index ba20eb320..bc3f10148 100644 --- a/tests/cachekey/project/sources/patch3.expected +++ b/tests/cachekey/project/sources/patch3.expected @@ -1 +1 @@ -bd55bfb2b546b57ac627ba7756269e5d64cb7a74c990e0ef66c06bd4dc3b44a3
\ No newline at end of file +cdccd2228c0329b99d22703aac874b4a3a78753adb759c4fae8add533e933d2f
\ No newline at end of file diff --git a/tests/cachekey/project/sources/pip1.expected b/tests/cachekey/project/sources/pip1.expected index a85714052..7fcee4c9f 100644 --- a/tests/cachekey/project/sources/pip1.expected +++ b/tests/cachekey/project/sources/pip1.expected @@ -1 +1 @@ -09d873158f35ea64e67919373a6cfbd4aaba9321b817c89317b1350da8267318
\ No newline at end of file +24dcac92e44ef96217b625941d7571dd03fea4a86f34177e280ba9e3b20dea32
\ No newline at end of file diff --git a/tests/cachekey/project/sources/remote1.expected b/tests/cachekey/project/sources/remote1.expected index 2595e6f4c..f9ceb1bf3 100644 --- a/tests/cachekey/project/sources/remote1.expected +++ b/tests/cachekey/project/sources/remote1.expected @@ -1 +1 @@ -fc9d09695a6e04785671cc53e36dbc1dd1391a8bcd4a7003c5cce161f2a6c484
\ No newline at end of file +4eec6ce665ea7c970b4df61d2033dd5a49764e9e97855054c475c066fc29efc7
\ No newline at end of file diff --git a/tests/cachekey/project/sources/remote2.expected b/tests/cachekey/project/sources/remote2.expected index 1de8e1b76..cc235357c 100644 --- a/tests/cachekey/project/sources/remote2.expected +++ b/tests/cachekey/project/sources/remote2.expected @@ -1 +1 @@ -de35773c4cec65912e4cef18682a0fc176a49ee6637b0c5e8f68b546225c0865
\ No newline at end of file +15f1af6230e981740c7103f7b8327e53a74acbbcd40579fc9990bd39ae8f049a
\ No newline at end of file diff --git a/tests/cachekey/project/sources/tar1.expected b/tests/cachekey/project/sources/tar1.expected index 7575b52b3..d61f558d4 100644 --- a/tests/cachekey/project/sources/tar1.expected +++ b/tests/cachekey/project/sources/tar1.expected @@ -1 +1 @@ -9e2e12cb32b52463fd324afe2f32b622ee76973cdefcb35e0a14c8d0ecf94604
\ No newline at end of file +3601b0102ce629bba95734d5136e4589348dde3d74402185777c2aef6ebe9c82
\ No newline at end of file diff --git a/tests/cachekey/project/sources/tar2.expected b/tests/cachekey/project/sources/tar2.expected index e2e8e36c1..40c46cf50 100644 --- a/tests/cachekey/project/sources/tar2.expected +++ b/tests/cachekey/project/sources/tar2.expected @@ -1 +1 @@ -08b95e17d08ac792e04df9d8165a00ee11520f022895cc6abafe379295a55fc3
\ No newline at end of file +9a1230d0f68187d35bd083115e545bc153b2b06879c661ac30a73a03f876ac01
\ No newline at end of file diff --git a/tests/cachekey/project/sources/zip1.expected b/tests/cachekey/project/sources/zip1.expected index faef2458b..04b82aadf 100644 --- a/tests/cachekey/project/sources/zip1.expected +++ b/tests/cachekey/project/sources/zip1.expected @@ -1 +1 @@ -590963540c16c9c462fbbed88d1c6bf9134e753c652e01710b81d6218bf348bb
\ No newline at end of file +a00fbe9c48fcf071e2a84fb2e39d7939c13eac0f8b07262fb52b7746f0a6f160
\ No newline at end of file diff --git a/tests/cachekey/project/sources/zip2.expected b/tests/cachekey/project/sources/zip2.expected index 950b5002f..4c3e6e71e 100644 --- a/tests/cachekey/project/sources/zip2.expected +++ b/tests/cachekey/project/sources/zip2.expected @@ -1 +1 @@ -97dc236aa4f600cfbe6f5d7d47841f547ac6c6ee0e6b55275af8d3f1ec2cb68a
\ No newline at end of file +fe0e42a62eba9f4f96016eb6b0a3807401e9f9f8ded3c1ec3e500a431de0e2eb
\ No newline at end of file diff --git a/tests/cachekey/project/target.expected b/tests/cachekey/project/target.expected index 66a38036e..7d793fade 100644 --- a/tests/cachekey/project/target.expected +++ b/tests/cachekey/project/target.expected @@ -1 +1 @@ -92dae6a712b4f91f4fdbdf8dad732cf07ff4da092a319fa4f4b261a9287640de +5accdddcdf28c48173381d9bd5d178dfe9b4b69b9ca456995d0a0d0908654275
\ No newline at end of file diff --git a/tests/integration/project/project.conf b/tests/integration/project/project.conf index 726f65686..ddfe47b6d 100644 --- a/tests/integration/project/project.conf +++ b/tests/integration/project/project.conf @@ -18,4 +18,6 @@ options: split-rules: test: - | + /tests + - | /tests/* |