All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@windriver.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: Chris Larson <chris_larson@mentor.com>,
	openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 01/42] gcc: Add gcc6 recipes
Date: Thu, 2 Jun 2016 15:43:17 -0400	[thread overview]
Message-ID: <0b2ff27d-57b5-1c29-ab05-a6fd6cb2b321@windriver.com> (raw)
In-Reply-To: <1570741.InmcqNLx36@peggleto-mobl.ger.corp.intel.com>

On 2016-06-02 3:38 PM, Paul Eggleton wrote:
> On Thu, 02 Jun 2016 15:30:14 Bruce Ashfield wrote:
>> On 2016-06-02 3:24 PM, Paul Eggleton wrote:
>>> On Thu, 02 Jun 2016 15:19:37 Bruce Ashfield wrote:
>>>> On 2016-06-02 3:15 PM, Paul Eggleton wrote:
>>>>> On Thu, 02 Jun 2016 18:05:35 Martin Jansa wrote:
>>>>>> On Wed, Jun 01, 2016 at 10:23:35AM +1200, Paul Eggleton wrote:
>>>>>>> On Wed, 01 Jun 2016 10:20:23 Paul Eggleton wrote:
>>>>>>>> On Tue, 31 May 2016 11:12:21 Jussi Kukkonen wrote:
>>>>>>>>> On 11 May 2016 at 20:35, Khem Raj <raj.khem@gmail.com> wrote:
>>>>>>>>>> +#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
>>>>>>>>>> +BASEURI ?= "git://
>>>>>>>>>> github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
>>>>>>>>>
>>>>>>>>> I guess this is where git2_github.com.gcc-mirror.gcc.tar.gz download
>>>>>>>>> comes from? It increased the size of my downloads-directory by >30%
>>>>>>>>> --
>>>>>>>>> and I must have quite a bit of old junk in that directory already.
>>>>>>>>>
>>>>>>>>> Is there no other solution to this than a 2.5G git copy (honest
>>>>>>>>> question, I don't know gcc)?
>>>>>>>>
>>>>>>>> We went down this road before and it wasn't great for users. There is
>>>>>>>> at
>>>>>>>> least a tarball for 6.1, we'd presumably need some patches on top of
>>>>>>>> that (~43 if we were to simply take what's in the gcc-6-branch
>>>>>>>> between
>>>>>>>> 6.1 and bd9a826, minus the "daily bumps").
>>>>>>>
>>>>>>> Perhaps that was a little unclear - when I say "we went down this road
>>>>>>> before" I'm agreeing with Jussi - we pointed to a git branch in a
>>>>>>> previous release with the same resulting huge download for everyone,
>>>>>>> something I think we should avoid if at all possible.
>>>>>>
>>>>>> Maybe it's biggest but at least there is only one copy of it:
>>>>>>
>>>>>> top 10 in my downloads (archives and then git clones).
>>>>>>
>>>>>> 823M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.14.git.tar.gz
>>>>>> 831M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.10.git.tar.gz
>>>>>> 893M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.17.git.tar.gz
>>>>>> 934M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-3.19.git.tar.gz
>>>>>> 969M
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-4.1.git.tar.gz
>>>>>> 1.2G
>>>>>> /OE/downloads/git2_git.yoctoproject.org.linux-yocto-dev.git.tar.gz
>>>>>>
>>>>>> 2.4G    /OE/downloads/git2_github.com.gcc-mirror.gcc.tar.gz
>>>>>>
>>>>>> 854M
>>>>>> /OE/downloads/git2/github.com.qtproject.qtwebengine-chromium.git
>>>>>>
>>>>>> 877M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.10.git
>>>>>> 900M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.14.git
>>>>>> 921M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.17.git
>>>>>> 964M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-3.19.git
>>>>>> 999M    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.1.git
>>>>>> 1.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-dev.git
>>>>>> 2.3G    /OE/downloads/git2/git.yoctoproject.org.linux-yocto-4.4.git
>>>>>
>>>>> No argument from me there - it does seem a little wasteful given that
>>>>> there must be a huge overlap between those repos.
>>>>
>>>> In other build systems, I've simply been able to reference a common
>>>> repository for the majority of the blobs. That isn't an option with
>>>> oe/bitbake (as far as I know).
>>>
>>> It's possible we could add functionality along those lines to at least
>>> save download time; disk usage would probably be unaffected though.
>>
>> Nope. Disk usage goes down as well. With alternate objects, each
>> repo is only the size of what is unique to the repo.
>
> I guess it depends on how you do it. Reducing both would be ideal, of course.
>

Both can absolutely be reduced.

In the past, I've had a korg pristine clone available. That's your
big fetch (download and disk), after that all kernel clones refer
to it. They are only 10's of Megabytes on disk and on the wire after
that.

>>>> We could also do shallow clones, but I'm also unsure of how well that
>>>> is supported.
>>>
>>> I know Chris looked into adding this, I don't recall how far he got.
>>>
>>>> With the amount of series that are completely rebased and dynamic in
>>>> content, the trees do need to be separate per version. It becomes
>>>> completely un-bisectable and maintainable any other way.
>>>
>>> Bisectability is function of how the branch is managed, not the repository
>>> - surely? Perhaps I'm missing something.
>>
>> Terminology perhaps? branch, repository .. whatever. They are all
>> the same.
>>
>> Granularity of kernel commits. Over time with features like lttng,
>> aufs, preempt-rt, backports, etc, etc, It becomes impossible to
>> integrate new features and kernel updates without conflicts.
>>
>> You end up with a tree riddled with merge commits, reverts and other
>> garbage that obscure the real changes.
>>
>> I've lived that life, and its a not fun.
>
> I don't think anyone would want to move to that model, I agree it's ugly. It
> seems to me that one repo doesn't mandate that though - all it would require
> would be unique branch names, so you'd end up multiplying the number of
> standard/xxx branches by the number of versions. We should definitely try
> going down the alternate objects / shallow clones routes first before
> potentially breaking people's workflow however.

Yep. I've also tried that, in fact, that's where we started. You
can have a jungle of branches .. and it can definitely work. But
I keep getting pressed to reduce branches, not add more. But if
push came to shove .. it definitely is viable (and less nasty than
the alternatives).

Bruce

>
> Cheers,
> Paul
>



  reply	other threads:[~2016-06-02 19:43 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-11 17:35 [PATCH 00/42] GCC/GDB/Binutils Upgrades Khem Raj
2016-05-11 17:35 ` [PATCH 01/42] gcc: Add gcc6 recipes Khem Raj
2016-05-31  8:12   ` Jussi Kukkonen
2016-05-31 22:20     ` Paul Eggleton
2016-05-31 22:23       ` Paul Eggleton
2016-06-02 16:05         ` Martin Jansa
2016-06-02 19:15           ` Paul Eggleton
2016-06-02 19:19             ` Bruce Ashfield
2016-06-02 19:24               ` Paul Eggleton
2016-06-02 19:30                 ` Bruce Ashfield
2016-06-02 19:38                   ` Paul Eggleton
2016-06-02 19:43                     ` Bruce Ashfield [this message]
2016-06-02 22:18                 ` Christopher Larson
2016-05-11 17:35 ` [PATCH 02/42] glibc: Add recipes for 2.24 release Khem Raj
2016-05-12  5:50   ` Khem Raj
2016-05-11 17:35 ` [PATCH 03/42] glib-2.0: Ignore useless warning found with gcc-6 Khem Raj
2016-05-11 17:35 ` [PATCH 04/42] elfutils: Upgrade to 0.166 Khem Raj
2016-05-11 17:35 ` [PATCH 05/42] rpm: Fix build with gcc6 Khem Raj
2016-05-11 17:35 ` [PATCH 06/42] alsa-tools: " Khem Raj
2016-05-11 17:35 ` [PATCH 07/42] lzop: Fix build with gcc-6 Khem Raj
2016-05-11 17:35 ` [PATCH 08/42] webkitgtk: Upgrade to 2.12.1 Khem Raj
2016-05-11 17:35 ` [PATCH 09/42] oprofile: Fix with gcc6 Khem Raj
2016-05-11 17:35 ` [PATCH 10/42] mdadm: Fix gcc 6 warnings Khem Raj
2016-05-11 17:35 ` [PATCH 11/42] nss: Upgrade to 3.23 Khem Raj
2016-05-11 17:35 ` [PATCH 12/42] pkgconfig: Fix build with gcc-6 and upgrade to 0.29.1 Khem Raj
2016-05-11 17:35 ` [PATCH 13/42] binutils: disable werror on native build Khem Raj
2016-05-11 17:35 ` [PATCH 14/42] grub: Fix build with gcc-6 Khem Raj
2016-05-11 17:35 ` [PATCH 15/42] valgrind: Fix build with gcc6 Khem Raj
2016-05-11 17:35 ` [PATCH 16/42] busybox/mdev: Ensure /sys is mounted before using it Khem Raj
2016-05-12 12:58   ` Andreas Oberritter
2016-05-11 17:35 ` [PATCH 17/42] libc-common.bbclass: Use sed instead of grep Khem Raj
2016-05-11 17:35 ` [PATCH 18/42] conf: bump minimum kernel to 3.2.0 Khem Raj
2016-05-12 17:18   ` Ruslan Bilovol
2016-05-12 18:26     ` Khem Raj
2016-05-11 17:35 ` [PATCH 19/42] systemd: Create missing sysusers offline Khem Raj
2016-05-13 12:44   ` Richard Purdie
2016-05-11 17:35 ` [PATCH 20/42] grub_git: Upgrade to latest tip Khem Raj
2016-05-11 17:35 ` [PATCH 21/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
2016-05-11 17:35 ` [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6 Khem Raj
2016-05-11 21:27   ` Bruce Ashfield
2016-05-11 21:30     ` Khem Raj
2016-05-11 21:36       ` Bruce Ashfield
2016-05-11 21:55         ` Khem Raj
2016-05-12  4:31           ` Bruce Ashfield
2016-05-12 13:28             ` Bruce Ashfield
2016-05-12 14:21               ` Khem Raj
2016-05-12 14:27                 ` Bruce Ashfield
2016-05-12 14:27                   ` Khem Raj
2016-05-12 15:52                     ` Khem Raj
2016-05-11 17:35 ` [PATCH 23/42] linux-yocto: Fix build with gcc6 on mips Khem Raj
2016-05-11 17:35 ` [PATCH 24/42] python-native: Point to expat in native sysroot Khem Raj
2016-05-12  6:26   ` Khem Raj
2016-05-11 17:35 ` [PATCH 25/42] bitbake.conf: Empty out BUILDSDK_CPPFLAGS Khem Raj
2016-05-11 17:35 ` [PATCH 26/42] strace: Remove pipe.expected Khem Raj
2016-05-11 17:42   ` Khem Raj
2016-05-11 17:35 ` [PATCH 27/42] musl: Upgrade to tip of tree Khem Raj
2016-05-11 17:35 ` [PATCH 28/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
2016-05-11 17:35 ` [PATCH 29/42] libunwind: Upgrade to 1.2rc1+ Khem Raj
2016-05-11 17:35 ` [PATCH 30/42] libgcc: Ensure that gcc configure options are passed to libgcc too Khem Raj
2016-05-11 17:35 ` [PATCH 31/42] gdb,strace: Fix builds on ppc/musl Khem Raj
2016-05-11 17:35 ` [PATCH 32/42] libunwind: Add a confgure option for tests Khem Raj
2016-05-11 17:35 ` [PATCH 33/42] gdb: Upgrade to 7.11 Khem Raj
2016-05-12  5:48   ` Khem Raj
2016-05-11 17:35 ` [PATCH 34/42] gdb: Disable binutils components Khem Raj
2016-05-11 17:35 ` [PATCH 35/42] tcmode-default: Bump gcc,glibc,gdb Khem Raj
2016-05-11 17:35 ` [PATCH 36/42] bitbake: Oldest kernel for nios2 is 3.19 Khem Raj
2016-05-11 17:35 ` [PATCH 37/42] musl: Create symlinks for stub libraries Khem Raj
2016-05-11 17:35 ` [PATCH 38/42] mdadm: Fix build with clang Khem Raj
2016-05-11 17:35 ` [PATCH 39/42] distcc: Upgrade to 3.2 Khem Raj
2016-05-11 17:35 ` [PATCH 40/42] ruby: Upgrade to 2.2.5 Khem Raj
2016-05-11 17:35 ` [PATCH 41/42] mpfr: Upgrade to 3.1.4 Khem Raj
2016-05-11 17:35 ` [PATCH 42/42] gcc-runtime, libgcc: Symlink c++ header and startup files in target_triplet for SDK use Khem Raj
2016-05-12  9:05 ` [PATCH 00/42] GCC/GDB/Binutils Upgrades Ioan-Adrian Ratiu
2016-05-12 14:19   ` akuster808
2016-05-12 14:33     ` Ioan-Adrian Ratiu
2016-05-13 12:47 ` Richard Purdie
2016-05-13 16:48   ` Khem Raj

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0b2ff27d-57b5-1c29-ab05-a6fd6cb2b321@windriver.com \
    --to=bruce.ashfield@windriver.com \
    --cc=chris_larson@mentor.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=paul.eggleton@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.