Skip to contentSkip to conversation

gcc-source: exlude from world

PATCH In review Randy MacLeod 3 participants 6 messages Aug 28, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gcc-source: exlude from world

Exclude all versions of gcc-source from world builds so that:
bitbake -c <stage> world
will work. gcc-source deletes most bitbake build stages since it is a source-only package.

---
 meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 ++
 meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 ++
 meta/recipes-devtools/gcc/gcc-source_5.2.bb | 2 ++
 3 files changed, 6 insertions(+)
meta/recipes-devtools/gcc/gcc-source_4.8.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
 require recipes-devtools/gcc/gcc-${PV}.inc
 require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_4.9.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
 require recipes-devtools/gcc/gcc-${PV}.inc
 require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_5.2.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
 require recipes-devtools/gcc/gcc-${PV}.inc
 require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
Signature · 1 line
2.4.2
#1 lore raw
Quoted 4 lines · Randy MacLeod

Exclude all versions of gcc-source from world builds so that:
bitbake -c <stage> world
will work. gcc-source deletes most bitbake build stages since it is a source-only package.

I think this is missing a [YOCTO #7878] as this is trying to address that bug, correct?

Sau!

Quoted 36 lines
---
  meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_5.2.bb | 2 ++
  3 files changed, 6 insertions(+)
meta/recipes-devtools/gcc/gcc-source_4.8.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_4.9.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_5.2.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
#2 lore raw
In reply to Randy MacLeod

I've sent the parent email to fix

$ bitbake -c <stage> world.
I've confirmed that my change works for:
$ bitbake -c configure world

I wasn't sure if I should leave gcc-source as is or change it to be similar to kernel-devsrc because meta/recipes-devtools/gcc/gcc-source.inc does:

deltask do_configure
deltask do_compile
deltask do_package
...

whereas meta/recipes-kernel/linux/kernel-devsrc.bb does:
# There's nothing to do here, except install the source where we can package it do_fetch[noexec] = "1"
do_unpack[noexec] = "1"
do_patch[noexec] = "1"
...

The kernel-devsrc approach doesn't break world builds but it's probably slightly less efficient.

Also do people care about consistency in naming:
gcc-source.inc vs
kernel-devsrc.bb
? There are only two such 'source' packages so it's not a big deal.

../Randy

Quoted 40 lines · Randy MacLeod

Exclude all versions of gcc-source from world builds so that:
bitbake -c <stage> world
will work. gcc-source deletes most bitbake build stages since it is a source-only package.

---
  meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_5.2.bb | 2 ++
  3 files changed, 6 insertions(+)
meta/recipes-devtools/gcc/gcc-source_4.8.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_4.9.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_5.2.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
Signature · 2 lines
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5
#3 lore raw
Quoted 6 lines · Randy MacLeod

I've sent the parent email to fix

$ bitbake -c <stage> world.
I've confirmed that my change works for:
$ bitbake -c configure world
Quoted 7 lines

I wasn't sure if I should leave gcc-source as is or change it to be similar to kernel-devsrc because meta/recipes-devtools/gcc/gcc-source.inc does:

deltask do_configure
deltask do_compile
deltask do_package

if a task is deleted and you do -c <that-task> then you should get an error. deltask would create no stamps as opposed to noop tasks. May be it can be turned into warning ( not convinced for that too) but excluding it world doesn't sound a good solution here.

Quoted 79 lines

...

whereas meta/recipes-kernel/linux/kernel-devsrc.bb does:
# There's nothing to do here, except install the source where we can package it
do_fetch[noexec] = "1"
do_unpack[noexec] = "1"
do_patch[noexec] = "1"
...

The kernel-devsrc approach doesn't break world builds but it's probably slightly less efficient.

Also do people care about consistency in naming:
gcc-source.inc vs
kernel-devsrc.bb
? There are only two such 'source' packages so it's not a big deal.

../Randy

Quoted 40 lines · Randy MacLeod

Exclude all versions of gcc-source from world builds so that:
bitbake -c <stage> world
will work. gcc-source deletes most bitbake build stages since it is a source-only package.

---
  meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_5.2.bb | 2 ++
  3 files changed, 6 insertions(+)
meta/recipes-devtools/gcc/gcc-source_4.8.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_4.9.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_5.2.bb +0 -0
index 234b82e..b890fa3 100644

meta/recipes-devtools/gcc/gcc-source_5.2.bb line 4

Quoted 4 lines
meta/recipes-devtools/gcc/gcc-source_5.2.bb +2 -0
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"

--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5

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

#4 lore raw
Quoted 12 lines · Khem Raj
Quoted 10 lines · Randy MacLeod

I've sent the parent email to fix

$ bitbake -c <stage> world.
I've confirmed that my change works for:
$ bitbake -c configure world

I wasn't sure if I should leave gcc-source as is or change it to be similar to kernel-devsrc because meta/recipes-devtools/gcc/gcc-source.inc does:

Quoted 8 lines
Quoted 3 lines

deltask do_configure
deltask do_compile
deltask do_package

if a task is deleted and you do -c <that-task> then you should get an error. deltask would create no stamps as opposed to noop tasks. May be it can be turned into warning ( not convinced for that too) but excluding it world doesn't sound a good solution here.

I'd be happy to change the deltask lines to do_foo[noexec] = "1" if people agree on that. Would that work for you Khem?

The kernel-devsrc and gcc-source packages are really
a different class of recipes from -native or target and if we had more than two of them, we should create a class to encapsulate their behaviour and ensure that they don't break bitbake -c <stage> world builds. I haven't tried that yet but I expect the class would just have the do_foo[noexec] = "1" so you don't have to type it in each of the two recipes of this type that we currently have! :)

I'd like to do the:
do_foo[noexec] = "1"
now and figure out how to handle foo-source in 2.1. Agreed?

I'll include the [YOCTO #7878] in a v2 once I get some guidance on what is acceptable.

../Randy

Quoted 80 lines
Quoted 80 lines

...

whereas meta/recipes-kernel/linux/kernel-devsrc.bb does:
# There's nothing to do here, except install the source where we can package it
do_fetch[noexec] = "1"
do_unpack[noexec] = "1"
do_patch[noexec] = "1"
...

The kernel-devsrc approach doesn't break world builds but it's probably slightly less efficient.

Also do people care about consistency in naming:
gcc-source.inc vs
kernel-devsrc.bb
? There are only two such 'source' packages so it's not a big deal.

../Randy

Quoted 40 lines · Randy MacLeod

Exclude all versions of gcc-source from world builds so that:
bitbake -c <stage> world
will work. gcc-source deletes most bitbake build stages since it is a source-only package.

---
   meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 ++
   meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 ++
   meta/recipes-devtools/gcc/gcc-source_5.2.bb | 2 ++
   3 files changed, 6 insertions(+)
meta/recipes-devtools/gcc/gcc-source_4.8.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
   require recipes-devtools/gcc/gcc-${PV}.inc
   require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_4.9.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
   require recipes-devtools/gcc/gcc-${PV}.inc
   require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_5.2.bb +0 -0
index 234b82e..b890fa3 100644

meta/recipes-devtools/gcc/gcc-source_5.2.bb line 4

Quoted 4 lines
meta/recipes-devtools/gcc/gcc-source_5.2.bb +2 -0
@@ -1,2 +1,4 @@
   require recipes-devtools/gcc/gcc-${PV}.inc
   require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"

--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5

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

Signature · 2 lines
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5
#5 lore raw
Quoted 20 lines · Randy MacLeod
Quoted 16 lines · Khem Raj
Quoted 13 lines · Randy MacLeod

I've sent the parent email to fix

$ bitbake -c <stage> world.
I've confirmed that my change works for:
$ bitbake -c configure world

I wasn't sure if I should leave gcc-source as is or change it to be similar to kernel-devsrc because meta/recipes-devtools/gcc/gcc-source.inc does:

deltask do_configure
deltask do_compile
deltask do_package

Quoted 8 lines
Quoted 4 lines

if a task is deleted and you do -c <that-task> then you should get an error. deltask would create no stamps as opposed to noop tasks. May be it can be turned into warning ( not convinced for that too) but excluding it world doesn't sound a good solution here.

I'd be happy to change the deltask lines to do_foo[noexec] = "1" if people agree on that. Would that work for you Khem?

it should work for the toolchain bootstrapping. If it does then probably we can live with it

Quoted 104 lines

The kernel-devsrc and gcc-source packages are really
a different class of recipes from -native or target and if we had more than two of them, we should create a class to encapsulate their behaviour and ensure that they don't break bitbake -c <stage> world builds. I haven't tried that yet but I expect the class would just have the do_foo[noexec] = "1" so you don't have to type it in each of the two recipes of this type that we currently have! :)

I'd like to do the:
do_foo[noexec] = "1"
now and figure out how to handle foo-source in 2.1. Agreed?

I'll include the [YOCTO #7878] in a v2 once I get some guidance on what is acceptable.

../Randy

Quoted 75 lines
Quoted 75 lines

...

whereas meta/recipes-kernel/linux/kernel-devsrc.bb does:
# There's nothing to do here, except install the source where we can package it
do_fetch[noexec] = "1"
do_unpack[noexec] = "1"
do_patch[noexec] = "1"
...

The kernel-devsrc approach doesn't break world builds but it's probably slightly less efficient.

Also do people care about consistency in naming:
gcc-source.inc vs
kernel-devsrc.bb
? There are only two such 'source' packages so it's not a big deal.

../Randy

Quoted 40 lines · Randy MacLeod

Exclude all versions of gcc-source from world builds so that:
bitbake -c <stage> world
will work. gcc-source deletes most bitbake build stages since it is a source-only package.

---
  meta/recipes-devtools/gcc/gcc-source_4.8.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_4.9.bb | 2 ++
  meta/recipes-devtools/gcc/gcc-source_5.2.bb | 2 ++
  3 files changed, 6 insertions(+)
meta/recipes-devtools/gcc/gcc-source_4.8.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_4.9.bb +2 -0
index 234b82e..b890fa3 100644
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"
meta/recipes-devtools/gcc/gcc-source_5.2.bb +0 -0
index 234b82e..b890fa3 100644

meta/recipes-devtools/gcc/gcc-source_5.2.bb line 4

Quoted 4 lines
meta/recipes-devtools/gcc/gcc-source_5.2.bb +2 -0
@@ -1,2 +1,4 @@
  require recipes-devtools/gcc/gcc-${PV}.inc
  require recipes-devtools/gcc/gcc-source.inc
+
+EXCLUDE_FROM_WORLD = "1"

--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5

Quoted 5 lines
Quoted 5 lines

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

--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350 | 350 Terry Fox Drive, Suite 200, Ottawa, ON, Canada, K2K 2W5