[gentoo-commits] proj/portage:master commit in: man/, lib/portage/package/ebuild/_config/, lib/portage/package/ebuild/

2022-05-02 Thread Matt Turner
commit: 14d9c755f7534e23f10719d0fe6c04b18534e854
Author: Matt Turner  gentoo  org>
AuthorDate: Mon Feb 21 21:04:10 2022 +
Commit: Matt Turner  gentoo  org>
CommitDate: Mon May  2 18:44:51 2022 +
URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=14d9c755

Remove remnants of SIGNED_OFF_BY

Was only used by repoman.

Closes: https://github.com/gentoo/portage/pull/819
Signed-off-by: Matt Turner  gentoo.org>

 lib/portage/package/ebuild/_config/special_env_vars.py |  1 -
 lib/portage/package/ebuild/config.py   |  1 -
 man/make.conf.5| 11 ---
 3 files changed, 13 deletions(-)

diff --git a/lib/portage/package/ebuild/_config/special_env_vars.py 
b/lib/portage/package/ebuild/_config/special_env_vars.py
index 9b2d77aea..04e4c5b9b 100644
--- a/lib/portage/package/ebuild/_config/special_env_vars.py
+++ b/lib/portage/package/ebuild/_config/special_env_vars.py
@@ -340,7 +340,6 @@ environ_filter += [
 "RESUMECOMMAND_HTTPS",
 "RESUMECOMMAND_RSYNC",
 "RESUMECOMMAND_SFTP",
-"SIGNED_OFF_BY",
 "UNINSTALL_IGNORE",
 "USE_EXPAND_HIDDEN",
 "USE_ORDER",

diff --git a/lib/portage/package/ebuild/config.py 
b/lib/portage/package/ebuild/config.py
index 5d9d5ce48..f35fcdf65 100644
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@ -200,7 +200,6 @@ class config:
 _deprecated_keys = {
 "PORTAGE_LOGDIR": "PORT_LOGDIR",
 "PORTAGE_LOGDIR_CLEAN": "PORT_LOGDIR_CLEAN",
-"SIGNED_OFF_BY": "DCO_SIGNED_OFF_BY",
 }
 
 _setcpv_aux_keys = (

diff --git a/man/make.conf.5 b/man/make.conf.5
index 8c77eda2e..bde92af1a 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -255,9 +255,6 @@ of \fBemerge\fR(1) for more information.
 This variable is passed by the \fIebuild scripts\fR to the \fIconfigure\fR
 as \fI\-\-target=${CTARGET}\fR only if it is defined.
 .TP
-.B DCO_SIGNED_OFF_BY
-See \fISIGNED_OFF_BY\fR below.  Deprecated.
-.TP
 \fBDISTDIR\fR = \fI[path]\fR
 Defines the location of your local source file repository. After packages
 are built, it is safe to remove any and all files from this directory since
@@ -1280,14 +1277,6 @@ Defines the location where created RPM packages will be 
stored.
 .br
 Defaults to /var/cache/rpm.
 .TP
-.B SIGNED_OFF_BY
-This variable may contain a name and email address which will be used by
-\fBrepoman\fR(1) to add a Signed\-off\-by line to each commit message.
-The meaning of a signoff depends on the project.  Typically, it certifies
-that the committer has the rights to submit the work under a free license
-and agrees to a Certificate of Origin.  (For example, see GLEP 76 for the
-Gentoo Linux policy: \fIhttps://www.gentoo.org/glep/glep-0076.html\fR.)
-.TP
 \fBSYNC\fR = \fI[RSYNC]\fR
 Insert your preferred rsync mirror here.  This rsync server
 is used to sync the local ebuild repository when `emerge \-\-sync` is run.



[gentoo-commits] proj/portage:master commit in: man/, lib/portage/package/ebuild/

2021-01-09 Thread Zac Medico
commit: f04dae7728b558ba10b99d1b4979054825fbb0d6
Author: Daniel M. Weeks  danweeks  net>
AuthorDate: Wed Jan  6 18:35:37 2021 +
Commit: Zac Medico  gentoo  org>
CommitDate: Sun Jan 10 03:22:43 2021 +
URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=f04dae77

Make digests available to fetch command

This makes it possible for the fetch command to utilize a
protocol/service that identifies files by their hash.

Closes: https://github.com/gentoo/portage/pull/655
Signed-off-by: Daniel M. Weeks  danweeks.net>
Signed-off-by: Zac Medico  gentoo.org>

 lib/portage/package/ebuild/fetch.py |  6 ++
 man/make.conf.5 | 14 +-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/lib/portage/package/ebuild/fetch.py 
b/lib/portage/package/ebuild/fetch.py
index 7be9d0239..e0fecaf23 100644
--- a/lib/portage/package/ebuild/fetch.py
+++ b/lib/portage/package/ebuild/fetch.py
@@ -1291,6 +1291,12 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0,
"FILE":
os.path.basename(download_path)
}
 
+   try:
+   variables['DIGESTS'] = " 
".join(["%s:%s" % (k.lower(), v)
+   for k, v in 
mydigests[myfile].items() if k != 'size'])
+   except KeyError:
+   pass
+
for k in ("DISTDIR", 
"PORTAGE_SSH_OPTS"):
v = mysettings.get(k)
if v is not None:

