Skip to contentSkip to conversation

ccache: Ensure CCACHE_DIR is cleaned by do_clean task

PATCH In review Richard Purdie 3 participants 7 messages Jul 9, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ccache: Ensure CCACHE_DIR is cleaned by do_clean task

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

---

meta/classes/ccache.bbclass +2 -0
index 5aa2da2..cd06a4b 100644
@@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"
 
 do_configure[dirs] =+ "${CCACHE_DIR}"
 do_kernel_configme[dirs] =+ "${CCACHE_DIR}"
+
+do_clean[cleandirs] += "${CCACHE_DIR}"
#1 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 5 lines · Richard Purdie

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

Quoted 9 lines

--- diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 5aa2da2..cd06a4b 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"

do_configure[dirs] =+ "${CCACHE_DIR}" do_kernel_configme[dirs] =+ "${CCACHE_DIR}" + +do_clean[cleandirs] += "${CCACHE_DIR}"

so will this remove all contents of .ccache dir ?
or just the package you are cleanall'ing
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/657cACgkQuwUzVZGdMxR6/gCeIFHIc01FiI5bCB5jiFaPev0/ VXkAn1V/VQEEfwQop6kt2/kgaei2A5yZ
=gYFM
-----END PGP SIGNATURE-----

#2 lore raw
Quoted 15 lines · Khem Raj

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 11 lines · Richard Purdie

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

--- diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 5aa2da2..cd06a4b 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"

Quoted 6 lines
Quoted 3 lines

do_configure[dirs] =+ "${CCACHE_DIR}" do_kernel_configme[dirs] =+ "${CCACHE_DIR}" + +do_clean[cleandirs] += "${CCACHE_DIR}"

so will this remove all contents of .ccache dir ?
or just the package you are cleanall'ing

I was wondering the same thing, with the default configuration:

bitbake.conf:# Assign CCACHE_DIR a default value to fix a bug of ccache 3.1.7, bitbake.conf:# since it would always create CCACHE_DIR/.ccache even if bitbake.conf:export CCACHE_DIR ??= "${@os.getenv('HOME')}"

--Mark

Quoted 14 lines

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/657cACgkQuwUzVZGdMxR6/gCeIFHIc01FiI5bCB5jiFaPev0/ VXkAn1V/VQEEfwQop6kt2/kgaei2A5yZ
=gYFM
-----END PGP SIGNATURE-----

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#3 lore raw
Quoted 20 lines · Mark Hatle
Quoted 19 lines · Khem Raj

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 14 lines · Richard Purdie

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

--- diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 5aa2da2..cd06a4b 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"

do_configure[dirs] =+ "${CCACHE_DIR}" do_kernel_configme[dirs] =+ "${CCACHE_DIR}" + +do_clean[cleandirs] += "${CCACHE_DIR}"

Quoted 8 lines
Quoted 2 lines

so will this remove all contents of .ccache dir ?
or just the package you are cleanall'ing

I was wondering the same thing, with the default configuration:

bitbake.conf:# Assign CCACHE_DIR a default value to fix a bug of ccache 3.1.7, bitbake.conf:# since it would always create CCACHE_DIR/.ccache even if bitbake.conf:export CCACHE_DIR ??= "${@os.getenv('HOME')}"

That line is only in the class file and that class redefines CCACHE_DIR to include PN.

Cheers,

Richard

#4 lore raw
In reply to Khem Raj
Quoted 12 lines · Khem Raj
Quoted 11 lines · Richard Purdie

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

--- diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 5aa2da2..cd06a4b 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"

Quoted 6 lines
Quoted 3 lines

do_configure[dirs] =+ "${CCACHE_DIR}" do_kernel_configme[dirs] =+ "${CCACHE_DIR}" + +do_clean[cleandirs] += "${CCACHE_DIR}"

so will this remove all contents of .ccache dir ?
or just the package you are cleanall'ing

Our default CCACHE_DIR defined above this has ${PN} in it so just the package you are cleaning.

Cheers,

Richard

#5 lore raw
Quoted 17 lines · Richard Purdie
Quoted 16 lines · Khem Raj
Quoted 14 lines · Richard Purdie

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

--- diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 5aa2da2..cd06a4b 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"

do_configure[dirs] =+ "${CCACHE_DIR}" do_kernel_configme[dirs] =+ "${CCACHE_DIR}" + +do_clean[cleandirs] += "${CCACHE_DIR}"

Quoted 5 lines
Quoted 2 lines

so will this remove all contents of .ccache dir ?
or just the package you are cleanall'ing

Our default CCACHE_DIR defined above this has ${PN} in it so just the package you are cleaning.

I'm worried about what happens if someone changes the CCACHE_DIR to a single shared location.

--Mark

Quoted 10 lines

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#6 lore raw
Quoted 18 lines · Mark Hatle
Quoted 17 lines · Richard Purdie
Quoted 16 lines · Khem Raj
Quoted 14 lines · Richard Purdie

This ensures a rebuild does really build from scratch when ccache is in use.

[YOCTO #2696]

--- diff --git a/meta/classes/ccache.bbclass b/meta/classes/ccache.bbclass index 5aa2da2..cd06a4b 100644 --- a/meta/classes/ccache.bbclass +++ b/meta/classes/ccache.bbclass @@ -4,3 +4,5 @@ CCACHE_DISABLE[unexport] = "1"

do_configure[dirs] =+ "${CCACHE_DIR}" do_kernel_configme[dirs] =+ "${CCACHE_DIR}" + +do_clean[cleandirs] += "${CCACHE_DIR}"

Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

so will this remove all contents of .ccache dir ?
or just the package you are cleanall'ing

Our default CCACHE_DIR defined above this has ${PN} in it so just the package you are cleaning.

I'm worried about what happens if someone changes the CCACHE_DIR to a single shared location.

It would wipe that shared location upon a clean unless they change the class...

Cheers,

Richard