In its 2019-02-10 meeting, the Gentoo Council has decided that the default for ACCEPT_LICENSE should be changed to @FREE. As discussed in #gentoo-council after the meeting, we think that the default should be moved to make.defaults in the base profile, for the following reasons: - The setting depends on the @FREE license group, which itself is not defined in Portage, but in profiles/license_groups. - Setting the default in profiles will allow to perform the switchover at a precise time, independent of Portage release and stabilisation schedule. - Profiles are a better location to define the default distro policy. - GLEP 23 says so. The plan would be to first add the current default, namely ACCEPT_LICENSE="* -@EULA" to profiles/base/make.defaults and remove the default from Portage (patch will follow). At a later time (at least after waiting for the new Portage version to become stable), the default in profiles can then be flipped from "* -@EULA" to "-* @FREE".
Created attachment 564928 [details, diff] Proposed patch for Portage
(In reply to Ulrich Müller from comment #1) > Created attachment 564928 [details, diff] [details, diff] > Proposed patch for Portage Looks good, except we need to add a fallback in order for the unit tests to pass: > diff --git a/lib/portage/package/ebuild/config.py b/lib/portage/package/ebuild/config.py > index 8de23e2e5..2981f7e31 100644 > --- a/lib/portage/package/ebuild/config.py > +++ b/lib/portage/package/ebuild/config.py > @@ -1,4 +1,4 @@ > -# Copyright 2010-2018 Gentoo Foundation > +# Copyright 2010-2019 Gentoo Authors > # Distributed under the terms of the GNU General Public License v2 > > from __future__ import unicode_literals > @@ -2278,7 +2278,7 @@ class config(object): > for curdb in mydbs: > mysplit.extend(curdb.get('ACCEPT_LICENSE', '').split()) > mysplit = prune_incremental(mysplit) > - accept_license_str = ' '.join(mysplit) > + accept_license_str = ' '.join(mysplit) or '* -@EULA' > self.configlist[-1]['ACCEPT_LICENSE'] = accept_license_str > self._license_manager.set_accept_license_str(accept_license_str) > else:
Created attachment 565022 [details, diff] Updated patch for Portage (In reply to Zac Medico from comment #2) > Looks good, except we need to add a fallback in order for the unit tests to > pass: Patch updated.
(In reply to Ulrich Müller from comment #3) > Created attachment 565022 [details, diff] [details, diff] > Updated patch for Portage > > (In reply to Zac Medico from comment #2) > > Looks good, except we need to add a fallback in order for the unit tests to > > pass: > > Patch updated. Looks good, please go ahead an merge when you're ready.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=94669648977c1ea851b0911a1ec99c64b4c18273 commit 94669648977c1ea851b0911a1ec99c64b4c18273 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2019-02-12 14:15:32 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2019-02-12 22:34:07 +0000 Don't define a default for ACCEPT_LICENSE In its 2019-02-10 meeting, the Gentoo Council has decided that the default for ACCEPT_LICENSE should be changed to @FREE. We take that opportunity to move the default to make.defaults in the base profile, for the following reasons: - The setting depends on the @FREE license group, which itself is not defined in Portage, but in profiles/license_groups. - Setting the default in profiles will allow to perform the switchover at a precise time, independent of Portage release and stabilisation schedule. - Profiles are a better location to define the default distro policy. - GLEP 23 says so. Bug: https://bugs.gentoo.org/677800 Signed-off-by: Ulrich Müller <ulm@gentoo.org> cnf/make.conf.example | 8 ++++---- cnf/make.globals | 3 +-- lib/portage/package/ebuild/_config/special_env_vars.py | 3 +-- lib/portage/package/ebuild/config.py | 4 ++-- man/make.conf.5 | 6 +++--- 5 files changed, 11 insertions(+), 13 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d058d2cddc048782667c2ef995e2bc408ba783b2 commit d058d2cddc048782667c2ef995e2bc408ba783b2 Author: Ulrich Müller <ulm@gentoo.org> AuthorDate: 2019-02-12 22:01:10 +0000 Commit: Ulrich Müller <ulm@gentoo.org> CommitDate: 2019-02-12 22:36:00 +0000 profiles: Define a default for ACCEPT_LICENSE. In its 2019-02-10 meeting, the Gentoo Council has decided that the default for ACCEPT_LICENSE should be changed to @FREE. We take that opportunity to move the default to make.defaults in the base profile, for the following reasons: - The setting depends on the @FREE license group, which itself is not defined in Portage, but in profiles/license_groups. - Setting the default in profiles will allow to perform the switchover at a precise time, independent of Portage release and stabilisation schedule. - Profiles are a better location to define the default distro policy. - GLEP 23 says so. Bug: https://bugs.gentoo.org/677800 Signed-off-by: Ulrich Müller <ulm@gentoo.org> profiles/base/make.defaults | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Created attachment 565026 [details, diff] Patch (In reply to Zac Medico from comment #2) > Looks good, except we need to add a fallback in order for > the unit tests to pass I think that value needed for test suite should be set in test suite directly.
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > Created attachment 565026 [details, diff] [details, diff] > Patch > > (In reply to Zac Medico from comment #2) > > Looks good, except we need to add a fallback in order for > > the unit tests to pass > > I think that value needed for test suite should be set in test suite > directly. I want a fallback for other cases like bug 644990.
(In reply to Zac Medico from comment #8) > (In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > > Created attachment 565026 [details, diff] [details, diff] [details, diff] > > Patch > > > > (In reply to Zac Medico from comment #2) > > > Looks good, except we need to add a fallback in order for > > > the unit tests to pass > > > > I think that value needed for test suite should be set in test suite > > directly. > > I want a fallback for other cases like bug 644990. Maybe that fallback could agree with the upcoming default though, namely "@FREE"?
(In reply to Ulrich Müller from comment #9) > (In reply to Zac Medico from comment #8) > > (In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > > > Created attachment 565026 [details, diff] [details, diff] [details, diff] [details, diff] > > > Patch > > > > > > (In reply to Zac Medico from comment #2) > > > > Looks good, except we need to add a fallback in order for > > > > the unit tests to pass > > > > > > I think that value needed for test suite should be set in test suite > > > directly. > > > > I want a fallback for other cases like bug 644990. > > Maybe that fallback could agree with the upcoming default though, namely > "@FREE"? Sure, that will work for me. I just want some kind of sane default in the absence of an explicit setting.
Created attachment 565028 [details, diff] Updated Arfrever's patch
(In reply to Zac Medico from comment #8) > (In reply to Arfrever Frehtes Taifersar Arahesis from comment #7) > > (In reply to Zac Medico from comment #2) > > > Looks good, except we need to add a fallback in order for > > > the unit tests to pass > > > > I think that value needed for test suite should be set in test suite > > directly. > > I want a fallback for other cases like bug 644990. Maybe a more obvious place for such fallback value would be /usr/share/portage/config/profile_defaults.conf (or different name) instead of being buried somewhere in config.py? :)
(In reply to Ulrich Müller from comment #11) > Created attachment 565028 [details, diff] [details, diff] > Updated Arfrever's patch Actually, I don't like @FREE fallback since it's useless unless @FREE is actually defined and that would required a valid gentoo/profiles directory.
(In reply to Zac Medico from comment #13) > (In reply to Ulrich Müller from comment #11) > > Created attachment 565028 [details, diff] [details, diff] [details, diff] > > Updated Arfrever's patch > > Actually, I don't like @FREE fallback since it's useless unless @FREE is > actually defined and that would required a valid gentoo/profiles directory. The same is true for "* -@EULA". Would that at least error out if it doesn't find license_groups, or would it fall back to "*"? Because the latter should really be avoided.
(In reply to Ulrich Müller from comment #14) > (In reply to Zac Medico from comment #13) > > (In reply to Ulrich Müller from comment #11) > > > Created attachment 565028 [details, diff] [details, diff] [details, diff] [details, diff] > > > Updated Arfrever's patch > > > > Actually, I don't like @FREE fallback since it's useless unless @FREE is > > actually defined and that would required a valid gentoo/profiles directory. > > The same is true for "* -@EULA". > > Would that at least error out if it doesn't find license_groups, or would it > fall back to "*"? Because the latter should really be avoided. It would fall back to "*" because @EULA would is treated as an empty set in this case.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efd6e6de1e19117224e20690cf11c16105ce817b commit efd6e6de1e19117224e20690cf11c16105ce817b Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2019-02-18 00:48:55 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2019-02-18 00:49:53 +0000 sys-apps/portage: version bump to 2.3.61 #677776 gnome2_icon_cache_update -> xdg_icon_cache_update #677800 Don't define a default for ACCEPT_LICENSE #678218 locks: handle sshfs hardlink inode numbers FL-6227 cpuinfo: use better available CPU calculation Bug: https://bugs.gentoo.org/671498 Bug: https://bugs.gentoo.org/677776 Bug: https://bugs.gentoo.org/677800 Bug: https://bugs.gentoo.org/678218 Package-Manager: Portage-2.3.61, Repoman-2.3.12 Signed-off-by: Zac Medico <zmedico@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-2.3.61.ebuild | 271 +++++++++++++++++++++++++++++++++ 2 files changed, 272 insertions(+)
Fixed in portage-2.3.62.
(In reply to Zac Medico from comment #2) > > - accept_license_str = ' '.join(mysplit) > > + accept_license_str = ' '.join(mysplit) or '* -@EULA' Actually, a consequence of that fallback is that the following command: ACCEPT_LICENSE="-*" emerge -ep --autounmask-backtrack=y @world does not work as intended (discovered by NeddySeagoon). Instead of reporting the licenses of all installed packages, it will exclude almost everything and list only the ones in @EULA. I think that the above is valid usage, so this should be fixed.
(In reply to Ulrich Müller from comment #18) > I think that the above is valid usage, so this should be fixed. Could we apply Arfrever's patch from comment #7?
(In reply to Ulrich Müller from comment #19) > (In reply to Ulrich Müller from comment #18) > > I think that the above is valid usage, so this should be fixed. > > Could we apply Arfrever's patch from comment #7? I have a different fix in mind. Reported as bug 686406.
OK, closing again, if there's another bug for that issue.