diff --git a/man/make.conf.5 b/man/make.conf.5
index 494d5a212..f6eae6f60 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,4 +1,4 @@
-.TH "MAKE.CONF" "5" "Sep 2020" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "Jan 2021" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
@@ -746,6 +746,18 @@ the internet.  It must contain the full path to the 
executable as well as the
 place\-holders \\${DISTDIR}, \\${FILE} and \\${URI}.  The command should be
 written to place the fetched file at \\${DISTDIR}/\\${FILE}.
 Also see \fBRESUMECOMMAND\fR.
+.RS
+.TP
+.B Optional FETCHCOMMAND Placeholders
+.TS
+l l l
+___
+l l l.
+PlaceholderMeaning Example
+
+\\${DIGESTS}   Space separated list of file digestsblake2b  
sha512 
+.TE
+.RE
 .TP
 .B FFLAGS FCFLAGS
 Use these variables to set the desired optimization/CPU instruction settings



[gentoo-commits] proj/portage:master commit in: man/, lib/portage/package/ebuild/

2020-09-07 Thread Zac Medico
commit: 16262dc8ab9ab6cc03565bcefc444726b4dfb32f
Author: Arfrever Frehtes Taifersar Arahesis  Apache  Org>
AuthorDate: Sat Sep  5 22:37:05 2020 +
Commit: Zac Medico  gentoo  org>
CommitDate: Tue Sep  8 00:47:14 2020 +
URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=16262dc8

make.conf: Treat __* variables as local and do not propagate them.

Bug: https://bugs.gentoo.org/740588
Signed-off-by: Arfrever Frehtes Taifersar Arahesis  Apache.Org>
Signed-off-by: Zac Medico  gentoo.org>

 lib/portage/package/ebuild/config.py | 6 ++
 man/make.conf.5  | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/portage/package/ebuild/config.py 
b/lib/portage/package/ebuild/config.py
index b62ad3069..a09fdbced 100644
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@ -370,6 +370,9 @@ class config:
_("Found 2 make.conf files, using both 
'%s' and '%s'") %
tuple(make_conf_paths), noiselevel=-1)
 
+   # __* variables set in make.conf are local and are not 
be propagated.
+   make_conf = {k: v for k, v in make_conf.items() if not 
k.startswith("__")}
+
# Allow ROOT setting to come from make.conf if it's not 
overridden
# by the constructor argument (from the calling 
environment).

locations_manager.set_root_override(make_conf.get("ROOT"))
@@ -621,6 +624,9 @@ class config:
tolerant=tolerant, allow_sourcing=True,
expand=expand_map, recursive=True) or 
{})
 
+   # __* variables set in make.conf are local and are not 
be propagated.
+   mygcfg = {k: v for k, v in mygcfg.items() if not 
k.startswith("__")}
+
# Don't allow the user to override certain variables in 
make.conf
profile_only_variables = 
self.configdict["defaults"].get(
"PROFILE_ONLY_VARIABLES", "").split()

