On Sat, 30 Jan 2021 04:59:32 -0800
Zac Medico wrote:
> Call os.getpid() lazily, which eliminates getpid calls when possible
> after os.fork() in the portage.process module.
>
> Bug: https://bugs.gentoo.org/767913
> Signed-off-by: Zac Medico
> ---
> lib/portage/__init__.py | 4 +++-
> 1 file
On Sat, 30 Jan 2021 03:49:41 -0800
Zac Medico wrote:
> Disable --autounmask-license by default, in order to limit user
> exposure to risks associated with package.license changes.
> The changes that this option suggests are only intended to be
> accepted when a user has made a conscious decision
On Sat, 23 Jan 2021 15:38:49 -0800
Zac Medico wrote:
> Since the emaint --fix merges uses emerge --ask, add
> a -y, --yes option to use --ask=n instead.
Looks good to me
>
> Bug: https://bugs.gentoo.org/766767
> Signed-off-by: Zac Medico
> ---
>
On Sun, 16 Aug 2020 20:26:56 -0700
Zac Medico wrote:
> Add --jobs and --load-average options which allow dependency checks
> for multiple profiles to run in parallel. The increase in performance
> is non-linear for the number of jobs, but it can be worthwhile
> (I measured a 35% decrease in time
On Sat, 15 Aug 2020 12:26:42 -0700
Zac Medico wrote:
> Add a short -l option for --load-average just like make(1) has.
>
> Bug: https://bugs.gentoo.org/699256
> Signed-off-by: Zac Medico
>
> Zac Medico (2):
> emerge: Remove deprecated --changelog option (bug 699256)
> emerge: Add short -l
On Tue, 4 Aug 2020 21:56:08 -0400
Aaron Bauman wrote:
> On Tue, Aug 04, 2020 at 09:43:03PM -0400, Aaron Bauman wrote:
> > * This fixes the one instance of a trailing comma in the repo which
> > actually causes a tuple to be created.
> >
> > Signed-off-by: Aaron Bauman
> > ---
> >
On Sun, 2 Aug 2020 16:38:06 -0700
Zac Medico wrote:
> Add an egencache --update-pkg-desc-index example for users
> of app-portage/esearch to migrate to.
>
> Bug: https://bugs.gentoo.org/735626
> Signed-off-by: Zac Medico
> ---
> cnf/repo.postsync.d/example | 15 ++-
> 1 file
On Mon, 6 Jul 2020 11:42:06 -0700
Zac Medico wrote:
> It should be pretty safe to drop support for python2.7 at this point.
>
> Bug: https://bugs.gentoo.org/731114
> Signed-off-by: Zac Medico
> ---
> .travis.yml | 1 -
> tox.ini | 6 ++
> 2 files changed, 2 insertions(+), 5
On Fri, 19 Jun 2020 13:39:19 -0700
Zac Medico wrote:
> This variable specifies a command that filters build log output to a
> log file. The plan is to extend this to support a separate filter for
> tty output in the future.
>
> In order to enable the EbuildPhase class to write elog messages to
On Fri, 19 Jun 2020 13:39:18 -0700
Zac Medico wrote:
> Add support to write to a non-blocking pipe instead of a
> log file. This is needed for the purposes of bug 709746,
> where PipeLogger will write to a pipe that is drained
> by anoher PipeLogger instance which is running in the same
>
On Thu, 18 Jun 2020 00:35:48 -0700
Zac Medico wrote:
> In the coroutine finally clause, do not call remove_writer in cases
> where fd has been closed and then re-allocated to a concurrent
> coroutine as in bug 716636.
>
> Also, assume that the caller will put the file in non-blocking mode
> and
On Tue, 16 Jun 2020 20:43:44 +0200 (CEST)
"michael.lienhardt" wrote:
> Dear all,
> My bad for not noticing it sooner, but when there is a dependency
> like "=sys-fs/udev-208-r1:0/0[static-libs?]" (that occurs in
> virtual/libgudev-215-r3), since 'static-libs' is not a use flags of
>
On Fri, 12 Jun 2020 16:51:51 -0700
Zac Medico wrote:
> Add a sync-openpgp-key-refresh option that makes it possible to
> disable key refresh, which may be useful in cases when it is not
> possible to refresh keys.
>
> Key refresh is enabled by default, and if it is disabled then
> the
On Sun, 10 May 2020 19:29:34 -0700
Zac Medico wrote:
> This includes a _compat_upgrade.binpkg_compression script that the
> ebuild can call in pkg_preinst in order to maintain a
> backward-compatible bzip2 default when appropriate, ensuring that
> binary package consumers are not caught off
On Sun, 10 May 2020 21:32:25 -0700
Zac Medico wrote:
> The feature enables finer grained locks for install operations, and
> everyone agrees that it's safe to enable by default.
>
> Bug: https://bugs.gentoo.org/715110
> Signed-off-by: Zac Medico
> ---
> cnf/make.globals | 2 +-
> 1 file
On Sun, 26 Apr 2020 14:57:32 -0700
Zac Medico wrote:
> The ebuild will have a default enabled USE=zstd which changes the
> default to zstd here.
>
> Bug: https://bugs.gentoo.org/715108
> Bug: https://bugs.gentoo.org/719456
> Signed-off-by: Zac Medico
> ---
> cnf/make.globals | 5 -
> 1
On Sat, 11 Apr 2020 17:39:53 -0700
Zac Medico wrote:
> When searching for slot operator rebuilds, respect non slot-operator
> components of parent dependencies, so that a like the not be completely ignored. This will prevent erroneous attempts to
> trigger slot operator rebuilds for upgrades
On Tue, 16 Apr 2019 13:05:40 -0700
Zac Medico wrote:
> Hi all,
>
> We're due for a Portage project lead election [1] which is required by
> GLEP 39 [2]. Please reply with nominations. Thanks!
>
> [1] https://bugs.gentoo.org/683510
> [2] https://www.gentoo.org/glep/glep-0039.html
Well, as Zac
On Sun, 17 Feb 2019 15:04:29 -0800
Zac Medico wrote:
> Since hardlinks on sshfs do not have matching inode numbers, detect
> this behavior and use a simple stat call to detect if lock_path has
> been removed.
>
> Bug: https://bugs.gentoo.org/678218
> Signed-off-by: Zac Medico
> ---
>
On Sun, 13 Jan 2019 16:27:21 -0800
Zac Medico wrote:
> Execute pid-ns-init as the first fork after unshare, as
> required for it to have pid 1 and become the default reaper
> of orphaned descendant processes. In _exec, exec a separate
> pid-ns-init process to behave as a supervisor which will
>
On Sun, 2 Dec 2018 23:55:23 -0800
Zac Medico wrote:
> Make child processes inherit the current process's environment by
> default, so that behavior is equivalent to the standard library's
> subprocess module.
>
> Bug: https://bugs.gentoo.org/672440
> Signed-off-by: Zac Medico
> ---
>
On Fri, 23 Nov 2018 16:15:23 -0800
Zac Medico wrote:
> Use portage.process.spawn (with new cwd parameter) and
> self.spawn_kwargs to drop privileges for git gc and merge commands.
>
> Fixes: 3cd8cf93abb6 ("GitSync: abort checkout for signature problem
> (bug 660372)") Fixes: 903c4b1a6768
On Sun, 2 Sep 2018 15:03:28 -0700
Zac Medico wrote:
> Since BROOT is only defined in src_* phases, make has/best_version -b
> use the equivalent /${PORTAGE_OVERRIDE_EPREFIX#/} value that is
> defined in all phases. This makes has/best_version -b in EAPI 7
> behave exactly the same as
On Mon, 6 Aug 2018 00:40:29 -0700
Zac Medico wrote:
> Add a boolean sync-rcu repos.conf setting that behaves as follows:
>
> sync-rcu = yes|no
>
> Enable read-copy-update (RCU) behavior for sync operations. The
> current latest immutable version of a repository will be
> referenced by
On Mon, 6 Aug 2018 00:40:32 -0700
Zac Medico wrote:
> Since there aremany ways to manage repository storage, split out a
> repo storage framework. The HardlinkQuarantineRepoStorage class
> implements the existing default behavior, and the InplaceRepoStorage
> class implements the legacy
On Thu, 9 Aug 2018 16:04:42 -0700
Zac Medico wrote:
> For USERLAND=BSD, set XARGS="gxargs -r" if gxargs is available,
> so the code from bug 630292 works for USERLAND=BSD.
>
> Fixes: 50283f1abb77 (install-qa-check.d/60pngfix: parallel support
> (bug 630292)) Reported-by: Michał Górny
> Bug:
On Sun, 5 Aug 2018 22:32:34 -0700
Zac Medico wrote:
> Update all relevant references in docs, messages, and comments
> to refer to /var/db/repos/gentoo instead of /usr/portage. Also
> update DISTDIR and PKGDIR references to refer to the new
> /var/cache/{distfiles,binpkgs} locations.
>
> Bug:
On Sun, 5 Aug 2018 22:46:58 -0700
Zac Medico wrote:
> On 08/05/2018 09:59 PM, Ulrich Mueller wrote:
> >> On Sun, 5 Aug 2018, Zac Medico wrote:
> >
> >> --- a/cnf/make.conf.example
> >> +++ b/cnf/make.conf.example
> >> [...]
> >
> >> @@ -119,16 +119,16 @@
> >> # fetched on
On Sun, 15 Jul 2018 16:02:03 -0700
Zac Medico wrote:
> For the empty profile that's used to check dependencies of
> ebuilds that have empty KEYWORDS, populate implicit IUSE
> from all of the make.defaults files found in the relevant
> repositories (this should take less than 1 second on most
>
On Sun, 15 Jul 2018 14:09:24 -0700
Zac Medico wrote:
> Pass the main-repo name from repos.conf as the repository name
> for the PORTDIR RepoConfig constructor, so that it can override
> the main repo location even if the profiles/repo_name file does
> not exist yet (like in a stage3 tarball).
>
On Fri, 27 Jul 2018 00:56:40 -0700
Zac Medico wrote:
> Add repos.conf settings that enable sync-openpgp-key-path support for
> both emerge-webrsync and emerge-delta-webrsync:
>
> sync-webrsync-delta = true|false
> Use app-portage/emerge-delta-webrsync to minimize
> bandwidth.
On Tue, 17 Jul 2018 13:28:05 -0700
Zac Medico wrote:
> Are there any objections to renaming the pym directory to lib [1]?
> Note that the git log --follow option makes this kind of rename
> fairly painless.
>
> [1] https://github.com/gentoo/portage/pull/343
is fine with me
pgpewJwnz8KUC.pgp
f os.path.exists(profile_bashrc):
> - bashrc_files.append(profile_bashrc)
> + for profile, profile_bashrc in
> zip(self._locations_manager.profiles_complex, self._profile_bashrc):
> + if profile_bashrc:
> +
> bashrc_files.append(os.path.join(profile.location, 'profile.bashrc'))
> if profile in self._pbashrcdict: cpdict =
> self._pbashrcdict[profile].get(cp) if cpdict:
looks good
--
Brian Dolbec
gt; self.settings["PORTAGE_CONFIGROOT"]), noiselevel=-1) mylist = []
> - else:
> - mylist = list(d)
> - # Always sort in ascending order here since it's
> handy
> - # and the result can be easily cached and reused.
> + # Always sort in ascending order here since it's
> handy and
> + # the result can be easily cached and reused. Since
> mylist
> + # is initially in ascending order by repo.priority,
> stable
> + # sort by version produces results in ascending
> order by
> + # (pkg.version, repo.priority).
> self._cpv_sort_ascending(mylist)
> if self.frozen and mytree is None:
> cachelist = mylist[:]
looks fine
--
Brian Dolbec
=
> []
> + for parent in
> set(parents):
> + while parent
> in revisit:
> +
> recursive_parents.append(parent)
> +
> parent = os.path.dirname(parent) +
> + for parent in
> sorted(set(recursive_parents)):
> +
> dirs.append((parent, revisit.pop(parent)))
> def isowner(self, filename, destroot=None):
> """
LGTM
--
Brian Dolbec
t_match(flag))
> + return iuse_implicit_match
> +
> def _iuse_implicit_cnstr(self, pkg, metadata):
> """
> Construct a callable that checks if a given USE flag
> should
looks good thanks.
Please add the test case ebuild that was supplied to the repoman
gen-b0rk repo "not-broken" category.
https://gitweb.gentoo.org/repo/proj/gen-b0rk.git/
--
Brian Dolbec
ould be good to merge unless anyone else objects...
--
Brian Dolbec
ROOT=/ interacts badly with
> autotools.eclass (bug 654600),
> + # and no EAPI expects SYSROOT to have a trailing
> slash, always strip
> + # the trailing slash from SYSROOT.
> + if 'SYSROOT' in mydict:
> + mydict['SYSROOT'] =
> mydict['SYSROOT'].rstrip(os.path.sep) +
> try:
> builddir = mydict["PORTAGE_BUILDDIR"]
> distdir = mydict["DISTDIR"]
looks good
--
Brian Dolbec
> pym/portage/dbapi/porttree.py | 75 +++--- 3
> files changed, 146 insertions(+), 42 deletions(-)
>
I didn't see any errors glaring at me... :)
looks like it should be good
--
Brian Dolbec
e %s"
> + % (async_lock.returncode,)))
>
> - self._lock_obj = async_lock
> - self.locked = True
> + self._lock_obj = AsynchronousLock(path=self.pkg_path,
> + scheduler=self.scheduler)
> + self._lock_obj.addExitListener(acquired_lock)
> + self._lock_obj.start()
> + return result
>
> class AlreadyLocked(portage.exception.PortageException):
> pass
Looks fine to me :)
--
Brian Dolbec
series looks good, thank you :)
--
Brian Dolbec
l can be
> deprecated
> + # after this is available in a stable version of
> portage).
> + if '/' in self.searchkey:
> + match_category = 1
> fuzzy = False
> if regexsearch:
> self.searchre=re.compile(self.searchkey,re.I)
looks fine
--
Brian Dolbec
s/file that can be
added to easily. And just run it from the Actions class as M.J.
Everitt suggested.
--
Brian Dolbec
ld,
> > test_ebuild[:-8] + "3.ebuild")), ("", git_cmd + ("add",
> > test_ebuild[:-8] + "3.ebuild")),
> > - ("dev-libs", repoman_cmd + ("commit",
> > "-m", "bump to version 3")),
> > + ("dev-libs", repoman_cmd + ("commit",
> > "-m", "cat/pkg: bump to version 3")), ("", cp_cmd + (test_ebuild,
> > test_ebuild[:-8] + "4.ebuild")), ("", git_cmd + ("add",
> > test_ebuild[:-8] + "4.ebuild")),
> > - ("dev-libs/A", repoman_cmd + ("commit",
> > "-m", "bump to version 4")),
> > + ("dev-libs/A", repoman_cmd + ("commit",
> > "-m", "cat/pkg: bump to version 4")), )
> >
> > env = {
> Might I suggest breaking out checks into a separate module? I think
> that hard-coding it all is likely to become a pain as time goes on,
> more checks get added, etc ...
>
So, you would like the commit message checks to be a plug-in system
like the ebuild checks are now.
Yes that is possible, that would also allow overlays and sub-distros
to customize it to their liking. But you do realize it would be a
module system with only the one plug-in. It would add a slight amount
of overhead and subsequently a tiny bit more time. Although it is not
much as I remember when I first developed the plug-in system for emaint.
I will consider that for the stage3 work in progress, but for the
master branch of repoman, the hard-coded version above would be fine.
--
Brian Dolbec
pgprVkLpLeUb3.pgp
Description: OpenPGP digital signature
ts) and
> - deep is True and '--update' in myopts):
> + changed_deps_report = myopts.get('--changed-deps-report',
> 'n') == 'y'
> + if changed_deps_report:
> myparams['changed_deps_report'] = True
>
> if myopts.get("--selective") == "n":
looks good, if not already merged.
--
Brian Dolbec
On Sun, 04 Feb 2018 18:58:21 +0100
Michał Górny <mgo...@gentoo.org> wrote:
> W dniu nie, 04.02.2018 o godzinie 09∶51 -0800, użytkownik Brian Dolbec
> napisał:
> >
> > I know there are not a lot of repoman unit tests, but, can you
> > please create some to test this
+ return (False, '\n'.join('- %s' % x for x in
> problems))
> + return (True, None)
I know there are not a lot of repoman unit tests, but, can you please
create some to test this? That way it doesn't get any worse.
In the PR, you mentioned adding in an editor call to re-edit the
message. This would be a good thing and I know is not that difficult
to accomplish. Is this coming in another patch?
--
Brian Dolbec
gt; +#if gcrypt_algos.difference(hashfunc_map):
> try:
> import binascii
> import pygcrypt.hashcontext
looks good thanks, merge please
--
Brian Dolbec
On Tue, 5 Dec 2017 08:42:43 -0800
Brian Dolbec <dol...@gentoo.org> wrote:
> On Tue, 5 Dec 2017 17:34:23 +0100
> Michał Górny <mgo...@gentoo.org> wrote:
>
> > Closes: https://bugs.gentoo.org/615620
> > ---
> > pym/portage/checksum.py | 5 -
> >
ydeps": True,
> "--onlydeps-with-rdeps":
> "y" },
> - mergelist = ["dev-libs/B-1",
> + ambiguous_merge_order = True,
> + mergelist = [("dev-libs/B-1",
>"dev-libs/C-1",
> - "dev-libs/D-1"]),
> + "dev-libs/D-1")]),
> ResolverPlaygroundTestCase(
> ["dev-libs/A"],
> all_permutations = True,
looks good
--
Brian Dolbec
ibs/glibc-2.24',
> + 'net-misc/foo-1',
> + ],
> + ),
> + )
> +
> + playground = ResolverPlayground(debug=False,
> + ebuilds=ebuilds, installed=installed,
> world=world,
> + user_config=user_config)
> +
> + try:
> + for test_case in test_cases:
> + playground.run_TestCase(test_case)
> +
> self.assertEqual(test_case.test_success, True,
> + test_case.fail_msg)
> + finally:
> + playground.debug = False
> + playground.cleanup()
looks good
--
Brian Dolbec
(errno == EINVAL && !offset_out) {
> -sendfile_works = 0;
> -}
> -break;
> +if (copyfunc_ret < 0) {
> +error = errno;
> +if (errno == EINVAL && !offset_out) {
> +sendfile_works = 0;
> }
> +break;
> }
> }
> }
Looks good, has been checked by chutzpah
--
Brian Dolbec
<(scanelf -qyRF '#s%p' -s
> __gentoo_check_ldflags__ "${ED}" | LC_ALL=C sort)) if [[ -n ${f} ]] ;
> then echo "${f}" > "${T}"/scanelf-ignored-LDFLAGS.log
> if [ "${QA_STRICT_FLAGS_IGNORED-unset}" =
> unset ] ; then
looks good
--
Brian Dolbec
> @@ -112,7 +124,7 @@ save_elf_sources() {
> # since we're editing the ELF here, we should recompute the
> build-id # (the -i flag below). save that output so we don't need to
> recompute # it later on in the save_elf_debug step.
> - buildid=$(debugedit -i \
> + buildid=$("${debugedit}" -i \
> -b "${WORKDIR}" \
> -d "${prepstrip_sources_dir}" \
> -l
> "${tmpdir}/sources/${x##*/}.${BASHPID:-$(__bashpid)}" \
Looks fine to me
--
Brian Dolbec
playground = ResolverPlayground(
> + ebuilds=ebuilds, installed=installed,
> world=world) +
> + try:
> + for test_case in test_cases:
> + playground.run_TestCase(test_case)
> +
> self.assertEqual(test_case.test_success, True,
> + test_case.fail_msg)
> + finally:
> + playground.cleanup()
Looks fine
--
Brian Dolbec
is_arg_parent = isinstance(parent,
> AtomArg)
> + is_arg_parent = (inst_pkg is not
> None and
> + not
> self._want_installed_pkg(inst_pkg)) is_non_conflict_parent = parent
> not in conflict_pkgs and \ parent not in indirect_conflict_pkgs
>
looks good
--
Brian Dolbec
tConflictMaskUpdateTestCase # fail.
> ResolverPlaygroundTestCase(
> - world,
> + ['@world'],
> all_permutations = True,
> options = {"--update": True,
> "--deep": True}, success = True,
looks good
--
Brian Dolbec
d(pkg for pkg in pkgs if
> pkg.installed) +
> + sorted(pkg for pkg in pkgs if not
> pkg.installed)) +
> for pkg in pkgs:
> eliminate_pkg = True
> for atom in
> atom_pkg_graph.parent_nodes(pkg):
Looks good
--
Brian Dolbec
name '*.svg'
> + -o -name '*.xpm' -o -name '*.icon'
> ')'
> + )
> # if the cache does not exist at all, we complain
> for any file # otherwise, we look for files newer than the cache
> [[ -f ${d}/icon-theme.cache ]] &&
Works for me, since Gilles approved the change :)
--
Brian Dolbec
there are
> any unrecognized options, so the intention is for 100% compatibility.
>
> > I take issue with the copyright assignment, as I believe the
> > legal .. err .. IANAL devs are campaigning for full rights to be
> > owned and enforced by Gentoo Inc LLC in the US .. even if they have
> > no idea what that means or does .. :]
>
> Since it's a BSD-style license, we can copy the code into our project
> as long as we retain the copyright notice.
Patches look fine to me, glad for the speedup :)
--
Brian Dolbec
> + @returns: bool, True if ssl certificate verification is
> enabled by
> + default
> + """
> + return hasattr(__import__('ssl'),
> '_create_unverified_context') +
> +
> def urlopen(url, if_modified_since=None):
> parse_result = urllib_parse.urlparse(url)
> if parse_result.scheme not in ("http", "https"):
looks fine
--
Brian Dolbec
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512
On Sun, 2 Jul 2017 11:28:09 -0700
Brian Dolbec <dol...@gentoo.org> wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA512
>
> On Sat, 24 Jun 2017 20:20:16 -0700
> Brian Dolbec <dol...@gentoo.org> wrote:
>
&g
imarily have to
be in the infra team. So, as a result, progress stalls, dies out.
--
Brian Dolbec
pgpVROTFPVD5Q.pgp
Description: OpenPGP digital signature
, part
> in zip(
> + part_matchers,
> part_split(match_string))) +
> for package in self._cp_all():
> self._spinner_update()
>
looks fine
--
Brian Dolbec
On Thu, 6 Jul 2017 20:12:46 +0200
Alexander Berntsen <berna...@gentoo.org> wrote:
> On 06/07/17 19:25, Brian Dolbec wrote:
> > You can't, I declined this time around
> You didn't reply here. So technically you just didn't accept. ;)
>
> I vote for Zac then
Begin forwarded message:
Date: Thu, 6 Jul 2017 08:40:45 -0700
From: Brian Dolbec <dol...@gentoo.org>
To: Zac Medico <zmed...@gentoo.org>
Subject: Re: [gentoo-portage-dev] Leader election
On Tue, 4 Jul 2017 13:02:35 -0700
Zac Medico <zmed...@gentoo.org> wrote:
> On 07/02
On Thu, 6 Jul 2017 17:45:33 +0200
Alexander Berntsen <berna...@gentoo.org> wrote:
> I vote for Brian.
You can't, I declined this time around
--
Brian Dolbec
pgp3t5YNJcNZh.pgp
Description: OpenPGP digital signature
On Thu, 6 Jul 2017 08:35:13 -0700
Brian Dolbec <dol...@gentoo.org> wrote:
> On Thu, 6 Jul 2017 11:40:45 +0200
> Alexander Berntsen <berna...@gentoo.org> wrote:
>
> > On 04/07/17 22:02, Zac Medico wrote:
> > > Thank you, I accept.
> > >
> > &g
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512
On Sun, 2 Jul 2017 11:28:09 -0700
Brian Dolbec <dol...@gentoo.org> wrote:
> On Sat, 24 Jun 2017 20:20:16 -0700
> Brian Dolbec <dol...@gentoo.org> wrote:
>
> > On Sun, 18 Jun 2017 15:48:44 +0200
> > Alexander Ber
d, this is not portable" realname=${x%.*}
> suffix=${realname##*.}
> fi
sounds good
--
Brian Dolbec
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512
On Sat, 24 Jun 2017 20:20:16 -0700
Brian Dolbec <dol...@gentoo.org> wrote:
> On Sun, 18 Jun 2017 15:48:44 +0200
> Alexander Berntsen <berna...@gentoo.org> wrote:
>
> > Friends,
> >
> > It's that time of yea
uot;gpe": False,
> "gst-plugins-bad": "gstreamer",
> "gst-plugins-base": "gstreamer",
> @@ -434,6 +438,7 @@ class InheritDeprecated(LineCheck):
> "python": "python-r1 / python-single-r1 /
> python-any-r1", "ruby": "ruby-ng",
> "x-modular": "xorg-2",
> + "xfconf": False,
> }
>
> _inherit_re = re.compile(r'^\s*inherit\s(.*)$')
looks fine
--
Brian Dolbec
> (assignment.partition('=') for assignment in shlexed_env) if k)
> + self.spawn_kwargs['env'].update(env)
> +
> + if
> self.repo.module_specific_options.get('sync-git-pull-env'):
> + shlexed_env =
> shlex_split(self.repo.module_specific_options['sync-git-pull-env'])
> + pull_env = dict((k, v) for k, _, v in
> (assignment.partition('=') for assignment in shlexed_env) if k)
> + self.spawn_kwargs['env'].update(pull_env)
> +
> if self.settings.get("PORTAGE_QUIET") == "1":
> git_cmd_opts += " --quiet"
> if
> self.repo.module_specific_options.get('sync-git-pull-extra-opts'):
looks good, Thanks Manuel, Zac
--
Brian Dolbec
;
> I've updated the above code to generate forced_flags correctly:
>
> if myeb:
> now_use = self._pkg_use_enabled(myeb)
> forced_flags = set(chain(
> myeb.use.force, myeb.use.mask))
> else:
> pkgsettings.setcpv(pkg)
> now_use = pkgsettings["PORTAGE_USE"].split()
> forced_flags = set(chain(
> pkgsettings.useforce, pkgsettings.usemask))
>
OK, LGTM
--
Brian Dolbec
On Mon, 29 May 2017 15:11:41 -0700
Zac Medico <zmed...@gentoo.org> wrote:
> On Mon, May 29, 2017 at 3:03 PM, Brian Dolbec <dol...@gentoo.org>
> wrote:
>
> > On Sun, 28 May 2017 03:07:50 -0700
> > Zac Medico <zmed...@gentoo.org> wrote:
> >
> >
. The '\-*' wildcard discards all @system and @profile packages
> +added by parent profiles.
>
> .I Example:
> .nf
LGTM
--
Brian Dolbec
binaries.pop(pkg)
> + break
> +
> if selected_pkg.installed and \
> selected_pkg.cpv == pkg.cpv
> and \ selected_pkg.build_time == pkg.build_time:
--
Brian Dolbec
her packages in this slot)
> + #
> + # (dev-libs/A-2:0/0::test_repo, ebuild
> scheduled for merge) pulled in by
> + #>=dev-libs/A-2 required by
> (dev-libs/C-1:0/0::test_repo, ebuild scheduled for merge)
> + #^^ ^
> + #
> + #The following keyword changes are necessary
> to proceed:
> + # (see "package.accept_keywords" in the
> portage(5) man page for more details)
> + ## required by dev-libs/C-1::test_repo
> + ## required by @selected
> + ## required by @world (argument)
> + #=dev-libs/A-2 ~x86
> + #
> + #emerge: there are no ebuilds to satisfy
> "dev-libs/initially-unsatisfied".
> + #(dependency required by
> "dev-libs/broken-1::test_repo" [installed])
> + #(dependency required by "@selected" [set])
> + #(dependency required by "@world" [argument])
> +
> # Test --deep = True
> ResolverPlaygroundTestCase(
> ["@world"],
> options={
> "--autounmask": "y",
> + "--autounmask-backtrack":
> "y", "--complete-graph": True,
> "--selective": True,
> "--deep": True
> @@ -103,6 +156,14 @@ class
> SlotConflictUnsatisfiedDeepDepsTestCase(TestCase):
> unstable_keywords=["dev-libs/A-2"],
> unsatisfied_deps=["dev-libs/initially-unsatisfied"], success=False),
> +
> + # The effects of --autounmask-backtrack are
> the same as the previous test case.
> + # Both test cases can randomly succeed with
> --autounmask-backtrack=n, when
> + # "backtracking due to unsatisfied dep"
> randomly occurs before the autounmask
> + # unstable keyword change. It would be
> possible to eliminate backtracking here
> + # by recognizing that there are no
> alternatives to satisfy the dev-libs/broken
> + # atom in the world file. Then the test
> cases will consistently succeed with
> + # --autounmask-backtrack=n.
> )
>
> playground = ResolverPlayground(ebuilds=ebuilds,
> installed=installed,
Looks good, thank you :)
--
Brian Dolbec
; in myopts
> mydepgraph = None
> - max_retries = myopts.get('--backtrack', 3)
> + max_retries = myopts.get('--backtrack', 10)
> max_depth = max(1, (max_retries + 1) // 2)
> allow_backtracking = max_retries > 0
> backtracker = Backtracker(max_depth)
yeah, is good :)
--
Brian Dolbec
ject *self, PyObject
> *args)
> } else if (buf_bytes < 0) {
> error = errno;
> + buf_bytes = 0;
> break;
> }
> }
looks fine :)
--
Brian Dolbec
"dev-libs/D-1"]),
> + ResolverPlaygroundTestCase(
> + ["dev-libs/A"],
> + all_permutations = True,
> + success = True,
> + options = { "--onlydeps": True,
> + "--onlydeps-with-rdeps":
> "n" },
> + mergelist = ["dev-libs/B-1"]),
> + )
> +
> + playground = ResolverPlayground(ebuilds=ebuilds,
> + installed=installed, debug=False)
> + try:
> + for test_case in test_cases:
> + playground.run_TestCase(test_case)
> +
> self.assertEqual(test_case.test_success, True, test_case.fail_msg)
> + finally:
> + playground.cleanup()
looks fine
--
Brian Dolbec
fset, copyfunc_ret;
> struct stat stat_in, stat_out;
> char* buf;
> -ssize_t (*copyfunc)(int, int, loff_t *, size_t);
> + ssize_t (*copyfunc)(int, int, off_t *, size_t);
>
> if (!PyArg_ParseTuple(args, "ii", _in, _out))
> return NULL;
looks fine and is Anthony approved ;)
--
Brian Dolbec
source_id = self._call_soon_id =
> self._new_source_id() self._idle_callbacks[source_id] =
> self._idle_callback_class( args=args, callback=callback,
> source_id=source_id) self._thread_condition.notify()
looks good
--
Brian Dolbec
"ebuild.majorsyn": (
> "This ebuild has a major syntax error"
> " that may cause the ebuild to fail partially or
> fully"), @@ -262,6 +265,7 @@ qawarnings = set((
> "RDEPEND.suspect",
> "virtual.suspect",
> "RESTRICT.invalid",
> + "ebuild.absdosym",
> "ebuild.minorsyn",
> "ebuild.badheader",
> "ebuild.patches",
looks good. merge approved :)
thank you
--
Brian Dolbec
trigger event loop recursion which is incompatible with
> asyncio.
> + """
> + nofetch = SpawnNofetchWithoutBuilddir(background=False,
> + portdb=portdb,
> + ebuild_path=ebuild_path,
> +
> scheduler=SchedulerInterface(portage._internal_caller and
> global_event_loop() or EventLoop(main=False)),
> - fd_pipes=fd_pipes, settings=settings)
> - ebuild_phase.start()
> - ebuild_phase.wait()
> - elog_process(settings.mycpv, settings)
> - finally:
> - shutil.rmtree(private_tmpdir)
> -
> - return ebuild_phase.returncode
> + fd_pipes=fd_pipes, settings=settings)
> +
> + nofetch.start()
> + return nofetch.wait()
looks good
--
Brian Dolbec
; tasks are started.
> """
>
> - if '--fetchonly' in self.myopts:
> - return os.EX_OK
> -
> digest = '--digest' in self.myopts
> if not digest:
> for pkgsettings in self.pkgsettings.values():
looks good
--
Brian Dolbec
.assertEqual(async_lock.returncode, os.EX_OK)
> - async_lock.unlock()
> + if async_unlock:
> +
> scheduler.run_until_complete(async_lock.async_unlock())
> + else:
> + async_lock.unlock()
>
> async_lock =
> AsynchronousLock(path=path, scheduler=scheduler,
> _force_async=force_async, @@ -34,8 +39,10 @@ class
> AsynchronousLockTestCase(TestCase): async_lock.start()
> self.assertEqual(async_lock.wait(),
> os.EX_OK) self.assertEqual(async_lock.returncode, os.EX_OK)
> - async_lock.unlock()
> -
> + if async_unlock:
> +
> scheduler.run_until_complete(async_lock.async_unlock())
> + else:
> + async_lock.unlock()
> finally:
> shutil.rmtree(tempdir)
>
looks fine :)
--
Brian Dolbec
binpkg_refresh=True): if (not os.path.isdir(self.pkgdir) and not
> getbinpkgs): return 0
>
> @@ -832,6 +840,9 @@ class binarytree(object):
> url = base_url.rstrip("/") +
> "/Packages" f = None
>
> + if not getbinpkg_refresh and
> local_timestamp:
> + raise
> UseCachedCopyOfRemoteIndex() +
> try:
> ttl =
> float(pkgindex.header.get("TTL", 0)) except ValueError:
looks good. Thanks for migrating that 0 for False
--
Brian Dolbec
t; + # scheduled for rebuild by the previous
> calculation,
> + # triggering an unsolved slot conflict and
> preventing
> + # slot operator rebuilds.
> + ResolverPlaygroundTestCase(
> + ["=app-misc/meta-pkg-2",
> "app-misc/C"],
> + options = {
> + "--backtrack": 5,
> + },
> + success = True,
> + ambiguous_merge_order = True,
> + mergelist = [
> + 'dev-libs/foo-2',
> + ('app-misc/D-1',
> 'app-misc/C-1', 'app-misc/B-2'),
> + 'app-misc/meta-pkg-2',
> + ]
> + ),
> + )
> +
> + playground = ResolverPlayground(debug=False,
> + ebuilds=ebuilds, installed=installed,
> + world=world)
> + try:
> + for test_case in test_cases:
> + playground.run_TestCase(test_case)
> +
> self.assertEqual(test_case.test_success, True,
> + test_case.fail_msg)
> + finally:
> + # Disable debug so that cleanup works.
> + playground.debug = False
> + playground.cleanup()
looks good. I look forward to getting less conflicts with this...
--
Brian Dolbec
in forced_flags)) for f in use_disabled.get(varname, []):
> - flags.append(UseFlagDisplay(f, False, f in
> forced_flags))
> + flags.append(UseFlagDisplay(f.display,
> False, f.flag in forced_flags)) if alphabetical_use:
> flags.sort(key=UseFlagDisplay.sort_combined)
> else:
Sorry, Zac, I somehow missed this one... too busy with my head burried
in twisted test fixes and new deps...
Looks fine :)
--
Brian Dolbec
atch_add(
> self.pid, self._waitpid_cb)
> @@ -129,6 +146,10 @@ class SubProcess(AbstractPollTask):
> self.scheduler.source_remove(self._reg_id)
> self._reg_id = None
>
> + if self._waitpid_id is not None:
> +
> self.scheduler.source_remove(self._waitpid_id)
> + self._waitpid_id = None
> +
> if self._files is not None:
> for f in self._files.values():
> if isinstance(f, int):
looks fine
--
Brian Dolbec
for result in search_pkg.results:
> + search_future =
> event_loop.create_future()
> + event_loop.call_soon(search_pkg,
> cpv, search_future)
> +
> event_loop.run_until_complete(search_future)
> + for result in search_future.result():
> yield result
>
> class vartree(object):
looks fine.
Question, will this help make the spinner more consistent with spin?
--
Brian Dolbec
> + """Remove all instances of a callback from
> the "call when done" list. +
> + Returns the number of callbacks removed.
> + """
> + filtered_callbacks = [f for f in
> self._callbacks if f != fn]
> + removed_count = len(self._callbacks) -
> len(filtered_callbacks)
> + if removed_count:
> + self._callbacks[:] =
> filtered_callbacks
> + return removed_count
> +
> def set_result(self, result):
> """Mark the future done and set its result.
>
> @@ -103,6 +169,7 @@ except ImportError:
> raise InvalidStateError('{}:
> {!r}'.format(self._state, self)) self._result = result
> self._state = _FINISHED
> + self._schedule_callbacks()
>
> def set_exception(self, exception):
> """Mark the future done and set an exception.
> @@ -116,3 +183,8 @@ except ImportError:
> exception = exception()
> self._exception = exception
> self._state = _FINISHED
> + self._schedule_callbacks()
> +
> +
> +if Future is None:
> + Future = _EventLoopFuture
looks fine... /me ignoring the lack of parameters descriptions in the
docstrings
--
Brian Dolbec
self._term_callback)
>
> def _term_callback(self):
> + if self._fetch_iterator is not None:
> + self._fetch_iterator.terminate()
> self.cancel()
> self.wait()
>
Not that I know enough about all this that I could say "your doing it
wrong"
But the series looks OK, I didn't see any obvious goofs ;)
Thanks
--
Brian Dolbec
ygroundTestCase(
> + ["=app-misc/foo-3"],
> + options = {
> + "--use-ebuild-visibility":
> "y",
> + "--usepkg": True,
> + },
> + success = False,
> + ),
> )
>
> playground = ResolverPlayground(binpkgs=binpkgs,
> ebuilds=ebuilds,
looks good
--
Brian Dolbec
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=612960
> ---
> pym/_emerge/depgraph.py| 32 +++-
> .../resolver/test_binary_pkg_ebuild_visibility.py | 94
> ++ 2 files changed, 123 insertions(+), 3
> deletions(-) create mode 100644
Looks fine
--
Brian Dolbec
test_case.fail_msg)
> + finally:
> + playground.cleanup()
> diff --git a/pym/portage/util/digraph.py b/pym/portage/util/digraph.py
> index 4a9cb43..b6be0c9 100644
> --- a/pym/portage/util/digraph.py
> +++ b/pym/portage/util/digraph.py
> @@ -93,6 +93,1
On Fri, 17 Mar 2017 06:58:23 + (UTC)
Duncan <1i5t5.dun...@cox.net> wrote:
> Brian Dolbec posted on Thu, 16 Mar 2017 01:08:30 -0700 as excerpted:
>
> >> > We could also increase the max. line length to something like
> >> > 120 or 130.
> &g
On Thu, 16 Mar 2017 09:43:08 +0200
Alexandru Elisei <alexandru.eli...@gmail.com> wrote:
> On Thu, Mar 16, 2017 at 12:32 AM, Brian Dolbec <dol...@gentoo.org>
> wrote:
> > That could be pretty hard to do for all messages.
> > Especially messages with embedded data
&g
pecially messages with embedded data
eg: "%s is missing %s required use flag..." % ('sys-apps/foo', 'bar')
I know I don't always enforce the line length for a few characters,
also when clarity is more important than line length.
We could also increase the max. line length to something like 120 or 130.
--
Brian Dolbec
1 - 100 of 520 matches
Mail list logo