diff options
author | Mike Crowe <mac@mcrowe.com> | 2017-02-14 14:20:02 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-29 23:43:50 +0100 |
commit | 2a70e84643381eca0e7bf7928d4a3d56f9651128 (patch) | |
tree | 85639c4215d521004210552661237c9b2eb70373 | |
parent | 5224bf7c7271eaed5a278c0282929baaf2e7ddaa (diff) | |
download | poky-2a70e84643381eca0e7bf7928d4a3d56f9651128.tar.gz |
kernel, license, sstate, rootfs.py: Remove deploy directory README
It isn't clear that the README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
file in the deploy directory warrants the complexity it brings elsewhere.
Let's just remove it entirely.
In particular, if two do_image_complete tasks run in parallel they risk
both trying to put their image into ${DEPLOY_DIR_IMAGE} at the same time.
Both will contain a README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
file. In theory this should be safe because "cp -alf" will just cause one
to overwrite the other. Unfortunately, coreutils cp also has a race[1]
which means that if one copy creates the file at just the wrong point the
other will fail with:
cp: cannot create hard link ‘..../tmp-glibc/deploy/images/pantera/README_-_DO_NOT_DELETE_FILES_IN_THIS_D.txt’ to
+‘..../tmp-glibc/work/rage_against-oe-linux-gnueabi/my-own-image/1.0-r0/deploy-my-own-image-complete/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt’: File exists
[1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25680
(From OE-Core rev: 71e9e88847d7000781642ea6187ebd8f40dfdcfe)
(From OE-Core rev: 20c39fdbb25c1b1867709c5bfb3ae2baef249be9)
Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/kernel.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/license.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/sstate.bbclass | 2 | ||||
-rw-r--r-- | meta/files/deploydir_readme.txt | 8 | ||||
-rw-r--r-- | meta/lib/oe/rootfs.py | 4 |
5 files changed, 1 insertions, 17 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index d07f69c5ce..eefe574a60 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass | |||
@@ -607,8 +607,6 @@ kernel_do_deploy() { | |||
607 | ln -sf ${base_name}.bin ${DEPLOYDIR}/${type} | 607 | ln -sf ${base_name}.bin ${DEPLOYDIR}/${type} |
608 | done | 608 | done |
609 | 609 | ||
610 | cp ${COREBASE}/meta/files/deploydir_readme.txt ${DEPLOYDIR}/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt | ||
611 | |||
612 | cd ${B} | 610 | cd ${B} |
613 | # Update deploy directory | 611 | # Update deploy directory |
614 | for type in ${KERNEL_IMAGETYPES} ; do | 612 | for type in ${KERNEL_IMAGETYPES} ; do |
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 660b85f619..721343d0f4 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass | |||
@@ -279,7 +279,7 @@ def get_deployed_files(man_file): | |||
279 | """ | 279 | """ |
280 | 280 | ||
281 | dep_files = [] | 281 | dep_files = [] |
282 | excluded_files = ["README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt"] | 282 | excluded_files = [] |
283 | with open(man_file, "r") as manifest: | 283 | with open(man_file, "r") as manifest: |
284 | all_files = manifest.read() | 284 | all_files = manifest.read() |
285 | for f in all_files.splitlines(): | 285 | for f in all_files.splitlines(): |
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index e2bc7355b4..5b92c5485a 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -30,8 +30,6 @@ SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR | |||
30 | SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" | 30 | SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" |
31 | # Archive the sources for many architectures in one deploy folder | 31 | # Archive the sources for many architectures in one deploy folder |
32 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}" | 32 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}" |
33 | # Ignore overlapping README | ||
34 | SSTATE_DUPWHITELIST += "${DEPLOY_DIR}/sdk/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt" | ||
35 | 33 | ||
36 | SSTATE_SCAN_FILES ?= "*.la *-config *_config" | 34 | SSTATE_SCAN_FILES ?= "*.la *-config *_config" |
37 | SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES", True).split())}" \) -type f' | 35 | SSTATE_SCAN_CMD ?= 'find ${SSTATE_BUILDDIR} \( -name "${@"\" -o -name \"".join(d.getVar("SSTATE_SCAN_FILES", True).split())}" \) -type f' |
diff --git a/meta/files/deploydir_readme.txt b/meta/files/deploydir_readme.txt deleted file mode 100644 index 97ec1855f5..0000000000 --- a/meta/files/deploydir_readme.txt +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | Files in the deploy directory will not be re-created automatically if you | ||
2 | delete them. If you do delete a file, you will need to run: | ||
3 | |||
4 | bitbake -c clean TARGET | ||
5 | bitbake TARGET | ||
6 | |||
7 | where TARGET is the name of the appropriate package or target e.g. | ||
8 | "virtual/kernel" for the kernel, an image, etc. | ||
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index c4a5086bec..f96788399f 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py | |||
@@ -186,10 +186,6 @@ class Rootfs(object, metaclass=ABCMeta): | |||
186 | 186 | ||
187 | shutil.copytree(postinst_intercepts_dir, intercepts_dir) | 187 | shutil.copytree(postinst_intercepts_dir, intercepts_dir) |
188 | 188 | ||
189 | shutil.copy(self.d.expand("${COREBASE}/meta/files/deploydir_readme.txt"), | ||
190 | self.deploydir + | ||
191 | "/README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt") | ||
192 | |||
193 | execute_pre_post_process(self.d, pre_process_cmds) | 189 | execute_pre_post_process(self.d, pre_process_cmds) |
194 | 190 | ||
195 | if self.progress_reporter: | 191 | if self.progress_reporter: |