summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2019-02-13 12:42:42 +0000
committerJürg Billeter <j@bitron.ch>2019-02-13 12:42:42 +0000
commitae0ee361350b13a6c0f2fb24d3a24579305a021b (patch)
treee7e23696c4fd32bf2c5038faef8bbc048b3e908e
parent8c6baf2360a756562291a9b3f398aaa6d5f06491 (diff)
parent353745a492102c96d7b2ca465c360836966f46ce (diff)
downloadbuildstream-ae0ee361350b13a6c0f2fb24d3a24579305a021b.tar.gz
Merge branch 'juerg/list-all-directories' into 'master'
Return all directories in list_relative_paths() See merge request BuildStream/buildstream!1139
-rw-r--r--buildstream/data/projectconfig.yaml6
-rw-r--r--buildstream/storage/_casbaseddirectory.py8
-rw-r--r--buildstream/utils.py11
-rw-r--r--tests/cachekey/project/elements/build1.expected2
-rw-r--r--tests/cachekey/project/elements/build2.expected2
-rw-r--r--tests/cachekey/project/elements/compose1.expected2
-rw-r--r--tests/cachekey/project/elements/compose2.expected2
-rw-r--r--tests/cachekey/project/elements/compose3.expected2
-rw-r--r--tests/cachekey/project/elements/compose4.expected2
-rw-r--r--tests/cachekey/project/elements/compose5.expected2
-rw-r--r--tests/cachekey/project/elements/import1.expected2
-rw-r--r--tests/cachekey/project/elements/import2.expected2
-rw-r--r--tests/cachekey/project/elements/import3.expected2
-rw-r--r--tests/cachekey/project/elements/script1.expected2
-rw-r--r--tests/cachekey/project/sources/bzr1.expected2
-rw-r--r--tests/cachekey/project/sources/git1.expected2
-rw-r--r--tests/cachekey/project/sources/git2.expected2
-rw-r--r--tests/cachekey/project/sources/git3.expected2
-rw-r--r--tests/cachekey/project/sources/local1.expected2
-rw-r--r--tests/cachekey/project/sources/local2.expected2
-rw-r--r--tests/cachekey/project/sources/ostree1.expected2
-rw-r--r--tests/cachekey/project/sources/patch1.expected2
-rw-r--r--tests/cachekey/project/sources/patch2.expected2
-rw-r--r--tests/cachekey/project/sources/patch3.expected2
-rw-r--r--tests/cachekey/project/sources/pip1.expected2
-rw-r--r--tests/cachekey/project/sources/remote1.expected2
-rw-r--r--tests/cachekey/project/sources/remote2.expected2
-rw-r--r--tests/cachekey/project/sources/tar1.expected2
-rw-r--r--tests/cachekey/project/sources/tar2.expected2
-rw-r--r--tests/cachekey/project/sources/zip1.expected2
-rw-r--r--tests/cachekey/project/sources/zip2.expected2
-rw-r--r--tests/cachekey/project/target.expected2
-rw-r--r--tests/integration/project/project.conf2
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/*