[gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2018-04-22 23:59 UTC
The attached list notes all of the packages that were added or removed from the tree, for the week ending 2018-04-22 23:59 UTC. Removals: app-backup/kbackup 20180421-13:14 asturmfcd60820f2b app-laptop/lphdisk 20180418-20:00 soap 3e1beea8b4a dev-java/commons-betwixt 20180418-20:06 soap 9ce26cb4f25 dev-php/PEAR-File_Passwd 20180421-01:00 grknight 7e352096f39 dev-php/PEAR-HTML_QuickForm20180421-01:03 grknight 84004972834 dev-php/PEAR-HTML_QuickForm_advmultiselect 20180421-01:01 grknight f0f84c4a4cb dev-php/PEAR-HTML_QuickForm_Controller 20180421-01:02 grknight 23658f2574b dev-php/PEAR-HTML_Select 20180421-01:03 grknight 7a6d431b517 dev-php/PEAR-I18Nv220180421-01:04 grknight bd25225c42e dev-python/async 20180421-14:43 zlogene 373fb26c3a8 dev-python/django-social-auth 20180421-14:50 zlogene 5fc634d7198 mail-filter/anomy-sanitizer20180421-10:38 zlogene 8c7e1bce94d media-sound/moodbar20180418-19:10 soap c02abda95a7 media-sound/qarecord 20180417-12:07 asturma2e695af887 media-tv/me-tv 20180418-20:01 zlogene 280189415c9 media-video/kamoso 20180421-13:13 asturmdd44977699a media-video/videocut 20180417-12:06 asturmb63746bdec9 net-dialup/hcfpcimodem 20180418-20:01 soap 1dd3f23d5a3 net-firewall/gshield 20180418-19:57 zlogene 419ae36ea2a net-misc/networkmanager-openswan 20180421-10:34 zlogene a0a6e47ae9f sci-electronics/plcedit20180417-09:07 soap ea907477eda sys-freebsd/virtio-kmod20180421-14:35 zlogene 169215c0148 www-apps/collectd-web 20180418-12:25 zlogene 01988a68fad www-apps/sugarcrm 20180421-10:48 zlogene 81d40e73319 x11-misc/treeline 20180417-12:05 asturma607056033c x11-misc/Xorgautoconfig20180418-19:52 zlogene a279aab7596 x11-terms/hanterm 20180421-12:24 zlogene fdd7bd2b66d Additions: app-misc/flirc 20180320-20:37 mgorny0bbf9d0abf9 dev-ruby/hiredis 20180421-06:09 graaff4cbccad2d34 dev-ruby/marcel20180422-06:07 graaff1a78e8f2640 kde-apps/kamoso20180419-13:33 asturm1d72a0a1cd8 kde-apps/kbackup 20180419-13:33 asturm1d72a0a1cd8 media-libs/codec2 20180422-11:12 aballier 421d0114dbf media-libs/nv-codec-headers20180422-10:21 aballier 2e5fc407c8e sys-auth/libnss-compat 20180421-21:50 dilfridge b1c1e8e9061 sys-block/libzbc 20180420-17:34 chutzpah 17d0c58e84f -- Robin Hugh Johnson Gentoo Linux Developer E-Mail : robb...@gentoo.org GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85 Removed Packages: dev-python/django-social-auth,removed,zlogene,20180421-14:50,5fc634d7198 dev-python/async,removed,zlogene,20180421-14:43,373fb26c3a8 sys-freebsd/virtio-kmod,removed,zlogene,20180421-14:35,169215c0148 app-backup/kbackup,removed,asturm,20180421-13:14,fcd60820f2b media-video/kamoso,removed,asturm,20180421-13:13,dd44977699a x11-terms/hanterm,removed,zlogene,20180421-12:24,fdd7bd2b66d www-apps/sugarcrm,removed,zlogene,20180421-10:48,81d40e73319 mail-filter/anomy-sanitizer,removed,zlogene,20180421-10:38,8c7e1bce94d net-misc/networkmanager-openswan,removed,zlogene,20180421-10:34,a0a6e47ae9f dev-php/PEAR-I18Nv2,removed,grknight,20180421-01:04,bd25225c42e dev-php/PEAR-HTML_Select,removed,grknight,20180421-01:03,7a6d431b517 dev-php/PEAR-HTML_QuickForm,removed,grknight,20180421-01:03,84004972834 dev-php/PEAR-HTML_QuickForm_Controller,removed,grknight,20180421-01:02,23658f2574b dev-php/PEAR-HTML_QuickForm_advmultiselect,removed,grknight,20180421-01:01,f0f84c4a4cb dev-php/PEAR-File_Passwd,removed,grknight,20180421-01:00,7e352096f39 dev-java/commons-betwixt,removed,soap,20180418-20:06,9ce26cb4f25 media-tv/me-tv,removed,zlogene,20180418-20:01,280189415c9 net-dialup/hcfpcimodem,removed,soap,20180418-20:01,1dd3f23d5a3 app-laptop/lphdisk,removed,soap,20180418-20:00,3e1beea8b4a net-firewall/gshield,removed,zlogene,20180418-19:57,419ae36ea2a x11-misc/Xorgautoconfig,removed,zlogene,20180418-19:52,a279aab7596 media-sound/moodbar,removed,soap,20180418-19:10,c02abda95a7 www-apps/collectd-web,removed,zlogene,20180418-12:25,01988a68fad media-sound/qarecord,removed,asturm,20180417-12:07,a2e695af887 media-video/videocut,removed,asturm,20180417-12:06,b63746bdec9 x11-misc/treeline,removed,asturm,20180417-12:05,a607056033c sci-electronics/plcedit,removed,soap,20180417-09:07,ea907477eda Added Packages: media
Re: [gentoo-portage-dev] [PATCH] BinpkgFetcher: use async lock (bug 614110)
On 04/21/2018 03:07 PM, Brian Dolbec wrote: > On Sat, 21 Apr 2018 12:27:28 -0700 > Zac Medicowrote: > >> In order to avoid event loop recursion, convert the >> _BinpkgFetcherProcess.lock() method to an async_lock >> method for use by BinpkgFetcher. >> >> Bug: https://bugs.gentoo.org/614110 >> --- >> pym/_emerge/BinpkgFetcher.py | 53 >> +++- 1 file changed, 33 >> insertions(+), 20 deletions(-) >> >> diff --git a/pym/_emerge/BinpkgFetcher.py >> b/pym/_emerge/BinpkgFetcher.py index 5ca7a45cf..2bbc0a26f 100644 >> --- a/pym/_emerge/BinpkgFetcher.py >> +++ b/pym/_emerge/BinpkgFetcher.py >> @@ -32,11 +32,24 @@ class BinpkgFetcher(CompositeTask): >> pkg.cpv) + ".partial" >> >> def _start(self): >> -self._start_task( >> - >> _BinpkgFetcherProcess(background=self.background, >> -logfile=self.logfile, pkg=self.pkg, >> pkg_path=self.pkg_path, >> -pretend=self.pretend, >> scheduler=self.scheduler), >> -self._fetcher_exit) >> +fetcher = >> _BinpkgFetcherProcess(background=self.background, >> +logfile=self.logfile, pkg=self.pkg, >> pkg_path=self.pkg_path, >> +pretend=self.pretend, >> scheduler=self.scheduler) + >> +if not self.pretend: >> + >> portage.util.ensure_dirs(os.path.dirname(self.pkg_path)) >> +if "distlocks" in >> self.pkg.root_config.settings.features: >> +self._start_task( >> + >> AsyncTaskFuture(future=fetcher.async_lock()), >> + >> functools.partial(self._start_locked, fetcher)) >> +return >> + >> +self._start_task(fetcher, self._fetcher_exit) >> + >> +def _start_locked(self, fetcher, lock_task): >> +self._assert_current(lock_task) >> +lock_task.future.result() >> +self._start_task(fetcher, self._fetcher_exit) >> >> def _fetcher_exit(self, fetcher): >> self._assert_current(fetcher) >> @@ -68,13 +81,8 @@ class _BinpkgFetcherProcess(SpawnProcess): >> pretend = self.pretend >> bintree = pkg.root_config.trees["bintree"] >> settings = bintree.settings >> -use_locks = "distlocks" in settings.features >> pkg_path = self.pkg_path >> >> -if not pretend: >> - >> portage.util.ensure_dirs(os.path.dirname(pkg_path)) >> -if use_locks: >> -self.lock() >> exists = os.path.exists(pkg_path) >> resume = exists and os.path.basename(pkg_path) in >> bintree.invalids if not (pretend or resume): >> @@ -184,7 +192,7 @@ class _BinpkgFetcherProcess(SpawnProcess): >> except >> OSError: pass >> >> -def lock(self): >> +def async_lock(self): >> """ >> This raises an AlreadyLocked exception if lock() is >> called while a lock is already held. In order to avoid this, call >> @@ -194,17 +202,22 @@ class _BinpkgFetcherProcess(SpawnProcess): >> if self._lock_obj is not None: >> raise self.AlreadyLocked((self._lock_obj,)) >> >> -async_lock = AsynchronousLock(path=self.pkg_path, >> -scheduler=self.scheduler) >> -async_lock.start() >> +result = self.scheduler.create_future() >> >> -if async_lock.wait() != os.EX_OK: >> -# TODO: Use CompositeTask for better >> handling, like in EbuildPhase. >> -raise AssertionError("AsynchronousLock >> failed with returncode %s" \ >> -% (async_lock.returncode,)) >> +def acquired_lock(async_lock): >> +if async_lock.wait() == os.EX_OK: >> +self.locked = True >> +result.set_result(None) >> +else: >> +result.set_exception(AssertionError( >> +"AsynchronousLock failed >> with returncode %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 :) > Thanks, merged: https://gitweb.gentoo.org/proj/portage.git/commit/?id=adf2e6dd57b5bcaa4a668e3085024ebc3224a2ca -- Thanks, Zac signature.asc Description: OpenPGP digital signature
[gentoo-portage-dev] [PATCH 3/5] EbuildFetcher: add _async_uri_map method (bug 653810)
Add an _async_uri_map method to replace the synchronous _get_uri_map method. This will be used to prevent event loop recursion. Bug: https://bugs.gentoo.org/653810 --- pym/_emerge/EbuildFetcher.py | 27 --- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index 81eeb6dcd..1f574740b 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -49,7 +49,7 @@ class _EbuildFetcherProcess(ForkProcess): "pkg", "prefetch", "_digests", "_manifest", "_settings", "_uri_map") def already_fetched(self, settings): - uri_map = self._get_uri_map() + uri_map = self.scheduler.run_until_complete(self._async_uri_map()) if not uri_map: return True @@ -125,7 +125,7 @@ class _EbuildFetcherProcess(ForkProcess): ebuild_path = self._get_ebuild_path() try: - uri_map = self._get_uri_map() + uri_map = self.scheduler.run_until_complete(self._async_uri_map()) except portage.exception.InvalidDependString as e: msg_lines = [] msg = "Fetch failed for '%s' due to invalid SRC_URI: %s" % \ @@ -210,21 +210,34 @@ class _EbuildFetcherProcess(ForkProcess): self._digests = self._get_manifest().getTypeDigests("DIST") return self._digests - def _get_uri_map(self): + def _async_uri_map(self): """ - This can raise InvalidDependString from portdbapi.getFetchMap(). + This calls the portdbapi.async_fetch_map method and returns the + resulting Future (may contain InvalidDependString exception). """ if self._uri_map is not None: - return self._uri_map + result = self.scheduler.create_future() + result.set_result(self._uri_map) + return result + pkgdir = os.path.dirname(self._get_ebuild_path()) mytree = os.path.dirname(os.path.dirname(pkgdir)) use = None if not self.fetchall: use = self.pkg.use.enabled portdb = self.pkg.root_config.trees["porttree"].dbapi - self._uri_map = portdb.getFetchMap(self.pkg.cpv, + + def cache_result(result): + try: + self._uri_map = result.result() + except Exception: + # The caller handles this when it retrieves the result. + pass + + result = portdb.async_fetch_map(self.pkg.cpv, useflags=use, mytree=mytree) - return self._uri_map + result.add_done_callback(cache_result) + return result def _prefetch_size_ok(self, uri_map, settings, ebuild_path): distdir = settings["DISTDIR"] -- 2.13.6
[gentoo-portage-dev] [PATCH 4/5] EbuildFetcher: use _async_uri_map in _start (bug 653810)
Use _async_uri_map to avoid event loop recursion in _start. Bug: https://bugs.gentoo.org/653810 --- pym/_emerge/EbuildFetcher.py | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index 1f574740b..8f6cc60fe 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -13,6 +13,7 @@ from portage import _unicode_decode from portage.checksum import _hash_filter from portage.elog.messages import eerror from portage.package.ebuild.fetch import _check_distfile, fetch +from portage.util._async.AsyncTaskFuture import AsyncTaskFuture from portage.util._async.ForkProcess import ForkProcess from portage.util._pty import _create_pty_or_pipe from _emerge.CompositeTask import CompositeTask @@ -40,6 +41,25 @@ class EbuildFetcher(CompositeTask): return self._fetcher_proc.already_fetched(settings) def _start(self): + self._start_task( + AsyncTaskFuture(future=self._fetcher_proc._async_uri_map()), + self._start_fetch) + + def _start_fetch(self, uri_map_task): + self._assert_current(uri_map_task) + try: + uri_map = uri_map_task.future.result() + except portage.exception.InvalidDependString as e: + msg_lines = [] + msg = "Fetch failed for '%s' due to invalid SRC_URI: %s" % \ + (self.pkg.cpv, e) + msg_lines.append(msg) + self._fetcher_proc._eerror(msg_lines) + self._current_task = None + self.returncode = 1 + self._async_wait() + return + self._start_task(self._fetcher_proc, self._default_final_exit) @@ -123,18 +143,8 @@ class _EbuildFetcherProcess(ForkProcess): root_config = self.pkg.root_config portdb = root_config.trees["porttree"].dbapi ebuild_path = self._get_ebuild_path() - - try: - uri_map = self.scheduler.run_until_complete(self._async_uri_map()) - except portage.exception.InvalidDependString as e: - msg_lines = [] - msg = "Fetch failed for '%s' due to invalid SRC_URI: %s" % \ - (self.pkg.cpv, e) - msg_lines.append(msg) - self._eerror(msg_lines) - self._set_returncode((self.pid, 1 << 8)) - self._async_wait() - return + # This is initialized by an earlier _async_uri_map call. + uri_map = self._uri_map if not uri_map: # Nothing to fetch. -- 2.13.6
[gentoo-portage-dev] [PATCH 2/5] EbuildFetcher: inherit CompositeTask (bug 653810)
Make EbuildFetcher inherit CompositeTask, and move remaining code to a _EbuildFetcherProcess class that still inherits ForkProcess. The CompositeTask framework will be used to split EbuildFetcher into subtasks, in order to prevent event loop recursion. Bug: https://bugs.gentoo.org/653810 --- pym/_emerge/EbuildFetcher.py | 22 +++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index d98d00736..81eeb6dcd 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -15,12 +15,17 @@ from portage.elog.messages import eerror from portage.package.ebuild.fetch import _check_distfile, fetch from portage.util._async.ForkProcess import ForkProcess from portage.util._pty import _create_pty_or_pipe +from _emerge.CompositeTask import CompositeTask -class EbuildFetcher(ForkProcess): + +class EbuildFetcher(CompositeTask): __slots__ = ("config_pool", "ebuild_path", "fetchonly", "fetchall", - "pkg", "prefetch") + \ - ("_digests", "_manifest", "_settings", "_uri_map") + "logfile", "pkg", "prefetch", "_fetcher_proc") + + def __init__(self, **kwargs): + CompositeTask.__init__(self, **kwargs) + self._fetcher_proc = _EbuildFetcherProcess(**kwargs) def already_fetched(self, settings): """ @@ -32,7 +37,18 @@ class EbuildFetcher(ForkProcess): such messages. This will raise InvalidDependString if SRC_URI is invalid. """ + return self._fetcher_proc.already_fetched(settings) + + def _start(self): + self._start_task(self._fetcher_proc, self._default_final_exit) + +class _EbuildFetcherProcess(ForkProcess): + + __slots__ = ("config_pool", "ebuild_path", "fetchonly", "fetchall", + "pkg", "prefetch", "_digests", "_manifest", "_settings", "_uri_map") + + def already_fetched(self, settings): uri_map = self._get_uri_map() if not uri_map: return True -- 2.13.6
[gentoo-portage-dev] [PATCH 1/5] portdbapi: add async_fetch_map method (bug 653810)
Add a portdbapi.async_fetch_map method which is identical to the existing portdbapi.getFetchMap method, but returns a future. This will be used by EbuildFetcher in order to avoid event loop recursion. Bug: https://bugs.gentoo.org/653810 --- pym/portage/dbapi/porttree.py | 75 +-- 1 file changed, 58 insertions(+), 17 deletions(-) diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py index 951e5760a..3cd929963 100644 --- a/pym/portage/dbapi/porttree.py +++ b/pym/portage/dbapi/porttree.py @@ -728,25 +728,66 @@ class portdbapi(dbapi): URIs. @rtype: dict """ + loop = self._event_loop + return loop.run_until_complete( + self.async_fetch_map(mypkg, useflags=useflags, + mytree=mytree, loop=loop)) - try: - eapi, myuris = self.aux_get(mypkg, - ["EAPI", "SRC_URI"], mytree=mytree) - except KeyError: - # Convert this to an InvalidDependString exception since callers - # already handle it. - raise portage.exception.InvalidDependString( - "getFetchMap(): aux_get() error reading "+mypkg+"; aborting.") + def async_fetch_map(self, mypkg, useflags=None, mytree=None, loop=None): + """ + Asynchronous form of getFetchMap. - if not eapi_is_supported(eapi): - # Convert this to an InvalidDependString exception - # since callers already handle it. - raise portage.exception.InvalidDependString( - "getFetchMap(): '%s' has unsupported EAPI: '%s'" % \ - (mypkg, eapi)) - - return _parse_uri_map(mypkg, {'EAPI':eapi,'SRC_URI':myuris}, - use=useflags) + @param mypkg: cpv for an ebuild + @type mypkg: String + @param useflags: a collection of enabled USE flags, for evaluation of + conditionals + @type useflags: set, or None to enable all conditionals + @param mytree: The canonical path of the tree in which the ebuild + is located, or None for automatic lookup + @type mypkg: String + @param loop: event loop (defaults to global event loop) + @type loop: EventLoop + @return: A future that results in a dict which maps each file name to + a set of alternative URIs. + @rtype: asyncio.Future (or compatible) + """ + loop = loop or global_event_loop() + loop = getattr(loop, '_asyncio_wrapper', loop) + result = loop.create_future() + + def aux_get_done(aux_get_future): + if result.cancelled(): + return + if aux_get_future.exception() is not None: + if isinstance(future.exception(), PortageKeyError): + # Convert this to an InvalidDependString exception since + # callers already handle it. + result.set_exception(portage.exception.InvalidDependString( + "getFetchMap(): aux_get() error reading " + + mypkg + "; aborting.")) + else: + result.set_exception(future.exception()) + return + + eapi, myuris = aux_get_future.result() + + if not eapi_is_supported(eapi): + # Convert this to an InvalidDependString exception + # since callers already handle it. + result.set_exception(portage.exception.InvalidDependString( + "getFetchMap(): '%s' has unsupported EAPI: '%s'" % \ + (mypkg, eapi))) + return + + result.set_result(_parse_uri_map(mypkg, + {'EAPI':eapi,'SRC_URI':myuris}, use=useflags)) + + aux_get_future = self.async_aux_get( + mypkg, ["EAPI", "SRC_URI"], mytree=mytree) + result.add_done_callback(lambda result: + aux_get_future.cancel() if result.cancelled() else None) + aux_get_future.add_done_callback(aux_get_done) + return result def getfetchsizes(self, mypkg, useflags=None, debug=0, myrepo=None):
[gentoo-portage-dev] [PATCH 5/5] EbuildFetcher: add async_already_fetched method (bug 653810)
Add an async_already_fetched method to replace the synchronous already_fetched method, and use it to prevent event loop recursion. Bug: https://bugs.gentoo.org/653810 --- pym/_emerge/EbuildBuild.py | 8 +++- pym/_emerge/EbuildFetcher.py | 30 -- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py index 9d4afd0ea..21c7f81ce 100644 --- a/pym/_emerge/EbuildBuild.py +++ b/pym/_emerge/EbuildBuild.py @@ -207,8 +207,14 @@ class EbuildBuild(CompositeTask): logfile=self.settings.get('PORTAGE_LOG_FILE'), pkg=self.pkg, scheduler=self.scheduler) + self._start_task(AsyncTaskFuture( + future=fetcher.async_already_fetched(self.settings)), + functools.partial(self._start_fetch, fetcher)) + + def _start_fetch(self, fetcher, already_fetched_task): + self._assert_current(already_fetched_task) try: - already_fetched = fetcher.already_fetched(self.settings) + already_fetched = already_fetched_task.future.result() except portage.exception.InvalidDependString as e: msg_lines = [] msg = "Fetch failed for '%s' due to invalid SRC_URI: %s" % \ diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index 8f6cc60fe..589eda85d 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -28,7 +28,7 @@ class EbuildFetcher(CompositeTask): CompositeTask.__init__(self, **kwargs) self._fetcher_proc = _EbuildFetcherProcess(**kwargs) - def already_fetched(self, settings): + def async_already_fetched(self, settings): """ Returns True if all files already exist locally and have correct digests, otherwise return False. When returning True, appropriate @@ -38,7 +38,7 @@ class EbuildFetcher(CompositeTask): such messages. This will raise InvalidDependString if SRC_URI is invalid. """ - return self._fetcher_proc.already_fetched(settings) + return self._fetcher_proc.async_already_fetched(settings) def _start(self): self._start_task( @@ -68,11 +68,29 @@ class _EbuildFetcherProcess(ForkProcess): __slots__ = ("config_pool", "ebuild_path", "fetchonly", "fetchall", "pkg", "prefetch", "_digests", "_manifest", "_settings", "_uri_map") - def already_fetched(self, settings): - uri_map = self.scheduler.run_until_complete(self._async_uri_map()) - if not uri_map: - return True + def async_already_fetched(self, settings): + result = self.scheduler.create_future() + + def uri_map_done(uri_map_future): + if uri_map_future.exception() is not None or result.cancelled(): + if not result.cancelled(): + result.set_exception(uri_map_future.exception()) + return + + uri_map = uri_map_future.result() + if uri_map: + result.set_result( + self._check_already_fetched(settings, uri_map)) + else: + result.set_result(True) + + uri_map_future = self._async_uri_map() + result.add_done_callback(lambda result: + aux_get_future.cancel() if result.cancelled() else None) + uri_map_future.add_done_callback(uri_map_done) + return result + def _check_already_fetched(self, settings, uri_map): digests = self._get_digests() distdir = settings["DISTDIR"] allow_missing = self._get_manifest().allow_missing -- 2.13.6
[gentoo-portage-dev] [PATCH 0/5] EbuildFetcher._get_uri_map(): fix event loop recursion (bug 653810)
Bug: https://bugs.gentoo.org/653810 Zac Medico (5): portdbapi: add async_fetch_map method (bug 653810) EbuildFetcher: inherit CompositeTask (bug 653810) EbuildFetcher: add _async_uri_map method (bug 653810) EbuildFetcher: use _async_uri_map in _start (bug 653810) EbuildFetcher: add async_already_fetched method (bug 653810) pym/_emerge/EbuildBuild.py| 8 +++- pym/_emerge/EbuildFetcher.py | 105 -- pym/portage/dbapi/porttree.py | 75 +++--- 3 files changed, 146 insertions(+), 42 deletions(-) -- 2.13.6
[gentoo-dev] Last rites: x11-libs/xpyb
# Matt Turner(21 Apr 2018) # Awful, unmaintained, unused. Removal in 30 days. Bug #651300. x11-libs/xpyb signature.asc Description: Digital signature
[gentoo-dev] Last Rites: x11-libs/libXp and x11-proto/printproto
# Matt Turner(21 Apr 2018) # Protocol headers and client library for the long dead Xprint extension. # Removal in 30 days. Bug #649076. x11-proto/printproto x11-libs/libXp signature.asc Description: Digital signature
[gentoo-dev] multi-backend support for ssl/tls in curl
The short of it is that curl supports having multiple backends. I'd like to have that feature enabled so libraries and userland can choose the backend they wish to use. https://bugs.gentoo.org/653076 has the specifics, but I cannot see a reason why we are artifically limiting the backed to just one. -- Matthew Thode (prometheanfire) signature.asc Description: PGP signature
[gentoo-dev] Last rites: dev-python/simpleparse
# Michał Górny(22 Apr 2018) # Unmaintained buggy package with unresearched segfaults. No support # for Python 3. No reverse dependencies. # Removal in 30 days. Bug #454680. dev-python/simpleparse -- Best regards, Michał Górny
[gentoo-dev] Packages up for grabs: dev-python/kaa*
The Python team is dropping maintenance of the following packages: dev-python/kaa-base(2 bugs open) dev-python/kaa-display dev-python/kaa-imlib2 dev-python/kaa-metadata This is yet another (smaller) suite of NIH. Of those packagse, only kaa-metadata has 'external' revdep of media-video/subdownloader which in turn is masked for removal already. If nobody wants them, I suppose those packages would be good treecleaning candidates. -- Best regards, Michał Górny
[gentoo-dev] Packages up for grabs: Enthought Tool Suite (dev-python/*)
The Python team is dropping maintenance of the following packages: package bugs notes -- --- dev-python/apptools 1 [dev-python/blockcanvas] 0 (has other maintainers) dev-python/casuarius 0 dev-python/chaco 1 dev-python/codetools 0 dev-python/enable3 dev-python/encore0 dev-python/envisage 0 dev-python/ets 0 (metapackage) dev-python/etsdevtools 0 dev-python/etsproxy 0 dev-python/graphcanvas 0 dev-python/pyface2 [dev-python/scimath] 0 (has other maintainers) [dev-python/traits] 2 (has other maintainers) dev-python/traitsui 0 The ETS is a large suite of NIH packages. Its only 'external' revdep is sci-vis/mayavi (CC-ed maintainer). They have a few bugs open (counts above). I've listed also packages that have other maintainers in case someone wanted the whole suite. -- Best regards, Michał Górny
[gentoo-dev] Packages up for grabs: dev-python/soya
The Python team is dropping the maintenance of the following package: dev-python/soya This package is a game engine with only one reverse dependency of games-action/slune (CC-ing maintainers of that). Both versions in repo have build failures reported: https://bugs.gentoo.org/424309 https://bugs.gentoo.org/634734 There's also open stabilization bug waiting for action: https://bugs.gentoo.org/653162 -- Best regards, Michał Górny