[OE-core] How to put a correct dependency with regards to gcc?

Randy MacLeod randy.macleod at windriver.com
Wed Sep 16 02:37:01 UTC 2015


On 2015-09-14 01:55 PM, Randy MacLeod wrote:
> On 2015-09-09 12:09 PM, Reshetova, Elena wrote:
>>> Maybe we have to fix gcc-source after all rather than use the
>>> EXCLUDE_WORLD
>> change I made in:
>>>     https://bugzilla.yoctoproject.org/show_bug.cgi?id=7878
>>
>> Should I file a bug about this for easy tracking? My problem really seems
>> that do_fetch on some related to gcc packages doesn't result in fetch of
>> sources.
>
> I'll send a fix early this week.
>
> ../Randy
>
>>
>>> Does your scheme work for the kernel source? See:
>>
>>> Search for "kernel-devsrc" here:
>>>   http://comments.gmane.org/gmane.comp.handhelds.openembedded.core/68352
>>
>> There doesn't seem to be an issue with kernel source packages for my
>> task. I
>> think this is because the sources are correctly fetched by dependent
>> packages.
>>
>> Best Regards,
>> Elena.
>>
>

I haven't been able to come up with a scheme that works yet.
With the patch below, I get:

I'll need someone to explain the intent of the gcc-* pkgs
design or more time to dig though the files and history.

Robert tells me that my idea that I need a bitbake rule to:
  " call the parent implementation or
    if there isn't one, return success."
has been discussed before and it is not easy to do.

For me, this is "a nice to have" feature that could wait
for oe-core-2.1.

../Randy



diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc 
b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index c987ccb..1da7bda 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -5,12 +5,18 @@ LICENSE = "NCSA | MIT"
  LIC_FILES_CHKSUM = "\
      file://libsanitizer/LICENSE.TXT;md5=0249c37748936faf5b1efd5789587909 \
  "
+EXCLUDE_FROM_WORLD = "1"

  EXTRA_OECONF_PATHS = "\
      --with-sysroot=/not/exist \
      --with-build-sysroot=${STAGING_DIR_TARGET} \
  "

+# These stages are done by the sister gcc package:
+# do_unpack[noexec] = "1"
+# do_patch[noexec] = "1"
+
+
  do_configure () {
      mtarget=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##`
      target=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##`
diff --git a/meta/recipes-devtools/gcc/gcc-source.inc 
b/meta/recipes-devtools/gcc/gcc-source.inc
index 794fd4d..ef4ff60 100644
--- a/meta/recipes-devtools/gcc/gcc-source.inc
+++ b/meta/recipes-devtools/gcc/gcc-source.inc
@@ -1,15 +1,16 @@
-deltask do_configure
-deltask do_compile
-deltask do_package
-deltask do_package_write_rpm
-deltask do_package_write_ipk
-deltask do_package_write_deb
-deltask do_install
-deltask do_populate_sysroot
-deltask do_populate_lic
-deltask do_package_qa
-deltask do_packagedata
-deltask do_rm_work
+# gcc-source should only be fetched, unpacked and patched.
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_package[noexec] = "1"
+do_package_write_rpm[noexec] = "1"
+do_package_write_ipk[noexec] = "1"
+do_package_write_deb[noexec] = "1"
+do_install[noexec] = "1"
+do_populate_sysroot[noexec] = "1"
+do_populate_lic[noexec] = "1"
+do_package_qa[noexec] = "1"
+do_packagedata[noexec] = "1"
+do_rm_work[noexec] = "1"

  PN = "gcc-source-${PV}"
  WORKDIR = "${TMPDIR}/work-shared/gcc-${PV}-${PR}"


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



More information about the Openembedded-core mailing list