Re: [gentoo-dev] ChangeLog generation, profiles/ mess.

2016-11-30 Thread Ulrich Mueller
> On Tue, 29 Nov 2016, Robin H Johnson wrote:

>> - one ChangeLog for each first-level subdir other than categories
>>   (i.e. eclass, licenses, profiles, etc.),
> Already done, just querying if profiles/ needs more ChangeLog detail.

Yeah, keep one ChangeLog for all of profiles/. The existing
sub-ChangeLogs there are rather confusing because they don't seem to
follow any consistent layout.

Keeping one single file would also agree with the recommendation for
commit messages, namely to prepend "profiles:" for any change below
the profiles/ dir.
https://wiki.gentoo.org/wiki/Gentoo_git_workflow#Commit_message_format

> Here's the size of the non-category non-package changelogs, with
> splitting to all top-levels.
> 127 scripts/ChangeLog-2016
>1266 metadata/ChangeLog-2016
>1929 ChangeLog-2016
>   11987 licenses/ChangeLog-2016
>  198021 eclass/ChangeLog-2016
>  362733 profiles/ChangeLog-2016

> If we collapse to have:
> - per-package
> - major top-levels: eclass/, profile/, licenses/
> - (everything else)
> Then we get:
>   11972 licenses/ChangeLog-2016
>   12941 ChangeLog-2016
>  196905 eclass/ChangeLog-2016
>  362040 profiles/ChangeLog-2016

I like the second scheme better. (No strong opinion about keeping
separate ChangeLogs for metadata/ and scripts/ though.)

Ulrich


pgpJIMernMHEX.pgp
Description: PGP signature


Re: [gentoo-dev] ChangeLog generation, profiles/ mess.

2016-11-29 Thread Robin H. Johnson
My question was explicitly asking about profiles/, but I'll respond to
the other pieces in turn.

On Tue, Nov 29, 2016 at 11:59:57PM +0100, Ulrich Mueller wrote:
> I'd say keep it simple:
> - one ChangeLog for each package dir,
Already done.

> - no ChangeLog for category dirs (they contain only a single metadata.xml),
Presently implemented, but considering turning it off, because it's mostly
duplicated entries (tree-wide changes to $CAT/metadata.xml).
The rate-of-change on category dirs is very slow, and they are tiny:
92562 bytes over 163 files (mean is 567 bytes). See below for more size on what
happens if they get collapsed to the top-level.

> - one ChangeLog for each first-level subdir other than categories
>   (i.e. eclass, licenses, profiles, etc.),
Already done, just querying if profiles/ needs more ChangeLog detail.

> - top-level ChangeLog for anything not covered by the other ChangeLogs.
Other than the per-category changelogs, here's the size 

Here's the size of the non-category non-package changelogs, with splitting to
all top-levels.
127 scripts/ChangeLog-2016
   1266 metadata/ChangeLog-2016
   1929 ChangeLog-2016
  11987 licenses/ChangeLog-2016
 198021 eclass/ChangeLog-2016
 362733 profiles/ChangeLog-2016

If we collapse to have:
- per-package
- major top-levels: eclass/, profile/, licenses/
- (everything else)
Then we get:
  11972 licenses/ChangeLog-2016
  12941 ChangeLog-2016
 196905 eclass/ChangeLog-2016
 362040 profiles/ChangeLog-2016

-- 
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation Trustee & Treasurer
E-Mail   : robb...@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136


signature.asc
Description: Digital signature


Re: [gentoo-dev] ChangeLog generation, profiles/ mess.

2016-11-29 Thread Brian Dolbec
On Tue, 29 Nov 2016 23:59:57 +0100
Ulrich Mueller  wrote:

> > On Tue, 29 Nov 2016, Robin H Johnson wrote:  
> 
> > TL;DR: Let's replace profiles/**/ChangeLog with profiles/ChangeLog,
> >because it's a mess.  
> 
> > I'm writing the new changelog generation code [1][2], and I'm
> > wondering if we can clean up the mess that we have in profiles/.  
> 
> > The existing Portage egencache --update-changelogs command does NOT
> > generate any ChangeLogs for profiles/ (or eclasses, licenses,
> > scripts, metadata, toplevel skel.*).  
> 
> I'd say keep it simple:
> - one ChangeLog for each package dir,
> - one ChangeLog for each first-level subdir other than categories
>   (i.e. eclass, licenses, profiles, etc.),
> - no ChangeLog for category dirs (they contain only a single
> metadata.xml),
> - top-level ChangeLog for anything not covered by the other
> ChangeLogs.
> 
> Ulrich


+1, keep it simple
-- 
Brian Dolbec 



pgpY7ZcxtzCHE.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] ChangeLog generation, profiles/ mess.

2016-11-29 Thread Ulrich Mueller
> On Tue, 29 Nov 2016, Robin H Johnson wrote:

> TL;DR: Let's replace profiles/**/ChangeLog with profiles/ChangeLog,
>because it's a mess.

> I'm writing the new changelog generation code [1][2], and I'm
> wondering if we can clean up the mess that we have in profiles/.