diff --git a/man/make.conf.5 b/man/make.conf.5
index 1b997ad37..8a1ea0603 100644
--- a/man/make.conf.5
+++ b/man/make.conf.5
@@ -1,4 +1,4 @@
-.TH "MAKE.CONF" "5" "Jun 2020" "Portage VERSION" "Portage"
+.TH "MAKE.CONF" "5" "Sep 2020" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
@@ -36,6 +36,8 @@ make.defaults to make.globals to make.conf to the environment
 settings.  Clearing these variables requires a clear\-all as in:
 export USE="\-*"
 .br
+__* variables set in make.conf are local and are not be propagated.
+.br
 In order to create per\-package environment settings, refer to
 \fBpackage.env\fR in \fBportage\fR(5).
 .SH "VARIABLES"



[gentoo-commits] proj/portage:master commit in: man/, lib/portage/package/ebuild/_config/, lib/portage/dbapi/, ...

2020-06-15 Thread Zac Medico
commit: 2f657c642ff292fd44ed9cb253ab6d13da84303f
Author: Zac Medico  gentoo  org>
AuthorDate: Mon Jun 15 19:46:03 2020 +
Commit: Zac Medico  gentoo  org>
CommitDate: Mon Jun 15 19:47:05 2020 +
URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=2f657c64

Revert "Support PORTAGE_LOG_FILTER_FILE_CMD (bug 709746)"

This reverts commit ab7556a5c0df418d61148a05347f4c73115e5747.
We've had reports of emerge hangs, so reverting this for now.

Bug: https://bugs.gentoo.org/709746
Signed-off-by: Zac Medico  gentoo.org>

 lib/_emerge/AbstractEbuildProcess.py   |   3 +-
 lib/_emerge/BinpkgFetcher.py   |   3 +-
 lib/_emerge/EbuildFetcher.py   |   3 +-
 lib/_emerge/EbuildPhase.py |  47 ++---
 lib/_emerge/SpawnProcess.py|  58 +++
 lib/portage/dbapi/_MergeProcess.py |   3 +-
 .../package/ebuild/_config/special_env_vars.py |   8 +-
 lib/portage/util/_async/BuildLogger.py | 109 -
 lib/portage/util/_async/SchedulerInterface.py  |  32 +-
 man/make.conf.5|   7 +-
 10 files changed, 30 insertions(+), 243 deletions(-)

diff --git a/lib/_emerge/AbstractEbuildProcess.py 
b/lib/_emerge/AbstractEbuildProcess.py
index ae1aae55f..1c1955cfe 100644
--- a/lib/_emerge/AbstractEbuildProcess.py
+++ b/lib/_emerge/AbstractEbuildProcess.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2019 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import errno
@@ -196,7 +196,6 @@ class AbstractEbuildProcess(SpawnProcess):
null_fd = os.open('/dev/null', os.O_RDONLY)
self.fd_pipes[0] = null_fd
 
-   self.log_filter_file = 
self.settings.get('PORTAGE_LOG_FILTER_FILE_CMD')
try:
SpawnProcess._start(self)
finally:

diff --git a/lib/_emerge/BinpkgFetcher.py b/lib/_emerge/BinpkgFetcher.py
index 2e5861cc1..36d027de3 100644
--- a/lib/_emerge/BinpkgFetcher.py
+++ b/lib/_emerge/BinpkgFetcher.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import functools
@@ -158,7 +158,6 @@ class _BinpkgFetcherProcess(SpawnProcess):
self.env = fetch_env
if settings.selinux_enabled():
self._selinux_type = settings["PORTAGE_FETCH_T"]
-   self.log_filter_file = 
settings.get('PORTAGE_LOG_FILTER_FILE_CMD')
SpawnProcess._start(self)
 
def _pipe(self, fd_pipes):

diff --git a/lib/_emerge/EbuildFetcher.py b/lib/_emerge/EbuildFetcher.py
index 55349c33c..1e40994fb 100644
--- a/lib/_emerge/EbuildFetcher.py
+++ b/lib/_emerge/EbuildFetcher.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 import copy
@@ -225,7 +225,6 @@ class _EbuildFetcherProcess(ForkProcess):
settings["NOCOLOR"] = nocolor
 
