Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 611234 - Council vote: CVS headers and git expansion
Summary: Council vote: CVS headers and git expansion
Status: RESOLVED FIXED
Alias: None
Product: Community Relations
Classification: Unclassified
Component: Developer Relations (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Council
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-28 17:01 UTC by Kristian Fiskerstrand
Modified: 2017-03-28 16:12 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kristian Fiskerstrand gentoo-dev Security 2017-02-28 17:01:08 UTC
Given the current discussions regarding keyword expansion in git, I put the following motion up for a vote by the council. You may vote for the singular statement or if you so wish separate it between the various sub-elements:
"""
The council confirms its earlier decision (2014-10-14 meeting) to drop CVS headers after migration to Git.

1) Any $Id$ and $Header$ lines are to be removed from ebuilds and eclasses in the gentoo repository, as well as from other files, e.g., metadata, profiles, and files (except patches) in FILESDIR.

2) Removal should be done at once, and a repoman check should be implemented to prevent such lines from accidentally being inserted again.

3) Infra is asked not to expand any $Id$ or other keywords, neither at rsync generation time, nor via git attributes in the development repository."
"""
Comment 1 Kristian Fiskerstrand gentoo-dev Security 2017-02-28 17:01:40 UTC
(In reply to Kristian Fiskerstrand from comment #0)
> Given the current discussions regarding keyword expansion in git, I put the
> following motion up for a vote by the council. You may vote for the singular
> statement or if you so wish separate it between the various sub-elements:
> """
> The council confirms its earlier decision (2014-10-14 meeting) to drop CVS
> headers after migration to Git.
> 
> 1) Any $Id$ and $Header$ lines are to be removed from ebuilds and eclasses
> in the gentoo repository, as well as from other files, e.g., metadata,
> profiles, and files (except patches) in FILESDIR.
> 
> 2) Removal should be done at once, and a repoman check should be implemented
> to prevent such lines from accidentally being inserted again.
> 
> 3) Infra is asked not to expand any $Id$ or other keywords, neither at rsync
> generation time, nor via git attributes in the development repository."
> """

I vote yes to the above motion
Comment 2 Andreas K. Hüttel gentoo-dev 2017-02-28 17:02:57 UTC
I vote yes to the above motion
Comment 3 Ulrich Müller gentoo-dev 2017-02-28 17:05:40 UTC
(In reply to Kristian Fiskerstrand from comment #0)

I vote yes to all items of this motion.
Comment 4 William Hubbs gentoo-dev 2017-02-28 18:55:16 UTC
I vote yes to all items of this motion.
Comment 5 Justin Lecher gentoo-dev 2017-02-28 19:18:06 UTC
I vote 1)yes 2) yes 3)yes
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2017-02-28 20:29:02 UTC
The following paths have had $Id$ (commit 61b861acd7b49083dab687e133f30f3331cb7480) and $Header$ (commit ec7a34422a01dc5d0466d0cd322f77dcd8af762b)  removed:
eclass/tests/*sh
eclass/*.eclass
profiles/*
*/*/*.ebuild
*/metadata.xml
*/*/metadata.xml
scripts/*

The following need further review:
*/*/files/*
scripts/bootstrap.sh: tries to parse a CVS $Header$ & $Id$, has been just slightly broken since the Git migration.
Comment 8 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2017-02-28 20:33:01 UTC
The matching and removal was done with the following regex:
^# \$(Id|Header)(:.*)?\$$

Additionaly there were extra cases of it being used later in the sqlite ebuilds, which was replaced with $CATEGORY/$PF.
Comment 9 Ulrich Müller gentoo-dev 2017-02-28 21:16:44 UTC
(In reply to Robin Johnson from comment #8)
> The matching and removal was done with the following regex:
> ^# \$(Id|Header)(:.*)?\$$

For some reason this missed all ebuilds with expanded $Id:.*$. Fixed in commit 22fd7b2d4764535bd3afc37728df1015b0294467, along with most of the files in packages' files/ dirs.

It is also notable that after only a single day of $Id$ expansion in rsync, already 14 ebuilds with expanded $Id:.*$ lines had been committed to the git repository:

   app-portage/portpeek/portpeek-2.1.23.ebuild
   dev-python/argh/argh-0.26.2-r1.ebuild
   dev-python/blessings/blessings-1.6-r1.ebuild
   dev-python/bpython/bpython-0.16-r1.ebuild
   dev-python/curtsies/curtsies-0.2.11.ebuild
   dev-python/greenlet/greenlet-0.4.12.ebuild
   dev-python/iocapture/iocapture-0.1.2-r1.ebuild
   dev-python/pathtools/pathtools-0.1.2-r2.ebuild
   dev-python/pyte/pyte-0.5.2-r2.ebuild
   dev-python/urwid/urwid-1.3.1.ebuild
   dev-python/watchdog/watchdog-0.8.3-r2.ebuild
   dev-python/wcwidth/wcwidth-0.1.7-r1.ebuild
   net-mail/dovecot/dovecot-2.2.28.ebuild
   sys-kernel/gentoo-sources/gentoo-sources-3.10.105-r1.ebuild
Comment 10 Sergei Trofimovich gentoo-dev 2017-02-28 21:47:32 UTC
For those like me who need to sync changes back from ::gentoo to overlay
I did the following lazy hack to drop the '# $Id$' line in ::haskell:

    $ sed -i */*/*.ebuild -e '/^# \$Id\$$/d'
Comment 11 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2017-02-28 23:41:31 UTC
(In reply to Robin Johnson from comment #8)
> Additionaly there were extra cases of it being used later in the sqlite
> ebuilds, which was replaced with $CATEGORY/$PF.
FYI, this is visible here:
https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-ruby/sqlite3?id=61b861acd7b49083dab687e133f30f3331cb7480
Comment 12 Richard Freeman gentoo-dev 2017-03-01 00:56:04 UTC
Yes to all (better late than never)...
Comment 13 Anthony Basile gentoo-dev 2017-03-02 11:38:52 UTC
I vote yes to all three motions.