> The existing Portage egencache --update-changelogs command does NOT
> generate any ChangeLogs for profiles/ (or eclasses, licenses,
> scripts, metadata, toplevel skel.*).

I'd say keep it simple:
- one ChangeLog for each package dir,
- one ChangeLog for each first-level subdir other than categories
  (i.e. eclass, licenses, profiles, etc.),
- no ChangeLog for category dirs (they contain only a single metadata.xml),
- top-level ChangeLog for anything not covered by the other ChangeLogs.

Ulrich


pgp2s5WVNSzXD.pgp
Description: PGP signature


[gentoo-dev] ChangeLog generation, profiles/ mess.

2016-11-29 Thread Robin H. Johnson

TL;DR: Let's replace profiles/**/ChangeLog with profiles/ChangeLog, because
   it's a mess.

I'm writing the new changelog generation code [1][2], and I'm wondering if we
can clean up the mess that we have in profiles/.

The existing Portage egencache --update-changelogs command does NOT generate
any ChangeLogs for profiles/ (or eclasses, licenses, scripts, metadata,
toplevel skel.*).

There is no strict pattern to the past CVS ChangeLogs for profiles.
Some directories have their own ChangeLogs covering everything in that scope,
but occasionally there is also deeper ChangeLogs that mean the top-level
changelog doesn't cover it anymore.
Notable examples:
profiles/default/bsd/fbsd/amd64/9.1/clang/ChangeLog-2015
profiles/default/bsd/ChangeLog-2015
(of all default/bsd/, why did only bsd/fbsd/amd64/9.1/clang warrant it's own 
changelog?)
profiles/features/ChangeLog-2015
profiles/features/prefix/ChangeLog-2015
(why did features/prefix/ get it's own changelog?)
profiles/releases/freebsd-8.2/ChangeLog-2015
profiles/releases/freebsd-9.1/ChangeLog-2015
(the rest of profiles/releases/, including other freebsd releases, is all in 
the root profiles/ChangeLog).


[1] 
https://wiki.gentoo.org/wiki/User:Robbat2:ChangeLog-Generation#Git_output_command
[2] 
https://gitweb.gentoo.org/infra/mastermirror-scripts.git/tree/egenchangelog2.py
[3] All profiles/ ChangeLogs from CVS:
profiles/arch/alpha/ChangeLog-2015
profiles/arch/amd64/ChangeLog-2015
profiles/arch/amd64-fbsd/ChangeLog-2015
profiles/arch/arm64/ChangeLog-2015
profiles/arch/arm/ChangeLog-2015
profiles/arch/hppa/ChangeLog-2015
profiles/arch/ia64/ChangeLog-2015
profiles/arch/m68k/ChangeLog-2015
profiles/arch/mips/ChangeLog-2015
profiles/arch/powerpc/ChangeLog-2015
profiles/arch/s390/ChangeLog-2015
profiles/arch/sh/ChangeLog-2015
profiles/arch/sparc/ChangeLog-2015
profiles/arch/sparc-fbsd/ChangeLog-2015
profiles/arch/x86/ChangeLog-2015
profiles/arch/x86-fbsd/ChangeLog-2015
profiles/base/ChangeLog-2015
profiles/ChangeLog-2007
profiles/ChangeLog-2008
profiles/ChangeLog-2009
profiles/ChangeLog-2010
profiles/ChangeLog-2011
profiles/ChangeLog-2012
profiles/ChangeLog-2013
profiles/ChangeLog-2014
profiles/ChangeLog-2015
profiles/default/bsd/ChangeLog-2015
profiles/default/bsd/fbsd/amd64/9.1/clang/ChangeLog-2015
profiles/default/linux/alpha/ChangeLog-2015
profiles/default/linux/amd64/ChangeLog-2015
profiles/default/linux/arm64/ChangeLog-2015
profiles/default/linux/arm/ChangeLog-2015
profiles/default/linux/ChangeLog-2015
profiles/default/linux/hppa/ChangeLog-2015
profiles/default/linux/ia64/ChangeLog-2015
profiles/default/linux/m68k/ChangeLog-2015
profiles/default/linux/mips/ChangeLog-2015
profiles/default/linux/powerpc/ChangeLog-2015
profiles/default/linux/s390/ChangeLog-2015
profiles/default/linux/sh/ChangeLog-2015
profiles/default/linux/sparc/ChangeLog-2015
profiles/default/linux/uclibc/ChangeLog-2015
profiles/default/linux/x86/ChangeLog-2015
profiles/embedded/ChangeLog-2015
profiles/features/ChangeLog-2015
profiles/features/prefix/ChangeLog-2015
profiles/hardened/ChangeLog-2015
profiles/prefix/ChangeLog-2012
profiles/prefix/ChangeLog-2015
profiles/releases/freebsd-8.2/ChangeLog-2015
profiles/releases/freebsd-9.1/ChangeLog-2015

-- 
Robin Hugh Johnson
Gentoo Linux: Dev, Infra Lead, Foundation Trustee & Treasurer
E-Mail   : robb...@gentoo.org
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85
GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136


signature.asc
Description: Digital signature