self._settings = settings
-   self.log_filter_file = 
settings.get('PORTAGE_LOG_FILTER_FILE_CMD')
ForkProcess._start(self)
 
# Free settings now since it's no longer needed in

diff --git a/lib/_emerge/EbuildPhase.py b/lib/_emerge/EbuildPhase.py
index ddb3dc719..477e0ba97 100644
--- a/lib/_emerge/EbuildPhase.py
+++ b/lib/_emerge/EbuildPhase.py
@@ -26,8 +26,6 @@ from portage.package.ebuild.prepare_build_dirs import 
(_prepare_workdir,
 from portage.util.futures.compat_coroutine import coroutine
 from portage.util import writemsg
 from portage.util._async.AsyncTaskFuture import AsyncTaskFuture
-from portage.util._async.BuildLogger import BuildLogger
-from portage.util.futures import asyncio
 from portage.util.futures.executor.fork import ForkExecutor
 
 try:
@@ -71,11 +69,6 @@ class EbuildPhase(CompositeTask):
_locked_phases = ("setup", "preinst", "postinst", "prerm", "postrm")
 
def _start(self):
-   future = asyncio.ensure_future(self._async_start(), 
loop=self.scheduler)
-   self._start_task(AsyncTaskFuture(future=future), 
self._async_start_exit)
-
-   @coroutine
-   def _async_start(self):
 
need_builddir = self.phase not in 
EbuildProcess._phases_without_builddir
 
@@ -133,7 +126,7 @@ class EbuildPhase(CompositeTask):
# Force background=True for this header since it's 
intended
# for the log and it doesn't necessarily need to be 
visible
# elsewhere.
-   yield self._elog('einfo', msg, background=True)
+   self._elog('einfo', msg, background=True)
 
if self.phase == 'package':
 

[gentoo-commits] proj/portage:master commit in: man/, lib/portage/package/ebuild/, lib/portage/sync/modules/webrsync/, cnf/, ...

2019-07-10 Thread Zac Medico
commit: 829623eadbeda97d37c0ea50dc5f08f19bf4561b
Author: Zac Medico  gentoo  org>
AuthorDate: Tue Jul  9 05:57:33 2019 +
Commit: Zac Medico  gentoo  org>
CommitDate: Wed Jul 10 20:28:39 2019 +
URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=829623ea

repos.conf: default sync-webrsync-verify-signature

Enable sync-webrsync-verify-signature by default in repos.conf (due to
dependencies the ebuild will make this conditional on USE=rsync-verify
in the same way as the default sync-rsync-verify-metamanifest value).
Use a new PORTAGE_TEMP_GPG_DIR variable to distinguish indirect
emerge-webrsync calls that use gemato for secure key refresh, and
disable direct emerge-webrsync calls.

Deprecate FEATURES=webrsync-gpg and use it to trigger a
backward-compatibility mode where direct emerge-webrsync calls are
allowed (but trigger a warning message). Since direct emerge-webrsync
calls do not use gemato for secure key refresh, this behavior will
not be supported in a future release.

Bug: https://bugs.gentoo.org/689506
Signed-off-by: Zac Medico  gentoo.org>

 bin/emerge-webrsync   | 19 ---
 cnf/repos.conf|  1 +
 lib/portage/package/ebuild/config.py  |  4 
 lib/portage/sync/modules/webrsync/webrsync.py |  1 +
 man/make.conf.5   |  6 --
 misc/emerge-delta-webrsync| 19 ---
 6 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync
index f622dde3e..25daaf8eb 100755
--- a/bin/emerge-webrsync
+++ b/bin/emerge-webrsync
@@ -50,7 +50,7 @@ eval "$("${portageq}" envvar -v DISTDIR EPREFIX FEATURES \
FETCHCOMMAND GENTOO_MIRRORS \
PORTAGE_BIN_PATH PORTAGE_CONFIGROOT PORTAGE_GPG_DIR \
PORTAGE_NICENESS PORTAGE_REPOSITORIES PORTAGE_RSYNC_EXTRA_OPTS \
-   PORTAGE_RSYNC_OPTS PORTAGE_TMPDIR \
+   PORTAGE_RSYNC_OPTS PORTAGE_TEMP_GPG_DIR PORTAGE_TMPDIR \
USERLAND http_proxy ftp_proxy)"
 export http_proxy ftp_proxy
 
@@ -74,9 +74,21 @@ do_verbose=0
 do_debug=0
 keep=false
 
-if has $(__repo_attr "${repo_name}" sync-webrsync-verify-signature | \
+has webrsync-gpg ${FEATURES} && webrsync_gpg=1 || webrsync_gpg=0
+
+if [[ ${webrsync_gpg} -eq 1 ]]; then
+   wecho "FEATURES=webrsync-gpg is deprecated, see the make.conf(5) man 
page."
+fi
+
+if [[ -n ${PORTAGE_TEMP_GPG_DIR} ]] ||
+   has $(__repo_attr "${repo_name}" sync-webrsync-verify-signature |
LC_ALL=C tr '[:upper:]' '[:lower:]') true yes; then
-   if [[ ! -d ${PORTAGE_GPG_DIR} ]]; then
+   # If FEATURES=webrsync-gpg is enabled then allow direct emerge-webrsync
+   # calls for backward compatibility (this triggers a deprecation warning
+   # above). Since direct emerge-webrsync calls do not use gemato for 
secure
+   # key refresh, this behavior will not be supported in a future release.
+   if [[ ! ( -d ${PORTAGE_GPG_DIR} && ${webrsync_gpg} -eq 1 ) &&
+   -z ${PORTAGE_TEMP_GPG_DIR} ]]; then
eecho "Do not call ${argv0##*/} directly, instead call emerge 
--sync or emaint sync."
exit 1
fi
@@ -86,6 +98,7 @@ elif has webrsync-gpg ${FEATURES}; then
 else
WEBSYNC_VERIFY_SIGNATURE=0
 fi
+[[ -n ${PORTAGE_TEMP_GPG_DIR} ]] && PORTAGE_GPG_DIR=${PORTAGE_TEMP_GPG_DIR}
 if [ ${WEBSYNC_VERIFY_SIGNATURE} != 0 -a -z "${PORTAGE_GPG_DIR}" ]; then
eecho "please set PORTAGE_GPG_DIR in make.conf"
exit 1

diff --git a/cnf/repos.conf b/cnf/repos.conf
index 2d73b3e35..e71b704db 100644
--- a/cnf/repos.conf
+++ b/cnf/repos.conf
@@ -16,6 +16,7 @@ sync-openpgp-key-refresh-retry-overall-timeout = 1200
 sync-openpgp-key-refresh-retry-delay-exp-base = 2
 sync-openpgp-key-refresh-retry-delay-max = 60
 sync-openpgp-key-refresh-retry-delay-mult = 4
+sync-webrsync-verify-signature = yes
 
 # for daily squashfs snapshots
 #sync-type = squashdelta

diff --git a/lib/portage/package/ebuild/config.py 
b/lib/portage/package/ebuild/config.py
index 780013bca..83a15b370 100644
--- a/lib/portage/package/ebuild/config.py
+++ b/lib/portage/package/ebuild/config.py
@@ -1205,6 +1205,10 @@ class config(object):
writemsg(_("!!! FEATURES=fakeroot is enabled, but the "
"fakeroot binary is not installed.\n"), 
noiselevel=-1)
 
+   if "webrsync-gpg" in self.features:
+   writemsg(_("!!! FEATURES=webrsync-gpg is deprecated, 
see the make.conf(5) man page.\n"),
+   noiselevel=-1)
+
if os.getuid() == 0 and not hasattr(os, "setgroups"):
warning_shown = False
 

diff --git a/lib/portage/sync/modules/webrsync/webrsync.py 
b/lib/portage/sync/modules/webrsync/webrsync.py
index 609ba0be2..70f65cfcd 100644
--- a/lib/portage/sync/modules/webrsync/webrsync.py
+++ b/lib/portage/sync/modules/webrsync/webrsync.py
@@ -88,6