Merge commit 'c9aa12187dba943595a728ed23cd2c5ec54470df' into master

Updating cros-sdk to version 13729.0.0

BUG=b/177232752
TEST=local build
RELEASE_NOTE=None

Signed-off-by: Robert Kolchmeyer <rkolchmeyer@google.com>
Change-Id: Ic0a53567d2fad25d7fa2f02fe76784c837103eee
diff --git a/app-accessibility/espeak-ng/Manifest b/app-accessibility/espeak-ng/Manifest
index e5681f8..eaa29c1 100644
--- a/app-accessibility/espeak-ng/Manifest
+++ b/app-accessibility/espeak-ng/Manifest
@@ -1 +1 @@
-DIST espeak-ng-1.49.3.6.tar.gz 15409009 BLAKE2B 0a5c4bd21d48585b17271482941ce4d9b1102aec24232783b2cc4635f7fab3cc0562c2c5d8f964bd068fdea21cee5183965144e5fe3030865c4d7a52306b4198 SHA512 39cbaf28306c0c99f61b0d411f9deb12200b987388ff92752bbe37cfd339b48d9d59530cad35f3d0b5a1dd5f7ff97c20eaf9aef4396c62f289dcba1835e11d9a
+DIST espeak-ng-1.49.3.7.tar.gz 15408235 BLAKE2B 49249d7ba79987285c8e4766738606e12a9835832995d57801f779b2aa9529330bf5cb4d01b4f69dacb2001f32e403594164c3a342f3ac236ab79050a7ec0ada SHA512 8f6b89661958818c18710bdf903ad3481f70e9ce5c0bc0572e883553c657a8716cb728b01b67704c5b88ba4315ced49e0d058f79071fe60c893239165dd84f4a
diff --git a/app-accessibility/espeak-ng/espeak-ng-1.49.3.6.ebuild b/app-accessibility/espeak-ng/espeak-ng-1.49.3.7.ebuild
similarity index 100%
rename from app-accessibility/espeak-ng/espeak-ng-1.49.3.6.ebuild
rename to app-accessibility/espeak-ng/espeak-ng-1.49.3.7.ebuild
diff --git a/app-accessibility/googletts/Manifest b/app-accessibility/googletts/Manifest
index ff03ebe..ca457ab 100644
--- a/app-accessibility/googletts/Manifest
+++ b/app-accessibility/googletts/Manifest
@@ -1 +1 @@
-DIST googletts-14.3.tar.xz 103622512 BLAKE2B 17683bb71e529ff8ad75b6b00aef7f0a5787d01715cc96643ebabd86c7117c61ca5c72d13c527cea27fbd660d806a9360d8c812b86a92976fc4cf3fcd4b2652b SHA512 42c8d1e4d4e263d20767de7bce7e85d6ae1dc01aa8c4794a192cd60d3eadf606d8f6fd5571d70487963c819300d7d7ee4061785a493d0b50e23d7bdb06c0e99f
+DIST googletts-14.7.tar.xz 119923304 BLAKE2B d1780dd47c0e243fe8e0490c4d05070a2a713e03dd9049ccf9cee49afc66526600399decfb3d9580734d2043d7f88f6375c2f4c5d38f641317f6d83c16e8f80b SHA512 5253c244ff1da570c1f8b324f4dbb340a70173b97b8a67ab0793989740e3c3302330ed51a75e001b8d1a165431735b488715c45b5d539614925a7301d524bd42
diff --git a/app-accessibility/googletts/googletts-14.3.ebuild b/app-accessibility/googletts/googletts-14.7.ebuild
similarity index 100%
rename from app-accessibility/googletts/googletts-14.3.ebuild
rename to app-accessibility/googletts/googletts-14.7.ebuild
diff --git a/app-admin/rsyslog/Manifest b/app-admin/rsyslog/Manifest
new file mode 100644
index 0000000..2bd80d8
--- /dev/null
+++ b/app-admin/rsyslog/Manifest
@@ -0,0 +1,2 @@
+DIST rsyslog-8.1904.0.tar.gz 2902708 BLAKE2B 515d5e32c2dc6cdd8dd51fc595ad775503438603f28828e9f1a427b184a5a61de32af2ee90334b7d56a9404106d74da47386a18a370278d5a16422a6bb09f556 SHA512 cccb48f06508d7e7c2dd788903f4d7ddb3020cdf6079aea1d52387c56b920f10b08957a79b5d420ccdb54cae50d1da6e5eb80cde9498bceaeda4f6ce37f694fd
+DIST rsyslog-doc-8.1904.0.tar.gz 8042650 BLAKE2B 585fe5c63eee1fb46f94dcd3d529045b3900e08c291e0e71ed9bf32a6200e6c7283820b262bd56e9aeb74cc227ecd518caafec5a8f87c1d8523d5d7fd95030aa SHA512 da0ff00fbe71756b3c27fd8b94e88611452c3ba611e583862556393faaaa596ca8f32f694ad40a3e1df67385d9f9ca80db6a58f5d2e336fe95639dd7cd0de828
diff --git a/app-admin/rsyslog/files/001-add-imstdoutsock-plugin.patch b/app-admin/rsyslog/files/001-add-imstdoutsock-plugin.patch
new file mode 100644
index 0000000..d9526e8
--- /dev/null
+++ b/app-admin/rsyslog/files/001-add-imstdoutsock-plugin.patch
@@ -0,0 +1,32 @@
+diff --git rsyslog-8.1904/Makefile.am rsyslog-8.1904/Makefile.am
+index 5fe1ab8..651b657 100644
+--- rsyslog-8.1904/Makefile.am
++++ rsyslog-8.1904/Makefile.am
+@@ -38,6 +38,7 @@ EXTRA_DIST = \
+ SUBDIRS = compat runtime grammar . plugins/immark plugins/imuxsock plugins/imtcp plugins/imudp plugins/omtesting
+ # external plugin driver is always enabled (core component)
+ SUBDIRS += plugins/mmexternal
++SUBDIRS += plugins/imstdoutsock
+ 
+ if ENABLE_RSYSLOGD
+ SUBDIRS += tools
+diff --git rsyslog-8.1904/configure.ac rsyslog-8.1904/configure.ac
+index 76b4ed8..55e0a38 100644
+--- rsyslog-8.1904/configure.ac
++++ rsyslog-8.1904/configure.ac
+@@ -1,6 +1,7 @@
+ #                                               -*- Autoconf -*-
+ # Process this file with autoconf to produce a configure script.
+ 
++
+ AC_PREREQ(2.61)
+ AC_INIT([rsyslog],[8.1904.0],[rsyslog@lists.adiscon.com])         # UPDATE on release
+ AC_DEFINE(VERSION_YEAR, 19, [year part of real rsyslog version])  # UPDATE on release
+@@ -2441,6 +2442,7 @@ AC_CONFIG_FILES([Makefile \
+ 		plugins/imfile/Makefile \
+ 		plugins/imsolaris/Makefile \
+ 		plugins/imptcp/Makefile \
++		plugins/imstdoutsock/Makefile \
+ 		plugins/impstats/Makefile \
+ 		plugins/imrelp/Makefile \
+ 		plugins/imdiag/Makefile \
diff --git a/app-admin/rsyslog/files/001-add-imstdoutsock-plugin/Makefile.am b/app-admin/rsyslog/files/001-add-imstdoutsock-plugin/Makefile.am
new file mode 100644
index 0000000..1e3c178
--- /dev/null
+++ b/app-admin/rsyslog/files/001-add-imstdoutsock-plugin/Makefile.am
@@ -0,0 +1,10 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+pkglib_LTLIBRARIES = imstdoutsock.la
+
+imstdoutsock_la_SOURCES = imstdoutsock.c
+imstdoutsock_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
+imstdoutsock_la_LDFLAGS = -module -avoid-version
+imstdoutsock_la_LIBADD =
diff --git a/app-admin/rsyslog/files/001-add-imstdoutsock-plugin/imstdoutsock.c b/app-admin/rsyslog/files/001-add-imstdoutsock-plugin/imstdoutsock.c
new file mode 100644
index 0000000..1f13439
--- /dev/null
+++ b/app-admin/rsyslog/files/001-add-imstdoutsock-plugin/imstdoutsock.c
@@ -0,0 +1,956 @@
+/* imstdoutsock.c
+ *
+ * Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <netinet/in.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/epoll.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/un.h>
+#include <unistd.h>
+
+// rsyslog.h must be included before other rsyslog header files.
+#include "rsyslog.h"
+
+#include "datetime.h"
+#include "dirty.h"
+#include "errmsg.h"
+#include "glbl.h"
+#include "module-template.h"
+#include "msg.h"
+#include "prop.h"
+#include "srUtils.h"
+#include "unicode-helper.h"
+
+MODULE_TYPE_INPUT
+MODULE_TYPE_NOKEEP
+MODULE_CNFNAME("imstdoutsock")
+
+DEF_IMOD_STATIC_DATA
+DEFobjCurrIf(glbl)
+DEFobjCurrIf(prop)
+DEFobjCurrIf(datetime)
+
+
+#define HANDLE_EINTR(x) ({ \
+  __typeof__(x) eintr_wrapper_result; \
+  do { \
+    eintr_wrapper_result = (x); \
+  } while (eintr_wrapper_result == -1 && errno == EINTR); \
+  eintr_wrapper_result; \
+})
+
+
+// Configurations:
+static const uchar* kInputName = UCHAR_CONSTANT("imstdoutsock");
+static const int kCreateMode = 0644;
+static const int kSocketBacklogNumber = 5;
+
+struct modConfData_s {
+  // Overall config object.
+  rsconf_t* pConf;
+  // Path to bind an unix socket to.
+  uchar* pszBindPath;
+};
+
+// Module global configuration parameter definition:
+static struct cnfparamdescr modpdescr[] = {
+  { "path", eCmdHdlrString, 0 }
+};
+static struct cnfparamblk modpblk =
+  { CNFPARAMBLK_VERSION,
+    sizeof(modpdescr)/sizeof(struct cnfparamdescr),
+    modpdescr
+  };
+
+typedef struct session_s session_t;
+typedef struct epoll_entry_s epoll_entry_t;
+typedef struct server_s server_t;
+
+// Type of epoll event.
+typedef enum {
+  EPOLL_EVENT_SERVER,
+  EPOLL_EVENT_SESSION
+} epoll_entry_type_t;
+
+// Type of epoll descriptor.
+struct epoll_entry_s {
+  epoll_entry_type_t type;
+  struct epoll_event ev;
+  union {
+    void* raw;
+    session_t* session;
+    server_t* server;
+  } ptr;
+};
+
+struct server_s {
+  int sock;
+  epoll_entry_t* pEpollEntry;
+
+  // First session associated with this server.
+  session_t* pSessions;
+
+  uchar* path;
+  prop_t* propInputName;
+};
+
+struct session_s {
+  int sock;
+  epoll_entry_t* pEpollEntry;
+
+  // Linked list to other other sessions.
+  session_t *prev, *next;
+
+  server_t* pServer;
+
+  // The current state of parse.
+  enum {
+    PARSING_IN_HEADER,
+    PARSING_IN_BODY,
+  } parseState;
+
+  // Property of the message.
+  uchar* pMessage;
+  int iMessageSize;
+  int iMaxLine;
+  uchar* pTag;
+  syslog_pri_t priority;
+};
+
+
+// Forward declaration.
+static rsRetVal
+InstallEpollEntry(epoll_entry_type_t type, void *ptr, int sock,
+  epoll_entry_t **pNewEpollEntry);
+
+
+// Global variables
+static modConfData_t* g_load_mod_conf = NULL;
+static server_t* g_server = NULL;
+static int g_epoll_fd = -1;
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Utility functions
+
+/* put the string to prop object. */
+static rsRetVal
+ConvertStringToProp(prop_t** pProp, const uchar* szValueString)
+{
+  DEFiRet;
+
+  uchar* szSafeValueString;
+  // Copy the string to a temporary buffer.
+  CHKmalloc(szSafeValueString = ustrdup(szValueString));
+
+  // Store the value into a prop object.
+  CHKiRet(prop.Construct(pProp));
+  CHKiRet(
+    prop.SetString(*pProp, szSafeValueString, ustrlen(szSafeValueString)));
+  CHKiRet(prop.ConstructFinalize(*pProp));
+
+finalize_it:
+  free(szSafeValueString);
+
+  if (iRet != RS_RET_OK && *pProp != NULL)
+    prop.Destruct(pProp);
+  RETiRet;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Message parsing and submitting functions
+//
+// A message consists of header and body. And they are splitted with a blank
+// line.
+//
+// Sample message:
+//  > TAG=process[1234]
+//  > PRIORITY=5
+//  >
+//  > this is a stdout from the process
+//  > hello, hello, hello, ...
+
+/* submit the message to rsyslog core. */
+static rsRetVal
+SubmitMessage(const session_t* pSession, const struct syslogTime* stTime,
+    time_t ttGenTime)
+{
+  DEFiRet;
+
+  int line_len = pSession->iMessageSize;
+
+  // Removing a trailing line break from the length.
+  if (pSession->pMessage[line_len - 1] == '\n')
+    line_len--;
+
+  if (line_len <= 0) {
+    // Ignore an empty line or just a line break.
+    FINALIZE;
+  }
+
+  smsg_t* pMessage;
+
+  // Construct a message.
+  CHKiRet(msgConstructWithTime(&pMessage, stTime, ttGenTime));
+  MsgSetMSGoffs(pMessage, 0);
+  MsgSetFlowControlType(pMessage, eFLOWCTL_LIGHT_DELAY);
+  MsgSetRcvFrom(pMessage, glbl.GetLocalHostNameProp());
+  MsgSetHOSTNAME(pMessage, glbl.GetLocalHostName(),
+                 ustrlen(glbl.GetLocalHostName()));
+  MsgSetInputName(pMessage, pSession->pServer->propInputName);
+  MsgSetTAG(pMessage, pSession->pTag, ustrlen(pSession->pTag));
+  msgSetPRI(pMessage, pSession->priority);
+  // Removing a trailing line break from the length.
+  MsgSetRawMsg(pMessage, (char*)pSession->pMessage, line_len);
+
+  // Submit the message to the rsyslogd core.
+  CHKiRet(submitMsg2(pMessage));
+
+finalize_it:
+  RETiRet;
+}
+
+
+/* process a header line.
+ * We supprts only "TAG" and "PRIORITY" headers. */
+static rsRetVal
+ProcessHeaderLine(session_t* pSession)
+{
+  // Reasonable limit (256 char) of maximum header line.
+  const int kMaximumHeaderLineLength = MIN(256, pSession->iMaxLine - 1);
+
+  DEFiRet;
+
+  int line_len = pSession->iMessageSize;
+
+  // Remove a trailing line break from the current line.
+  if (pSession->pMessage[line_len - 1] == '\n')
+    line_len--;
+
+  if (line_len >= kMaximumHeaderLineLength) {
+    // Ignore an overflown part of a long header line.
+    line_len = kMaximumHeaderLineLength;
+  }
+
+  const char kTagHeaderPrefix[] = "TAG=";
+  const int kLengthOfTagHeaderPrefix = sizeof(kTagHeaderPrefix) - 1;
+
+  const char kPriorityHeaderPrefix[] = "PRIORITY=";
+  const int kLengthOfPriorityHeaderPrefix = sizeof(kPriorityHeaderPrefix) - 1;
+
+  if (line_len > kLengthOfTagHeaderPrefix &&
+      strncmp((char*)pSession->pMessage, kTagHeaderPrefix,
+              kLengthOfTagHeaderPrefix) == 0) {
+
+    // Calculate the tag length by removing lengths of the tag header and a
+    // terminating null.
+    const int tag_length = line_len - kLengthOfTagHeaderPrefix;
+    // The raw tag + a following collon ':' + a following null '\0'.
+    const int tag_buffer_length = tag_length + 2;
+
+    CHKmalloc(pSession->pTag = malloc(tag_buffer_length));
+    memcpy(pSession->pTag, (pSession->pMessage + kLengthOfTagHeaderPrefix),
+           tag_length);
+    // Replace a non-graphable char with an underscore.
+    for (int i = 0; i < tag_length; i++) {
+      if (!isgraph(pSession->pTag[i]))
+        pSession->pTag[i] = '_';
+    }
+    pSession->pTag[tag_length + 0] = ':';
+    pSession->pTag[tag_length + 1] = '\0';
+  } else if (line_len > kLengthOfPriorityHeaderPrefix &&
+      strncmp((char*)pSession->pMessage, kPriorityHeaderPrefix,
+              kLengthOfPriorityHeaderPrefix) == 0) {
+    int priority = LOG_DEBUG;
+
+    // The format is valid: a single character.
+    if (line_len == kLengthOfPriorityHeaderPrefix + 1) {
+      // Priority must be a single integer character.
+      priority = pSession->pMessage[kLengthOfPriorityHeaderPrefix] - '0';
+
+      // Drop an invalid value.
+      if (priority > LOG_DEBUG || priority < 0)
+        priority = LOG_DEBUG;
+    }
+
+    pSession->priority = priority;
+  }
+
+finalize_it:
+  RETiRet;
+}
+
+
+/* process a received character. */
+static rsRetVal
+ProcessReceivedCharacters(
+  session_t* pSession, const char c,
+  const struct syslogTime* stTime, time_t ttGenTime)
+{
+  DEFiRet;
+
+  if (pSession->iMessageSize < pSession->iMaxLine)
+    pSession->pMessage[pSession->iMessageSize++] = c;
+
+  bool is_buffer_full = (pSession->iMessageSize >= pSession->iMaxLine);
+
+  switch (pSession->parseState) {
+    case PARSING_IN_HEADER:
+      // If the line is too long, the overflown part is just silently ignored.
+
+      if (c == '\n') {
+        if (pSession->iMessageSize == 1) {
+          // Transition from HEADER to BODY state, since it's an empty line.
+          pSession->parseState = PARSING_IN_BODY;
+        } else {
+          iRet = ProcessHeaderLine(pSession);
+        }
+        pSession->iMessageSize = 0;
+        CHKiRet(iRet);
+      }
+      break;
+    case PARSING_IN_BODY: {
+      if (is_buffer_full) {
+        LogError(0, NO_ERRCODE, "imstdoutsock: received line is longer than"
+                 " the maximum line length. Line will be splitted.");
+      }
+      if (is_buffer_full || c == '\n') {
+        iRet = SubmitMessage(pSession, stTime, ttGenTime);
+        pSession->iMessageSize = 0;
+        CHKiRet(iRet);
+      }
+      break;
+    }
+  }
+
+finalize_it:
+  RETiRet;
+}
+
+
+/* process a received data (stream). */
+static rsRetVal
+ProcessReceivedData(session_t* pSession, const char* pData, size_t iLen)
+{
+  DEFiRet;
+
+  assert(pData != NULL);
+  assert(iLen > 0);
+
+    // Retrieve the current time.
+  struct syslogTime stTime;
+  time_t ttGenTime = 0;
+  datetime.getCurrTime(&stTime, &ttGenTime, TIME_IN_LOCALTIME);
+
+  const char* pEnd = pData + iLen;
+  for (const char* p = pData; p < pEnd; p++) {
+    CHKiRet(ProcessReceivedCharacters(pSession, *p, &stTime, ttGenTime));
+  }
+
+finalize_it:
+  RETiRet;
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Session
+
+/* destructor */
+static void DestroySession(session_t* pSession) {
+  free(pSession->pTag);
+  free(pSession->pEpollEntry);
+  free(pSession->pMessage);
+
+  // Fill NULLs to prevent use-after-free.
+  pSession->pTag = NULL;
+  pSession->pEpollEntry = NULL;
+  pSession->pMessage = NULL;
+
+  free(pSession);
+}
+
+
+/* constructor */
+static rsRetVal CreateSession(server_t* pServer, session_t** pNewSession) {
+  DEFiRet;
+  session_t* pSession;
+
+  CHKmalloc(pSession = malloc(sizeof(session_t)));
+
+  // Initialize the object.
+  pSession->pTag = NULL;
+  pSession->pEpollEntry = NULL;
+  pSession->priority = LOG_INFO;
+  pSession->pServer = pServer;
+  pSession->parseState = PARSING_IN_HEADER;
+  pSession->iMessageSize = 0;
+  pSession->iMaxLine = glbl.GetMaxLine();
+  pSession->sock = -1;
+  pSession->prev = NULL;
+  pSession->next = NULL;
+
+  // Ensure the max line length is bigger than a reasonable limit.
+  assert(pSession->iMaxLine >= 80);
+
+  CHKmalloc(pSession->pMessage = malloc(pSession->iMaxLine));
+
+  // Link to the prev and next sessions (bi-linked list).
+  pSession->next = pServer->pSessions;
+  if (pServer->pSessions != NULL)
+    pServer->pSessions->prev = pSession;
+  pServer->pSessions = pSession;
+
+  *pNewSession = pSession;
+  pSession = NULL;
+
+finalize_it:
+  if (pSession != NULL) {
+    // Ensure the session is not in the list.
+    assert(pSession->next == NULL);
+    assert(pServer->pSessions != pSession);
+
+    DestroySession(pSession);
+  }
+
+  RETiRet;
+}
+
+
+/* Cleanup the session. This also destries the object. */
+static void CloseAndDestroySession(session_t* pSession) {
+  close(pSession->sock);
+
+  if (pSession->pServer->pSessions == pSession) {
+    assert(pSession->prev == NULL);
+    pSession->pServer->pSessions = pSession->next;
+  }
+
+  // Unlink from the prev and next sessions (bi-linked list).
+  if (pSession->next != NULL)
+    pSession->next->prev = pSession->prev;
+  if (pSession->prev != NULL)
+    pSession->prev->next = pSession->next;
+
+  DestroySession(pSession);
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// Server
+
+/* destructor */
+static void
+DestroyServer(server_t* pServer)
+{
+  if (pServer->propInputName != NULL)
+    prop.Destruct(&pServer->propInputName);
+
+  free(pServer->pEpollEntry);
+  free(pServer->path);
+  free(pServer);
+}
+
+
+/* Close the socket and its sessions. */
+static void
+CloseServer(const server_t* pServer)
+{
+  // Close the server socket
+  close(pServer->sock);
+
+  // Remove the sock file.
+  unlink((char*) pServer->path);
+
+  // Close the sessions.
+  while (pServer->pSessions != NULL)
+    CloseAndDestroySession(pServer->pSessions);
+}
+
+
+/* accept a connection to the server */
+static rsRetVal
+AcceptConnection(const server_t* pServer, session_t* pSession)
+{
+  DEFiRet;
+
+  int sock = HANDLE_EINTR(accept(pServer->sock, NULL, NULL));
+
+  if (sock < 0) {
+    if (errno == EAGAIN || errno == EWOULDBLOCK || errno == EMFILE)
+      ABORT_FINALIZE(RS_RET_NO_MORE_DATA);
+
+    LogError(errno, RS_RET_ACCEPT_ERR, "imstdoutsock: "
+             "error on accepting connection on server socket");
+    ABORT_FINALIZE(RS_RET_ACCEPT_ERR);
+  }
+
+  // Get the current socket flags.
+  int sockflags = fcntl(sock, F_GETFL);
+  if (sockflags == -1) {
+    LogError(errno, RS_RET_IO_ERROR, "imstdoutsock: "
+             "error on getting sock flags on accepted sock %d", sock);
+    ABORT_FINALIZE(RS_RET_IO_ERROR);
+  }
+
+  // Set the socket flags with enabling non-blocking I/O.
+  sockflags |= O_NONBLOCK;
+  sockflags = fcntl(sock, F_SETFL, sockflags);
+  if (sockflags == -1) {
+    LogError(errno, RS_RET_IO_ERROR, "imstdoutsock: "
+             "error on setting fcntl(O_NONBLOCK) on accepted sock %d", sock);
+    ABORT_FINALIZE(RS_RET_IO_ERROR);
+  }
+
+  pSession->sock = sock;
+  CHKiRet(InstallEpollEntry(EPOLL_EVENT_SESSION, pSession, sock,
+      &pSession->pEpollEntry));
+
+finalize_it:
+  if (iRet != RS_RET_OK) {
+    if (iRet != RS_RET_NO_MORE_DATA) {
+      LogError(0, NO_ERRCODE, "imstdoutsock: connection could not be "
+               "established.");
+    }
+    close(sock);
+  }
+
+  RETiRet;
+}
+
+
+/* initialize the server */
+static rsRetVal StartupServer(server_t* pServer) {
+  DEFiRet;
+
+  const uchar* path = pServer->path == NULL ? UCHAR_CONSTANT("") : pServer->path;
+
+  int sock = socket(AF_UNIX, SOCK_STREAM, 0);
+  if (sock < 0) {
+    LogError(errno, RS_RET_ERR_CRE_AFUX,
+             "imstdoutsock: error on creating server socket");
+    ABORT_FINALIZE(RS_RET_ERR_CRE_AFUX);
+  }
+
+  struct sockaddr_un local;
+  local.sun_family = AF_UNIX;
+  strncpy(local.sun_path, (char*)path, sizeof(local.sun_path) - 1);
+
+  // Get the current socket flags.
+  int sockflags = fcntl(sock, F_GETFL);
+  if (sockflags == -1) {
+    LogError(errno, RS_RET_IO_ERROR,
+             "imstdoutsock: error on getting sock flags on server socket");
+    ABORT_FINALIZE(RS_RET_IO_ERROR);
+  }
+
+  // Set the socket flags with enabling non-blocking I/O.
+  sockflags |= O_NONBLOCK;
+  sockflags = fcntl(sock, F_SETFL, sockflags);
+  if (sockflags == -1) {
+    LogError(errno, RS_RET_IO_ERROR, "imstdoutsock: "
+             "error on setting fcntl(O_NONBLOCK) on server socket");
+    ABORT_FINALIZE(RS_RET_IO_ERROR);
+  }
+
+  if (bind(sock, (struct sockaddr*)&local, SUN_LEN(&local)) < 0) {
+    LogError(errno, RS_RET_COULD_NOT_BIND,
+             "imstdoutsock: error on binding server socket %s", pServer->path);
+    ABORT_FINALIZE(RS_RET_COULD_NOT_BIND);
+  }
+
+  if (listen(sock, kSocketBacklogNumber) < 0) {
+    LogError(errno, RS_RET_IO_ERROR,
+             "imstdoutsock: error on starting listening unix socket");
+    ABORT_FINALIZE(RS_RET_IO_ERROR);
+  }
+
+  if (chmod(local.sun_path, kCreateMode) != 0) {
+    LogError(errno, RS_RET_IO_ERROR,
+             "imstdoutsock: error on chmod of unix socket");
+    ABORT_FINALIZE(RS_RET_IO_ERROR);
+  }
+
+  pServer->sock = sock;
+  CHKiRet(InstallEpollEntry(EPOLL_EVENT_SERVER, pServer, sock,
+      &pServer->pEpollEntry));
+
+finalize_it:
+  if (iRet != RS_RET_OK) {
+    close(sock);
+    pServer->sock = -1;
+  }
+
+  RETiRet;
+}
+
+
+/* constructor */
+static rsRetVal
+CreateServer(const modConfData_t* pModConf, server_t** pCreatedSrv)
+{
+  DEFiRet;
+  server_t* pServer;
+
+  CHKmalloc(pServer = calloc(1, sizeof(server_t)));
+  pServer->pSessions = NULL;
+  pServer->sock = -1;
+  CHKmalloc(pServer->path = ustrdup(pModConf->pszBindPath));
+  CHKiRet(ConvertStringToProp(&pServer->propInputName, kInputName));
+
+  assert(*pCreatedSrv == NULL);
+  *pCreatedSrv = pServer;
+
+finalize_it:
+  if (iRet != RS_RET_OK && pServer != NULL) {
+    DestroyServer(pServer);
+    *pCreatedSrv = NULL;
+  }
+
+  RETiRet;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// epoll handlers and manipulation methods
+
+/* handler on a server socket.
+ * This is called when the new connection comes. */
+static rsRetVal
+OnServerActive(server_t* pServer)
+{
+  DEFiRet;
+
+  while (glbl.GetGlobalInputTermState() == 0) {
+    rsRetVal iLocalRet;
+    session_t *pSession = NULL;
+
+    iLocalRet = CreateSession(pServer, &pSession);
+    if (iLocalRet != RS_RET_OK) {
+      ABORT_FINALIZE(iLocalRet);
+    }
+
+    if (glbl.GetGlobalInputTermState() == 1) {
+      CloseAndDestroySession(pSession);
+      break;
+    }
+
+    iLocalRet = AcceptConnection(pServer, pSession);
+    if (iLocalRet == RS_RET_NO_MORE_DATA) {
+      CloseAndDestroySession(pSession);
+      break;
+    }
+    if (iLocalRet != RS_RET_OK) {
+      // Error occurred.
+      LogError(errno, RS_RET_IO_ERROR, "imstdoutsock: error on "
+               "AcceptConnection().");
+      CloseAndDestroySession(pSession);
+      break;
+    }
+
+    CHKiRet(iLocalRet);
+  }
+
+finalize_it:
+  RETiRet;
+}
+
+
+/* handler on a established socket.
+ * This is called when the new data comes on an establish socket. */
+static rsRetVal
+OnSessionActive(session_t* pSession)
+{
+  DEFiRet;
+
+  while (true) {
+    char rcvBuf[128*1024];
+    const size_t lenBuf = sizeof(rcvBuf);
+    int lenRcv = HANDLE_EINTR(recv(pSession->sock, rcvBuf, lenBuf, 0));
+
+    if (lenRcv == 0) {
+      // Connection closed.
+      ABORT_FINALIZE(RS_RET_IO_ERROR);
+      break;
+    }
+
+    if (lenRcv < 0) {
+      if (errno == EAGAIN || errno == EWOULDBLOCK)
+        break;
+
+      // An error occurred.
+      LogError(errno, RS_RET_IO_ERROR, "imstdoutsock: error on recv().");
+      ABORT_FINALIZE(RS_RET_IO_ERROR);
+      break;
+    }
+
+    // Process the received data
+    CHKiRet(ProcessReceivedData(pSession, rcvBuf, lenRcv));
+  }
+
+finalize_it:
+  if (iRet != RS_RET_OK)
+    CloseAndDestroySession(pSession);
+
+  RETiRet;
+}
+
+
+/* Install an epoll entry which hooks the change on socket. */
+static rsRetVal
+InstallEpollEntry(
+  epoll_entry_type_t type, void *ptr, int sock,
+  epoll_entry_t **pNewEpollEntry)
+{
+  DEFiRet;
+  epoll_entry_t *pEpollEntry = NULL;
+
+  if (g_epoll_fd == -1) {
+    // We shouldn't call this function in the case of invalid the epoll FD, but
+    // check here just in case.
+    LogError(errno, RS_RET_EPOLL_CTL_FAILED,
+             "imstdoutsock: Epoll can't be called, since the FD is invalid.");
+    ABORT_FINALIZE(RS_RET_EPOLL_CTL_FAILED);
+  }
+
+  CHKmalloc(pEpollEntry = calloc(1, sizeof(epoll_entry_t)));
+  pEpollEntry->type = type;
+  pEpollEntry->ptr.raw = ptr;
+  pEpollEntry->ev.events = EPOLLIN | EPOLLET | EPOLLONESHOT;
+  pEpollEntry->ev.data.ptr = pEpollEntry;
+
+  *pNewEpollEntry = pEpollEntry;
+
+  if (epoll_ctl(g_epoll_fd, EPOLL_CTL_ADD, sock, &(pEpollEntry->ev)) != 0) {
+    LogError(errno, RS_RET_EPOLL_CTL_FAILED,
+             "imstdoutsock: error on adding epoll entry");
+    ABORT_FINALIZE(RS_RET_EPOLL_CTL_FAILED);
+  }
+
+finalize_it:
+  if (iRet != RS_RET_OK) {
+    free(pEpollEntry);
+    *pNewEpollEntry = NULL;
+  }
+  RETiRet;
+}
+
+/* process an epoll event when happens.
+ * This checks the type and calls a handler. */
+static void
+ProcessEpollEvent(epoll_entry_t* pEpollEntry)
+{
+  rsRetVal iLocalRet;
+
+  int sock = -1;
+  switch(pEpollEntry->type) {
+  case EPOLL_EVENT_SERVER:
+    OnServerActive(pEpollEntry->ptr.server);
+    sock = pEpollEntry->ptr.server->sock;
+    break;
+  case EPOLL_EVENT_SESSION:
+    iLocalRet = OnSessionActive(pEpollEntry->ptr.session);
+    sock = pEpollEntry->ptr.session->sock;
+    break;
+  default:
+    LogError(0, RS_RET_INTERNAL_ERROR, "imstdoutsock: "
+             "error: invalid epoll_entry_type_t %d", pEpollEntry->type);
+    break;
+  }
+
+  if (iLocalRet == RS_RET_OK) {
+    if (epoll_ctl(g_epoll_fd, EPOLL_CTL_MOD, sock,
+        &(pEpollEntry->ev)) < 0) {
+      LogError(errno, RS_RET_ERR_EPOLL_CTL, "imstdoutsock: "
+               "error on epoll_ctl().");
+    }
+  }
+}
+
+
+///////////////////////////////////////////////////////////////////////////////
+// rsyslog module entry points
+
+BEGINnewInpInst
+CODESTARTnewInpInst
+ENDnewInpInst
+
+
+BEGINbeginCnfLoad
+CODESTARTbeginCnfLoad
+  g_load_mod_conf = pModConf;
+  pModConf->pConf = pConf;
+ENDbeginCnfLoad
+
+
+BEGINsetModCnf
+CODESTARTsetModCnf
+  struct cnfparamvals* paramVals = nvlstGetParams(lst, &modpblk, NULL);
+  if (paramVals == NULL) {
+    LogError(0, RS_RET_MISSING_CNFPARAMS, "imstdoutsock: error on "
+             "processing module config.");
+    ABORT_FINALIZE(RS_RET_MISSING_CNFPARAMS);
+  }
+
+  for(int i = 0 ; i < modpblk.nParams ; ++i) {
+    if (!paramVals[i].bUsed)
+      continue;
+
+    if (!strcmp(modpblk.descr[i].name, "path")) {
+      g_load_mod_conf->pszBindPath =
+          (uchar*)es_str2cstr(paramVals[i].val.d.estr, NULL);
+    }
+  }
+
+finalize_it:
+  if (paramVals != NULL)
+    cnfparamvalsDestruct(paramVals, &modpblk);
+ENDsetModCnf
+
+
+BEGINendCnfLoad
+CODESTARTendCnfLoad
+  g_load_mod_conf = NULL;
+ENDendCnfLoad
+
+
+BEGINcheckCnf
+CODESTARTcheckCnf
+ENDcheckCnf
+
+
+BEGINactivateCnfPrePrivDrop
+CODESTARTactivateCnfPrePrivDrop
+  assert(g_server == NULL);
+  CHKiRet(CreateServer(pModConf, &g_server));
+  if (g_server == NULL) {
+    LogError(0, RS_RET_NO_LSTN_DEFINED, "imstdoutsock: no socket path "
+             "specified. The module can not run.");
+    ABORT_FINALIZE(RS_RET_NO_RUN);
+  }
+
+  assert(g_epoll_fd == -1);
+  g_epoll_fd = epoll_create1(EPOLL_CLOEXEC);
+  if (g_epoll_fd < 0) {
+    LogError(errno, RS_RET_EPOLL_CR_FAILED,
+             "imstdoutsock: error on epoll_create()");
+    ABORT_FINALIZE(RS_RET_NO_RUN);
+  }
+
+  CHKiRet(StartupServer(g_server));
+
+finalize_it:
+  if (iRet != RS_RET_OK) {
+    if (g_epoll_fd != -1) {
+      close(g_epoll_fd);
+      g_epoll_fd = -1;
+    }
+
+    if (g_server != NULL) {
+      DestroyServer(g_server);
+      g_server = NULL;
+    }
+
+  }
+
+ENDactivateCnfPrePrivDrop
+
+
+BEGINactivateCnf
+CODESTARTactivateCnf
+ENDactivateCnf
+
+
+BEGINfreeCnf
+CODESTARTfreeCnf
+  free(pModConf->pszBindPath);
+ENDfreeCnf
+
+
+BEGINrunInput
+CODESTARTrunInput
+  while (glbl.GetGlobalInputTermState() == 0) {
+    struct epoll_event events[128];
+    int nEvents = epoll_wait(
+      g_epoll_fd, events, (sizeof(events) / sizeof(struct epoll_event)),
+      -1);
+
+    for(int i = 0; i < nEvents; ++i) {
+      if (glbl.GetGlobalInputTermState() != 0)
+        break;
+      epoll_entry_t* pEpollEntry = (epoll_entry_t*) events[i].data.ptr;
+      ProcessEpollEvent(pEpollEntry);
+    }
+  }
+ENDrunInput
+
+
+BEGINwillRun
+CODESTARTwillRun
+ENDwillRun
+
+
+BEGINafterRun
+CODESTARTafterRun
+  if (g_epoll_fd != -1) {
+    close(g_epoll_fd);
+    g_epoll_fd = -1;
+  }
+
+  if (g_server != NULL) {
+    CloseServer(g_server);
+    DestroyServer(g_server);
+    g_server = NULL;
+  }
+ENDafterRun
+
+
+BEGINmodExit
+CODESTARTmodExit
+  objRelease(glbl, CORE_COMPONENT);
+  objRelease(prop, CORE_COMPONENT);
+  objRelease(datetime, CORE_COMPONENT);
+ENDmodExit
+
+
+BEGINisCompatibleWithFeature
+CODESTARTisCompatibleWithFeature
+  if (eFeat == sFEATURENonCancelInputTermination)
+    iRet = RS_RET_OK;
+ENDisCompatibleWithFeature
+
+
+BEGINqueryEtryPt
+CODESTARTqueryEtryPt
+CODEqueryEtryPt_STD_IMOD_QUERIES
+CODEqueryEtryPt_STD_CONF2_QUERIES
+CODEqueryEtryPt_STD_CONF2_setModCnf_QUERIES
+CODEqueryEtryPt_STD_CONF2_PREPRIVDROP_QUERIES
+CODEqueryEtryPt_STD_CONF2_IMOD_QUERIES
+CODEqueryEtryPt_IsCompatibleWithFeature_IF_OMOD_QUERIES
+ENDqueryEtryPt
+
+
+BEGINmodInit()
+CODESTARTmodInit
+  *ipIFVersProvided = CURR_MOD_IF_VERSION;
+CODEmodInit_QueryRegCFSLineHdlr
+  CHKiRet(objUse(glbl, CORE_COMPONENT));
+  CHKiRet(objUse(prop, CORE_COMPONENT));
+  CHKiRet(objUse(datetime, CORE_COMPONENT));
+ENDmodInit
+
+// vim: ts=2:sw=2:tw=80:et:
\ No newline at end of file
diff --git a/app-admin/rsyslog/files/50-default-r1.conf b/app-admin/rsyslog/files/50-default-r1.conf
new file mode 100644
index 0000000..920c214
--- /dev/null
+++ b/app-admin/rsyslog/files/50-default-r1.conf
@@ -0,0 +1,107 @@
+#######################
+### DEFAULT ACTIONS ###
+#######################
+
+auth,authpriv.* action(
+	name="action_auth"
+	type="omfile"
+	File="/var/log/auth.log"
+	FileCreateMode="0600"
+	FileOwner="root"
+	FileGroup="adm"
+	Sync="off"
+)
+
+cron.* action(
+	name="action_cron"
+	type="omfile"
+	File="/var/log/cron.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+daemon.* action(
+	name="action_daemon"
+	type="omfile"
+	File="/var/log/daemon.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+kern.* action(
+	name="action_kern"
+	type="omfile"
+	File="/var/log/kern.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+lpr.* action(
+	name="action_lpr"
+	type="omfile"
+	File="/var/log/lpr.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+mail.* action(
+	name="action_mail"
+	type="omfile"
+	File="/var/log/mail.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+news.* action(
+	name="action_news"
+	type="omfile"
+	File="/var/log/news.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+user.* action(
+	name="action_user"
+	type="omfile"
+	File="/var/log/user.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+*.=debug;auth,authpriv,news,mail.none action(
+	name="action_debug"
+	type="omfile"
+	File="/var/log/debug.log"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+*.info;auth,authpriv,cron,daemon,lpr,mail,news.none action(
+	name="action_messages"
+	type="omfile"
+	File="/var/log/messages"
+	FileOwner="root"
+	FileGroup="adm"
+)
+
+# Uncomment the following directive to re-enable the
+# deprecated "/var/log/syslog" log file (don't forget to re-enable log
+# rotation in "/etc/logrotate.d/rsyslog" if you do that!)
+#*.*;auth,authpriv.none action(
+#	name="action_syslog"
+#	type="omfile"
+#	File="/var/log/syslog"
+#	FileOwner="root"
+#	FileGroup="adm"
+#)
+
+*.emerg action(
+	name="action_emerge"
+	type="omusrmsg"
+	Users="*"
+	action.execOnlyOnceEveryInterval="10"
+)
+
+# Create an additional socket for the default chroot location
+# (used by net-misc/openssh[hpn], see https://bugs.gentoo.org/490744)
+input(type="imuxsock" Socket="/var/empty/dev/log")
diff --git a/app-admin/rsyslog/files/README.gentoo b/app-admin/rsyslog/files/README.gentoo
new file mode 100644
index 0000000..9f0666c
--- /dev/null
+++ b/app-admin/rsyslog/files/README.gentoo
@@ -0,0 +1,36 @@
+Introduction
+============
+
+Since rsyslog version 7.6 we are shipping a new default Gentoo
+configuration. See bug #501982 to learn more about what we were trying to
+achieve by rewriting the entire configuration.
+
+
+Important changes
+=================
+
+1. "/var/log/syslog" log file is now deprecated
+
+   Beginning with rsyslog-7.6, the "/var/log/syslog" log file will no
+   longer being written per default. We are considering this file as
+   deprecated/obsolet for the typical user/system.
+   The content from this log file is still availble through other
+   (dedicated) log files, see
+   
+     - /var/log/cron.log
+     - /var/log/daemon.log
+     - /var/log/mail.log
+     - /var/log/messages
+   
+   If you really need the old "/var/log/syslog" log file, all you have to
+   do is uncommenting the corresponding configuration directive in
+   "/etc/rsyslog.d/50-default.conf".
+   
+   If you do so, don't forget to re-enable log rotation in
+   "/etc/logrotate.d/rsyslog", too.
+
+
+2. An additional input socket in "/var/empty/dev/log" (default chroot
+   location) will be created per default
+
+   See bug #490744 for further details.
diff --git a/app-admin/rsyslog/files/rsyslog-r1.logrotate b/app-admin/rsyslog/files/rsyslog-r1.logrotate
new file mode 100644
index 0000000..3a92ba3
--- /dev/null
+++ b/app-admin/rsyslog/files/rsyslog-r1.logrotate
@@ -0,0 +1,45 @@
+# Uncomment the following directive if you have re-enabled
+# "/var/log/syslog" in "/etc/rsyslog.d/50-default.conf"
+#/var/log/syslog
+#{
+#	rotate 7
+#	daily
+#	missingok
+#	notifempty
+#	delaycompress
+#	compress
+#	postrotate
+#		if type -p systemctl 2>&1 1>/dev/null && systemctl is-system-running 2>&1 1>/dev/null ; then
+#			systemctl kill -s HUP rsyslog.service
+#		else
+#			test -r /run/rsyslogd.pid && kill -HUP $(cat /run/rsyslogd.pid) 2>&1 1>/dev/null
+#		fi
+#	endscript
+#}
+
+/var/log/auth.log
+/var/log/cron.log
+/var/log/daemon.log
+/var/log/kern.log
+/var/log/lpr.log
+/var/log/mail.log
+/var/log/news.log
+/var/log/user.log
+/var/log/debug.log
+/var/log/messages
+{
+	rotate 4
+	weekly
+	missingok
+	notifempty
+	compress
+	delaycompress
+	sharedscripts
+	postrotate
+		if type -p systemctl 2>&1 1>/dev/null && systemctl is-system-running 2>&1 1>/dev/null ; then
+			systemctl kill -s HUP rsyslog.service
+		else
+			test -r /run/rsyslogd.pid && kill -HUP $(cat /run/rsyslogd.pid) 2>&1 1>/dev/null
+		fi
+	endscript
+}
diff --git a/app-admin/rsyslog/files/rsyslog.conf b/app-admin/rsyslog/files/rsyslog.conf
new file mode 100644
index 0000000..da48459
--- /dev/null
+++ b/app-admin/rsyslog/files/rsyslog.conf
@@ -0,0 +1,61 @@
+# /etc/rsyslog.conf
+# 
+# This configuration is based on RainerScript, the new recommended syntax
+# for RSYSLOG. See http://www.rsyslog.com/doc/rainerscript.html for further
+# details.
+# 
+# But if you don't want to learn something new at moment, don't worry: The
+# legacy syntax is still supported.
+# 
+# You may want to use the new RSYSLOG configuration builder to create your
+# own more advanced configuration: http://www.rsyslog.com/rsyslog-configuration-builder/
+
+# Check config syntax on startup and abort if unclean (default: off)
+#$AbortOnUncleanConfig on
+
+
+###############
+### MODULES ###
+###############
+
+# Read syslog messages from default Unix socket /dev/log (e.g. via logger command)
+module(load="imuxsock")
+
+# Read messages from the kernel log and submits them to the syslog engine
+module(load="imklog")
+
+# Inject "--MARK--" messages every $Interval (seconds)
+#module(load="immark" Interval="600")
+
+# Read syslog messages from UDP
+#module(load="imudp")
+#input(type="imudp" port="514")
+
+# Read syslog messages from TCP
+#module(load="imtcp")
+#input(type="imtcp" port="514")
+
+
+#########################
+### GLOBAL DIRECTIVES ###
+#########################
+
+# Where to place spool and state files
+$WorkDirectory /var/spool/rsyslog
+
+# Reduce repeating messages (default: off)
+#$RepeatedMsgReduction on
+
+# Set defaults for every output file
+$Umask 0022
+
+module(
+	load="builtin:omfile"
+	Template="RSYSLOG_TraditionalFileFormat"
+	FileCreateMode="0644"
+	DirCreateMode="0755"
+)
+
+
+# Include all conf files in /etc/rsyslog.d/
+$IncludeConfig /etc/rsyslog.d/*.conf
diff --git a/app-admin/rsyslog/files/rsyslog.confd-r1 b/app-admin/rsyslog/files/rsyslog.confd-r1
new file mode 100644
index 0000000..da48c01
--- /dev/null
+++ b/app-admin/rsyslog/files/rsyslog.confd-r1
@@ -0,0 +1,30 @@
+# /etc/conf.d/rsyslog
+
+# Configuration file
+#RSYSLOG_CONFIGFILE="/etc/rsyslog.conf"
+
+# PID file
+# If you should ever change this, remember to update
+# "/etc/logrotate.d/rsyslog", too.
+#RSYSLOG_PIDFILE="/run/rsyslogd.pid"
+
+# You can use this configuration option to pass additional options to the
+# start-stop-daemon, see start-stop-daemon(8) for more details.
+# Per default we wait 1000ms after we have started the service to ensure
+# that the daemon is really up and running.
+#RSYSLOG_SSDARGS="--wait 1000"
+
+# The termination timeout (start-stop-daemon parameter "retry") ensures
+# that the service will be terminated within a given time (60 + 5 seconds
+# per default) when you are stopping the service.
+# You need to increase the value when you are working with a large queue.
+# See http://www.rsyslog.com/doc/queues.html for further information.
+#RSYSLOG_TERMTIMEOUT="TERM/60/KILL/5"
+
+
+# Options to rsyslogd
+# See rsyslogd(8) for more details
+# Notes:
+# * Do not specify another PIDFILE but use the variable above to change the location
+# * Do not specify another CONFIGFILE but use the variable above to change the location
+#RSYSLOG_OPTS=""
diff --git a/app-admin/rsyslog/files/rsyslog.initd-r1 b/app-admin/rsyslog/files/rsyslog.initd-r1
new file mode 100644
index 0000000..8d2ff8e
--- /dev/null
+++ b/app-admin/rsyslog/files/rsyslog.initd-r1
@@ -0,0 +1,72 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+RSYSLOG_CONFIGFILE=${RSYSLOG_CONFIGFILE:-"/etc/rsyslog.conf"}
+RSYSLOG_PIDFILE=${RSYSLOG_PIDFILE:-"/run/rsyslogd.pid"}
+RSYSLOG_SSDARGS=${RSYSLOG_SSDARGS:-"--wait 1000"}
+RSYSLOG_TERMTIMEOUT=${RSYSLOG_TERMTIMEOUT:-"TERM/60/KILL/5"}
+RSYSLOG_OPTS=${RSYSLOG_OPTS:-""}
+
+command="/usr/sbin/rsyslogd"
+command_args="${RSYSLOG_OPTS} -f \"${RSYSLOG_CONFIGFILE}\" -i \"${RSYSLOG_PIDFILE}\""
+start_stop_daemon_args="${RSYSLOG_SSDARGS}"
+pidfile="${RSYSLOG_PIDFILE}"
+retry="${RSYSLOG_TERMTIMEOUT}"
+
+required_files="${RSYSLOG_CONFIGFILE}"
+
+description="RSYSLOG is the rocket-fast system for log processing (syslog replacement)."
+
+extra_commands="configtest"
+extra_started_commands="rotate"
+
+description_configtest="Run rsyslogd's internal config check."
+
+description_rotate="Sends rsyslogd a signal to re-open its log files."
+
+depend() {
+	need clock hostname localmount
+	provide logger
+}
+
+start_pre() {
+	if [ "${RC_CMD}" != "restart" ]; then
+		configtest || return 1
+	fi
+}
+
+stop_pre() {
+	if [ "${RC_CMD}" = "restart" ]; then
+		configtest || return 1
+	fi
+}
+
+stop_post() {
+	if [ -f "${RSYSLOG_PIDFILE}" ]; then
+		vebegin "Removing stale PID file"
+		rm --force "${RSYSLOG_PIDFILE}"
+		veend $?
+	fi
+}
+
+configtest() {
+	local _command_args="-N 999 -f \"${RSYSLOG_CONFIGFILE}\""
+	local _retval=0
+
+	ebegin "Checking rsyslogd's configuration"
+	eval ${command} ${_command_args} >/dev/null 2>&1
+	_retval=$?
+
+	if [ ${_retval} -ne 0 ]; then
+		eval ${command} ${_command_args}
+	fi
+
+	eend ${_retval} "failed, please correct errors above"
+}
+
+rotate() {
+	ebegin "Re-opening rsyslogd logs"
+	start-stop-daemon --signal SIGHUP --pidfile "${RSYSLOG_PIDFILE}"
+	eend $?
+}
diff --git a/app-admin/rsyslog/metadata.xml b/app-admin/rsyslog/metadata.xml
new file mode 100644
index 0000000..7334da4
--- /dev/null
+++ b/app-admin/rsyslog/metadata.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>whissi@gentoo.org</email>
+		<name>Thomas Deutschmann</name>
+	</maintainer>
+	<use>
+		<flag name="clickhouse">Build the ClickHouse output module (requires <pkg>net-misc/curl</pkg>)</flag>
+		<flag name="curl">Enable http_request() function in RainerScript (requires <pkg>net-misc/curl</pkg>)</flag>
+		<flag name="dbi">Build the general database output module (requires <pkg>dev-db/libdbi</pkg>)</flag>
+		<flag name="elasticsearch">Build the Elasticsearch output module (requires <pkg>net-misc/curl</pkg>)</flag>
+		<flag name="gcrypt">Add support for encrypted log files using <pkg>dev-libs/libgcrypt</pkg></flag>
+		<flag name="gnutls">Build the GnuTLS network stream driver (requires <pkg>net-libs/gnutls</pkg>)</flag>
+		<flag name="kafka">Build the Apache Kafka input/output module (requires <pkg>dev-libs/librdkafka</pkg>)</flag>
+		<flag name="kerberos">Build the GSSAPI input and output module (requires <pkg>virtual/krb5</pkg>)</flag>
+		<flag name="kubernetes">Build the kubernetes modify plugin (requires <pkg>net-misc/curl</pkg>)</flag>
+		<flag name="libressl">Use <pkg>dev-libs/libressl</pkg> instead of <pkg>dev-libs/openssl</pkg> (you still need to enable functionality which requires OpenSSL)</flag>
+		<flag name="mdblookup">Build the MaxMind DB lookup message modify plugin using <pkg>dev-libs/libmaxminddb</pkg></flag>
+		<flag name="mongodb">Build the MongoDB output module (requires <pkg>dev-libs/libmongo-client</pkg>)</flag>
+		<flag name="mysql">Build the MySQL database output module (requires <pkg>virtual/mysql</pkg>)</flag>
+		<flag name="normalize">Build the normalize modify module (requires <pkg>dev-libs/libee</pkg> and <pkg>dev-libs/liblognorm</pkg>)</flag>
+		<flag name="omhttp">Build the http output module (requires <pkg>net-misc/curl</pkg>)</flag>
+		<flag name="omhttpfs">Build the httpfs output module (requires <pkg>net-misc/curl</pkg>)</flag>
+		<flag name="omudpspoof">Build the udpspoof output module (requires <pkg>net-libs/libnet</pkg>)</flag>
+		<flag name="openssl">Build the OpenSSL network stream driver (requires <pkg>dev-libs/openssl</pkg>)</flag>
+		<flag name="postgres">Build the PostgreSQL database output module (requires <pkg>dev-db/postgresql</pkg>)</flag>
+		<flag name="rabbitmq">Build the RabbitMQ output module (requires <pkg>net-libs/rabbitmq-c</pkg>)</flag>
+		<flag name="redis">Build the Redis output module using (requires <pkg>dev-libs/hiredis</pkg>)</flag>
+		<flag name="relp">Build the Reliable Event Logging Protocol (RELP) output module (requires <pkg>dev-libs/librelp</pkg>)</flag>
+		<flag name="rfc3195">Build the rfc3195 input module (requires <pkg>dev-libs/liblogging</pkg>)</flag>
+		<flag name="rfc5424hmac">Build the rfc5424hmac modify module (requires <pkg>dev-libs/openssl</pkg> or <pkg>dev-libs/libressl</pkg>)</flag>
+		<flag name="snmp">Build the snmp modify and output module (requires <pkg>net-analyzer/net-snmp</pkg>)</flag>
+		<flag name="ssl">Add support for encrypted client/server communication (requires <pkg>net-libs/gnutls</pkg>)</flag>
+		<flag name="systemd">Build the journal input and output module (requires <pkg>sys-apps/systemd</pkg>)</flag>
+		<flag name="uuid">Include UUIDs in messages (requires <pkg>sys-apps/util-linux</pkg>)</flag>
+		<flag name="usertools">Installs the user tools (rsgtutil, rscryutil...) corresponding to the set USE flags</flag>
+		<flag name="xxhash">Enable xxHash support in fmhash module (requires <pkg>dev-libs/xxhash</pkg>)</flag>
+		<flag name="zeromq">Build the ZeroMQ input and output modules (requires <pkg>net-libs/czmq</pkg>)</flag>
+	</use>
+	<upstream>
+		<bugs-to>https://github.com/rsyslog/rsyslog/issues</bugs-to>
+		<remote-id type="cpe">cpe:/a:rsyslog:rsyslog</remote-id>
+	</upstream>
+</pkgmetadata>
diff --git a/app-admin/rsyslog/rsyslog-8.1904.0-r3.ebuild b/app-admin/rsyslog/rsyslog-8.1904.0-r3.ebuild
new file mode 120000
index 0000000..2e733ab
--- /dev/null
+++ b/app-admin/rsyslog/rsyslog-8.1904.0-r3.ebuild
@@ -0,0 +1 @@
+rsyslog-8.1904.0.ebuild
\ No newline at end of file
diff --git a/app-admin/rsyslog/rsyslog-8.1904.0.ebuild b/app-admin/rsyslog/rsyslog-8.1904.0.ebuild
new file mode 100644
index 0000000..9b6887f
--- /dev/null
+++ b/app-admin/rsyslog/rsyslog-8.1904.0.ebuild
@@ -0,0 +1,468 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
+
+inherit autotools eutils linux-info python-any-r1 systemd
+
+DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
+HOMEPAGE="https://www.rsyslog.com/"
+
+if [[ ${PV} == "9999" ]]; then
+	EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
+
+	DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
+
+	inherit git-r3
+else
+	KEYWORDS="*"
+
+	SRC_URI="
+		https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
+		doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
+	"
+fi
+
+LICENSE="GPL-3 LGPL-3 Apache-2.0"
+SLOT="0"
+IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
+IUSE+=" mongodb mysql normalize clickhouse omhttp omhttpfs omudpspoof openssl postgres"
+IUSE+=" rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid xxhash zeromq"
+RESTRICT="!test? ( test )"
+
+PATCHES=( "${FILESDIR}/001-add-imstdoutsock-plugin.patch" )
+
+RDEPEND="
+	>=dev-libs/libfastjson-0.99.8:=
+	>=dev-libs/libestr-0.1.9
+	>=sys-libs/zlib-1.2.5
+	chromeos-base/syslog-cat
+	curl? ( >=net-misc/curl-7.35.0 )
+	dbi? ( >=dev-db/libdbi-0.8.3 )
+	elasticsearch? ( >=net-misc/curl-7.35.0 )
+	gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
+	jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
+	kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
+	kerberos? ( virtual/krb5 )
+	kubernetes? ( >=net-misc/curl-7.35.0 )
+	mdblookup? ( dev-libs/libmaxminddb:= )
+	mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
+	mysql? ( virtual/libmysqlclient:= )
+	normalize? (
+		>=dev-libs/libee-0.4.0
+		>=dev-libs/liblognorm-2.0.3:=
+	)
+	clickhouse? ( >=net-misc/curl-7.35.0 )
+	omhttpfs? ( >=net-misc/curl-7.35.0 )
+	omudpspoof? ( >=net-libs/libnet-1.1.6 )
+	postgres? ( >=dev-db/postgresql-8.4.20:= )
+	rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
+	redis? ( >=dev-libs/hiredis-0.11.0:= )
+	relp? ( >=dev-libs/librelp-1.2.17:= )
+	rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
+	rfc5424hmac? (
+		!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
+		libressl? ( dev-libs/libressl:= )
+	)
+	snmp? ( >=net-analyzer/net-snmp-5.7.2 )
+	ssl? (
+		gnutls? ( >=net-libs/gnutls-2.12.23:0= )
+		openssl? (
+			!libressl? ( dev-libs/openssl:0= )
+			libressl? ( dev-libs/libressl:0= )
+		)
+	)
+	systemd? ( >=sys-apps/systemd-234 )
+	uuid? ( sys-apps/util-linux:0= )
+	xxhash? ( dev-libs/xxhash:= )
+	zeromq? (
+		>=net-libs/czmq-3.0.2
+	)"
+DEPEND="${RDEPEND}
+	>=sys-devel/autoconf-archive-2015.02.24
+	virtual/pkgconfig
+	elibc_musl? ( sys-libs/queue-standalone )
+	test? (
+		>=dev-libs/liblogging-1.0.1[stdlog]
+		jemalloc? ( <sys-libs/libfaketime-0.9.7 )
+		!jemalloc? ( sys-libs/libfaketime )
+		${PYTHON_DEPS}
+	)"
+
+REQUIRED_USE="
+	kubernetes? ( normalize )
+	ssl? ( || ( gnutls openssl ) )
+"
+
+if [[ ${PV} == "9999" ]]; then
+	DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
+	DEPEND+=" >=sys-devel/flex-2.5.39-r1"
+	DEPEND+=" >=sys-devel/bison-2.4.3"
+	DEPEND+=" >=dev-python/docutils-0.12"
+fi
+
+CONFIG_CHECK="~INOTIFY_USER"
+WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	if [[ ${PV} == "9999" ]]; then
+		git-r3_fetch
+		git-r3_checkout
+	else
+		unpack ${P}.tar.gz
+	fi
+
+	cp -rf "${FILESDIR}/001-add-imstdoutsock-plugin" "./${PN}-${PV}/plugins/imstdoutsock"
+
+	if use doc; then
+		if [[ ${PV} == "9999" ]]; then
+			local _EGIT_BRANCH=
+			if [[ -n "${EGIT_BRANCH}" ]]; then
+				# Cannot use rsyslog commits/branches for documentation repository
+				_EGIT_BRANCH=${EGIT_BRANCH}
+				unset EGIT_BRANCH
+			fi
+
+			git-r3_fetch "${DOC_REPO_URI}"
+			git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
+
+			if [[ -n "${_EGIT_BRANCH}" ]]; then
+				# Restore previous EGIT_BRANCH information
+				EGIT_BRANCH=${_EGIT_BRANCH}
+			fi
+		else
+			cd "${S}" || die "Cannot change dir into '${S}'"
+			mkdir docs || die "Failed to create docs directory"
+			cd docs || die "Failed to change dir into '${S}/docs'"
+			unpack ${PN}-doc-${PV}.tar.gz
+		fi
+	fi
+}
+
+src_prepare() {
+	default
+
+	# https://github.com/rsyslog/rsyslog/issues/3626
+	sed -i \
+		-e '\|^#!/bin/bash$|a exit 77' \
+		tests/mmkubernetes-cache-expir*.sh \
+		|| die "Failed to disabled known test failure mmkubernetes-cache-expir*.sh"
+
+	eautoreconf
+}
+
+src_configure() {
+	# Maintainer notes:
+	# * Guardtime support is missing because libgt isn't yet available
+	#   in portage.
+	# * Hadoop's HDFS file system output module is currently not
+	#   supported in Gentoo because nobody is able to test it
+	#   (JAVA dependency).
+	# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
+	#   upstream PR 129 and 136) so we need to export HIREDIS_*
+	#   variables because rsyslog's build system depends on pkg-config.
+
+	if use redis; then
+		export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
+		export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
+	fi
+
+	local myeconfargs=(
+		--disable-debug-symbols
+		--disable-generate-man-pages
+		--without-valgrind-testbench
+		--disable-liblogging-stdlog
+		$(use_enable test testbench)
+		$(use_enable test libfaketime)
+		$(use_enable test extended-tests)
+		# Input Plugins without depedencies
+		--enable-imdiag
+		--enable-imfile
+		--enable-impstats
+		--enable-imptcp
+		# Message Modificiation Plugins without depedencies
+		--enable-mmanon
+		--enable-mmaudit
+		--enable-mmcount
+		--enable-mmfields
+		--enable-mmjsonparse
+		--enable-mmpstrucdata
+		--enable-mmrm1stspace
+		--enable-mmsequence
+		--enable-mmutf8fix
+		# Output Modification Plugins without dependencies
+		--enable-mail
+		--enable-omprog
+		--enable-omruleset
+		--enable-omstdout
+		--enable-omuxsock
+		# Misc
+		--enable-fmhash
+		$(use_enable xxhash fmhash-xxhash)
+		--enable-pmaixforwardedfrom
+		--enable-pmciscoios
+		--enable-pmcisconames
+		--enable-pmlastmsg
+		$(use_enable normalize pmnormalize)
+		--enable-pmnull
+		--enable-pmpanngfw
+		--enable-pmsnare
+		# DB
+		$(use_enable dbi libdbi)
+		$(use_enable mongodb ommongodb)
+		$(use_enable mysql)
+		$(use_enable postgres pgsql)
+		$(use_enable redis omhiredis)
+		# Debug
+		$(use_enable debug)
+		$(use_enable debug diagtools)
+		$(use_enable debug valgrind)
+		# Misc
+		$(use_enable clickhouse)
+		$(use_enable curl fmhttp)
+		$(use_enable elasticsearch)
+		$(use_enable gcrypt libgcrypt)
+		$(use_enable jemalloc)
+		$(use_enable kafka imkafka)
+		$(use_enable kafka omkafka)
+		$(use_enable kerberos gssapi-krb5)
+		$(use_enable kubernetes mmkubernetes)
+		$(use_enable normalize mmnormalize)
+		$(use_enable mdblookup mmdblookup)
+		$(use_enable omhttp)
+		$(use_enable omhttpfs)
+		$(use_enable omudpspoof)
+		$(use_enable rabbitmq omrabbitmq)
+		$(use_enable relp)
+		$(use_enable rfc3195)
+		$(use_enable rfc5424hmac mmrfc5424addhmac)
+		$(use_enable snmp)
+		$(use_enable snmp mmsnmptrapd)
+		$(use_enable gnutls)
+		$(use_enable openssl)
+		$(use_enable systemd imjournal)
+		$(use_enable systemd omjournal)
+		$(use_enable usertools)
+		$(use_enable uuid)
+		$(use_enable zeromq imczmq)
+		$(use_enable zeromq omczmq)
+		--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+	)
+
+	econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+	default
+
+	if use doc && [[ "${PV}" == "9999" ]]; then
+		einfo "Building documentation ..."
+		local doc_dir="${S}/docs"
+		cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
+		sphinx-build -b html source build || die "Building documentation failed!"
+	fi
+}
+
+src_test() {
+	local _has_increased_ulimit=
+
+	# Sometimes tests aren't executable (i.e. when added via patch)
+	einfo "Adjusting permissions of test scripts ..."
+	find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
+		die "Failed to adjust test scripts permission"
+
+	if ulimit -n 3072; then
+		_has_increased_ulimit="true"
+	fi
+
+	if ! emake --jobs 1 check; then
+		eerror "Test suite failed! :("
+
+		if [[ -z "${_has_increased_ulimit}" ]]; then
+			eerror "Probably because open file limit couldn't be set to 3072."
+		fi
+
+		if has userpriv ${FEATURES}; then
+			eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
+				"before you submit a bug report."
+		fi
+
+	fi
+}
+
+src_install() {
+	local DOCS=(
+		AUTHORS
+		ChangeLog
+		"${FILESDIR}"/README.gentoo
+	)
+
+	use doc && local HTML_DOCS=( "${S}/docs/build/." )
+
+	default
+
+	newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+	newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
+
+	keepdir /var/empty/dev
+	keepdir /var/spool/${PN}
+	keepdir /etc/ssl/${PN}
+	keepdir /etc/${PN}.d
+
+	insinto /etc
+	newins "${FILESDIR}/${PN}.conf" ${PN}.conf
+
+	insinto /etc/rsyslog.d/
+	newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
+
+	insinto /etc/logrotate.d/
+	newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
+
+	if use mysql; then
+		insinto /usr/share/doc/${PF}/scripts/mysql
+		doins plugins/ommysql/createDB.sql
+	fi
+
+	if use postgres; then
+		insinto /usr/share/doc/${PF}/scripts/pgsql
+		doins plugins/ompgsql/createDB.sql
+	fi
+
+	#prune_libtool_files --modules
+}
+
+pkg_postinst() {
+	local advertise_readme=0
+
+	if [[ -z "${REPLACING_VERSIONS}" ]]; then
+		# This is a new installation
+
+		advertise_readme=1
+
+		if use mysql || use postgres; then
+			echo
+			elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
+			elog "  /usr/share/doc/${PF}/scripts"
+		fi
+
+		if use ssl; then
+			echo
+			elog "To create a default CA and certificates for your server and clients, run:"
+			elog "  emerge --config =${PF}"
+			elog "on your logging server. You can run it several times,"
+			elog "once for each logging client. The client certificates will be signed"
+			elog "using the CA certificate generated during the first run."
+		fi
+	fi
+
+	if [[ ${advertise_readme} -gt 0 ]]; then
+		# We need to show the README file location
+
+		echo ""
+		elog "Please read"
+		elog ""
+		elog "  ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
+		elog ""
+		elog "for more details."
+	fi
+}
+
+pkg_config() {
+	if ! use ssl ; then
+		einfo "There is nothing to configure for rsyslog unless you"
+		einfo "used USE=ssl to build it."
+		return 0
+	fi
+
+	# Make sure the certificates directory exists
+	local CERTDIR="${EROOT}/etc/ssl/${PN}"
+	if [[ ! -d "${CERTDIR}" ]]; then
+		mkdir "${CERTDIR}" || die
+	fi
+	einfo "Your certificates will be stored in ${CERTDIR}"
+
+	# Create a default CA if needed
+	if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
+		einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
+		certtool --generate-privkey \
+			--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
+
+		cat > "${T}/${PF}.$$" <<- _EOF
+		cn = Portage automated CA
+		ca
+		cert_signing_key
+		expiration_days = 3650
+		_EOF
+
+		certtool --generate-self-signed \
+			--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+			--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
+			--template "${T}/${PF}.$$" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
+
+		# Create the server certificate
+		echo
+		einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
+		read -r CN
+
+		einfo "Creating private key and certificate for server ${CN}..."
+		certtool --generate-privkey \
+			--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
+
+		cat > "${T}/${PF}.$$" <<- _EOF
+		cn = ${CN}
+		tls_www_server
+		dns_name = ${CN}
+		expiration_days = 3650
+		_EOF
+
+		certtool --generate-certificate \
+			--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
+			--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
+			--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
+			--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+			--template "${T}/${PF}.$$" &>/dev/null
+		chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
+
+	else
+		einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
+	fi
+
+	# Create a client certificate
+	echo
+	einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
+	read -r CN
+
+	einfo "Creating private key and certificate for client ${CN}..."
+	certtool --generate-privkey \
+		--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
+	chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
+
+	cat > "${T}/${PF}.$$" <<- _EOF
+	cn = ${CN}
+	tls_www_client
+	dns_name = ${CN}
+	expiration_days = 3650
+	_EOF
+
+	certtool --generate-certificate \
+		--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
+		--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
+		--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
+		--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
+		--template "${T}/${PF}.$$" &>/dev/null
+	chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
+
+	rm -f "${T}/${PF}.$$"
+
+	echo
+	einfo "Here is the documentation on how to encrypt your log traffic:"
+	einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
+}
diff --git a/app-benchmarks/xfstests/xfstests-0.0.1-r16.ebuild b/app-benchmarks/xfstests/xfstests-0.0.1-r16.ebuild
deleted file mode 100644
index b25f411..0000000
--- a/app-benchmarks/xfstests/xfstests-0.0.1-r16.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="3c48a2ca207846db8275a879c14cda53d2f0d6e1"
-CROS_WORKON_TREE="a246265727b48fa019e078bdbf56425d9c6694f2"
-CROS_WORKON_PROJECT="external/git.kernel.org/fs/xfs/xfstests-dev"
-CROS_WORKON_BLACKLIST="1"
-
-inherit autotools cros-workon
-
-DESCRIPTION="Filesystem tests suite"
-HOMEPAGE="https://git.kernel.org/cgit/fs/xfs/xfstests-dev.git/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="sys-fs/e2fsprogs
-	dev-lang/perl
-	sys-apps/attr
-	sys-apps/diffutils
-	sys-apps/gawk
-	sys-apps/util-linux
-	sys-devel/bc
-	sys-fs/xfsprogs
-"
-
-DEPEND="sys-apps/acl
-	dev-libs/libaio
-"
-
-src_prepare() {
-	eautoreconf
-}
-
-src_configure() {
-	use kernel_linux && export PLATFORM=linux
-	econf --prefix="${EPREFIX}/usr/local"
-}
diff --git a/app-benchmarks/xfstests/xfstests-0.0.1-r17.ebuild b/app-benchmarks/xfstests/xfstests-0.0.1-r17.ebuild
new file mode 100644
index 0000000..138198d
--- /dev/null
+++ b/app-benchmarks/xfstests/xfstests-0.0.1-r17.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="3c48a2ca207846db8275a879c14cda53d2f0d6e1"
+CROS_WORKON_TREE="a246265727b48fa019e078bdbf56425d9c6694f2"
+CROS_WORKON_PROJECT="external/git.kernel.org/fs/xfs/xfstests-dev"
+CROS_WORKON_MANUAL_UPREV="1"
+
+inherit autotools cros-workon
+
+DESCRIPTION="Filesystem tests suite"
+HOMEPAGE="https://git.kernel.org/cgit/fs/xfs/xfstests-dev.git/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="sys-fs/e2fsprogs
+	dev-lang/perl
+	sys-apps/attr
+	sys-apps/diffutils
+	sys-apps/gawk
+	sys-apps/util-linux
+	sys-devel/bc
+	sys-fs/xfsprogs
+"
+
+DEPEND="sys-apps/acl
+	dev-libs/libaio
+"
+
+src_prepare() {
+	eautoreconf
+}
+
+src_configure() {
+	use kernel_linux && export PLATFORM=linux
+	econf --prefix="${EPREFIX}/usr/local"
+}
diff --git a/app-benchmarks/xfstests/xfstests-9999.ebuild b/app-benchmarks/xfstests/xfstests-9999.ebuild
index 8fdd917..c99c621 100644
--- a/app-benchmarks/xfstests/xfstests-9999.ebuild
+++ b/app-benchmarks/xfstests/xfstests-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=5
 CROS_WORKON_PROJECT="external/git.kernel.org/fs/xfs/xfstests-dev"
-CROS_WORKON_BLACKLIST="1"
+CROS_WORKON_MANUAL_UPREV="1"
 
 inherit autotools cros-workon
 
diff --git a/app-crypt/trousers-tests/trousers-tests-0.0.1-r84.ebuild b/app-crypt/trousers-tests/trousers-tests-0.0.1-r84.ebuild
deleted file mode 100644
index 51e81b7..0000000
--- a/app-crypt/trousers-tests/trousers-tests-0.0.1-r84.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="eb1eddcef6a5fabc375256e5067276fac5d5965c"
-CROS_WORKON_TREE="6e7dfce147d12e5fcc5389e16682e7b68ebb5597"
-CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
-CROS_WORKON_EGIT_BRANCH="master-0.3.13"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Trousers TPM tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/trousers/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-DEPEND="
-	app-crypt/trousers
-	!<chromeos-base/autotest-tests-0.0.1-r1521
-"
-RDEPEND="${DEPEND}"
-
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-IUSE_TESTS="
-	+tests_hardware_TPM
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME=trousers
-
-# path from root of repo
-AUTOTEST_CLIENT_SITE_TESTS=autotest
-
-src_compile() {
-	# for Makefile
-	export TROUSERS_DIR=${WORKDIR}/${P}
-	autotest_src_compile
-}
-
diff --git a/app-crypt/trousers-tests/trousers-tests-0.0.1-r86.ebuild b/app-crypt/trousers-tests/trousers-tests-0.0.1-r86.ebuild
new file mode 100644
index 0000000..7521882
--- /dev/null
+++ b/app-crypt/trousers-tests/trousers-tests-0.0.1-r86.ebuild
@@ -0,0 +1,43 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="e72db95c4e3ed7e2306c22511fb54a8b014f6ed0"
+CROS_WORKON_TREE="aba7980808012c4eedfe9cffe497881ab62ea0ef"
+CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
+CROS_WORKON_EGIT_BRANCH="master-0.3.13"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Trousers TPM tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/trousers/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+DEPEND="
+	app-crypt/trousers
+	!<chromeos-base/autotest-tests-0.0.1-r1521
+"
+RDEPEND="${DEPEND}"
+
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+IUSE_TESTS="
+	+tests_hardware_TPM
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME=trousers
+
+# path from root of repo
+AUTOTEST_CLIENT_SITE_TESTS=autotest
+
+src_compile() {
+	# for Makefile
+	export TROUSERS_DIR=${WORKDIR}/${P}
+	autotest_src_compile
+}
+
diff --git a/app-crypt/trousers/trousers-0.3.3-r97.ebuild b/app-crypt/trousers/trousers-0.3.3-r97.ebuild
deleted file mode 100644
index 6d24374..0000000
--- a/app-crypt/trousers/trousers-0.3.3-r97.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Copyright 2010 Google, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header$
-
-EAPI="5"
-CROS_WORKON_COMMIT="eb1eddcef6a5fabc375256e5067276fac5d5965c"
-CROS_WORKON_TREE="6e7dfce147d12e5fcc5389e16682e7b68ebb5597"
-CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
-CROS_WORKON_EGIT_BRANCH="master-0.3.13"
-
-inherit autotools base cros-debug cros-sanitizers cros-workon flag-o-matic libchrome systemd user
-
-DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
-HOMEPAGE="http://trousers.sf.net"
-LICENSE="CPL-1.0"
-KEYWORDS="*"
-SLOT="0"
-IUSE="asan doc mocktpm systemd tss_trace"
-
-COMMON_DEPEND="
-	>=chromeos-base/metrics-0.0.1-r3152
-	>=dev-libs/openssl-0.9.7:0="
-
-RDEPEND="${COMMON_DEPEND}"
-
-DEPEND="${COMMON_DEPEND}
-	dev-util/pkgconfig"
-
-## TODO: Check if this patch is useful for us.
-## PATCHES=(	"${FILESDIR}/${PN}-0.2.3-nouseradd.patch" )
-
-pkg_setup() {
-	# New user/group for the daemon
-	enewgroup tss
-	enewuser tss
-}
-
-src_prepare() {
-	base_src_prepare
-
-	sed -e "s/-Werror //" -i configure.in
-	eautoreconf
-}
-
-src_configure() {
-	sanitizers-setup-env
-	use tss_trace && append-cppflags -DTSS_TRACE
-	use mocktpm && append-cppflags -DMOCK_TPM
-
-	cros-debug-add-NDEBUG
-	export BASE_VER="$(libchrome_ver)"
-	econf
-}
-
-src_install() {
-	default
-	dodoc NICETOHAVES
-	use doc && dodoc doc/*
-
-	# Install the empty system.data files
-	dodir /etc/trousers
-	insinto /etc/trousers
-	doins "${S}"/dist/system.data.*
-
-	# Install the init scripts
-	if use systemd; then
-		systemd_dounit init/*.service
-		systemd_enable_service boot-services.target tcsd.service
-		systemd_enable_service boot-services.target tpm-probe.service
-	else
-		insinto /etc/init
-		doins init/*.conf
-	fi
-	exeinto /usr/share/cros/init
-	doexe init/tcsd-pre-start.sh
-}
-
-pkg_postinst() {
-	elog "If you have problems starting tcsd, please check permissions and"
-	elog "ownership on /dev/tpm* and ~tss/system.data"
-}
diff --git a/app-crypt/trousers/trousers-0.3.3-r99.ebuild b/app-crypt/trousers/trousers-0.3.3-r99.ebuild
new file mode 100644
index 0000000..b57adae
--- /dev/null
+++ b/app-crypt/trousers/trousers-0.3.3-r99.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Copyright 2010 Google, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header$
+
+EAPI="5"
+CROS_WORKON_COMMIT="e72db95c4e3ed7e2306c22511fb54a8b014f6ed0"
+CROS_WORKON_TREE="aba7980808012c4eedfe9cffe497881ab62ea0ef"
+CROS_WORKON_PROJECT="chromiumos/third_party/trousers"
+CROS_WORKON_EGIT_BRANCH="master-0.3.13"
+
+inherit autotools base cros-debug cros-sanitizers cros-workon flag-o-matic libchrome systemd user
+
+DESCRIPTION="An open-source TCG Software Stack (TSS) v1.1 implementation"
+HOMEPAGE="http://trousers.sf.net"
+LICENSE="CPL-1.0"
+KEYWORDS="*"
+SLOT="0"
+IUSE="asan doc mocktpm systemd tss_trace"
+
+COMMON_DEPEND="
+	>=chromeos-base/metrics-0.0.1-r3152
+	>=dev-libs/openssl-0.9.7:0="
+
+RDEPEND="${COMMON_DEPEND}"
+
+DEPEND="${COMMON_DEPEND}
+	dev-util/pkgconfig"
+
+## TODO: Check if this patch is useful for us.
+## PATCHES=(	"${FILESDIR}/${PN}-0.2.3-nouseradd.patch" )
+
+pkg_setup() {
+	# New user/group for the daemon
+	enewgroup tss
+	enewuser tss
+}
+
+src_prepare() {
+	base_src_prepare
+
+	sed -e "s/-Werror //" -i configure.in
+	eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+	use tss_trace && append-cppflags -DTSS_TRACE
+	use mocktpm && append-cppflags -DMOCK_TPM
+
+	cros-debug-add-NDEBUG
+	export BASE_VER="$(libchrome_ver)"
+	econf
+}
+
+src_install() {
+	default
+	dodoc NICETOHAVES
+	use doc && dodoc doc/*
+
+	# Install the empty system.data files
+	dodir /etc/trousers
+	insinto /etc/trousers
+	doins "${S}"/dist/system.data.*
+
+	# Install the init scripts
+	if use systemd; then
+		systemd_dounit init/*.service
+		systemd_enable_service boot-services.target tcsd.service
+		systemd_enable_service boot-services.target tpm-probe.service
+	else
+		insinto /etc/init
+		doins init/*.conf
+	fi
+	exeinto /usr/share/cros/init
+	doexe init/tcsd-pre-start.sh
+}
+
+pkg_postinst() {
+	elog "If you have problems starting tcsd, please check permissions and"
+	elog "ownership on /dev/tpm* and ~tss/system.data"
+}
diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild
index d638127..7359a18 100644
--- a/app-emulation/qemu/qemu-9999.ebuild
+++ b/app-emulation/qemu/qemu-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="7"
 CROS_WORKON_PROJECT="chromiumos/third_party/qemu"
-CROS_WORKON_BLACKLIST="1"
+CROS_WORKON_MANUAL_UPREV="1"
 
 PYTHON_COMPAT=( python{3_6,3_7,3_8} )
 PYTHON_REQ_USE="ncurses,readline"
diff --git a/app-i18n/tegaki-zinnia-japanese-light/Manifest b/app-i18n/tegaki-zinnia-japanese-light/Manifest
deleted file mode 100644
index f2f7c49..0000000
--- a/app-i18n/tegaki-zinnia-japanese-light/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tegaki-zinnia-japanese-light-0.3.zip 6171541 RMD160 3b748c10708f04be9f02486f25d999e8ff6515fa SHA1 6eb1d9536b590d0d81da9e8b61d8cdc24310bbc2 SHA256 c879e7453a52ac5804712d848df0693aaefb623e3094b7bb69fd63ea93d00e74
diff --git a/app-i18n/tegaki-zinnia-japanese-light/tegaki-zinnia-japanese-light-0.3-r2.ebuild b/app-i18n/tegaki-zinnia-japanese-light/tegaki-zinnia-japanese-light-0.3-r2.ebuild
deleted file mode 120000
index c27c8e7..0000000
--- a/app-i18n/tegaki-zinnia-japanese-light/tegaki-zinnia-japanese-light-0.3-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-tegaki-zinnia-japanese-light-0.3.ebuild
\ No newline at end of file
diff --git a/app-i18n/tegaki-zinnia-japanese-light/tegaki-zinnia-japanese-light-0.3.ebuild b/app-i18n/tegaki-zinnia-japanese-light/tegaki-zinnia-japanese-light-0.3.ebuild
deleted file mode 100644
index 5fede1e..0000000
--- a/app-i18n/tegaki-zinnia-japanese-light/tegaki-zinnia-japanese-light-0.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-
-EAPI="3"
-
-DESCRIPTION="Zinnia learning data for Japanese"
-HOMEPAGE="http://tegaki.org/"
-SRC_URI="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${P}.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="app-i18n/zinnia"
-
-src_install() {
-	mkdir -p "${D}/usr/share/tegaki/models/zinnia" || die
-	install handwriting-ja.meta handwriting-ja.model \
-		"${D}/usr/share/tegaki/models/zinnia/" || die
-}
diff --git a/app-i18n/tegaki-zinnia-simplified-chinese-light/Manifest b/app-i18n/tegaki-zinnia-simplified-chinese-light/Manifest
deleted file mode 100644
index 4a2e2ad..0000000
--- a/app-i18n/tegaki-zinnia-simplified-chinese-light/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tegaki-zinnia-simplified-chinese-light-0.3.zip 7015643 RMD160 5e49f56613d57b7c888614787b8862cd850e8235 SHA1 3b98471e5ec1df1335173e66f7252f7da75929f9 SHA256 598787133a4d59fcf3a2fbc5654c68eaf35a8e422274efcea2035cc081f3446c
diff --git a/app-i18n/tegaki-zinnia-simplified-chinese-light/tegaki-zinnia-simplified-chinese-light-0.3-r1.ebuild b/app-i18n/tegaki-zinnia-simplified-chinese-light/tegaki-zinnia-simplified-chinese-light-0.3-r1.ebuild
deleted file mode 120000
index ddbd51a..0000000
--- a/app-i18n/tegaki-zinnia-simplified-chinese-light/tegaki-zinnia-simplified-chinese-light-0.3-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-tegaki-zinnia-simplified-chinese-light-0.3.ebuild
\ No newline at end of file
diff --git a/app-i18n/tegaki-zinnia-simplified-chinese-light/tegaki-zinnia-simplified-chinese-light-0.3.ebuild b/app-i18n/tegaki-zinnia-simplified-chinese-light/tegaki-zinnia-simplified-chinese-light-0.3.ebuild
deleted file mode 100644
index 1491a90..0000000
--- a/app-i18n/tegaki-zinnia-simplified-chinese-light/tegaki-zinnia-simplified-chinese-light-0.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-
-EAPI="3"
-
-DESCRIPTION="Zinnia learning data for simplified Chinese"
-HOMEPAGE="http://tegaki.org/"
-SRC_URI="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${P}.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="app-i18n/zinnia"
-
-src_install() {
-	mkdir -p "${D}/usr/share/tegaki/models/zinnia" || die
-	install handwriting-zh_CN.meta handwriting-zh_CN.model \
-		"${D}/usr/share/tegaki/models/zinnia/" || die
-}
diff --git a/app-i18n/tegaki-zinnia-traditional-chinese-light/Manifest b/app-i18n/tegaki-zinnia-traditional-chinese-light/Manifest
deleted file mode 100644
index 4ec1f47..0000000
--- a/app-i18n/tegaki-zinnia-traditional-chinese-light/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tegaki-zinnia-traditional-chinese-light-0.3.zip 12600387 RMD160 5d444a74c5aa54833c115dcd21a00a18926c45af SHA1 efc46540e0e7c382bac22c6c65be1962c9bc58b5 SHA256 2233e8cdfede562297f652bf2a2e9d154215228f0c83e2cbe349ef539499ded4
diff --git a/app-i18n/tegaki-zinnia-traditional-chinese-light/tegaki-zinnia-traditional-chinese-light-0.3-r1.ebuild b/app-i18n/tegaki-zinnia-traditional-chinese-light/tegaki-zinnia-traditional-chinese-light-0.3-r1.ebuild
deleted file mode 120000
index 275daf8..0000000
--- a/app-i18n/tegaki-zinnia-traditional-chinese-light/tegaki-zinnia-traditional-chinese-light-0.3-r1.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-tegaki-zinnia-traditional-chinese-light-0.3.ebuild
\ No newline at end of file
diff --git a/app-i18n/tegaki-zinnia-traditional-chinese-light/tegaki-zinnia-traditional-chinese-light-0.3.ebuild b/app-i18n/tegaki-zinnia-traditional-chinese-light/tegaki-zinnia-traditional-chinese-light-0.3.ebuild
deleted file mode 100644
index ac3d35d..0000000
--- a/app-i18n/tegaki-zinnia-traditional-chinese-light/tegaki-zinnia-traditional-chinese-light-0.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-
-EAPI="3"
-
-DESCRIPTION="Zinnia learning data for traditional Chinese"
-HOMEPAGE="http://tegaki.org/"
-SRC_URI="http://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/${P}.zip"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="app-i18n/zinnia"
-
-src_install() {
-	mkdir -p "${D}/usr/share/tegaki/models/zinnia" || die
-	install handwriting-zh_TW.meta handwriting-zh_TW.model \
-		"${D}/usr/share/tegaki/models/zinnia/" || die
-}
diff --git a/app-portage/gentoolkit/Manifest b/app-portage/gentoolkit/Manifest
deleted file mode 100644
index 5bcc664..0000000
--- a/app-portage/gentoolkit/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST gentoolkit-0.3.0.8.tar.gz 3192497 SHA256 0338dee7c295c32b60a84e529b764d2bc61536fa3aca021cd5a75c6e534864a6 SHA512 50efd701d0d056740bcf7c7cdce652ae7c9e2786f799f5d30946e752b8aa735489d3e0dc5c7664a5810a0f22cec05b9bc7ccc10292b07ac4dd0777658651f72d WHIRLPOOL 5a2455e50d4e0f4df8abab5b81deb6bb00e078dfed1687ae046ce97a0427eafea2d3de9b83ac6de8155d207653d001c6684ac92226fa2320515c6e14c8fea6e0
diff --git a/app-portage/gentoolkit/files/0.3.0.8-handle-debug-symbols.patch b/app-portage/gentoolkit/files/0.3.0.8-handle-debug-symbols.patch
deleted file mode 100644
index 0e78d73..0000000
--- a/app-portage/gentoolkit/files/0.3.0.8-handle-debug-symbols.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From edf85975c38a3c3c460b4a8eb44e1f1ab454c99d Mon Sep 17 00:00:00 2001
-From: Bertrand SIMONNET <bsimonnet@chromium.org>
-Date: Thu, 13 Nov 2014 15:04:30 -0800
-Subject: [PATCH] eclean: handle debug symbols
-
-When cleaning the package directory, remove the debug symbols only if the
-matching binary package is being removed.
----
- pym/gentoolkit/eclean/search.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/pym/gentoolkit/eclean/search.py b/pym/gentoolkit/eclean/search.py
-index 5fcb6bc..096886a 100644
---- a/pym/gentoolkit/eclean/search.py
-+++ b/pym/gentoolkit/eclean/search.py
-@@ -546,12 +546,16 @@ def findPackages(
- 			path = os.path.join(root, file)
- 			category = os.path.split(root)[-1]
- 			cpv = category+"/"+file[:-5]
-+			if cpv.endswith('.debug'):
-+				cpv = cpv[:-6]
- 			st = os.lstat(path)
- 			if time_limit and (st[stat.ST_MTIME] >= time_limit):
- 				# time-limit exclusion
- 				continue
- 			# dict is cpv->[files] (2 files in general, because of symlink)
--			clean_me[cpv] = [path]
-+			# clean_me[cpv] will already be set if the debug symbols
-+			# are separated from the binpkg.
-+			clean_me.setdefault(cpv, []).append(path)
- 			#if os.path.islink(path):
- 			if stat.S_ISLNK(st[stat.ST_MODE]):
- 				clean_me[cpv].append(os.path.realpath(path))
--- 
-2.1.0.rc2.206.gedb03e5
-
diff --git a/app-portage/gentoolkit/files/0.3.0.8-revdep-rebuild-476740.patch b/app-portage/gentoolkit/files/0.3.0.8-revdep-rebuild-476740.patch
deleted file mode 100644
index 8832838..0000000
--- a/app-portage/gentoolkit/files/0.3.0.8-revdep-rebuild-476740.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 87a01450ab33220f6f0821d4f4209004cdc3aa8b Mon Sep 17 00:00:00 2001
-From: Paul Varner <fuzzyray@gentoo.org>
-Date: Tue, 10 Sep 2013 13:52:28 -0500
-Subject: [PATCH] Fix Ctrl-C handling when running emerge (Bug 476740).
-
----
- bin/revdep-rebuild.sh | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/bin/revdep-rebuild.sh b/bin/revdep-rebuild.sh
-index 6cb5608..09f5135 100755
---- a/bin/revdep-rebuild.sh
-+++ b/bin/revdep-rebuild.sh
-@@ -1052,6 +1052,7 @@ portage_settings() {
- 	if [[ -n ${REVDEP_REBUILD_DEFAULT_OPTS} ]]; then
- 		EMERGE_DEFAULT_OPTS=("${REVDEP_REBUILD_DEFAULT_OPTS[@]}")
- 	fi
-+
- }
- 
- ##
-@@ -1138,7 +1139,7 @@ rebuild() {
- 		REBUILD_LIST=$(sort -u "$EBUILDS_FILE")
- 	fi
- 
--	trap - SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
-+	trap "kill 0" SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM
- 
- 	[[ $QUIET -ne 1 ]] && einfo 'All prepared. Starting rebuild'
- 	echo "emerge --complete-graph=y --oneshot ${EMERGE_DEFAULT_OPTS[@]} ${EMERGE_OPTIONS[@]} $REBUILD_LIST"
--- 
-1.8.3.2
-
diff --git a/app-portage/gentoolkit/files/0.3.0.8-revdep-rebuild-484340.patch b/app-portage/gentoolkit/files/0.3.0.8-revdep-rebuild-484340.patch
deleted file mode 100644
index 1a0393d..0000000
--- a/app-portage/gentoolkit/files/0.3.0.8-revdep-rebuild-484340.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From db997501ec8e0ef0c5e4426649c17d2498b40e06 Mon Sep 17 00:00:00 2001
-From: Paul Varner <fuzzyray@gentoo.org>
-Date: Tue, 10 Sep 2013 10:59:31 -0500
-Subject: [PATCH] Fix use of REVDEP_REBUILD_DEFAULT_OPTS (Bug 484340).
-
----
- bin/revdep-rebuild.sh | 7 ++-----
- 1 file changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/bin/revdep-rebuild.sh b/bin/revdep-rebuild.sh
-index 7f848bc..6cb5608 100755
---- a/bin/revdep-rebuild.sh
-+++ b/bin/revdep-rebuild.sh
-@@ -1034,27 +1034,24 @@ portage_settings() {
- 	local ORIG_SEARCH_DIRS="$SEARCH_DIRS"
- 	local ORIG_SEARCH_DIRS_MASK="$SEARCH_DIRS_MASK"
- 	local ORIG_LD_LIBRARY_MASK="$LD_LIBRARY_MASK"
--	local ORIG_REVDEP_REBUILD_DEFAULT_OPTS="$REVDEP_REBUILD_DEFAULT_OPTS"
- 	unset SEARCH_DIRS
- 	unset SEARCH_DIRS_MASK
- 	unset LD_LIBRARY_MASK
--	unset REVDEP_REBUILD_DEFAULT_OPTS
- 
- 	eval $(portageq envvar -v PORTAGE_ROOT PORTAGE_NICENESS EMERGE_DEFAULT_OPTS NOCOLOR SEARCH_DIRS SEARCH_DIRS_MASK LD_LIBRARY_MASK REVDEP_REBUILD_DEFAULT_OPTS)
- 	export NOCOLOR
- 
- 	# Convert quoted paths to array.
- 	eval "EMERGE_DEFAULT_OPTS=(${EMERGE_DEFAULT_OPTS})"
-+	eval "REVDEP_REBUILD_DEFAULT_OPTS=(${REVDEP_REBUILD_DEFAULT_OPTS})"
- 	SEARCH_DIRS="$ORIG_SEARCH_DIRS $SEARCH_DIRS"
- 	SEARCH_DIRS_MASK="$ORIG_SEARCH_DIRS_MASK $SEARCH_DIRS_MASK"
- 	LD_LIBRARY_MASK="$ORIG_LD_LIBRARY_MASK $LD_LIBRARY_MASK"
--	REVDEP_REBUILD_DEFAULT_OPTS="$ORIG_REVDEP_REBUILD_DEFAULT_OPTS $REVDEP_REBUILD_DEFAULT_OPTS"
- 
- 	# Replace EMERGE_DEFAULT_OPTS with REVDEP_REBUILD_DEFAULT_OPTS (if it exists)
- 	if [[ -n ${REVDEP_REBUILD_DEFAULT_OPTS} ]]; then
--		EMERGE_DEFAULT_OPTS=("$REVDEP_REBUILD_DEFAULT_OPTS")
-+		EMERGE_DEFAULT_OPTS=("${REVDEP_REBUILD_DEFAULT_OPTS[@]}")
- 	fi
--
- }
- 
- ##
--- 
-1.8.3.2
-
diff --git a/app-portage/gentoolkit/gentoolkit-0.3.0.8-r4.ebuild b/app-portage/gentoolkit/gentoolkit-0.3.0.8-r4.ebuild
deleted file mode 120000
index f27b4ca..0000000
--- a/app-portage/gentoolkit/gentoolkit-0.3.0.8-r4.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-gentoolkit-0.3.0.8.ebuild
\ No newline at end of file
diff --git a/app-portage/gentoolkit/gentoolkit-0.3.0.8.ebuild b/app-portage/gentoolkit/gentoolkit-0.3.0.8.ebuild
deleted file mode 100644
index 1e981b4..0000000
--- a/app-portage/gentoolkit/gentoolkit-0.3.0.8.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-portage/gentoolkit/gentoolkit-0.3.0.8-r2.ebuild,v 1.10 2014/07/06 12:35:20 mgorny Exp $
-
-EAPI="5"
-
-PYTHON_COMPAT=(python{2_6,2_7,3_2,3_3} pypy2_0)
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of administration scripts for Gentoo"
-HOMEPAGE="http://www.gentoo.org/proj/en/portage/tools/index.xml"
-SRC_URI="mirror://gentoo/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-
-KEYWORDS="*"
-
-DEPEND="sys-apps/portage"
-RDEPEND="${DEPEND}
-	!<=app-portage/gentoolkit-dev-0.2.7
-	|| ( >=sys-apps/coreutils-8.15 app-misc/realpath sys-freebsd/freebsd-bin )
-	sys-apps/gawk
-	sys-apps/grep"
-
-PATCHES=(
-	"${FILESDIR}"/${PV}-revdep-rebuild-484340.patch
-	"${FILESDIR}"/${PV}-revdep-rebuild-476740.patch
-	"${FILESDIR}"/${PV}-handle-debug-symbols.patch
-)
-
-python_prepare_all() {
-	python_export_best
-	echo VERSION="${PVR}" "${PYTHON}" setup.py set_version
-	VERSION="${PVR}" "${PYTHON}" setup.py set_version
-	mv ./bin/revdep-rebuild{,.py} || die
-	distutils-r1_python_prepare_all
-}
-
-python_install_all() {
-	distutils-r1_python_install_all
-
-	# Rename the python versions of revdep-rebuild, since we are not ready
-	# to switch to the python version yet. Link /usr/bin/revdep-rebuild to
-	# revdep-rebuild.sh. Leaving the python version available for potential
-	# testing by a wider audience.
-	dosym revdep-rebuild.sh /usr/bin/revdep-rebuild
-
-	# Create cache directory for revdep-rebuild
-	keepdir /var/cache/revdep-rebuild
-	use prefix || fowners root:0 /var/cache/revdep-rebuild
-	fperms 0700 /var/cache/revdep-rebuild
-
-	# remove on Gentoo Prefix platforms where it's broken anyway
-	if use prefix; then
-		elog "The revdep-rebuild command is removed, the preserve-libs"
-		elog "feature of portage will handle issues."
-		rm "${ED}"/usr/bin/revdep-rebuild*
-		rm "${ED}"/usr/share/man/man1/revdep-rebuild.1
-		rm -rf "${ED}"/etc/revdep-rebuild
-		rm -rf "${ED}"/var
-	fi
-
-	# Portage installs this now.
-	find "${D}" -name 'glsa-check*' -delete || die
-	rm -rf "${D}"/var
-}
-
-pkg_postinst() {
-	# Only show the elog information on a new install
-	if [[ ! ${REPLACING_VERSIONS} ]]; then
-		elog
-		elog "For further information on gentoolkit, please read the gentoolkit"
-		elog "guide: http://www.gentoo.org/doc/en/gentoolkit.xml"
-		elog
-		elog "Another alternative to equery is app-portage/portage-utils"
-		elog
-		elog "Additional tools that may be of interest:"
-		elog
-		elog "    app-admin/eclean-kernel"
-		elog "    app-portage/diffmask"
-		elog "    app-portage/flaggie"
-		elog "    app-portage/install-mask"
-		elog "    app-portage/portpeek"
-		elog "    app-portage/smart-live-rebuild"
-	fi
-}
diff --git a/app-portage/gentoolkit/metadata.xml b/app-portage/gentoolkit/metadata.xml
deleted file mode 100644
index 26a333c..0000000
--- a/app-portage/gentoolkit/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-  <herd>tools-portage</herd>
-  <longdescription>
-Gentoolkit is a collection of useful adminstration scripts particular to
-the Gentoo Linux distribution. It contains rough drafts and
-implementations of features that may in time make it into Portage, or
-into full-fledged tools in their own right.
-</longdescription>
-</pkgmetadata>
diff --git a/app-shells/zsh/Manifest b/app-shells/zsh/Manifest
deleted file mode 100644
index c5188d8..0000000
--- a/app-shells/zsh/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST zsh-5.0.5-doc.tar.bz2 2940018 SHA256 e4f22bafaa8410bbc2d83f2d748ca4764365752c46f7e1099be54f2a62c492f2 SHA512 341e4a62c7c2367d17c54c5133b7c0a74e6c0becfaddd3c1f5dbe782300bbd74b0fc2066e892776cb52ce11cd0600739bfd5a7dd067eaae8a1d11b1b2aa0c3b0 WHIRLPOOL 48e021bc2caf840d048888faf5cafea5ce698968479e1c8791f33dc36f9b0f60db16ff481e88ce8c903480d905b728eb9ff9dfc8fbcb066d3698cc0cc3a02d8a
-DIST zsh-5.0.5.tar.bz2 3104375 SHA256 6624d2fb6c8fa4e044d2b009f86ed1617fe8583c83acfceba7ec82826cfa8eaf SHA512 34d69bed190cbc476bcdaa4b703fee1caaeae7e011fe7ea595b29bbd31df57bbe4d19b5940618e0c89a0a4b6c476f9ef03ce9829b4fb3735c1aedf309b0225a5 WHIRLPOOL bf02ca194261e15e88a9e26212644aa7be1afcc8e73cd6bb18ffb8e1c1d46a8742fee109d92a3b455c418258df9ae74dece21a05ff0e54e8c370af094512af16
diff --git a/app-shells/zsh/files/prompt_gentoo_setup-1 b/app-shells/zsh/files/prompt_gentoo_setup-1
deleted file mode 100644
index 046e2d8..0000000
--- a/app-shells/zsh/files/prompt_gentoo_setup-1
+++ /dev/null
@@ -1,33 +0,0 @@
-# gentoo prompt theme
-
-prompt_gentoo_help () {
-  cat <<'EOF'
-This prompt is color-scheme-able.  You can invoke it thus:
-
-  prompt gentoo [<promptcolor> [<usercolor> [<rootcolor>]]]
-
-EOF
-}
-
-prompt_gentoo_setup () {
-  local prompt_gentoo_prompt=${1:-'blue'}
-  local prompt_gentoo_user=${2:-'green'}
-  local prompt_gentoo_root=${3:-'red'}
-
-  if [ "$USER" = 'root' ]
-  then
-    local base_prompt="%B%F{$prompt_gentoo_root}%m%k "
-  else
-    local base_prompt="%B%F{$prompt_gentoo_user}%n@%m%k "
-  fi
-  local post_prompt="%b%f%k"
-
-  #setopt noxtrace localoptions
-
-  local path_prompt="%B%F{$prompt_gentoo_prompt}%1~"
-  typeset -g PS1="$base_prompt$path_prompt %# $post_prompt"
-  typeset -g PS2="$base_prompt$path_prompt %_> $post_prompt"
-  typeset -g PS3="$base_prompt$path_prompt ?# $post_prompt"
-}
-
-prompt_gentoo_setup "$@"
diff --git a/app-shells/zsh/files/zprofile-1 b/app-shells/zsh/files/zprofile-1
deleted file mode 100644
index 0602c9c..0000000
--- a/app-shells/zsh/files/zprofile-1
+++ /dev/null
@@ -1,43 +0,0 @@
-# @GENTOO_PORTAGE_EPREFIX@/etc/zsh/zprofile
-# $Header: /var/cvsroot/gentoo-x86/app-shells/zsh/files/zprofile-1,v 1.1 2010/08/15 12:21:56 tove Exp $
-
-# Load environment settings from profile.env, which is created by
-# env-update from the files in /etc/env.d
-if [ -e "@GENTOO_PORTAGE_EPREFIX@"/etc/profile.env ] ; then
-	. "@GENTOO_PORTAGE_EPREFIX@"/etc/profile.env
-fi
-
-# You should override these in your ~/.zprofile (or equivalent) for per-user
-# settings.  For system defaults, you can add a new file in /etc/profile.d/.
-export EDITOR=${EDITOR:-/bin/nano}
-export PAGER=${PAGER:-/usr/bin/less}
-
-# 077 would be more secure, but 022 is generally quite realistic
-umask 022
-
-# Set up PATH depending on whether we're root or a normal user.
-# There's no real reason to exclude sbin paths from the normal user,
-# but it can make tab-completion easier when they aren't in the
-# user's PATH to pollute the executable namespace.
-#
-# It is intentional in the following line to use || instead of -o.
-# This way the evaluation can be short-circuited and calling whoami is
-# avoided.
-if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
-	@ZSH_NOPREFIX@PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
-	@ZSH_PREFIX@PATH="@GENTOO_PORTAGE_EPREFIX@/usr/sbin:@GENTOO_PORTAGE_EPREFIX@/usr/bin:@GENTOO_PORTAGE_EPREFIX@/sbin:@GENTOO_PORTAGE_EPREFIX@/bin:${ROOTPATH}:/usr/sbin:/usr/bin:/sbin:/bin"
-else
-	@ZSH_NOPREFIX@PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"
-	@ZSH_PREFIX@PATH="@GENTOO_PORTAGE_EPREFIX@/usr/bin:@GENTOO_PORTAGE_EPREFIX@/bin:${PATH}:/usr/bin:/bin"
-fi
-export PATH
-unset ROOTPATH
-
-shopts=$-
-setopt nullglob
-for sh in "@GENTOO_PORTAGE_EPREFIX@"/etc/profile.d/*.sh ; do
-	[ -r "$sh" ] && . "$sh"
-done
-unsetopt nullglob
-set -$shopts
-unset sh shopts
diff --git a/app-shells/zsh/files/zsh-5.0.2-texinfo-5.1.patch b/app-shells/zsh/files/zsh-5.0.2-texinfo-5.1.patch
deleted file mode 100644
index da76df7..0000000
--- a/app-shells/zsh/files/zsh-5.0.2-texinfo-5.1.patch
+++ /dev/null
@@ -1,179 +0,0 @@
---- zsh-5.0.2/Doc/zsh.texi
-+++ zsh-5.0.2/Doc/zsh.texi
-@@ -1,4 +1,3 @@
--
- \input texinfo.tex
- @c %**start of header
- @iftex
-@@ -389,6 +388,7 @@
- 
- @end table
- 
-+@noindent
- The up-to-date source code is available via anonymous CVS and Git from
- Sourceforge.  See @t{http://sourceforge.net/projects/zsh/} for details.
- A summary of instructions for the CVS and Git archives can be found at
-@@ -430,8 +430,8 @@
- @item @t{<zsh-announce-unsubscribe@@zsh.org>}
- @item @t{<zsh-users-unsubscribe@@zsh.org>}
- @item @t{<zsh-workers-unsubscribe@@zsh.org>}
--@item
- @end table
-+@sp 1
- 
- @noindent
- YOU ONLY NEED TO JOIN ONE OF THE MAILING LISTS AS THEY ARE NESTED.
-@@ -1080,8 +1080,8 @@
- @item @t{/etc/zshrc}
- @item @t{/etc/zlogin}
- @item @t{/etc/zlogout}    (installation-specific - @t{/etc} is the default)
--@item
- @end table
-+@sp 1
- @c (avoiding a yodl bug)
- 
- @noindent
-@@ -1651,8 +1651,8 @@
- @item Errors in variable substitution syntax
- @item Failure to convert characters in @t{$'}...@t{'} expressions
- similar options
--@item
- @end table
-+@sp 1
- 
- @noindent
- If the @t{POSIX_BUILTINS} option is set, more errors associated with
-@@ -14685,8 +14685,8 @@
- used for contexts in the parameter @t{zle_highlight},
- @ref{Character Highlighting};
- for example, @t{standout} or @t{fg=red,bold}.
--@item
- @end table
-+@sp 1
- 
- @noindent
- For example, 
-@@ -22643,8 +22643,7 @@
- described above.
- 
- @findex _pick_variant
--@item @t{_pick_variant} [ @t{-b} @var{builtin-label} ] [ @t{-c}
--@var{command} ] [ @t{-r} @var{name} ]
-+@item @t{_pick_variant} [ @t{-b} @var{builtin-label} ] [ @t{-c} @var{command} ] [ @t{-r} @var{name} ]
- @itemx    @var{label}@t{=}@var{pattern} ... @var{label} [ @var{args} ... ]
- This function is used to resolve situations where a single command name
- requires more than one type of handling, either because it
-@@ -23260,8 +23259,8 @@
- @item @t{compctl} @t{-M} @var{match-specs} ...
- @item @t{compctl} @t{-L} [ @t{-CDTM} ] [ @var{command} ... ]
- @item @t{compctl} @t{+} @var{command} ...
--@item
- @end table
-+@sp 1
- 
- @noindent
- Control the editor's completion behavior according to the supplied set
-@@ -23405,8 +23404,8 @@
- @item [ @t{-y} @var{func-or-var} ] [ @t{-l} @var{cmd} ] [ @t{-h} @var{cmd} ] [ @t{-U} ]
- @item [ @t{-t} @var{continue} ] [ @t{-J} @var{name} ] [ @t{-V} @var{name} ]
- @item [ @t{-M} @var{match-spec} ]
--@item
- @end table
-+@sp 1
- 
- @noindent
- The remaining @var{options} specify the type of command arguments
-@@ -23838,8 +23837,8 @@
- @noindent
- @table @asis
- @item @t{compctl} [ @t{-CDT} ] @var{options} @t{+} @var{options} [ @t{+} ... ] [ @t{+} ] @var{command} ...
--@item
- @end table
-+@sp 1
- 
- @noindent
- The form with `@t{+}' specifies alternative options. Completion is
-@@ -23866,8 +23865,8 @@
- @item          [ @var{command} ... ]
- @item @t{compctl} [ @t{-CDT} ] @var{options} [ @t{-x} @var{pattern} @var{options} @t{-} ... @t{-}@t{-} ]
- @item          [ @t{+} @var{options} [ @t{-x} ... @t{-}@t{-} ] ... [@t{+}] ] [ @var{command} ... ]
--@item
- @end table
-+@sp 1
- 
- @noindent
- The form with `@t{-x}' specifies extended completion for the
-@@ -24980,7 +24979,7 @@
- The subcommand @t{position} writes various positions associated with
- @var{targetwin} into the array named @var{array}.
- These are, in order:
--@table @asis
-+@itemize @bullet
- @item 
- The y and x coordinates of the cursor relative to the top left
- of @var{targetwin}
-@@ -24989,7 +24988,7 @@
- screen
- @item 
- The size of @var{targetwin} in y and x dimensions.
--@end table
-+@end itemize
- 
- @noindent
- Outputting characters and strings are achieved by @t{char} and @t{string}
-@@ -28870,30 +28869,37 @@
- it returns status 0 and sets elements of the associative
- array @t{reply} as follows:
- @table @asis
--@item timeNL()The time as a string of digits in the same units as
-+@item time
-+The time as a string of digits in the same units as
- @t{$EPOCHSECONDS}
--@item schedtimeNL()The regularly scheduled time.  This may differ from
-+@item schedtime
-+The regularly scheduled time.  This may differ from
- the actual event time @t{time} if this is a recurring event and the next
- occurrence has been rescheduled.  Then @t{time} gives the actual time
- and @t{schedtime} the time of the regular recurrence before modification.
- @item text1
- The text from the line not including the date and time of the
- event, but including any @t{WARN} or @t{RPT} keywords and values.
--@item warntimeNL()Any warning time given by the @t{WARN} keyword as a string
-+@item warntime
-+Any warning time given by the @t{WARN} keyword as a string
- of digits containing the time at which to warn in the same units as
- @t{$EPOCHSECONDS}.  (Note this is an absolute time, not the relative time
- passed down.)  Not set no @t{WARN} keyword and value were
- matched.
--@item warnstrNL()The raw string matched after the @t{WARN} keyword, else unset.
--@item rpttimeNL()Any recurrence time given by the @t{RPT} keyword as a string
-+@item warnstr
-+The raw string matched after the @t{WARN} keyword, else unset.
-+@item rpttime
-+Any recurrence time given by the @t{RPT} keyword as a string
- of digits containing the time of the recurrence in the same units
- as @t{$EPOCHSECONDS}.  (Note this is an absolute time.)  Not set if
- no @t{RPT} keyword and value were matched.
--@item schedrpttimeNL()The next regularly scheduled occurrence of a recurring
-+@item schedrpttime
-+The next regularly scheduled occurrence of a recurring
- event before modification.  This may differ from @t{rpttime}, which is the
- actual time of the event that may have been rescheduled from the regular
- time.
--@item rptstrNL()The raw string matched after the @t{RPT} keyword, else unset.
-+@item rptstr
-+The raw string matched after the @t{RPT} keyword, else unset.
- @item text2
- The text from the line after removal of the date and any
- keywords and values.
-@@ -35504,8 +35510,8 @@
- @noindent
- @example
- zstyle+ ':foo:bar' style1 value1 \ 
--      + ':baz'     style2 value2 \ 
--      + ':frob'    style3 value3
-+       +':baz'     style2 value2 \ 
-+       +':frob'    style3 value3
- @end example
- 
- @noindent
diff --git a/app-shells/zsh/files/zsh-5.0.5-pid-ns.patch b/app-shells/zsh/files/zsh-5.0.5-pid-ns.patch
deleted file mode 100644
index 928ce48..0000000
--- a/app-shells/zsh/files/zsh-5.0.5-pid-ns.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-zsh and pid namespaces don't play very well together.  Specifically, when zsh is
-launched inside a new pid namespace, it doesn't take ownership of the process
-group, causing things like SIGINT to be sent to the parent process.  Upstream
-bug report here: http://www.zsh.org/mla/workers/2014/msg01769.html.
-
-The first chunk of this diff fixes this problem and has already been applied
-upstream:
-http://sourceforge.net/p/zsh/code/ci/0c4cb0cc1b527f4341f1a39a10f4120aa7c7d594/.
-
-The second chunk is a suggested fix for the warning that zsh prints when
-exiting: http://www.zsh.org/mla/workers/2014/msg01779.html.
-
-diff --git a/Src/jobs.c b/Src/jobs.c
-index a668b07..c6e1bce 100644
---- a/Src/jobs.c
-+++ b/Src/jobs.c
-@@ -2734,7 +2734,7 @@ acquire_pgrp(void)
-     long ttpgrp;
-     sigset_t blockset, oldset;
- 
--    if ((mypgrp = GETPGRP()) > 0) {
-+    if ((mypgrp = GETPGRP()) >= 0) {
- 	long lastpgrp = mypgrp;
- 	sigemptyset(&blockset);
- 	sigaddset(&blockset, SIGTTIN);
-@@ -2779,8 +2779,11 @@ void
- release_pgrp(void)
- {
-     if (origpgrp != mypgrp) {
--	attachtty(origpgrp);
--	setpgrp(0, origpgrp);
-+	/* in linux pid namespaces, origpgrp may never have been set */
-+	if (origpgrp) {
-+	    attachtty(origpgrp);
-+	    setpgrp(0, origpgrp);
-+	}
- 	mypgrp = origpgrp;
-     }
- }
diff --git a/app-shells/zsh/files/zsh-fix-parameter-modifier-crash.patch b/app-shells/zsh/files/zsh-fix-parameter-modifier-crash.patch
deleted file mode 100644
index 1e1847a..0000000
--- a/app-shells/zsh/files/zsh-fix-parameter-modifier-crash.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 44757a653cb547ae7b556e8c92629d296d3c1f12 Mon Sep 17 00:00:00 2001
-From: Peter Stephenson <pws@users.sourceforge.net>
-Date: Tue, 22 Jan 2013 16:28:58 +0000
-Subject: [PATCH] 30993: fix parameter modifier crash with :wq on empty string
-
----
- ChangeLog              |  8 +++++++-
- Src/subst.c            | 10 +++++++++-
- Test/D04parameter.ztst |  7 +++++++
- 3 files changed, 23 insertions(+), 2 deletions(-)
-
-diff --git a/Src/subst.c b/Src/subst.c
-index 974a845..a4df256 100644
---- a/Src/subst.c
-+++ b/Src/subst.c
-@@ -3707,6 +3707,11 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags)
- 	char *y;
- 
- 	x = val;
-+	if (!x) {
-+	    /* Shouldn't have got here with a NULL string. */
-+	    DPUTS(1, "value is NULL in paramsubst");
-+	    return NULL;
-+	}
- 	if (prenum || postnum)
- 	    x = dopadding(x, prenum, postnum, preone, postone,
- 			  premul, postmul
-@@ -4021,7 +4026,10 @@ modify(char **str, char **ptr)
- 		    all = tmp;
- 		    t = e;
- 		}
--		*str = all;
-+		if (!all)
-+		    *str = dupstring("");
-+		else
-+		    *str = all;
- 
- 	    } else {
- 		switch (c) {
-diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst
-index 01f8412..bea9459 100644
---- a/Test/D04parameter.ztst
-+++ b/Test/D04parameter.ztst
-@@ -1544,3 +1544,10 @@
- 0:Regression test for shwordsplit with null or unset IFS and quoted array
- >abc
- >a b c
-+
-+   foo=
-+   print ${foo:wq}
-+   print ${:wq}
-+0:Empty parameter shouldn't cause modifiers to crash the shell
-+>
-+>
--- 
-1.8.1.5
-
diff --git a/app-shells/zsh/files/zsh-init.d-gentoo-r1.diff b/app-shells/zsh/files/zsh-init.d-gentoo-r1.diff
deleted file mode 100644
index 9597a73..0000000
--- a/app-shells/zsh/files/zsh-init.d-gentoo-r1.diff
+++ /dev/null
@@ -1,30 +0,0 @@
---- zsh-4.3.11/Completion/Unix/Command/_init_d
-+++ zsh-4.3.11/Completion/Unix/Command/_init_d
-@@ -1,6 +1,6 @@
- #compdef -p */(init|rc[0-9S]#).d/*
- 
--local cmds script
-+local cmds script opts
- 
- _compskip=all
- 
-@@ -83,10 +83,17 @@
- 
- script=$words[1]
- [[ $script = */* ]] || script="$(_init_d_fullpath "$script")"
-+[[ ! -f $script ]] &&
-+    { _message "${words[1]:t} is not an init script" && return }
- 
- cmds=( $(_init_d_get_cmds) ) || return
- 
--(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds ||
--    cmds=(start stop)
-+(( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds
-+opts=(start stop restart pause zap status ineed iuse needsme usesme broken)
-+
-+# If we didn't get $cmds from a zstyle, then read init script for opts.
-+# If script doesn't specify opts, then default to the standard opts.
-+(( $#cmds )) || cmds=( ${(eQz)${(M)${(f)"$( <$script)"}:#[[:blank:]]#opts=*}#*=} )
-+(( $#cmds )) || cmds=($opts)
- 
- _sub_commands $cmds
diff --git a/app-shells/zsh/metadata.xml b/app-shells/zsh/metadata.xml
deleted file mode 100644
index d02793c..0000000
--- a/app-shells/zsh/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer>
-  <email>radhermit@gentoo.org</email>
-  <name>Tim Harder</name>
-</maintainer>
-<longdescription>
-  Zsh is a shell designed for interactive use, although it is also a
-  powerful scripting language. Many of the useful features of bash, ksh,
-  and tcsh were incorporated into zsh; many original features were
-  added.
-</longdescription>
-</pkgmetadata>
diff --git a/app-shells/zsh/zsh-5.0.5-r2.ebuild b/app-shells/zsh/zsh-5.0.5-r2.ebuild
deleted file mode 120000
index 00606fa..0000000
--- a/app-shells/zsh/zsh-5.0.5-r2.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-zsh-5.0.5.ebuild
\ No newline at end of file
diff --git a/app-shells/zsh/zsh-5.0.5.ebuild b/app-shells/zsh/zsh-5.0.5.ebuild
deleted file mode 100644
index 77175483..0000000
--- a/app-shells/zsh/zsh-5.0.5.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-shells/zsh/zsh-5.0.5.ebuild,v 1.6 2014/06/15 14:35:28 hattya Exp $
-
-EAPI=5
-
-inherit eutils flag-o-matic multilib prefix
-
-DESCRIPTION="UNIX Shell similar to the Korn shell"
-HOMEPAGE="http://www.zsh.org/"
-SRC_URI="http://www.zsh.org/pub/${P}.tar.bz2
-	doc? ( http://www.zsh.org/pub/${P}-doc.tar.bz2 )"
-
-LICENSE="ZSH gdbm? ( GPL-2 )"
-SLOT="0"
-KEYWORDS="*"
-IUSE="caps debug doc examples gdbm maildir pcre static unicode"
-
-RDEPEND="
-	>=sys-libs/ncurses-5.1
-	static? ( >=sys-libs/ncurses-5.7-r4[static-libs] )
-	caps? ( sys-libs/libcap )
-	pcre? ( >=dev-libs/libpcre-3.9
-		static? ( >=dev-libs/libpcre-3.9[static-libs] ) )
-	gdbm? ( sys-libs/gdbm )
-"
-DEPEND="sys-apps/groff
-	${RDEPEND}"
-PDEPEND="
-	examples? ( app-doc/zsh-lovers )
-"
-
-src_prepare() {
-	# fix zshall problem with soelim
-	ln -s Doc man1
-	mv Doc/zshall.1 Doc/zshall.1.soelim
-	soelim Doc/zshall.1.soelim > Doc/zshall.1
-
-	epatch "${FILESDIR}"/${PN}-init.d-gentoo-r1.diff
-
-	# fix interaction with pid namespaces
-	epatch "${FILESDIR}"/${P}-pid-ns.patch
-
-	cp "${FILESDIR}"/zprofile-1 "${T}"/zprofile || die
-	eprefixify "${T}"/zprofile || die
-	if use prefix ; then
-		sed -i -e 's|@ZSH_PREFIX@||' -e '/@ZSH_NOPREFIX@/d' "${T}"/zprofile || die
-	else
-		sed -i -e 's|@ZSH_NOPREFIX@||' -e '/@ZSH_PREFIX@/d' -e 's|""||' "${T}"/zprofile || die
-	fi
-}
-
-src_configure() {
-	local myconf=
-
-	if use static ; then
-		myconf+=" --disable-dynamic"
-		append-ldflags -static
-	fi
-	if use debug ; then
-		myconf+=" \
-			--enable-zsh-debug \
-			--enable-zsh-mem-debug \
-			--enable-zsh-mem-warning \
-			--enable-zsh-secure-free \
-			--enable-zsh-hash-debug"
-	fi
-
-	if [[ ${CHOST} == *-darwin* ]]; then
-		myconf+=" --enable-libs=-liconv"
-		append-ldflags -Wl,-x
-	fi
-
-	econf \
-		--bindir="${EPREFIX}"/bin \
-		--libdir="${EPREFIX}"/usr/$(get_libdir) \
-		--enable-etcdir="${EPREFIX}"/etc/zsh \
-		--enable-runhelpdir="${EPREFIX}"/usr/share/zsh/${PV%_*}/help \
-		--enable-fndir="${EPREFIX}"/usr/share/zsh/${PV%_*}/functions \
-		--enable-site-fndir="${EPREFIX}"/usr/share/zsh/site-functions \
-		--enable-function-subdirs \
-		--with-tcsetpgrp \
-		$(use_enable maildir maildir-support) \
-		$(use_enable pcre) \
-		$(use_enable caps cap) \
-		$(use_enable unicode multibyte) \
-		$(use_enable gdbm ) \
-		${myconf}
-
-	if use static ; then
-		# compile all modules statically, see Bug #27392
-		# removed cap and curses because linking failes
-		sed -i \
-			-e "s,link=no,link=static,g" \
-			-e "/^name=zsh\/cap/s,link=static,link=no," \
-			-e "/^name=zsh\/curses/s,link=static,link=no," \
-			"${S}"/config.modules || die
-		if ! use gdbm ; then
-			sed -i '/^name=zsh\/db\/gdbm/s,link=static,link=no,' \
-				"${S}"/config.modules || die
-		fi
-	fi
-}
-
-src_test() {
-	addpredict /dev/ptmx
-	local i
-	for i in C02cond.ztst V08zpty.ztst X02zlevi.ztst Y01completion.ztst Y02compmatch.ztst Y03arguments.ztst ; do
-		rm "${S}"/Test/${i} || die
-	done
-	emake check
-}
-
-src_install() {
-	emake DESTDIR="${D}" install install.info
-
-	insinto /etc/zsh
-	doins "${T}"/zprofile
-
-	keepdir /usr/share/zsh/site-functions
-	insinto /usr/share/zsh/${PV%_*}/functions/Prompts
-	newins "${FILESDIR}"/prompt_gentoo_setup-1 prompt_gentoo_setup
-
-	# install miscellaneous scripts; bug #54520
-	local i
-	sed -i -e "s:/usr/local/bin/perl:${EPREFIX}/usr/bin/perl:g" \
-		-e "s:/usr/local/bin/zsh:${EPREFIX}/bin/zsh:g" "${S}"/{Util,Misc}/* || die
-	for i in Util Misc ; do
-		insinto /usr/share/zsh/${PV%_*}/${i}
-		doins ${i}/*
-	done
-
-	dodoc ChangeLog* META-FAQ NEWS README config.modules
-
-	if use doc ; then
-		pushd "${WORKDIR}/${PN}-${PV%_*}" >/dev/null
-		dohtml -r Doc/*
-		insinto /usr/share/doc/${PF}
-		doins Doc/zsh.{dvi,pdf}
-		popd >/dev/null
-	fi
-
-	docinto StartupFiles
-	dodoc StartupFiles/z*
-}
-
-pkg_postinst() {
-	if [[ -z ${REPLACING_VERSIONS} ]] ; then
-		# should link to http://www.gentoo.org/doc/en/zsh.xml
-		echo
-		elog "If you want to enable Portage completions and Gentoo prompt,"
-		elog "emerge app-shells/zsh-completion and add"
-		elog "	autoload -U compinit promptinit"
-		elog "	compinit"
-		elog "	promptinit; prompt gentoo"
-		elog "to your ~/.zshrc"
-		echo
-		elog "Also, if you want to enable cache for the completions, add"
-		elog "	zstyle ':completion::complete:*' use-cache 1"
-		elog "to your ~/.zshrc"
-		echo
-		elog "Note that a system zprofile startup file is installed. This will override"
-		elog "PATH and possibly other variables that a user may set in ~/.zshenv."
-		elog "Custom PATH settings and similar overridden variables can be moved to ~/.zprofile"
-		elog "or other user startup files that are sourced after the system zprofile."
-		echo
-		elog "If PATH must be set in ~/.zshenv to affect things like non-login ssh shells,"
-		elog "one method is to use a separate path-setting file that is conditionally sourced"
-		elog "in ~/.zshenv and also sourced from ~/.zprofile. For more information, see the"
-		elog "zshenv example in ${EROOT}/usr/share/doc/${PF}/StartupFiles/."
-		echo
-	fi
-}
diff --git a/app-text/ghostscript-gpl/Manifest b/app-text/ghostscript-gpl/Manifest
index 17800f6..bdcc670 100644
--- a/app-text/ghostscript-gpl/Manifest
+++ b/app-text/ghostscript-gpl/Manifest
@@ -1,2 +1,2 @@
-DIST ghostscript-9.50.tar.xz 34613344 BLAKE2B 999af7525ec84448256bac233a81ea3b8d4dcb8cd22fd67dc26dd542840259cef0c1438b85274f1d9c192784ecc5d36cb47a3d4482ebbe19ea8843404f9d0ad2 SHA512 3c1e5db519a427f4b6bfb8d93f3c3dfb67d5ec9ccd19c7afa7670deb768515f3fc617c5588e54934bbfbedfdf8609ce2ffa36dd7da3cb618937fe034f64f43ee
-DIST ghostscript-9.52.tar.xz 39711040 BLAKE2B 317042ae7e2bfdeded2ae9d9a1bd1521422d1ce1dd6b9b2cdedf4c503cce1285684d5329663dc8ee7263591761c33254827d16b1a93f8c10aad4baab1d859f93 SHA512 4c4a33884e1138bad553eee61fac1a72158297ad5c2ce46a4b36150848dea8158affaf2b902f4ff03e4f72ebc8154c198b618112624f409230a610b7648faa67
+DIST ghostscript-9.53.3.tar.xz 41368160 BLAKE2B 6b5840a420d7527c7155bfb707fe19b3412bdd3a6707f44d058c20f607e6695cfc878cf5df4c4528686c1c1f488b2dbdb81ef5fdf38b950eb15751d2ebafb0a9 SHA512 eb832c27eecd30f15e346408c592d7096fd23ef0a6fa59bd50ca327578915434530a4868e69249c2594def0910c527302e99d54f0877f726a8ca8bea6f0f17b7
+DIST ghostscript-gpl-9.53-patchset-01.tar.xz 2340 BLAKE2B 55d82c88f1b57c084318839e1382ffa112461d074411b1f6586a5a9ace37772b144abdda9f742defd077ce937df590d63bd7a2306bad52438949d1036bb7900c SHA512 ab58485df9152bb32c6f0eb25bd45689089bd17ffb0323c54e1977c5f810ec5eb09f358637251c428591749bfb42c6f8489c74d4bd0a7ae5d696eb2346503c44
diff --git a/app-text/ghostscript-gpl/files/02ghostscript b/app-text/ghostscript-gpl/files/02ghostscript
new file mode 100644
index 0000000..b155af5
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/02ghostscript
@@ -0,0 +1 @@
+GS_FONTPATH=/usr/share/fonts
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.25-urw-fonts-naming.patch b/app-text/ghostscript-gpl/files/ghostscript-9.25-urw-fonts-naming.patch
deleted file mode 100644
index 6938693..0000000
--- a/app-text/ghostscript-gpl/files/ghostscript-9.25-urw-fonts-naming.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 64e94623a4e72e9c55d6aebde38d9ca524842727 Mon Sep 17 00:00:00 2001
-From: Sean Kau <skau@chromium.org>
-Date: Thu, 11 Jul 2019 14:55:00 -0700
-Subject: [PATCH 3/4] ghostscript-9.25-urw-fonts-naming-1.patch
- ghostscript-9.25-urw-fonts-naming-2.patch
-
----
- Resource/Init/Fontmap.GS | 82 ++++++++++++++++++++++------------------
- 1 file changed, 45 insertions(+), 37 deletions(-)
-
-diff --git a/Resource/Init/Fontmap.GS b/Resource/Init/Fontmap.GS
-index 9f6b6297d..1470bff99 100644
---- a/Resource/Init/Fontmap.GS
-+++ b/Resource/Init/Fontmap.GS
-@@ -9,8 +9,8 @@
- % of the license contained in the file LICENSE in this distribution.
- %
- % Refer to licensing information at http://www.artifex.com or contact
--% Artifex Software, Inc.,  1305 Grant Avenue - Suite 200, Novato,
--% CA 94945, U.S.A., +1(415)492-9861, for further information.
-+% Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134, San Rafael,
-+% CA  94903, U.S.A., +1(415)492-9861, for further information.
- %
- 
- % Fontmap - standard font catalog for Ghostscript.
-@@ -103,41 +103,49 @@
- 
- % Aliases
- 
--/AvantGarde-BookOblique		/URWGothic-BookOblique    ;
--/AvantGarde-Book		/URWGothic-Book        ;
--/AvantGarde-DemiOblique		/URWGothic-DemiOblique    ;
--/AvantGarde-Demi		/URWGothic-Demi        ;
--/Bookman-DemiItalic		/URWBookman-DemiItalic	;
--/Bookman-Demi			/URWBookman-Demi	;
--/Bookman-LightItalic		/URWBookman-LightItalic	;
--/Bookman-Light			/URWBookman-Light	;
--/Courier-Bold			/NimbusMonoPS-Bold	;
--/Courier-BoldOblique		/NimbusMonoPS-BoldItalic	;
--/Courier			/NimbusMonoPS-Regular	;
--/Courier-Oblique		/NimbusMonoPS-Italic	;
--/Helvetica-Bold			/NimbusSans-Bold ;
--/Helvetica-BoldOblique		/NimbusSans-BoldItalic      ;
--/Helvetica-Narrow-Bold		/NimbusSansNarrow-Bold    ;
--/Helvetica-Narrow-BoldOblique	/NimbusSansNarrow-BoldOblique        ;
--/Helvetica-Narrow		/NimbusSansNarrow-Regular    ;
--/Helvetica-Narrow-Oblique	/NimbusSansNarrow-Oblique        ;
--/Helvetica			/NimbusSans-Regular ;
--/Helvetica-Oblique		/NimbusSans-Italic      ;
--/NewCenturySchlbk-Bold		/C059-Bold	;
--/NewCenturySchlbk-BoldItalic	/C059-BdIta	;
--/NewCenturySchlbk-Italic	/C059-Italic	;
--/NewCenturySchlbk-Roman		/C059-Roman	;
--/Palatino-BoldItalic		/P052-BoldItalic	;
--/Palatino-Bold			/P052-Bold	;
--/Palatino-Italic		/P052-Italic	;
--/Palatino-Roman			/P052-Roman	;
--/Symbol				/StandardSymbolsPS	;
--/Times-BoldItalic		/NimbusRoman-BoldItalic	;
--/Times-Bold			/NimbusRoman-Bold	;
--/Times-Italic			/NimbusRoman-Italic	;
--/Times-Roman			/NimbusRoman-Regular	;
--/ZapfChancery-MediumItalic	/Z003-MediumItalic	;
--/ZapfDingbats			/D050000L	;
-+/AvantGarde-BookOblique		/URWGothicL-BookObli	;
-+/AvantGarde-Book		/URWGothicL-Book	;
-+/AvantGarde-DemiOblique		/URWGothicL-DemiObli	;
-+/AvantGarde-Demi		/URWGothicL-Demi	;
-+
-+/Bookman-DemiItalic		/URWBookmanL-DemiBoldItal	;
-+/Bookman-Demi			/URWBookmanL-DemiBold	;
-+/Bookman-LightItalic		/URWBookmanL-LighItal	;
-+/Bookman-Light			/URWBookmanL-Ligh	;
-+
-+/Courier-Bold			/NimbusMonL-Bold	;
-+/Courier-BoldOblique		/NimbusMonL-BoldObli	;
-+/Courier			/NimbusMonL-Regu	;
-+/Courier-Oblique		/NimbusMonL-ReguObli	;
-+
-+/Helvetica-Bold			/NimbusSanL-Bold	;
-+/Helvetica-BoldOblique		/NimbusSanL-BoldItal	;
-+/Helvetica-Narrow-Bold		/NimbusSanL-BoldCond	;
-+/Helvetica-Narrow-BoldOblique	/NimbusSanL-BoldCondItal	;
-+/Helvetica-Narrow		/NimbusSanL-ReguCond	;
-+/Helvetica-Narrow-Oblique	/NimbusSanL-ReguCondItal	;
-+/Helvetica			/NimbusSanL-Regu	;
-+/Helvetica-Oblique		/NimbusSanL-ReguItal	;
-+
-+/NewCenturySchlbk-Bold		/CenturySchL-Bold	;
-+/NewCenturySchlbk-BoldItalic	/CenturySchL-BoldItal	;
-+/NewCenturySchlbk-Italic	/CenturySchL-Ital	;
-+/NewCenturySchlbk-Roman		/CenturySchL-Roma	;
-+
-+/Palatino-Roman			/URWPalladioL-Roma	;
-+/Palatino-Italic		/URWPalladioL-Ital	;
-+/Palatino-Bold			/URWPalladioL-Bold	;
-+/Palatino-BoldItalic		/URWPalladioL-BoldItal	;
-+
-+/Symbol				/StandardSymL	;
-+
-+/Times-BoldItalic		/NimbusRomNo9L-MediItal	;
-+/Times-Bold			/NimbusRomNo9L-Medi	;
-+/Times-Italic			/NimbusRomNo9L-ReguItal	;
-+/Times-Roman			/NimbusRomNo9L-Regu	;
-+
-+/ZapfChancery-MediumItalic	/URWChanceryL-MediItal	;
-+/ZapfDingbats			/Dingbats	;
- 
- % 
- %
--- 
-2.25.0.341.g760bfbb309-goog
-
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.52-fix-memory-corruption.patch b/app-text/ghostscript-gpl/files/ghostscript-9.52-fix-memory-corruption.patch
deleted file mode 100644
index fafaf0ab..0000000
--- a/app-text/ghostscript-gpl/files/ghostscript-9.52-fix-memory-corruption.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 5d499272b95a6b890a1397e11d20937de000d31b Mon Sep 17 00:00:00 2001
-From: Ray Johnston <ray.johnston@artifex.com>
-Date: Wed, 22 Jul 2020 09:57:54 -0700
-Subject: [PATCH] Bug 702582, CVE 2020-15900 Memory Corruption in Ghostscript
- 9.52
-
-Fix the 'rsearch' calculation for the 'post' size to give the correct
-size.  Previous calculation would result in a size that was too large,
-and could underflow to max uint32_t. Also fix 'rsearch' to return the
-correct 'pre' string with empty string match.
-
-A future change may 'undefine' this undocumented, non-standard operator
-during initialization as we do with the many other non-standard internal
-PostScript operators and procedures.
----
- psi/zstring.c | 17 +++++++++++------
- 1 file changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/psi/zstring.c b/psi/zstring.c
-index 33662dafa..58e1af2b3 100644
---- a/psi/zstring.c
-+++ b/psi/zstring.c
-@@ -142,13 +142,18 @@ search_impl(i_ctx_t *i_ctx_p, bool forward)
-     return 0;
- found:
-     op->tas.type_attrs = op1->tas.type_attrs;
--    op->value.bytes = ptr;
--    r_set_size(op, size);
-+    op->value.bytes = ptr;				/* match */
-+    op->tas.rsize = size;				/* match */
-     push(2);
--    op[-1] = *op1;
--    r_set_size(op - 1, ptr - op[-1].value.bytes);
--    op1->value.bytes = ptr + size;
--    r_set_size(op1, count + (!forward ? (size - 1) : 0));
-+    op[-1] = *op1;					/* pre */
-+    op[-3].value.bytes = ptr + size;			/* post */
-+    if (forward) {
-+        op[-1].tas.rsize = ptr - op[-1].value.bytes;	/* pre */
-+        op[-3].tas.rsize = count;			/* post */
-+    } else {
-+        op[-1].tas.rsize = count;			/* pre */
-+        op[-3].tas.rsize -= count + size;		/* post */
-+    }
-     make_true(op);
-     return 0;
- }
--- 
-2.17.1
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.52-pacify-valgrind-gxclipm.patch b/app-text/ghostscript-gpl/files/ghostscript-9.52-pacify-valgrind-gxclipm.patch
new file mode 100644
index 0000000..9041c23
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-9.52-pacify-valgrind-gxclipm.patch
@@ -0,0 +1,33 @@
+From ab3050411139bfad554dc623e2af698a6b6f2c9a Mon Sep 17 00:00:00 2001
+From: Kalvin Lee <kdlee@chromium.org>
+Date: Thu, 8 Oct 2020 13:59:37 -0700
+Subject: [PATCH] activate PACIFY_VALGRIND
+
+---
+ base/gxclipm.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/base/gxclipm.c b/base/gxclipm.c
+index 0a98eb0..2bc83c5 100644
+--- a/base/gxclipm.c
++++ b/base/gxclipm.c
+@@ -261,16 +261,12 @@ mask_clip_copy_mono(gx_device * dev,
+     return 0;
+ }
+ 
+-#ifdef PACIFY_VALGRIND
+ static inline byte trim(int cx, int mx1, byte v)
+ {
+     int mask = 8-(mx1-cx); /* mask < 8 */
+     mask = (mask > 0 ? (0xff<<mask) : 0xff)>>(cx & 7);
+     return v & mask;
+ }
+-#else
+-#define trim(cx,mx1,v) (v)
+-#endif
+ 
+ /*
+  * Define the run enumerator for the other copying operations.  We can't use
+-- 
+2.28.0.1011.ga647a8990f-goog
+
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.52-prune-contrib-directory.patch b/app-text/ghostscript-gpl/files/ghostscript-9.52-prune-contrib-directory.patch
index 06ed3f5..d413a39 100644
--- a/app-text/ghostscript-gpl/files/ghostscript-9.52-prune-contrib-directory.patch
+++ b/app-text/ghostscript-gpl/files/ghostscript-9.52-prune-contrib-directory.patch
@@ -1,4 +1,4 @@
-From f7ddbf2e09dbbab198856081e8dae8c71889b0c5 Mon Sep 17 00:00:00 2001
+From 58547b6654f708c191c08df90418f711f137a2b5 Mon Sep 17 00:00:00 2001
 From: Piotr Pawliczek <pawliczek@chromium.org>
 Date: Tue, 9 Oct 2018 16:05:45 -0700
 Subject: [PATCH] Remove from contrib directory all drivers with undefined,
@@ -6,7 +6,7 @@
 
 ---
  configure.ac                             |    8 +-
- contrib/contrib.mak                      |  384 +-
+ contrib/contrib.mak                      |  361 +-
  contrib/epson740/README                  |   25 -
  contrib/epson740/printerdb_rh5.2         | 1173 ------
  contrib/epson740/printerdb_rh6.0         | 1166 ------
@@ -18,8 +18,6 @@
  contrib/gdevmd2k.c                       |  792 -----
  contrib/gdevop4w.c                       |  283 --
  contrib/gdevxes.c                        |  219 --
- contrib/japanese/dmp_init.ps             |  206 --
- contrib/japanese/dmp_site.ps             |   14 -
  contrib/japanese/doc/Gdevlips.htm        | 1901 ----------
  contrib/japanese/doc/README.gs550j       |   35 -
  contrib/japanese/doc/cdj880.txt          |  120 -
@@ -27,7 +25,6 @@
  contrib/japanese/doc/gdev10v.txt         |   52 -
  contrib/japanese/doc/gdevalps.txt        |   50 -
  contrib/japanese/doc/gdevcd8.txt         |  146 -
- contrib/japanese/doc/gdevdmpr.txt        |  545 ---
  contrib/japanese/doc/gdevfmlbp.txt       |   81 -
  contrib/japanese/doc/gdevj100.txt        |   28 -
  contrib/japanese/doc/gdevlbp3.txt        |   37 -
@@ -35,12 +32,9 @@
  contrib/japanese/doc/gdevmjc.txt         |   58 -
  contrib/japanese/doc/gdevml6.txt         |   47 -
  contrib/japanese/doc/gdevp201.txt        |   30 -
- contrib/japanese/dviprlib.c              | 2823 ---------------
  contrib/japanese/dviprlib.h              |  357 --
- contrib/japanese/escp_24.src             |   12 -
  contrib/japanese/gdev10v.c               |  347 --
  contrib/japanese/gdevalps.c              |  401 ---
- contrib/japanese/gdevdmpr.c              |  888 -----
  contrib/japanese/gdevespg.c              |  303 --
  contrib/japanese/gdevfmlbp.c             |  229 --
  contrib/japanese/gdevfmpr.c              |  210 --
@@ -54,7 +48,9 @@
  contrib/japanese/gdevrpdl.c              |  295 --
  contrib/md2k_md5k/README.jis             |  179 -
  contrib/pscolor/Makefile                 |   12 -
+ contrib/pscolor/black.pdf                |  Bin 12804 -> 0 bytes
  contrib/pscolor/black.ps                 | 3642 -------------------
+ contrib/pscolor/color.pdf                |  Bin 10518 -> 0 bytes
  contrib/pscolor/color.ps                 | 3368 ------------------
  contrib/pscolor/colorsplit.vcproj        |   73 -
  contrib/pscolor/common.mak               |   24 -
@@ -87,7 +83,7 @@
  contrib/uniprint/sharp.upp               |   58 -
  contrib/uniprint/sipixa6.upp             |   23 -
  contrib/uniprint/stc740ih.upp            |   58 -
- 82 files changed, 5 insertions(+), 36005 deletions(-)
+ 78 files changed, 5 insertions(+), 31494 deletions(-)
  delete mode 100644 contrib/epson740/README
  delete mode 100644 contrib/epson740/printerdb_rh5.2
  delete mode 100644 contrib/epson740/printerdb_rh6.0
@@ -99,8 +95,6 @@
  delete mode 100644 contrib/gdevmd2k.c
  delete mode 100644 contrib/gdevop4w.c
  delete mode 100644 contrib/gdevxes.c
- delete mode 100644 contrib/japanese/dmp_init.ps
- delete mode 100644 contrib/japanese/dmp_site.ps
  delete mode 100644 contrib/japanese/doc/Gdevlips.htm
  delete mode 100644 contrib/japanese/doc/README.gs550j
  delete mode 100644 contrib/japanese/doc/cdj880.txt
@@ -108,7 +102,6 @@
  delete mode 100644 contrib/japanese/doc/gdev10v.txt
  delete mode 100644 contrib/japanese/doc/gdevalps.txt
  delete mode 100644 contrib/japanese/doc/gdevcd8.txt
- delete mode 100644 contrib/japanese/doc/gdevdmpr.txt
  delete mode 100644 contrib/japanese/doc/gdevfmlbp.txt
  delete mode 100644 contrib/japanese/doc/gdevj100.txt
  delete mode 100644 contrib/japanese/doc/gdevlbp3.txt
@@ -116,12 +109,9 @@
  delete mode 100644 contrib/japanese/doc/gdevmjc.txt
  delete mode 100644 contrib/japanese/doc/gdevml6.txt
  delete mode 100644 contrib/japanese/doc/gdevp201.txt
- delete mode 100644 contrib/japanese/dviprlib.c
  delete mode 100644 contrib/japanese/dviprlib.h
- delete mode 100644 contrib/japanese/escp_24.src
  delete mode 100644 contrib/japanese/gdev10v.c
  delete mode 100644 contrib/japanese/gdevalps.c
- delete mode 100644 contrib/japanese/gdevdmpr.c
  delete mode 100644 contrib/japanese/gdevespg.c
  delete mode 100644 contrib/japanese/gdevfmlbp.c
  delete mode 100644 contrib/japanese/gdevfmpr.c
@@ -135,7 +125,9 @@
  delete mode 100644 contrib/japanese/gdevrpdl.c
  delete mode 100644 contrib/md2k_md5k/README.jis
  delete mode 100644 contrib/pscolor/Makefile
+ delete mode 100644 contrib/pscolor/black.pdf
  delete mode 100644 contrib/pscolor/black.ps
+ delete mode 100644 contrib/pscolor/color.pdf
  delete mode 100644 contrib/pscolor/color.ps
  delete mode 100644 contrib/pscolor/colorsplit.vcproj
  delete mode 100644 contrib/pscolor/common.mak
@@ -170,10 +162,10 @@
  delete mode 100644 contrib/uniprint/stc740ih.upp
 
 diff --git a/configure.ac b/configure.ac
-index 698abd304..7eece94f2 100644
+index d6f346b76..83b39312a 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -2405,13 +2405,13 @@ HP_DEVS='cdj500 djet500 djet500c dnj650c cljet5pr deskjet laserjet ljetplus ljet
+@@ -2619,13 +2619,13 @@ HP_DEVS='cdj500 djet500 djet500c dnj650c cljet5pr deskjet laserjet ljetplus ljet
  PCLXL_DEVS='pxlmono pxlcolor'
  EPSON_DEVS='eps9high eps9mid epson epsonc escp lp8000 lq850 photoex st800 stcolor alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 lp3000c lp8000c lp8200c lp8300c lp8500c lp8800c lp9000c lp9200c lp9500c lp9800c lps6500 epl2050 epl2050p epl2120 epl2500 epl2750 epl5800 epl5900 epl6100 epl6200 lp1800 lp1900 lp2200 lp2400 lp2500 lp7500 lp7700 lp7900 lp8100 lp8300f lp8400f lp8600 lp8600f lp8700 lp8900 lp9000b lp9100 lp9200b lp9300 lp9400 lp9600 lp9600s lps4500 eplcolor eplmono'
  CANON_DEVS='bj10e bj200 bjc600 bjc800 lbp8 lips3 bjcmono bjcgray bjccmyk bjccolor'
@@ -188,14 +180,14 @@
 +OKI_DEVS='oki182 okiibm'
 +JAPAN_DEVS='lips4 lips4v ljet4pjl lj4dithp dj505j picty180 lips2p bjc880j'
 +MISC_PDEVS='uniprint ap3250 atx23 atx24 atx38 itk24i itk38 coslw2p coslwxl declj250 fs600 imagen lj250 m8510 necp6 oce9050 r4081 sj48 tek4696 t4693d2 t4693d4 t4693d8'
- OPVP_DEVS='opvp oprp'
  
- ETS_HALFTONING_DEVS='rinkj'
+ AC_ARG_WITH([openprinting],, OPVP_DEVS='opvp oprp', OPVP_DEVS='')
+ 
 diff --git a/contrib/contrib.mak b/contrib/contrib.mak
-index bb266407f..255633cf8 100644
+index 2edee7af4..a81d1a350 100644
 --- a/contrib/contrib.mak
 +++ b/contrib/contrib.mak
-@@ -281,25 +281,6 @@ $(DD)chp2200.dev : $(cdeskjet8_) $(DD)page.dev \
+@@ -284,25 +284,6 @@ $(DD)chp2200.dev : $(cdeskjet8_) $(DD)page.dev \
  	$(SETPDEV2) $(DD)chp2200 $(cdeskjet8_)
  
  
@@ -206,11 +198,11 @@
 -GDIMONO=$(DEVOBJ)gdevgdi.$(OBJ) $(HPPCL)
 -
 -$(DD)gdi.dev : $(GDIMONO) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)gdi $(GDIMONO)
 -
 -$(DD)samsunggdi.dev : $(GDIMONO) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)samsunggdi $(GDIMONO)
 -
 -$(DEVOBJ)gdevgdi.$(OBJ) : $(CONTRIBSRC)gdevgdi.c $(PDEVH) $(gdevpcl_h) \
@@ -221,7 +213,7 @@
  ### ---------------- The Brother HL-1240/HL-1250 printers --------------- ###
  ### These printers are ljet4-compatible, plus support for source tray     ###
  ### selection and special 1200x600 dpi mode.                              ###
-@@ -320,51 +301,6 @@ $(DEVOBJ)gdevhl12.$(OBJ) : $(CONTRIBSRC)gdevhl12.c $(PDEVH) $(gdevdljm_h) \
+@@ -323,51 +304,6 @@ $(DEVOBJ)gdevhl12.$(OBJ) : $(CONTRIBSRC)gdevhl12.c $(PDEVH) $(gdevdljm_h) \
  	$(DEVCC) $(DEVO_)gdevhl12.$(OBJ) $(C_) $(CONTRIBSRC)gdevhl12.c
  
  
@@ -232,37 +224,37 @@
 -# Author: Ulrich Mueller (ulm@vsnhd1.cern.ch)
 -# Printer: DEC LN03
 -$(DD)ln03.dev : $(ln03_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)ln03 $(ln03_)
 -
 -# Author: Nick Brown (nick.brown@coe.int)
 -# Printer: DEClaser 2100
 -$(DD)dl2100.dev : $(ln03_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)dl2100 $(ln03_)
 -
 -# Author: Ian MacPhedran (macphed@dvinci.USask.CA)
 -# Printer: DEC LA50
 -$(DD)la50.dev : $(ln03_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                          $(CONTDEV)  $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)la50 $(ln03_)
 -
 -# Author: Bruce Lowekamp (lowekamp@csugrad.cs.vt.edu)
 -# Printer: DEC LA70
 -$(DD)la70.dev : $(ln03_) $(DD)page.dev \
--                         $(CONTRIB_MAK) $(MAKEDIRS)
+-                         $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)la70 $(ln03_)
 -
 -# Author: Ian MacPhedran (macphed@dvinci.USask.CA)
 -# Printer: DEC LA75
 -$(DD)la75.dev : $(ln03_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)la75 $(ln03_)
 -
 -# Author: Andre' Beck (Andre_Beck@IRS.Inf.TU-Dresden.de)
 -# Printer: DEC LA75plus
 -$(DD)la75plus.dev : $(ln03_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)la75plus $(ln03_)
 -
 -$(DEVOBJ)gdevln03.$(OBJ) : $(CONTRIBSRC)gdevln03.c $(PDEVH) \
@@ -273,30 +265,30 @@
  ### -------------------------- EPSON Page/Color -------------------------- ###
  ###
  ###
-@@ -587,33 +523,6 @@ $(DD)eplmono.dev: $(escv_) $(DD)page.dev \
-                            $(CONTRIB_MAK) $(MAKEDIRS)
+@@ -590,33 +526,6 @@ $(DD)eplmono.dev: $(escv_) $(DD)page.dev \
+                            $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
  	$(SETPDEV) $(DD)eplmono $(escv_)
  
 -# ------ The Lexmark 5700 and 7000 devices ------ #
 -
 -lex7000_=$(DEVOBJ)gdevlx7.$(OBJ)
 -$(DD)lex7000.dev : $(lex7000_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lex7000 $(lex7000_)
 -
 -lex5700_=$(DEVOBJ)gdevlx7.$(OBJ)
 -$(DD)lex5700.dev : $(lex5700_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lex5700 $(lex5700_)
 -
 -lex3200_=$(DEVOBJ)gdevlx7.$(OBJ)
 -$(DD)lex3200.dev : $(lex3200_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lex3200 $(lex3200_)
 -
 -lex2050_=$(DEVOBJ)gdevlx7.$(OBJ)
 -$(DD)lex2050.dev : $(lex2050_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lex2050 $(lex2050_)
 -
 -$(DEVOBJ)gdevlx7.$(OBJ) : $(CONTRIBSRC)gdevlx7.c $(PDEVH) \
@@ -307,7 +299,7 @@
  ### ----------- Lexmark 3200 device ------------ ###
  
  lxm3200_=$(DEVOBJ)gdevlx32.$(OBJ)
-@@ -676,37 +585,6 @@ $(DD)bjc880j.dev : $(lipsr_) $(DD)page.dev \
+@@ -679,37 +588,6 @@ $(DD)bjc880j.dev : $(lipsr_) $(DD)page.dev \
  	$(SETPDEV) $(DD)bjc880j $(lipsr_)
  
  
@@ -316,15 +308,15 @@
 -md2k_=$(DEVOBJ)gdevmd2k.$(OBJ)
 -
 -$(DD)md2k.dev : $(md2k_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)md2k $(md2k_)
 -
 -$(DD)md5k.dev : $(md2k_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)md5k $(md2k_)
 -
 -$(DEVOBJ)gdevmd2k.$(OBJ) : $(CONTRIBSRC)gdevmd2k.c $(PDEVH) $(gsparam_h) \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(DEVCC) $(DEVO_)gdevmd2k.$(OBJ) $(C_) $(CONTRIBSRC)gdevmd2k.c
 - 
 -
@@ -332,7 +324,7 @@
 -
 -oki4w_=$(DEVOBJ)gdevop4w.$(OBJ)
 -$(DD)oki4w.dev : $(oki4w_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)oki4w $(oki4w_)
 -
 -# Author: Ivan Schreter (ivan@shadow.sk)
@@ -345,7 +337,7 @@
  ### ---------------- OpenPrinting Vector Printer Driver ---------------- ###
  ###                                                                      ###
  OPVP_DIR=$(CONTRIBSRC)opvp
-@@ -1005,266 +883,6 @@ pcl3-install:
+@@ -1008,243 +886,6 @@ pcl3-install:
  	$(INSTALL_PROGRAM) $(BINDIR)$(D)pcl3opts$(XE) $(DESTDIR)$(bindir)
  
  
@@ -353,7 +345,7 @@
 -
 -xes_=$(DEVOBJ)gdevxes.$(OBJ)
 -$(DD)xes.dev : $(xes_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)xes $(xes_)
 -
 -# Author: Peter Flass (flass@lbdrscs.bitnet)
@@ -373,16 +365,16 @@
 -
 -pr201_=$(DEVOBJ)gdevp201.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
 -
--$(DD)pr201.dev : $(pr201_) $(CONTRIB_MAK) $(MAKEDIRS)
+-$(DD)pr201.dev : $(pr201_) $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)pr201 $(pr201_)
 -
--$(DD)pr150.dev : $(pr201_) $(CONTRIB_MAK) $(MAKEDIRS)
+-$(DD)pr150.dev : $(pr201_) $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)pr150 $(pr201_)
 -
--$(DD)pr1000.dev : $(pr201_) $(CONTRIB_MAK) $(MAKEDIRS)
+-$(DD)pr1000.dev : $(pr201_) $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)pr1000 $(pr201_)
 -
--$(DD)pr1000_4.dev : $(pr201_) $(CONTRIB_MAK) $(MAKEDIRS)
+-$(DD)pr1000_4.dev : $(pr201_) $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)pr1000_4 $(pr201_)
 -
 -$(DEVOBJ)gdevp201.$(OBJ) : $(JAPSRC)gdevp201.c $(PDEVH) \
@@ -393,7 +385,7 @@
 -
 -jj100_=$(DEVOBJ)gdevj100.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
 -
--$(DD)jj100.dev : $(jj100_) $(CONTRIB_MAK) $(MAKEDIRS)
+-$(DD)jj100.dev : $(jj100_) $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)jj100 $(jj100_)
 -
 -$(DEVOBJ)gdevj100.$(OBJ) : $(JAPSRC)gdevj100.c $(PDEVH) \
@@ -405,11 +397,11 @@
 -bj10v_=$(DEVOBJ)gdev10v.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
 -
 -$(DD)bj10v.dev : $(bj10v_) \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)bj10v $(bj10v_)
 -
 -$(DD)bj10vh.dev : $(bj10v_) \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)bj10vh $(bj10v_)
 -
 -# Uncomment the following line if you are using MS-DOS on PC9801 series.
@@ -420,29 +412,6 @@
 -#	$(DEVCC) -DPC9801 $(O_)$@ $(C_) $(JAPSRC)gdev10v.c
 -
 -
--### ---------------- Dot matrix printer device ---------------- ###
--dmprt_=$(DEVOBJ)gdevdmpr.$(OBJ) $(DEVOBJ)dviprlib.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
--
--$(DD)dmprt.dev : $(dmprt_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
--	$(SETDEV) $(DD)dmprt $(dmprt_)
--	$(ADDMOD) $(DD)dmprt -ps dmp_init
--
--$(DEVOBJ)gdevdmpr.$(OBJ) : $(JAPSRC)gdevdmpr.c $(JAPSRC)dviprlib.h $(PDEVH) \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
--	$(DEVCC) $(O_)$@ $(C_) $(JAPSRC)gdevdmpr.c
--
--$(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
--	$(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c
--
--extra-dmprt-install: install-libdata
--	$(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
--	$(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
--	$(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1
--
--
--
 -##
 -## EPSON MachJet driver 
 -##
@@ -454,19 +423,19 @@
 -	$(DEVCC) -DA4 $(DEVO_)gdevmjc.$(OBJ) $(C_) $(JAPSRC)gdevmjc.c
 -
 -$(DD)mj700v2c.dev : $(mj700v2c_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)mj700v2c $(mj700v2c_)
 -
 -$(DD)mj500c.dev : $(mj700v2c_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)mj500c $(mj700v2c_)
 -
 -$(DD)mj6000c.dev : $(mj700v2c_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)mj6000c $(mj700v2c_)
 -
 -$(DD)mj8000c.dev : $(mj700v2c_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)mj8000c $(mj700v2c_)
 -
 -### ----------------- The Fujitsu FMPR printer device ----------------- ###
@@ -474,7 +443,7 @@
 -fmpr_=$(DEVOBJ)gdevfmpr.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
 -
 -$(DD)fmpr.dev : $(fmpr_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)fmpr $(fmpr_)
 -
 -$(DEVOBJ)gdevfmpr.$(OBJ) : $(JAPSRC)gdevfmpr.c $(PDEVH) \
@@ -486,7 +455,7 @@
 -fmlbp_=$(DEVOBJ)gdevfmlbp.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
 -
 -$(DD)fmlbp.dev : $(fmlbp_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)fmlbp $(fmlbp_)
 -
 -$(DEVOBJ)gdevfmlbp.$(OBJ) : $(JAPSRC)gdevfmlbp.c $(PDEVH) \
@@ -503,7 +472,7 @@
 -ml6_=$(DEVOBJ)gdevml6.$(OBJ) $(DEVOBJ)gdevprn.$(OBJ)
 -
 -$(DD)ml600.dev : $(ml6_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)ml600 $(ml6_)
 -
 -$(DEVOBJ)gdevml6.$(OBJ) : $(JAPSRC)gdevml6.c $(PDEVH) \
@@ -516,11 +485,11 @@
 -lbp3x0_=$(DEVOBJ)gdevlbp3.$(OBJ)
 -
 -$(DD)lbp310.dev :$(lbp3x0_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lbp310 $(lbp3x0_)
 -
 -$(DD)lbp320.dev :$(lbp3x0_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lbp320 $(lbp3x0_)
 -
 -$(DEVOBJ)gdevlbp3.$(OBJ) : $(JAPSRC)gdevlbp3.c $(PDEVH)
@@ -535,7 +504,7 @@
 -	$(DEVCC) -DA4 $(DEVO_)gdevnpdl.$(OBJ) $(LIPS_OPT) $(C_) $(JAPSRC)gdevnpdl.c
 -
 -$(DD)npdl.dev : $(npdl_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)npdl $(npdl_)
 -
 -### ------- EPSON ESC/Page printer device ----------------- ###
@@ -547,11 +516,11 @@
 -	$(DEVCC) -DA4 $(DEVO_)gdevespg.$(OBJ) $(LIPS_OPT) $(C_) $(JAPSRC)gdevespg.c
 -
 -$(DD)escpage.dev : $(escpage_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)escpage $(escpage_)
 -
 -$(DD)lp2000.dev : $(escpage_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)lp2000 $(escpage_)
 -
 -### --- The RICOH RPDL language printer device ------ ###
@@ -562,7 +531,7 @@
 -	$(DEVCC) $(DEVO_)gdevrpdl.$(OBJ) $(LIPS_OPT) $(C_) $(JAPSRC)gdevrpdl.c
 -
 -$(DD)rpdl.dev : $(rpdl_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)rpdl $(rpdl_)
 -
 -### ---------- RICOH RPDL IV(600dpi) printer devices ---------- ###
@@ -572,11 +541,11 @@
 -#	$(DEVCC) $(DEVO_)gdevrpdl.$(OBJ) $(C_) $(JAPSRC)gdevrpdl.c
 -#
 -#$(DD)nx100f.dev : $(rpdl_) $(DD)page.dev \
--#                           $(CONTRIB_MAK) $(MAKEDIRS)
+-#                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -#	$(SETPDEV2) $(DD)nx100f $(rpdl_)
 -#
 -#$(DD)nx100v.dev : $(rpdl_) $(DD)page.dev \
--#                           $(CONTRIB_MAK) $(MAKEDIRS)
+-#                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -#	$(SETPDEV2) $(DD)nx100v $(rpdl_)
 -
 -### ------------ The ALPS Micro Dry printer devices ------------ ###
@@ -584,15 +553,15 @@
 -alps_=$(DEVOBJ)gdevalps.$(OBJ)
 -
 -$(DD)md50Mono.dev : $(alps_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)md50Mono $(alps_)
 -
 -$(DD)md50Eco.dev : $(alps_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)md50Eco $(alps_)
 -
 -$(DD)md1xMono.dev : $(alps_) $(DD)page.dev \
--                           $(CONTRIB_MAK) $(MAKEDIRS)
+-                           $(CONTDEV) $(CONTRIB_MAK) $(MAKEDIRS)
 -	$(SETPDEV) $(DD)md1xMono $(alps_)
 -
 -$(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) \
@@ -611,8 +580,5 @@
 -
  ### ------------ Build/Install special features ------------ ###
  
--install-contrib-extras: extra-dmprt-install extra-upp-install
+-install-contrib-extras: extra-upp-install
 +install-contrib-extras:
--- 
-2.17.1
-
diff --git a/app-text/ghostscript-gpl/files/ghostscript-9.52-remove-font-deps.patch b/app-text/ghostscript-gpl/files/ghostscript-9.52-remove-font-deps.patch
new file mode 100644
index 0000000..5f639e6
--- /dev/null
+++ b/app-text/ghostscript-gpl/files/ghostscript-9.52-remove-font-deps.patch
@@ -0,0 +1,12 @@
+From: Pranav Batra <batrapranav@chromium.org>
+Subject: [PATCH] Do not use font resources
+
+--- a/psi/psromfs.mak
++++ b/psi/psromfs.mak
+@@ -430,5 +430,5 @@ PS_MISC_DEPS=\
+ 
+ PS_ROMFS_DEPS=$(PSSRCDIR)$(D)psromfs.mak $(gconfig_h) $(gs_tr) \
+ 	$(PDF_RESOURCE_DEPS) $(PS_COLORSPACE_DEPS) $(PS_DECODING_DEPS) $(PS_ENCODING_DEPS) \
+-	$(PS_FONT_DEPS) $(PS_IDIOMSET_DEPS) $(PS_PROCSET_DEPS) $(PS_INIT_DEPS) $(PS_SUBSTCID_DEPS) \
++	$(PS_IDIOMSET_DEPS) $(PS_PROCSET_DEPS) $(PS_INIT_DEPS) $(PS_SUBSTCID_DEPS) \
+ 	$(PS_MISC_DEPS)
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r4.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r4.ebuild
deleted file mode 120000
index b946e4e..0000000
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.52-r4.ebuild
+++ /dev/null
@@ -1 +0,0 @@
-ghostscript-gpl-9.52.ebuild
\ No newline at end of file
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.52.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.52.ebuild
deleted file mode 100644
index b08863c..0000000
--- a/app-text/ghostscript-gpl/ghostscript-gpl-9.52.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools cros-fuzzer cros-sanitizers flag-o-matic multilib \
-				toolchain-funcs versionator
-
-
-DESCRIPTION="Interpreter for the PostScript language and PDF"
-HOMEPAGE="https://ghostscript.com/"
-
-MY_P=${P/-gpl}
-PVM=$(get_version_component_range 1-2)
-PVM_S=$(replace_all_version_separators "" ${PVM})
-
-SRC_URI="
-	https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz
-"
-
-# Google has a commercial license for ghostscript when distributed with
-# Chrome OS (not Chromium OS). So toggle the license to the required
-# copyright when building for Chrome OS, and use the open source licensing
-# text otherwise.
-LICENSE="
-	internal? ( LICENSE.artifex_commercial )
-	!internal? ( AGPL-3 CPL-1.0 )
-"
-SLOT="0"
-KEYWORDS="*"
-IUSE="
-	asan cups dbus fuzzer gtk idn internal linguas_de crosfonts static-libs
-	tiff unicode X
-"
-
-LANGS="ja ko zh_CN zh_TW"
-for X in ${LANGS} ; do
-	IUSE="${IUSE} linguas_${X}"
-done
-
-COMMON_DEPEND="
-	app-text/libpaper
-	media-libs/fontconfig
-	>=media-libs/freetype-2.4.9:2=
-	>=media-libs/lcms-2.6:2
-	>=media-libs/libpng-1.6.2:0=
-	>=sys-libs/zlib-1.2.7
-	virtual/jpeg:0
-	cups? ( >=net-print/cups-1.3.8 )
-	dbus? ( sys-apps/dbus )
-	gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
-	idn? ( net-dns/libidn )
-	tiff? ( >=media-libs/tiff-4.0.1:0= )
-	X? ( x11-libs/libXt x11-libs/libXext )
-	!!media-libs/jbig2dec
-"
-
-DEPEND="${COMMON_DEPEND}
-	virtual/pkgconfig
-"
-
-RDEPEND="${COMMON_DEPEND}
-	!crosfonts? ( >=app-text/poppler-data-0.4.7 )
-	!crosfonts? ( >=media-fonts/urw-fonts-2.4.9 )
-	linguas_ja? ( media-fonts/kochi-substitute )
-	linguas_ko? ( media-fonts/baekmuk-fonts )
-	linguas_zh_CN? ( media-fonts/arphicfonts )
-	linguas_zh_TW? ( media-fonts/arphicfonts )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
-	"${FILESDIR}/"
-)
-
-src_prepare() {
-	# apply various patches, many borrowed from Fedora
-	# http://pkgs.fedoraproject.org/cgit/ghostscript.git
-	# in the same breath, apply patches specific to Chrome OS
-	default
-
-	# remove internal copies of various libraries
-	rm -r "${S}"/cups/libs || die
-	rm -r "${S}"/freetype || die
-	rm -r "${S}"/lcms2mt || die
-	rm -r "${S}"/libpng || die
-	rm -r "${S}"/tiff || die
-	rm -r "${S}"/zlib || die
-	# remove internal CMaps (CMaps from poppler-data are used instead)
-	rm -r "${S}"/Resource/CMap || die
-	
-	# Enable compilation of select contributed drivers,
-	# but prune ones with incompatible or unclear licenses
-	# (c.f. commit 0334118d6279640cb860f2f4a9af64b0fd008b49).
-	rm -r "${S}"/contrib/epson740/ || die
-	rm -r "${S}"/contrib/japanese || die
-	rm -r "${S}"/contrib/md2k_md5k/ || die
-	rm -r "${S}"/contrib/pscolor || die
-	rm -r "${S}"/contrib/uniprint || die
-	rm "${S}"/contrib/gdevgdi.c || die
-	rm "${S}"/contrib/gdevln03.c || die
-	rm "${S}"/contrib/gdevlx7.c || die
-	rm "${S}"/contrib/gdevmd2k.c || die
-	rm "${S}"/contrib/gdevop4w.c || die
-	rm "${S}"/contrib/gdevxes.c || die
-
-	if ! use gtk ; then
-		sed -e "s:\$(GSSOX)::" \
-			-e "s:.*\$(GSSOX_XENAME)$::" \
-			-i "${S}"/base/unix-dll.mak || die "sed failed"
-	fi
-
-	if use crosfonts ; then
-		rm -rf "${S}/Resource/Font"
-		rm -rf "${S}/Resource/CIDFSubst"
-	fi
-
-	# Force the include dirs to a neutral location.
-	sed -e "/^ZLIBDIR=/s:=.*:=${T}:" \
-		-i "${S}"/configure.ac || die
-	# Some files depend on zlib.h directly.  Redirect them. #573248
-	# Also make sure to not define OPJ_STATIC to avoid linker errors due to
-	# hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
-	sed -e '/^zlib_h/s:=.*:=:' \
-		-e 's|-DOPJ_STATIC ||' \
-		-i "${S}"/base/lib.mak || die
-
-	# search path fix
-	# put LDFLAGS after BINDIR, bug #383447
-	sed -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PVM}/$(get_libdir):" \
-		-e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
-		-e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
-		-e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
-		-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
-		-i "${S}"/Makefile.in "${S}"/base/*.mak || die "sed failed"
-
-	# remove incorrect symlink, bug 590384
-	rm ijs/ltmain.sh || die
-	eautoreconf
-
-	cd "${S}"/ijs || die
-	eautoreconf
-}
-
-src_configure() {
-	sanitizers-setup-env
-
-	local FONTPATH
-	for path in \
-		"${EPREFIX}"/usr/share/fonts/urw-fonts \
-		"${EPREFIX}"/usr/share/fonts/Type1 \
-		"${EPREFIX}"/usr/share/fonts \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-CNS1 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-GB1 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan1 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Japan2 \
-		"${EPREFIX}"/usr/share/poppler/cMap/Adobe-Korea1
-	do
-		FONTPATH="$FONTPATH${FONTPATH:+:}${EPREFIX}$path"
-	done
-
-	tc-export_build_env BUILD_CC
-
-	# This list contains all ghostscript devices used by CUPS/PPD files.
-	# It was built basing on an output from platform_PrinterPpds autotest.
-	# See the readme.txt file in the autotest directory to learn how the list
-	# was created.
-	local devices=(
-		ap3250 bit bj10e bj200 bjc600 bjc800 bjc880j bjccolor cdj500
-		cdj550 cdnj500 cljet5c declj250 djet500 dnj650c epl2050 eplcolor
-		eps9high eps9mid epson epsonc hl1250 ibmpro imagen jetp3852 laserjet
-		lbp8 lips2p lips3 lips4 ljet2p ljet3 ljet4 ljetplus lp1800 lp1900
-		lp2200 lp2400 lp2500 lp2563 lp3000c lp7500 lp7700 lp7900 lp8000
-		lp8000c lp8100 lp8200c lp8300c lp8300f lp8400f lp8500c lp8600 lp8600f
-		lp8700 lp8800c lp8900 lp9000b lp9000c lp9100 lp9200b lp9200c lp9300
-		lp9400 lp9500c lp9600 lp9600s lp9800c lps4500 lps6500 lq850 lxm5700m
-		m8510 necp6 oce9050 oki182 okiibm pdfwrite pcl3 picty180 pjxl300
-		pxlcolor pxlmono r4081 sj48 stcolor t4693d4 tek4696 uniprint
-		# The "cups" driver is added if and only if we are building with CUPS.
-		$(usev cups)
-	)
-
-	econf \
-		CUPSCONFIG="${EROOT}/usr/bin/${CHOST}-cups-config" \
-		CCAUX="${BUILD_CC}" \
-		CFLAGSAUX="${BUILD_CFLAGS}" \
-		LDFLAGSAUX="${BUILD_LDFLAGS}" \
-		--enable-dynamic \
-		--enable-freetype \
-		--enable-fontconfig \
-		--enable-openjpeg \
-		--disable-compile-inits \
-		--with-drivers="$(printf %s, "${devices[@]}")" \
-		--with-fontpath="$FONTPATH" \
-		--with-ijs \
-		--with-jbig2dec \
-		--with-libpaper \
-		--without-luratech \
-		$(use_enable cups) \
-		$(use_enable dbus) \
-		$(use_enable gtk) \
-		$(use_with cups pdftoraster) \
-		$(use_with idn libidn) \
-		$(use_with tiff libtiff) \
-		$(use_with tiff system-libtiff) \
-		$(use_with X x)
-
-	cd "${S}/ijs" || die
-	econf \
-		--enable-shared \
-		$(use_enable static-libs static)
-}
-
-src_compile() {
-	emake -j8 so all
-
-	cd "${S}"/ijs || die
-	emake
-}
-
-src_install() {
-	emake DESTDIR="${D}" install-so install
-
-	# move gsc to gs, bug #343447
-	# gsc collides with gambit, bug #253064
-	mv -f "${ED}"/usr/bin/{gsc,gs} || die
-
-	cd "${S}/ijs" || die
-	emake DESTDIR="${D}" install
-
-	# rename the original cidfmap to cidfmap.GS
-	mv "${ED}/usr/share/ghostscript/${PVM}/Resource/Init/cidfmap"{,.GS} || die
-
-	insinto /usr/share/ghostscript/${PVM}/Resource/Init
-
-	# install the CMaps from poppler-data properly, bug #409361
-	if ! use crosfonts; then
-		dosym ../../../poppler/cMaps "/usr/share/ghostscript/${PVM}/Resource/CMap"
-	fi
-
-	if ! use static-libs; then
-		find "${ED}" -name '*.la' -delete || die
-	fi
-
-	if ! use linguas_de; then
-		rm -r "${ED}"/usr/share/man/de || die
-	fi
-
-	if use crosfonts; then
-		cat "${FILESDIR}"/Fontmap.cros >> "${ED}"/usr/share/ghostscript/${PVM}/Resource/Init/Fontmap.GS
-	fi
-}
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r1.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r1.ebuild
new file mode 120000
index 0000000..41fb419
--- /dev/null
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3-r1.ebuild
@@ -0,0 +1 @@
+ghostscript-gpl-9.53.3.ebuild
\ No newline at end of file
diff --git a/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3.ebuild b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3.ebuild
new file mode 100644
index 0000000..09b5d06
--- /dev/null
+++ b/app-text/ghostscript-gpl/ghostscript-gpl-9.53.3.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools cros-fuzzer cros-sanitizers flag-o-matic multilib \
+				toolchain-funcs versionator
+
+
+DESCRIPTION="Interpreter for the PostScript language and PDF"
+HOMEPAGE="https://ghostscript.com/"
+
+MY_P=${P/-gpl}
+PVM=$(get_version_component_range 1-3)
+PVM_S=$(replace_all_version_separators "" ${PVM})
+
+SRC_URI="
+	https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${PVM_S}/${MY_P}.tar.xz
+"
+
+# Google has a commercial license for ghostscript when distributed with
+# Chrome OS (not Chromium OS). So toggle the license to the required
+# copyright when building for Chrome OS, and use the open source licensing
+# text otherwise.
+LICENSE="
+	internal? ( LICENSE.artifex_commercial )
+	!internal? ( AGPL-3 CPL-1.0 )
+"
+SLOT="0"
+KEYWORDS="*"
+IUSE="
+	asan cups dbus fuzzer gtk idn internal linguas_de crosfonts static-libs
+	tiff unicode X
+"
+
+LANGS="ja ko zh_CN zh_TW"
+for X in ${LANGS} ; do
+	IUSE="${IUSE} linguas_${X}"
+done
+
+COMMON_DEPEND="
+	app-text/libpaper
+	media-libs/fontconfig
+	>=media-libs/freetype-2.4.9:2=
+	>=media-libs/lcms-2.6:2
+	>=media-libs/libpng-1.6.2:0=
+	>=sys-libs/zlib-1.2.7
+	virtual/jpeg:0
+	cups? ( >=net-print/cups-1.3.8 )
+	dbus? ( sys-apps/dbus )
+	gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
+	idn? ( net-dns/libidn )
+	tiff? ( >=media-libs/tiff-4.0.1:0= )
+	X? ( x11-libs/libXt x11-libs/libXext )
+	!!media-libs/jbig2dec
+"
+
+DEPEND="${COMMON_DEPEND}
+	virtual/pkgconfig
+"
+
+# We need urw-fonts for the 35 base postscript level 2 fonts,
+# eg CenturySchL-Roma is not included in the Noto fonts.
+RDEPEND="${COMMON_DEPEND}
+	!crosfonts? ( >=media-fonts/urw-fonts-2.4.9 )
+	linguas_ja? ( media-fonts/kochi-substitute )
+	linguas_ko? ( media-fonts/baekmuk-fonts )
+	linguas_zh_CN? ( media-fonts/arphicfonts )
+	linguas_zh_TW? ( media-fonts/arphicfonts )
+"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+	"${FILESDIR}/"
+)
+
+src_prepare() {
+	# apply various patches, many borrowed from Fedora
+	# http://pkgs.fedoraproject.org/cgit/ghostscript.git
+	# in the same breath, apply patches specific to Chrome OS
+	default
+
+	# remove internal copies of various libraries
+	rm -r "${S}"/cups/libs || die
+	rm -r "${S}"/freetype || die
+	rm -r "${S}"/lcms2mt || die
+	rm -r "${S}"/libpng || die
+	rm -r "${S}"/tiff || die
+	rm -r "${S}"/zlib || die
+
+	# Enable compilation of select contributed drivers,
+	# but prune ones with incompatible or unclear licenses
+	# (c.f. commit 0334118d6279640cb860f2f4a9af64b0fd008b49).
+	rm -r "${S}"/contrib/epson740/ || die
+	rm -r "${S}"/contrib/japanese || die
+	rm -r "${S}"/contrib/md2k_md5k/ || die
+	rm -r "${S}"/contrib/pscolor || die
+	rm -r "${S}"/contrib/uniprint || die
+	rm "${S}"/contrib/gdevgdi.c || die
+	rm "${S}"/contrib/gdevln03.c || die
+	rm "${S}"/contrib/gdevlx7.c || die
+	rm "${S}"/contrib/gdevmd2k.c || die
+	rm "${S}"/contrib/gdevop4w.c || die
+	rm "${S}"/contrib/gdevxes.c || die
+
+	if ! use gtk ; then
+		sed -e "s:\$(GSSOX)::" \
+			-e "s:.*\$(GSSOX_XENAME)$::" \
+			-i "${S}"/base/unix-dll.mak || die "sed failed"
+	fi
+
+	if use crosfonts; then
+		rm -rf "${S}/Resource/Font" || die
+		cat "${FILESDIR}/Fontmap.cros" >> "${S}/Resource/Init/Fontmap.GS" || die
+	fi
+
+	# Force the include dirs to a neutral location.
+	sed -e "/^ZLIBDIR=/s:=.*:=${T}:" \
+		-i "${S}"/configure.ac || die
+	# Some files depend on zlib.h directly.  Redirect them. #573248
+	# Also make sure to not define OPJ_STATIC to avoid linker errors due to
+	# hidden symbols (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203327#c1)
+	sed -e '/^zlib_h/s:=.*:=:' \
+		-e 's|-DOPJ_STATIC ||' \
+		-i "${S}"/base/lib.mak || die
+
+	# search path fix
+	# put LDFLAGS after BINDIR, bug #383447
+	sed -e "s:\$\(gsdatadir\)/lib:@datarootdir@/ghostscript/${PVM}/$(get_libdir):" \
+		-e "s:exdir=.*:exdir=@datarootdir@/doc/${PF}/examples:" \
+		-e "s:docdir=.*:docdir=@datarootdir@/doc/${PF}/html:" \
+		-e "s:GS_DOCDIR=.*:GS_DOCDIR=@datarootdir@/doc/${PF}/html:" \
+		-e 's:-L$(BINDIR):& $(LDFLAGS):g' \
+		-i "${S}"/Makefile.in "${S}"/base/*.mak || die "sed failed"
+
+	# remove incorrect symlink, bug 590384
+	rm ijs/ltmain.sh || die
+	eautoreconf
+
+	cd "${S}"/ijs || die
+	eautoreconf
+}
+
+src_configure() {
+	sanitizers-setup-env
+
+	local FONTPATH
+	for path in \
+		/usr/share/fonts/urw-fonts \
+		/usr/share/fonts/Type1 \
+		/usr/share/fonts
+	do
+		FONTPATH="$FONTPATH${FONTPATH:+:}${EPREFIX}$path"
+	done
+
+	tc-export_build_env BUILD_CC
+
+	# This list contains all ghostscript devices used by CUPS/PPD files.
+	# It was built basing on an output from platform_PrinterPpds autotest.
+	# See the readme.txt file in the autotest directory to learn how the list
+	# was created.
+	local devices=(
+		ap3250 bit bj10e bj200 bjc600 bjc800 bjc880j bjccolor cdj500
+		cdj550 cdnj500 cljet5c declj250 djet500 dnj650c epl2050 eplcolor
+		eps9high eps9mid epson epsonc hl1250 ibmpro imagen jetp3852 laserjet
+		lbp8 lips2p lips3 lips4 ljet2p ljet3 ljet4 ljetplus lp1800 lp1900
+		lp2200 lp2400 lp2500 lp2563 lp3000c lp7500 lp7700 lp7900 lp8000
+		lp8000c lp8100 lp8200c lp8300c lp8300f lp8400f lp8500c lp8600 lp8600f
+		lp8700 lp8800c lp8900 lp9000b lp9000c lp9100 lp9200b lp9200c lp9300
+		lp9400 lp9500c lp9600 lp9600s lp9800c lps4500 lps6500 lq850 lxm5700m
+		m8510 necp6 oce9050 oki182 okiibm pdfwrite pcl3 picty180 pjxl300
+		ps2write pxlcolor pxlmono r4081 sj48 stcolor t4693d4 tek4696 uniprint
+		# The "cups" driver is added if and only if we are building with CUPS.
+		$(usev cups)
+	)
+
+	econf \
+		CUPSCONFIG="${EROOT}/usr/bin/${CHOST}-cups-config" \
+		CCAUX="${BUILD_CC}" \
+		CFLAGSAUX="${BUILD_CFLAGS}" \
+		LDFLAGSAUX="${BUILD_LDFLAGS}" \
+		--enable-dynamic \
+		--enable-freetype \
+		--enable-fontconfig \
+		--enable-openjpeg \
+		$(use_enable crosfonts compile-inits) \
+		--with-drivers="$(printf %s, "${devices[@]}")" \
+		--with-fontpath="$FONTPATH" \
+		--with-ijs \
+		--with-jbig2dec \
+		--with-libpaper \
+		--without-luratech \
+		$(use_enable cups) \
+		$(use_enable dbus) \
+		$(use_enable gtk) \
+		$(use_with cups pdftoraster) \
+		$(use_with idn libidn) \
+		$(use_with tiff libtiff) \
+		$(use_with tiff system-libtiff) \
+		$(use_with X x)
+
+	cd "${S}/ijs" || die
+	econf \
+		--enable-shared \
+		$(use_enable static-libs static)
+}
+
+src_compile() {
+	emake -j8 so all
+
+	cd "${S}"/ijs || die
+	emake
+}
+
+src_install() {
+	emake DESTDIR="${D}" install-so install
+
+	# move gsc to gs, bug #343447
+	# gsc collides with gambit, bug #253064
+	mv -f "${ED}"/usr/bin/{gsc,gs} || die
+
+	cd "${S}/ijs" || die
+	emake DESTDIR="${D}" install
+
+	insinto /usr/share/ghostscript/${PVM}/Resource/Init
+
+	if ! use static-libs; then
+		find "${ED}" -name '*.la' -delete || die
+	fi
+
+	if ! use linguas_de; then
+		rm -r "${ED}"/usr/share/man/de || die
+	fi
+
+	# set environment variables
+	doenvd "${FILESDIR}"/02ghostscript
+}
diff --git a/brillo-base/libsparse/libsparse-0.0.1-r7.ebuild b/brillo-base/libsparse/libsparse-0.0.1-r7.ebuild
deleted file mode 100644
index 54a298d..0000000
--- a/brillo-base/libsparse/libsparse-0.0.1-r7.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-CROS_WORKON_COMMIT="630e05b6af5f76bd7f063840e543186bde40ff0a"
-CROS_WORKON_TREE="42c814a9b71ac7619efa0d47b68cb55fef759095"
-CROS_WORKON_BLACKLIST=1
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform/core"
-CROS_WORKON_PROJECT="platform/system/core"
-CROS_WORKON_REPO="https://android.googlesource.com"
-
-inherit cros-workon
-
-DESCRIPTION="Library and cli tools for Android sparse files"
-HOMEPAGE="https://android.googlesource.com/platform/system/core"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-libs/zlib:=
-"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/${PN}"
-}
-
-src_prepare() {
-	default
-	cp "${FILESDIR}/Makefile" "${S}" || die "Copying Makefile"
-}
-
-src_configure() {
-	export GENTOO_LIBDIR=$(get_libdir)
-	tc-export CC
-	default
-}
diff --git a/brillo-base/libsparse/libsparse-0.0.1-r8.ebuild b/brillo-base/libsparse/libsparse-0.0.1-r8.ebuild
new file mode 100644
index 0000000..0da165d
--- /dev/null
+++ b/brillo-base/libsparse/libsparse-0.0.1-r8.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CROS_WORKON_COMMIT="630e05b6af5f76bd7f063840e543186bde40ff0a"
+CROS_WORKON_TREE="42c814a9b71ac7619efa0d47b68cb55fef759095"
+CROS_WORKON_MANUAL_UPREV=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform/core"
+CROS_WORKON_PROJECT="platform/system/core"
+CROS_WORKON_REPO="https://android.googlesource.com"
+
+inherit cros-workon
+
+DESCRIPTION="Library and cli tools for Android sparse files"
+HOMEPAGE="https://android.googlesource.com/platform/system/core"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/${PN}"
+}
+
+src_prepare() {
+	default
+	cp "${FILESDIR}/Makefile" "${S}" || die "Copying Makefile"
+}
+
+src_configure() {
+	export GENTOO_LIBDIR=$(get_libdir)
+	tc-export CC
+	default
+}
diff --git a/brillo-base/libsparse/libsparse-9999.ebuild b/brillo-base/libsparse/libsparse-9999.ebuild
index bd65175..940c72e 100644
--- a/brillo-base/libsparse/libsparse-9999.ebuild
+++ b/brillo-base/libsparse/libsparse-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI="7"
 
-CROS_WORKON_BLACKLIST=1
+CROS_WORKON_MANUAL_UPREV=1
 CROS_WORKON_INCREMENTAL_BUILD=1
 CROS_WORKON_LOCALNAME="platform/core"
 CROS_WORKON_PROJECT="platform/system/core"
diff --git a/chromeos-base/android-installer/android-installer-0.0.1-r6.ebuild b/chromeos-base/android-installer/android-installer-0.0.1-r6.ebuild
new file mode 100644
index 0000000..dc0f7af
--- /dev/null
+++ b/chromeos-base/android-installer/android-installer-0.0.1-r6.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="8d996397d3d660327d2123dca8efdeeeadd01711"
+CROS_WORKON_TREE="096e46695d63714714d945b5b9e8378beb18891c"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="arc/android-installer"
+
+PYTHON_COMPAT=(python3_{6,7,8})
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Android Installer for Chrome OS"
+LICENSE="BSD-Google"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/android-installer/"
+SLOT="0"
+KEYWORDS="*"
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+distutils_enable_tests unittest
+
+src_test() {
+	distutils-r1_src_test
+}
+
+src_compile() {
+	S+="/${CROS_WORKON_SUBTREE}"
+	cd "${S}" || die "This should never happen"
+	distutils-r1_src_compile
+}
diff --git a/chromeos-base/android-installer/android-installer-9999.ebuild b/chromeos-base/android-installer/android-installer-9999.ebuild
new file mode 100644
index 0000000..45d1f5c
--- /dev/null
+++ b/chromeos-base/android-installer/android-installer-9999.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2.
+
+EAPI=7
+
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="arc/android-installer"
+
+PYTHON_COMPAT=(python3_{6,7,8})
+
+inherit cros-workon distutils-r1
+
+DESCRIPTION="Android Installer for Chrome OS"
+LICENSE="BSD-Google"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/android-installer/"
+SLOT="0"
+KEYWORDS="~*"
+
+BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+distutils_enable_tests unittest
+
+src_test() {
+	distutils-r1_src_test
+}
+
+src_compile() {
+	S+="/${CROS_WORKON_SUBTREE}"
+	cd "${S}" || die "This should never happen"
+	distutils-r1_src_compile
+}
diff --git a/chromeos-base/android-sdk/Manifest b/chromeos-base/android-sdk/Manifest
index 90a366b..58d0d02 100644
--- a/chromeos-base/android-sdk/Manifest
+++ b/chromeos-base/android-sdk/Manifest
@@ -1 +1,2 @@
+DIST sdk-repo-linux-platforms-4953408.zip 72718200 BLAKE2B 50fd48d633944e23e20df646b7bf3fa3e6cade8cb9fc380523be765844b2361e5c52bde93904b04658a5b339cc4e89ed7c5d6bdeead69b83194f3c8e5e0128db SHA512 856631fca64f76b4a0b9eb92fd5d8b26ee29205e9dccc3a5e7b01157d67276334470935401ff798f5aedce07f520be53bfd0e9faada3e63295a1e8b3e1419f8a
 DIST android-sdk_5303910_linux-x86.zip 815121172 BLAKE2B bf625dae798b08276dc0e3a39bc9fd36b38293a47e2dd2186e085710baea262c6684a993ca97319342227a9e682eb1f1c027f24b19eff24a43206959039df373 SHA512 9ba5ddfea5ca07d4df4d8dad052e9b2235d37d2b3e87dec8b9b911501e07cc932523734b225db0baab0c018cf060fd47f6b9a87cd90a04e41b176fc713ac55f0
diff --git a/chromeos-base/android-sdk/android-sdk-5303910-r3.ebuild b/chromeos-base/android-sdk/android-sdk-5303910-r4.ebuild
similarity index 100%
rename from chromeos-base/android-sdk/android-sdk-5303910-r3.ebuild
rename to chromeos-base/android-sdk/android-sdk-5303910-r4.ebuild
diff --git a/chromeos-base/android-sdk/android-sdk-5303910.ebuild b/chromeos-base/android-sdk/android-sdk-5303910.ebuild
index dea3f73..55b369c 100644
--- a/chromeos-base/android-sdk/android-sdk-5303910.ebuild
+++ b/chromeos-base/android-sdk/android-sdk-5303910.ebuild
@@ -5,7 +5,11 @@
 
 DESCRIPTION="Android SDK"
 HOMEPAGE="http://developer.android.com"
-SRC_URI="https://ci.android.com/builds/submitted/${PV}/sdk/latest/android-sdk_${PV}_linux-x86.zip"
+
+# NOTE: Due to possible licensing issues, only use AOSP SDK:
+# https://ci.android.com/builds/branches/aosp-sdk-release/grid?
+SRC_URI="https://ci.android.com/builds/submitted/${PV}/sdk/latest/android-sdk_${PV}_linux-x86.zip
+	https://ci.android.com/builds/submitted/4953408/sdk/latest/sdk-repo-linux-platforms-4953408.zip"
 
 LICENSE="
 	Apache-2.0
@@ -47,11 +51,34 @@
 
 ANDROID_SDK_DIR="/opt/android-sdk"
 
-S="${WORKDIR}/${PN}_${PV}_linux-x86"
+S="${WORKDIR}"
 
 src_install() {
+	# NOTE: The two downloaded zips use "android-Q" for their directories.
+	# It seems that they take the name of the latest Android SDK at the
+	# moment it was built, even if they were compiled from a different
+	# branch. See build.prop: notice conflict between SDK version and name:
+	# https://ci.android.com/builds/submitted/5303910/sdk/latest/view/build.prop
+
+	# Zips to be installed:
+	#  - Android SDK 28: both build-tools and platforms
+	#  - Android SDK 27: only platforms
+
+	# TODO(ricardoq): Rename "android-Q" to "android-28" (and not 29!)
 	insinto "${ANDROID_SDK_DIR}"
-	doins -r platforms
+	doins -r ${PN}_${PV}_linux-x86/platforms
 	insopts "-m0755"
-	doins -r build-tools
+	doins -r ${PN}_${PV}_linux-x86/build-tools
+
+	# In addition to SDK P, some APKs need the older android-platform-27
+	# to compile correctly.
+	insinto "${ANDROID_SDK_DIR}/platforms"
+
+	# Rename directory to match correct version. Zipped directory has the
+	# wrong name.
+	# Also use numbers instead of letters to honor the convention used
+	# by Android Studio.
+	mv "${WORKDIR}/android-Q" "${WORKDIR}/android-27"
+
+	doins -r "android-27"
 }
diff --git a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r132.ebuild b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r132.ebuild
deleted file mode 100644
index 08db938..0000000
--- a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r132.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("d290f731c4d623269bf6a259a351bf92eb5f4854" "ca937b5dd7fe354c288f354903654f85da548315" "e5c1dfc419bec2f682a9c17a4f8d75cabd69f848")
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "b51e097c1127c4a9fa83ddbcc88b5d4d5f95a60f" "bbf597e1cd2e3f49a8a2aab9f85c903867311558")
-inherit cros-constants
-
-CROS_WORKON_PROJECT=(
-	"chromiumos/platform2"
-	"aosp/platform/frameworks/ml"
-	"aosp/platform/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_HOST_URL}"
-)
-CROS_WORKON_LOCALNAME=(
-	"platform2"
-	"aosp/frameworks/ml"
-	"aosp/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}/platform2"
-	"${S}/platform2/aosp/frameworks/ml"
-	"${S}/platform2/aosp/hardware/interfaces/neuralnetworks"
-)
-CROS_WORKON_SUBTREE=(
-	"common-mk .gn"
-	"nn"
-	""
-)
-
-PLATFORM_SUBDIR="aosp/frameworks/ml/nn"
-
-inherit cros-workon platform flag-o-matic
-
-DESCRIPTION="Chrome OS port of the Android Neural Network API"
-HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
-
-LICENSE="BSD-Google Apache-2.0"
-KEYWORDS="*"
-IUSE="cpu_flags_x86_avx2 vendor-nnhal minimal-driver nnapi_driver_tests"
-
-RDEPEND="
-	chromeos-base/nnapi:=
-	dev-libs/openssl:=
-	sci-libs/tensorflow:=
-"
-
-DEPEND="
-	${RDEPEND}
-	dev-libs/libtextclassifier
-	>=dev-cpp/eigen-3
-"
-
-cros-debug-add-NDEBUG() {
-	# Don't set NDEBUG, overriding from cros-debug eclass.
-	# If this is set, tests will fail and is also explicitly checked in
-	# runtime/test/RequireDebug.cpp
-	use cros-debug || echo "Not doing append-cppflags -NDEBUG";
-}
-
-src_configure() {
-	if use x86 || use amd64; then
-		append-cppflags "-D_Float16=__fp16"
-		append-cxxflags "-Xclang -fnative-half-type"
-		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
-	fi
-	if use minimal-driver; then
-		append-cppflags "-DNNAPI_USE_MINIMAL_DRIVER"
-	fi
-	platform_src_configure
-}
-
-platform_pkg_test() {
-	local tests=(
-		chromeos common driver_cache runtime runtime_generated
-	)
-
-	# When running in qemu, these tests freeze the emulator when hitting
-	# EventFlag::wake from libfmq. The error printed is:
-	# Error in event flag wake attempt: Function not implemented
-	# This is a known issue, see:
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/testing/running_unit_tests.md#caveats
-	# TODO(http://crbug.com/1117470): tracking bug for qemu fix
-	local qemu_gtest_excl_filter="-"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest10.Wait/*:"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest11.Wait/*:"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest12.Wait/*:"
-	qemu_gtest_excl_filter+="Flavor/ExecutionTest13.Wait/*:"
-	qemu_gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/*:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/12:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/15:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/18:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/21:"
-	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/24:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeBadCompilation:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeConcurrent:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeDifferentCompilations:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeNull:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.FreeBurstBeforeMemory:"
-	qemu_gtest_excl_filter+="ValidationTestBurst.FreeMemoryBeforeBurst:"
-	qemu_gtest_excl_filter+="ValidationTestCompilation.ExecutionUsability:"
-	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionTiming:"
-	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeout:"
-	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeoutMaximum:"
-
-
-	local gtest_excl_filter="-"
-	if use asan; then
-		# Some tests do not correctly clean up the Execution object and it is
-		# left 'in-flight', which gets ignored by ANeuralNetworksExecution_free.
-		# See b/161844605.
-		# Look for 'passed an in-flight ANeuralNetworksExecution' in log output
-		gtest_excl_filter+="Fenced/TimingTest.Test/2:"
-		gtest_excl_filter+="Fenced/TimingTest.Test/19:"
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/4:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/4:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/4:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/1:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/2:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/4:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/1:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/2:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/4:"
-
-		# TODO(b/163081732): Fix tests that freeze in asan (jmpollock)
-		# Now we have a situation where these tests are hanging in asan, but I can't
-		# reproduce this locally (Flavor/ExecutionTest13.Wait/0).
-		# The duplication to the above is intentional, as fixing this issue will not
-		# fix the one above.
-		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/*:"
-		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/*:"
-		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/*:"
-		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/*:"
-		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/*:"
-
-		# This is due to a leak caused when copying the memory pools
-		# into the request object in this test. lsan_suppressions doesn't
-		# work due to the lack of /usr/bin/llvm-symbolizer, so just exclude.
-		gtest_excl_filter+="ComplianceTest.DeviceMemory:"
-		gtest_excl_filter+="ValidateRequestTest.ScalarOutput:"
-		gtest_excl_filter+="ValidateRequestTest.UnknownOutputRank:"
-
-		# Disable asan container overflow checks that are coming from gtest,
-		# not our code. Strangely this only started happening once we made
-		# common a shared library.
-		# See: https://crbug.com/1067977, https://crbug.com/1069722
-		# https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow#false-positives
-		export ASAN_OPTIONS+=":detect_container_overflow=0:"
-	fi
-
-	local test_target
-	for test_target in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_target}_testrunner" "0" "${gtest_excl_filter}" "${qemu_gtest_excl_filter}"
-	done
-}
-
-src_install() {
-	einfo "Installing runtime & common Headers."
-	insinto /usr/include/aosp/frameworks/ml/nn/common
-	doins -r "${S}"/common/include
-	insinto /usr/include/aosp/frameworks/ml/nn/runtime
-	doins -r "${S}"/runtime/include
-
-	einfo "Installing libs."
-	dolib.so "${OUT}/lib/libneuralnetworks.so"
-	dolib.so "${OUT}/lib/libnn-common.so"
-
-	if ! use vendor-nnhal ; then
-		einfo "Installing reference vendor hal."
-		dolib.so "${OUT}/lib/libvendor-nn-hal.so"
-	fi
-
-	if use nnapi_driver_tests; then
-		einfo "Installing hal driver tests."
-		dobin "${OUT}/cros_nnapi_vts_1_0"
-		dobin "${OUT}/cros_nnapi_vts_1_1"
-		dobin "${OUT}/cros_nnapi_vts_1_2"
-		dobin "${OUT}/cros_nnapi_vts_1_3"
-		dobin "${OUT}/cros_nnapi_cts"
-	fi
-}
diff --git a/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r158.ebuild b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r158.ebuild
new file mode 100644
index 0000000..be41405
--- /dev/null
+++ b/chromeos-base/aosp-frameworks-ml-nn/aosp-frameworks-ml-nn-0.0.1-r158.ebuild
@@ -0,0 +1,192 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("9ebed9f9a378f5e35dc85a70cc07504e337be5cb" "258763b7673d899b87820166a3a9543ad414d428" "fd0a01eb09dcc34f1a42e5c0f6ebf0f384fd9abd")
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "fa7b54dd4d1d381945bb11e0d349aedf3e178cde" "7a08574830b90bb538e281ba8c2240d2826fefb9")
+inherit cros-constants
+
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"aosp/platform/frameworks/ml"
+	"aosp/platform/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_HOST_URL}"
+)
+CROS_WORKON_LOCALNAME=(
+	"platform2"
+	"aosp/frameworks/ml"
+	"aosp/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform2/aosp/frameworks/ml"
+	"${S}/platform2/aosp/hardware/interfaces/neuralnetworks"
+)
+CROS_WORKON_SUBTREE=(
+	"common-mk .gn"
+	"nn"
+	""
+)
+
+PLATFORM_SUBDIR="aosp/frameworks/ml/nn"
+
+inherit cros-workon platform flag-o-matic
+
+DESCRIPTION="Chrome OS port of the Android Neural Network API"
+HOMEPAGE="https://developer.android.com/ndk/guides/neuralnetworks"
+
+LICENSE="BSD-Google Apache-2.0"
+KEYWORDS="*"
+IUSE="cpu_flags_x86_avx2 vendor-nnhal minimal-driver nnapi_driver_tests"
+
+RDEPEND="
+	chromeos-base/nnapi:=
+	dev-libs/openssl:=
+	sci-libs/tensorflow:=
+"
+
+DEPEND="
+	${RDEPEND}
+	dev-libs/libtextclassifier
+	>=dev-cpp/eigen-3
+"
+
+cros-debug-add-NDEBUG() {
+	# Don't set NDEBUG, overriding from cros-debug eclass.
+	# If this is set, tests will fail and is also explicitly checked in
+	# runtime/test/RequireDebug.cpp
+	use cros-debug || echo "Not doing append-cppflags -NDEBUG";
+}
+
+src_configure() {
+	if use x86 || use amd64; then
+		append-cppflags "-D_Float16=__fp16"
+		append-cxxflags "-Xclang -fnative-half-type"
+		append-cxxflags "-Xclang -fallow-half-arguments-and-returns"
+	fi
+	if use minimal-driver; then
+		append-cppflags "-DNNAPI_USE_MINIMAL_DRIVER"
+	fi
+	platform_src_configure
+}
+
+platform_pkg_test() {
+	local tests=(
+		chromeos common driver_cache runtime runtime_generated
+	)
+
+	# When running in qemu, these tests freeze the emulator when hitting
+	# EventFlag::wake from libfmq. The error printed is:
+	# Error in event flag wake attempt: Function not implemented
+	# This is a known issue, see:
+	# https://chromium.googlesource.com/chromiumos/docs/+/master/testing/running_unit_tests.md#caveats
+	# TODO(http://crbug.com/1117470): tracking bug for qemu fix
+	local qemu_gtest_excl_filter="-"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest10.Wait/*:"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest11.Wait/*:"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest12.Wait/*:"
+	qemu_gtest_excl_filter+="Flavor/ExecutionTest13.Wait/*:"
+	qemu_gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/*:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/12:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/15:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/18:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/21:"
+	qemu_gtest_excl_filter+="Unfenced/TimingTest.Test/24:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeBadCompilation:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeConcurrent:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeDifferentCompilations:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.BurstComputeNull:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.FreeBurstBeforeMemory:"
+	qemu_gtest_excl_filter+="ValidationTestBurst.FreeMemoryBeforeBurst:"
+	qemu_gtest_excl_filter+="ValidationTestCompilation.ExecutionUsability:"
+	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionTiming:"
+	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeout:"
+	qemu_gtest_excl_filter+="ValidationTestCompilationForDevices_1.ExecutionSetTimeoutMaximum:"
+
+
+	local gtest_excl_filter="-"
+	if use asan; then
+		# Some tests do not correctly clean up the Execution object and it is
+		# left 'in-flight', which gets ignored by ANeuralNetworksExecution_free.
+		# See b/161844605.
+		# Look for 'passed an in-flight ANeuralNetworksExecution' in log output
+		gtest_excl_filter+="Fenced/TimingTest.Test/2:"
+		gtest_excl_filter+="Fenced/TimingTest.Test/19:"
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/4:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/4:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/4:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/1:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/2:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/4:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/1:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/2:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/4:"
+
+		# TODO(b/163081732): Fix tests that freeze in asan (jmpollock)
+		# Now we have a situation where these tests are hanging in asan, but I can't
+		# reproduce this locally (Flavor/ExecutionTest13.Wait/0).
+		# The duplication to the above is intentional, as fixing this issue will not
+		# fix the one above.
+		gtest_excl_filter+="Flavor/ExecutionTest10.Wait/*:"
+		gtest_excl_filter+="Flavor/ExecutionTest11.Wait/*:"
+		gtest_excl_filter+="Flavor/ExecutionTest12.Wait/*:"
+		gtest_excl_filter+="Flavor/ExecutionTest13.Wait/*:"
+		gtest_excl_filter+="IntrospectionFlavor/ExecutionTest13.Wait/*:"
+
+		# This is due to a leak caused when copying the memory pools
+		# into the request object in this test. lsan_suppressions doesn't
+		# work due to the lack of /usr/bin/llvm-symbolizer, so just exclude.
+		gtest_excl_filter+="ComplianceTest.DeviceMemory:"
+		gtest_excl_filter+="ValidateRequestTest.ScalarOutput:"
+		gtest_excl_filter+="ValidateRequestTest.UnknownOutputRank:"
+
+		# Disable asan container overflow checks that are coming from gtest,
+		# not our code. Strangely this only started happening once we made
+		# common a shared library.
+		# See: https://crbug.com/1067977, https://crbug.com/1069722
+		# https://github.com/google/sanitizers/wiki/AddressSanitizerContainerOverflow#false-positives
+		export ASAN_OPTIONS+=":detect_container_overflow=0:"
+	fi
+
+	local test_target
+	for test_target in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_target}_testrunner" "0" "${gtest_excl_filter}" "${qemu_gtest_excl_filter}"
+	done
+}
+
+src_install() {
+	einfo "Installing runtime & common Headers."
+	insinto /usr/include/aosp/frameworks/ml/nn/common
+	doins -r "${S}"/common/include
+	insinto /usr/include/aosp/frameworks/ml/nn/runtime
+	doins -r "${S}"/runtime/include
+
+	einfo "Installing libs."
+	dolib.so "${OUT}/lib/libneuralnetworks.so"
+	dolib.so "${OUT}/lib/libnn-common.so"
+
+	if ! use vendor-nnhal ; then
+		einfo "Installing reference vendor hal."
+		dolib.so "${OUT}/lib/libvendor-nn-hal.so"
+	fi
+
+	if use nnapi_driver_tests; then
+		einfo "Installing hal driver tests."
+		dobin "${OUT}/cros_nnapi_vts_1_0"
+		dobin "${OUT}/cros_nnapi_vts_1_1"
+		dobin "${OUT}/cros_nnapi_vts_1_2"
+		dobin "${OUT}/cros_nnapi_vts_1_3"
+		dobin "${OUT}/cros_nnapi_cts"
+	fi
+}
diff --git a/chromeos-base/arc-adbd/arc-adbd-0.0.1-r310.ebuild b/chromeos-base/arc-adbd/arc-adbd-0.0.1-r310.ebuild
deleted file mode 100644
index a7a17b0..0000000
--- a/chromeos-base/arc-adbd/arc-adbd-0.0.1-r310.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="0a70acf40b774cf9c5d4f41cb5787d3862ca9348"
-CROS_WORKON_TREE=("0c865f852d3d0cb2847a8d8b2ea603dfd812447b" "aa81756947ecfdd38b22f42eed8eeafa40431079" "2c0fbdc6a39fdedb92ac536175e351099402b6ae" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="arc/adbd common-mk patchpanel .gn"
-
-PLATFORM_SUBDIR="arc/adbd"
-
-inherit cros-workon platform
-
-DESCRIPTION="Container to run Android's adbd proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/adbd"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp fuzzer arcvm"
-
-VM_DEPEND="
-	chromeos-base/patchpanel
-"
-
-VM_RDEPEND=${VM_DEPEND}
-
-DEPEND="
-	arcvm? ( ${VM_DEPEND} )
-"
-
-RDEPEND="
-	arcvm? ( ${VM_RDEPEND} )
-	chromeos-base/minijail
-"
-
-src_install() {
-	insinto /etc/init
-	if use arcvm; then
-		doins init/arcvm-adbd.conf
-		insinto /etc/dbus-1/system.d
-		doins init/dbus-1/ArcVmAdbd.conf
-	else
-		doins init/arc-adbd.conf
-	fi
-
-	insinto /usr/share/policy
-	use seccomp && newins "seccomp/arc$(usex arcvm vm '')-adbd-${ARCH}.policy" "arc$(usex arcvm vm '')-adbd-seccomp.policy"
-
-	dosbin "${OUT}/arc-adbd"
-
-	# Install fuzzers.
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-config-fs-fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-function-fs-fuzzer
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-create-pipe-fuzzer
-}
diff --git a/chromeos-base/arc-adbd/arc-adbd-0.0.1-r340.ebuild b/chromeos-base/arc-adbd/arc-adbd-0.0.1-r340.ebuild
new file mode 100644
index 0000000..595ad87
--- /dev/null
+++ b/chromeos-base/arc-adbd/arc-adbd-0.0.1-r340.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("a2c45ab60a41214142130b1d1051df94cac1e37a" "52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="arc/adbd common-mk .gn"
+
+PLATFORM_SUBDIR="arc/adbd"
+
+inherit cros-workon platform
+
+DESCRIPTION="Container to run Android's adbd proxy."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/adbd"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp fuzzer arcvm"
+
+RDEPEND="
+	chromeos-base/minijail
+"
+
+src_install() {
+	insinto /etc/init
+	if use arcvm; then
+		doins init/arcvm-adbd.conf
+	else
+		doins init/arc-adbd.conf
+	fi
+
+	insinto /usr/share/policy
+	use seccomp && newins "seccomp/arc$(usex arcvm vm '')-adbd-${ARCH}.policy" "arc$(usex arcvm vm '')-adbd-seccomp.policy"
+
+	dosbin "${OUT}/arc-adbd"
+
+	# Install fuzzers.
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-config-fs-fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-setup-function-fs-fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc-adbd-create-pipe-fuzzer
+}
diff --git a/chromeos-base/arc-adbd/arc-adbd-9999.ebuild b/chromeos-base/arc-adbd/arc-adbd-9999.ebuild
index f57c346..2c08141 100644
--- a/chromeos-base/arc-adbd/arc-adbd-9999.ebuild
+++ b/chromeos-base/arc-adbd/arc-adbd-9999.ebuild
@@ -7,7 +7,7 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="arc/adbd common-mk patchpanel .gn"
+CROS_WORKON_SUBTREE="arc/adbd common-mk .gn"
 
 PLATFORM_SUBDIR="arc/adbd"
 
@@ -20,18 +20,7 @@
 KEYWORDS="~*"
 IUSE="+seccomp fuzzer arcvm"
 
-VM_DEPEND="
-	chromeos-base/patchpanel
-"
-
-VM_RDEPEND=${VM_DEPEND}
-
-DEPEND="
-	arcvm? ( ${VM_DEPEND} )
-"
-
 RDEPEND="
-	arcvm? ( ${VM_RDEPEND} )
 	chromeos-base/minijail
 "
 
@@ -39,8 +28,6 @@
 	insinto /etc/init
 	if use arcvm; then
 		doins init/arcvm-adbd.conf
-		insinto /etc/dbus-1/system.d
-		doins init/dbus-1/ArcVmAdbd.conf
 	else
 		doins init/arc-adbd.conf
 	fi
diff --git a/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r319.ebuild b/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r319.ebuild
deleted file mode 100644
index ee5d697..0000000
--- a/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r319.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "1cd410cd154b1ff287a1424cdb3bfd4c0fe40952" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/apk-cache .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="arc/apk-cache"
-
-inherit cros-workon platform
-
-DESCRIPTION="Maintains APK cache in ARC."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/apk-cache"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND="
-	chromeos-base/minijail
-	dev-db/sqlite:=
-"
-
-DEPEND="
-	dev-db/sqlite:=
-"
-
-src_install() {
-	insinto /etc/init
-	doins init/apk-cache-cleaner.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	use seccomp && newins \
-		"seccomp/apk-cache-cleaner-seccomp-${ARCH}.policy" \
-		apk-cache-cleaner-seccomp.policy
-
-	dosbin "${OUT}/apk-cache-cleaner"
-	dobin  "${OUT}/apk-cache-ctl"
-	dosbin apk-cache-cleaner-jailed
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/apk-cache-cleaner_testrunner"
-	platform_test "run" "${OUT}/apk-cache-ctl_testrunner"
-}
diff --git a/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r346.ebuild b/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r346.ebuild
new file mode 100644
index 0000000..042a1f7
--- /dev/null
+++ b/chromeos-base/arc-apk-cache/arc-apk-cache-0.0.1-r346.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "e79a39f8f3a26e740eca5db95629cfb2e5d434aa" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/apk-cache .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="arc/apk-cache"
+
+inherit cros-workon platform
+
+DESCRIPTION="Maintains APK cache in ARC."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/apk-cache"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+RDEPEND="
+	chromeos-base/minijail
+	dev-db/sqlite:=
+"
+
+DEPEND="
+	dev-db/sqlite:=
+"
+
+src_install() {
+	insinto /etc/init
+	doins init/apk-cache-cleaner.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	use seccomp && newins \
+		"seccomp/apk-cache-cleaner-seccomp-${ARCH}.policy" \
+		apk-cache-cleaner-seccomp.policy
+
+	dosbin "${OUT}/apk-cache-cleaner"
+	dobin  "${OUT}/apk-cache-ctl"
+	dosbin apk-cache-cleaner-jailed
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/apk-cache-cleaner_testrunner"
+	platform_test "run" "${OUT}/apk-cache-ctl_testrunner"
+}
diff --git a/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r248.ebuild b/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r248.ebuild
deleted file mode 100644
index bd3dea2..0000000
--- a/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r248.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "c8c2c74c9c7c509d1151cf979a1a9127d566d04b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/appfuse .gn"
-
-PLATFORM_SUBDIR="arc/appfuse"
-
-inherit cros-workon platform user
-
-DESCRIPTION="D-Bus service to provide ARC Appfuse"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/appfuse"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-apps/dbus:=
-	sys-fs/fuse:=
-"
-
-DEPEND="${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-BDEPEND="
-	virtual/pkgconfig
-"
-
-src_install() {
-	platform_install
-}
-
-pkg_preinst() {
-	enewuser "arc-appfuse-provider"
-	enewgroup "arc-appfuse-provider"
-}
-
-platform_pkg_test() {
-	platform test_all
-}
diff --git a/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r273.ebuild b/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r273.ebuild
new file mode 100644
index 0000000..68da338
--- /dev/null
+++ b/chromeos-base/arc-appfuse/arc-appfuse-0.0.1-r273.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "870cb50e86dd81c388ef1d394f6a1c290dfe726d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/appfuse .gn"
+
+PLATFORM_SUBDIR="arc/container/appfuse"
+
+inherit cros-workon platform user
+
+DESCRIPTION="D-Bus service to provide ARC Appfuse"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/appfuse"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-apps/dbus:=
+	sys-fs/fuse:=
+"
+
+DEPEND="${RDEPEND}
+	chromeos-base/system_api:=
+"
+
+BDEPEND="
+	virtual/pkgconfig
+"
+
+src_install() {
+	platform_install
+}
+
+pkg_preinst() {
+	enewuser "arc-appfuse-provider"
+	enewgroup "arc-appfuse-provider"
+}
+
+platform_pkg_test() {
+	platform test_all
+}
diff --git a/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild b/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild
index 5e54f4d..21e316d 100644
--- a/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild
+++ b/chromeos-base/arc-appfuse/arc-appfuse-9999.ebuild
@@ -7,14 +7,14 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/appfuse .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/appfuse .gn"
 
-PLATFORM_SUBDIR="arc/appfuse"
+PLATFORM_SUBDIR="arc/container/appfuse"
 
 inherit cros-workon platform user
 
 DESCRIPTION="D-Bus service to provide ARC Appfuse"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/appfuse"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/appfuse"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-base/arc-base-0.0.1-r340.ebuild b/chromeos-base/arc-base/arc-base-0.0.1-r340.ebuild
deleted file mode 100644
index 117efa2..0000000
--- a/chromeos-base/arc-base/arc-base-0.0.1-r340.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "db01bef3f173c69a40670602345d43fe22b6e43a" "e854d2326138b30cc4e6f04570f2c8f50e2dfa80" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container-bundle arc/scripts .gn"
-
-inherit cros-workon user
-
-DESCRIPTION="Container to run Android."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container-bundle"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-IUSE="
-	android-container-pi
-	arcpp
-	arcvm
-	"
-
-REQUIRED_USE="|| ( arcpp arcvm )"
-
-RDEPEND="!<chromeos-base/chromeos-cheets-scripts-0.0.3"
-DEPEND="${RDEPEND}"
-
-CONTAINER_ROOTFS="/opt/google/containers/android/rootfs"
-
-src_install() {
-	# Redirect ARC and ARCVM logs to arc.log.
-	insinto /etc/rsyslog.d
-	doins arc/scripts/rsyslog.arc.conf
-
-	if use arcpp; then
-		insinto /opt/google/containers/android
-		if use android-container-pi; then
-			doins arc/container-bundle/pi/config.json
-		else
-			echo "Unknown container version" >&2
-			exit 1
-		fi
-
-		# Install scripts.
-		insinto /etc/sysctl.d
-		doins arc/scripts/01-sysctl-arc.conf
-
-		# Install exception file for FIFO blocking policy on stateful partition.
-		insinto /usr/share/cros/startup/fifo_exceptions
-		doins arc/container-bundle/arc-fifo-exceptions.txt
-
-		# Install exception file for symlink blocking policy on stateful partition.
-		insinto /usr/share/cros/startup/symlink_exceptions
-		doins arc/container-bundle/arc-symlink-exceptions.txt
-	fi
-}
-
-pkg_preinst() {
-	# ARCVM also needs these users on the host side for proper ugid remapping.
-	enewuser "wayland"
-	enewgroup "wayland"
-	enewuser "arc-bridge"
-	enewgroup "arc-bridge"
-	enewuser "android-root"
-	enewgroup "android-root"
-	enewgroup "arc-sensor"
-	enewgroup "android-everybody"
-	enewgroup "android-reserved-disk"
-}
-
-pkg_postinst() {
-	if use arcpp; then
-		local root_uid=$(egetent passwd android-root | cut -d: -f3)
-		local root_gid=$(egetent group android-root | cut -d: -f3)
-
-		# Create a rootfs directory, and then a subdirectory mount point. We
-		# use 0500 for CONTAINER_ROOTFS instead of 0555 so that non-system
-		# processes running outside the container don't start depending on
-		# files in system.raw.img.
-		# These are created here rather than at
-		# install because some of them may already exist and have mounts.
-		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
-			"${ROOT}${CONTAINER_ROOTFS}" \
-			|| true
-		# This CONTAINER_ROOTFS/root directory works as a mount point for
-		# system.raw.img, and once it's mounted, the image's root directory's
-		# permissions override the mode, owner, and group mkdir sets here.
-		mkdir -p "${ROOT}${CONTAINER_ROOTFS}/root" || true
-		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
-			"${ROOT}${CONTAINER_ROOTFS}/android-data" \
-			|| true
-	fi
-}
diff --git a/chromeos-base/arc-base/arc-base-0.0.1-r368.ebuild b/chromeos-base/arc-base/arc-base-0.0.1-r368.ebuild
new file mode 100644
index 0000000..6063c4d
--- /dev/null
+++ b/chromeos-base/arc-base/arc-base-0.0.1-r368.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "9fc9c94a2d45e1fa0d13e8eab0e41814a9cd8c42" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/bundle .gn"
+
+inherit cros-workon user
+
+DESCRIPTION="Container to run Android."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/bundle"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+IUSE="
+	arcpp
+	arcvm
+	"
+
+REQUIRED_USE="|| ( arcpp arcvm )"
+
+RDEPEND="!<chromeos-base/chromeos-cheets-scripts-0.0.3"
+DEPEND="${RDEPEND}"
+
+CONTAINER_ROOTFS="/opt/google/containers/android/rootfs"
+
+src_install() {
+	if use arcpp; then
+		insinto /opt/google/containers/android
+		doins arc/container/bundle/pi/config.json
+
+		# Install exception file for FIFO blocking policy on stateful partition.
+		insinto /usr/share/cros/startup/fifo_exceptions
+		doins arc/container/bundle/arc-fifo-exceptions.txt
+
+		# Install exception file for symlink blocking policy on stateful partition.
+		insinto /usr/share/cros/startup/symlink_exceptions
+		doins arc/container/bundle/arc-symlink-exceptions.txt
+	fi
+}
+
+pkg_preinst() {
+	# ARCVM also needs these users on the host side for proper ugid remapping.
+	enewuser "wayland"
+	enewgroup "wayland"
+	enewuser "arc-bridge"
+	enewgroup "arc-bridge"
+	enewuser "android-root"
+	enewgroup "android-root"
+	enewgroup "arc-sensor"
+	enewgroup "android-everybody"
+	enewgroup "android-reserved-disk"
+}
+
+pkg_postinst() {
+	if use arcpp; then
+		local root_uid=$(egetent passwd android-root | cut -d: -f3)
+		local root_gid=$(egetent group android-root | cut -d: -f3)
+
+		# Create a rootfs directory, and then a subdirectory mount point. We
+		# use 0500 for CONTAINER_ROOTFS instead of 0555 so that non-system
+		# processes running outside the container don't start depending on
+		# files in system.raw.img.
+		# These are created here rather than at
+		# install because some of them may already exist and have mounts.
+		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
+			"${ROOT}${CONTAINER_ROOTFS}" \
+			|| true
+		# This CONTAINER_ROOTFS/root directory works as a mount point for
+		# system.raw.img, and once it's mounted, the image's root directory's
+		# permissions override the mode, owner, and group mkdir sets here.
+		mkdir -p "${ROOT}${CONTAINER_ROOTFS}/root" || true
+		install -d --mode=0500 "--owner=${root_uid}" "--group=${root_gid}" \
+			"${ROOT}${CONTAINER_ROOTFS}/android-data" \
+			|| true
+	fi
+}
diff --git a/chromeos-base/arc-base/arc-base-9999.ebuild b/chromeos-base/arc-base/arc-base-9999.ebuild
index fd4f0dd..9fc2572 100644
--- a/chromeos-base/arc-base/arc-base-9999.ebuild
+++ b/chromeos-base/arc-base/arc-base-9999.ebuild
@@ -7,18 +7,17 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/container-bundle arc/scripts .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/bundle .gn"
 
 inherit cros-workon user
 
 DESCRIPTION="Container to run Android."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container-bundle"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/bundle"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
 
 IUSE="
-	android-container-pi
 	arcpp
 	arcvm
 	"
@@ -31,30 +30,17 @@
 CONTAINER_ROOTFS="/opt/google/containers/android/rootfs"
 
 src_install() {
-	# Redirect ARC and ARCVM logs to arc.log.
-	insinto /etc/rsyslog.d
-	doins arc/scripts/rsyslog.arc.conf
-
 	if use arcpp; then
 		insinto /opt/google/containers/android
-		if use android-container-pi; then
-			doins arc/container-bundle/pi/config.json
-		else
-			echo "Unknown container version" >&2
-			exit 1
-		fi
-
-		# Install scripts.
-		insinto /etc/sysctl.d
-		doins arc/scripts/01-sysctl-arc.conf
+		doins arc/container/bundle/pi/config.json
 
 		# Install exception file for FIFO blocking policy on stateful partition.
 		insinto /usr/share/cros/startup/fifo_exceptions
-		doins arc/container-bundle/arc-fifo-exceptions.txt
+		doins arc/container/bundle/arc-fifo-exceptions.txt
 
 		# Install exception file for symlink blocking policy on stateful partition.
 		insinto /usr/share/cros/startup/symlink_exceptions
-		doins arc/container-bundle/arc-symlink-exceptions.txt
+		doins arc/container/bundle/arc-symlink-exceptions.txt
 	fi
 }
 
diff --git a/chromeos-base/arc-codec-software/arc-codec-software-0.0.1-r2.ebuild b/chromeos-base/arc-codec-software/arc-codec-software-0.0.1-r3.ebuild
similarity index 100%
rename from chromeos-base/arc-codec-software/arc-codec-software-0.0.1-r2.ebuild
rename to chromeos-base/arc-codec-software/arc-codec-software-0.0.1-r3.ebuild
diff --git a/chromeos-base/arc-codec-software/files/media_codecs.xml b/chromeos-base/arc-codec-software/files/media_codecs.xml
index 8e1b0e3..0f71c5b 100644
--- a/chromeos-base/arc-codec-software/files/media_codecs.xml
+++ b/chromeos-base/arc-codec-software/files/media_codecs.xml
@@ -82,5 +82,5 @@
         <Setting name="max-video-encoder-input-buffers" value="4" />
     </Settings>
     <Include href="media_codecs_google_audio.xml" />
-    <Include href="media_codecs_google_video.xml" />
+    <Include href="media_codecs_google_video_cros.xml" />
 </MediaCodecs>
diff --git a/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r125.ebuild b/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r125.ebuild
deleted file mode 100644
index abd86d9..0000000
--- a/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r125.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "e854d2326138b30cc4e6f04570f2c8f50e2dfa80" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/scripts .gn"
-
-inherit cros-workon
-
-DESCRIPTION="ARC++/ARCVM common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/scripts"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-
-IUSE="arcvm arcpp"
-RDEPEND="app-misc/jq"
-DEPEND=""
-
-src_install() {
-	if use arcpp; then
-		dosbin arc/scripts/android-sh
-	fi
-	if use arcvm; then
-		newsbin arc/scripts/android-sh-vm android-sh
-	fi
-
-	insinto /etc/init
-	doins arc/scripts/arc-remove-data.conf
-	doins arc/scripts/arc-stale-directory-remover.conf
-}
diff --git a/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r152.ebuild b/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r152.ebuild
new file mode 100644
index 0000000..5a6f5b4
--- /dev/null
+++ b/chromeos-base/arc-common-scripts/arc-common-scripts-0.0.1-r152.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "3635cafaa1e2fe54b2dd06c40c2a17b4e4659039" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/scripts .gn"
+
+inherit cros-workon
+
+DESCRIPTION="ARC++ common scripts."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/scripts"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+
+IUSE="arcpp"
+RDEPEND="
+	!<=chromeos-base/arc-base-0.0.1-r349
+	!<chromeos-base/arc-setup-0.0.1-r1084
+	app-misc/jq"
+DEPEND=""
+
+src_install() {
+	dosbin arc/container/scripts/android-sh
+	insinto /etc/init
+	doins arc/container/scripts/arc-kmsg-logger.conf
+	doins arc/container/scripts/arc-sensor.conf
+	doins arc/container/scripts/arc-sysctl.conf
+	doins arc/container/scripts/arc-ureadahead.conf
+	insinto /etc/sysctl.d
+	doins arc/container/scripts/01-sysctl-arc.conf
+	# Redirect ARC logs to arc.log.
+	insinto /etc/rsyslog.d
+	doins arc/container/scripts/rsyslog.arc.conf
+}
diff --git a/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild b/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild
index 50f5902..168b4ce 100644
--- a/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild
+++ b/chromeos-base/arc-common-scripts/arc-common-scripts-9999.ebuild
@@ -7,30 +7,34 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/scripts .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/scripts .gn"
 
 inherit cros-workon
 
-DESCRIPTION="ARC++/ARCVM common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/scripts"
+DESCRIPTION="ARC++ common scripts."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/scripts"
 
 LICENSE="BSD-Google"
 SLOT="0/0"
 KEYWORDS="~*"
 
-IUSE="arcvm arcpp"
-RDEPEND="app-misc/jq"
+IUSE="arcpp"
+RDEPEND="
+	!<=chromeos-base/arc-base-0.0.1-r349
+	!<chromeos-base/arc-setup-0.0.1-r1084
+	app-misc/jq"
 DEPEND=""
 
 src_install() {
-	if use arcpp; then
-		dosbin arc/scripts/android-sh
-	fi
-	if use arcvm; then
-		newsbin arc/scripts/android-sh-vm android-sh
-	fi
-
+	dosbin arc/container/scripts/android-sh
 	insinto /etc/init
-	doins arc/scripts/arc-remove-data.conf
-	doins arc/scripts/arc-stale-directory-remover.conf
+	doins arc/container/scripts/arc-kmsg-logger.conf
+	doins arc/container/scripts/arc-sensor.conf
+	doins arc/container/scripts/arc-sysctl.conf
+	doins arc/container/scripts/arc-ureadahead.conf
+	insinto /etc/sysctl.d
+	doins arc/container/scripts/01-sysctl-arc.conf
+	# Redirect ARC logs to arc.log.
+	insinto /etc/rsyslog.d
+	doins arc/container/scripts/rsyslog.arc.conf
 }
diff --git a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r40.ebuild b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r40.ebuild
new file mode 100644
index 0000000..751a4a5a
--- /dev/null
+++ b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r40.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "7eabed196d01863338304dc38454608d554693f5" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+inherit cros-constants
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_SUBTREE="common-mk arc/data-snapshotd .gn"
+
+PLATFORM_SUBDIR="arc/data-snapshotd"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARC data snapshotd daemon in Chrome OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp selinux"
+
+RDEPEND="
+	chromeos-base/bootlockbox-client:=
+	chromeos-base/minijail:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=
+	dev-libs/protobuf:=
+	selinux? (
+		sys-libs/libselinux:=
+	)
+"
+
+src_install() {
+	insinto /etc/init
+	doins init/arc-data-snapshotd.conf
+
+	# Install DBUS configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.ArcDataSnapshotd.conf
+	doins dbus/ArcDataSnapshotdUpstart.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	use seccomp && newins \
+		"seccomp/arc-data-snapshotd-seccomp-${ARCH}.policy" \
+		arc-data-snapshotd-seccomp.policy
+
+	dobin "${OUT}/arc-data-snapshotd"
+}
+
+pkg_preinst() {
+	enewuser "arc-data-snapshotd"
+	enewgroup "arc-data-snapshotd"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/arc-data-snapshotd_test"
+}
diff --git a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r7.ebuild b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r7.ebuild
deleted file mode 100644
index 42cd1e7..0000000
--- a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-0.0.1-r7.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "b5506183f669d3ac351bc7584751f332a238c6e8" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-inherit cros-constants
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_SUBTREE="common-mk arc/data-snapshotd .gn"
-
-PLATFORM_SUBDIR="arc/data-snapshotd"
-
-inherit cros-workon platform user
-
-DESCRIPTION="ARC data snapshotd daemon in Chrome OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/data-snapshotd"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND="
-	chromeos-base/minijail:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	insinto /etc/init
-	doins init/arc-data-snapshotd.conf
-
-	# Install DBUS configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.ArcDataSnapshotd.conf
-	doins dbus/ArcDataSnapshotdUpstart.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	use seccomp && newins \
-		"seccomp/arc-data-snapshotd-seccomp-${ARCH}.policy" \
-		arc-data-snapshotd-seccomp.policy
-
-	dobin "${OUT}/arc-data-snapshotd"
-}
-
-pkg_preinst() {
-	enewuser "arc-data-snapshotd"
-	enewgroup "arc-data-snapshotd"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/arc-data-snapshotd_test"
-}
diff --git a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-9999.ebuild b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-9999.ebuild
index 0decc52..02416d5 100644
--- a/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-9999.ebuild
+++ b/chromeos-base/arc-data-snapshotd/arc-data-snapshotd-9999.ebuild
@@ -20,15 +20,20 @@
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
-IUSE="+seccomp"
+IUSE="+seccomp selinux"
 
 RDEPEND="
+	chromeos-base/bootlockbox-client:=
 	chromeos-base/minijail:=
 "
 
 DEPEND="
 	${RDEPEND}
 	chromeos-base/system_api:=
+	dev-libs/protobuf:=
+	selinux? (
+		sys-libs/libselinux:=
+	)
 "
 
 src_install() {
diff --git a/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r33.ebuild b/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r33.ebuild
new file mode 100644
index 0000000..0dad2e7
--- /dev/null
+++ b/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r33.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "bd7a8b8c2a72289b8a9bad9133c39c6184921fe2" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/host_clock .gn"
+
+PLATFORM_SUBDIR="arc/vm/host_clock"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARC host clock service"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api
+"
+
+src_install() {
+	dobin "${OUT}"/arc-host-clock-service
+
+	insinto /etc/init
+	doins arc-host-clock-service.conf
+}
+
+pkg_preinst() {
+	enewuser "arc-host-clock"
+	enewgroup "arc-host-clock"
+}
diff --git a/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r6.ebuild b/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r6.ebuild
deleted file mode 100644
index ac1a479d..0000000
--- a/chromeos-base/arc-host-clock-service/arc-host-clock-service-0.0.1-r6.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "16dee0336113553f488cfba1cd0cd13b84b8870f" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/host_clock .gn"
-
-PLATFORM_SUBDIR="arc/vm/host_clock"
-
-inherit cros-workon platform user
-
-DESCRIPTION="ARC host clock service"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/host_clock"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/system_api
-"
-
-src_install() {
-	dobin "${OUT}"/arc-host-clock-service
-
-	insinto /etc/init
-	doins arc-host-clock-service.conf
-
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.ArcHostClockService.conf
-}
-
-pkg_preinst() {
-	enewuser "arc-host-clock"
-	enewgroup "arc-host-clock"
-}
diff --git a/chromeos-base/arc-host-clock-service/arc-host-clock-service-9999.ebuild b/chromeos-base/arc-host-clock-service/arc-host-clock-service-9999.ebuild
index 80fc509..ca58668 100644
--- a/chromeos-base/arc-host-clock-service/arc-host-clock-service-9999.ebuild
+++ b/chromeos-base/arc-host-clock-service/arc-host-clock-service-9999.ebuild
@@ -32,9 +32,6 @@
 
 	insinto /etc/init
 	doins arc-host-clock-service.conf
-
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.ArcHostClockService.conf
 }
 
 pkg_preinst() {
diff --git a/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r179.ebuild b/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r179.ebuild
deleted file mode 100644
index d4a000d..0000000
--- a/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r179.ebuild
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("e1d925928694859c658d78e230af08e834c174ab" "49dfc58d6c4c66f5d0b0d06f0161da4e602a1293")
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "8e20bb2f75d932f889b631c1680e6e4b1887f23a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "6dbc19849752c206e135ab59349ebb1cc62bb435")
-inherit cros-constants
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/system/keymaster")
-CROS_WORKON_REPO=(
-	"${CROS_GIT_HOST_URL}"
-	"${CROS_GIT_AOSP_URL}"
-)
-CROS_WORKON_EGIT_BRANCH=("master" "pie-release")
-CROS_WORKON_LOCALNAME=("platform2" "aosp/system/keymaster")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/aosp/system/keymaster")
-CROS_WORKON_SUBTREE=("common-mk arc/keymaster .gn" "")
-
-PLATFORM_SUBDIR="arc/keymaster"
-
-# This BoringSSL integration follows go/boringssl-cros.
-# DO NOT COPY TO OTHER PACKAGES WITHOUT CONSULTING SECURITY TEAM.
-BORINGSSL_PN="boringssl"
-BORINGSSL_PV="430a7423039682e4bbc7b522e3b57b2c8dca5e3b"
-BORINGSSL_P="${BORINGSSL_PN}-${BORINGSSL_PV}"
-BORINGSSL_OUTDIR="${WORKDIR}/boringssl_outputs/"
-
-CMAKE_USE_DIR="${WORKDIR}/${BORINGSSL_P}"
-BUILD_DIR="${WORKDIR}/${BORINGSSL_P}_build"
-
-inherit flag-o-matic cmake-utils cros-workon platform user
-
-DESCRIPTION="Android keymaster service in Chrome OS."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/keymaster"
-SRC_URI="https://github.com/google/${BORINGSSL_PN}/archive/${BORINGSSL_PV}.tar.gz -> ${BORINGSSL_P}.tar.gz"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="+seccomp"
-
-RDEPEND="
-	chromeos-base/chaps:=
-	chromeos-base/cryptohome:=
-	chromeos-base/minijail:=
-	dev-libs/protobuf:=
-"
-
-DEPEND="
-	${RDEPEND}
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=
-"
-
-HEADER_TAINT="#ifdef CHROMEOS_OPENSSL_IS_OPENSSL
-#error \"Do not mix OpenSSL and BoringSSL headers.\"
-#endif
-#define CHROMEOS_OPENSSL_IS_BORINGSSL\n"
-
-src_unpack() {
-	platform_src_unpack
-	unpack "${BORINGSSL_P}.tar.gz"
-	# Taint BoringSSL headers so they don't silently mix with OpenSSL.
-	find "${BORINGSSL_P}/include/openssl" -type f -exec awk -i inplace -v \
-		"taint=${HEADER_TAINT}" 'NR == 1 {print taint} {print}' {} \;
-}
-
-src_prepare() {
-	cmake-utils_src_prepare
-
-	# Expose libhardware headers from arc-toolchain-p.
-	local arc_arch="${ARCH}"
-	# arm needs to use arm64 directory, which provides combined arm/arm64
-	# headers.
-	if [[ "${ARCH}" == "arm" ]]; then
-		arc_arch="arm64"
-	fi
-	mkdir -p "${WORKDIR}/libhardware/include" || die
-	cp -rfp "/opt/android-p/${arc_arch}/usr/include/hardware" "${WORKDIR}/libhardware/include" || die
-	append-cxxflags "-I${WORKDIR}/libhardware/include"
-
-	# Expose BoringSSL headers and outputs.
-	append-cxxflags "-I${WORKDIR}/${BORINGSSL_P}/include"
-	append-ldflags "-L${BORINGSSL_OUTDIR}"
-	# Verify upstream hasn't changed relevant context code.
-	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
-	eapply --dry-run "${FILESDIR}/keymaster-context-hooks.patch"
-	# Fix C++17 compilation. Can be removed once we update to newer version of
-	# keymaster that contains https://r.android.com/1412947.
-	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
-	eapply "${FILESDIR}/0001-keymaster-fix-C-17-compilation.patch"
-	# Make P Keymaster compatible with latest BoringSSL.
-	eapply "${FILESDIR}/keymaster-boringssl-update.patch"
-}
-
-src_configure() {
-	local mycmakeargs=(
-		"-DCMAKE_BUILD_TYPE=Release"
-		"-DCMAKE_SYSTEM_PROCESSOR=${CHOST%%-*}"
-		"-DBUILD_SHARED_LIBS=OFF"
-	)
-	cmake-utils_src_configure
-	platform_src_configure
-}
-
-src_compile() {
-	# Compile BoringSSL and expose libcrypto.a.
-	cmake-utils_src_compile
-	mkdir -p "${BORINGSSL_OUTDIR}" || die
-	cp -p "${BUILD_DIR}/crypto/libcrypto.a" "${BORINGSSL_OUTDIR}/libboringcrypto.a" || die
-
-	platform_src_compile
-}
-
-src_install() {
-	insinto /etc/init
-	doins init/arc-keymasterd.conf
-
-	# Install DBUS configuration file.
-	insinto /etc/dbus-1/system.d
-	doins dbus_permissions/org.chromium.ArcKeymaster.conf
-
-	# Install seccomp policy file.
-	insinto /usr/share/policy
-	use seccomp && newins \
-		"seccomp/arc-keymasterd-seccomp-${ARCH}.policy" \
-		arc-keymasterd-seccomp.policy
-
-	# Install shared libs and binary.
-	dolib.so "${OUT}/lib/libarckeymaster_context.so"
-	dolib.so "${OUT}/lib/libkeymaster.so"
-	dosbin "${OUT}/arc-keymasterd"
-
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_keymasterd_fuzzer
-}
-
-pkg_preinst() {
-	enewuser "arc-keymasterd"
-	enewgroup "arc-keymasterd"
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/arc-keymasterd_testrunner"
-}
diff --git a/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r210.ebuild b/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r210.ebuild
new file mode 100644
index 0000000..3d504bf
--- /dev/null
+++ b/chromeos-base/arc-keymaster/arc-keymaster-0.0.1-r210.ebuild
@@ -0,0 +1,145 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("31f27149a8789a1ea56d607fb2d2309c9e0ad932" "49dfc58d6c4c66f5d0b0d06f0161da4e602a1293")
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "7cbff7c391e32cecd310a2bbbc8b41ddb0e6d233" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "6dbc19849752c206e135ab59349ebb1cc62bb435")
+inherit cros-constants
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/system/keymaster")
+CROS_WORKON_REPO=(
+	"${CROS_GIT_HOST_URL}"
+	"${CROS_GIT_AOSP_URL}"
+)
+CROS_WORKON_EGIT_BRANCH=("master" "pie-release")
+CROS_WORKON_LOCALNAME=("platform2" "aosp/system/keymaster")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/aosp/system/keymaster")
+CROS_WORKON_SUBTREE=("common-mk arc/keymaster .gn" "")
+
+PLATFORM_SUBDIR="arc/keymaster"
+
+# This BoringSSL integration follows go/boringssl-cros.
+# DO NOT COPY TO OTHER PACKAGES WITHOUT CONSULTING SECURITY TEAM.
+BORINGSSL_PN="boringssl"
+BORINGSSL_PV="430a7423039682e4bbc7b522e3b57b2c8dca5e3b"
+BORINGSSL_P="${BORINGSSL_PN}-${BORINGSSL_PV}"
+BORINGSSL_OUTDIR="${WORKDIR}/boringssl_outputs/"
+
+CMAKE_USE_DIR="${WORKDIR}/${BORINGSSL_P}"
+BUILD_DIR="${WORKDIR}/${BORINGSSL_P}_build"
+
+inherit flag-o-matic cmake-utils cros-workon platform user
+
+DESCRIPTION="Android keymaster service in Chrome OS."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/keymaster"
+SRC_URI="https://github.com/google/${BORINGSSL_PN}/archive/${BORINGSSL_PV}.tar.gz -> ${BORINGSSL_P}.tar.gz"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="+seccomp"
+
+RDEPEND="
+	chromeos-base/chaps:=
+	chromeos-base/cryptohome:=
+	chromeos-base/minijail:=
+	dev-libs/protobuf:=
+"
+
+DEPEND="
+	${RDEPEND}
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=
+"
+
+HEADER_TAINT="#ifdef CHROMEOS_OPENSSL_IS_OPENSSL
+#error \"Do not mix OpenSSL and BoringSSL headers.\"
+#endif
+#define CHROMEOS_OPENSSL_IS_BORINGSSL\n"
+
+src_unpack() {
+	platform_src_unpack
+	unpack "${BORINGSSL_P}.tar.gz"
+	# Taint BoringSSL headers so they don't silently mix with OpenSSL.
+	find "${BORINGSSL_P}/include/openssl" -type f -exec awk -i inplace -v \
+		"taint=${HEADER_TAINT}" 'NR == 1 {print taint} {print}' {} \;
+}
+
+src_prepare() {
+	cmake-utils_src_prepare
+
+	# Expose libhardware headers from arc-toolchain-p.
+	local arc_arch="${ARCH}"
+	# arm needs to use arm64 directory, which provides combined arm/arm64
+	# headers.
+	if [[ "${ARCH}" == "arm" ]]; then
+		arc_arch="arm64"
+	fi
+	mkdir -p "${WORKDIR}/libhardware/include" || die
+	cp -rfp "/opt/android-p/${arc_arch}/usr/include/hardware" "${WORKDIR}/libhardware/include" || die
+	append-cxxflags "-I${WORKDIR}/libhardware/include"
+
+	# Expose BoringSSL headers and outputs.
+	append-cxxflags "-I${WORKDIR}/${BORINGSSL_P}/include"
+	append-ldflags "-L${BORINGSSL_OUTDIR}"
+	# Verify upstream hasn't changed relevant context code.
+	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
+	eapply --dry-run "${FILESDIR}/keymaster-context-hooks.patch"
+	# Fix C++17 compilation. Can be removed once we update to newer version of
+	# keymaster that contains https://r.android.com/1412947.
+	cd "${WORKDIR}/${P}/aosp/system/keymaster" || die
+	eapply "${FILESDIR}/0001-keymaster-fix-C-17-compilation.patch"
+	# Make P Keymaster compatible with latest BoringSSL.
+	eapply "${FILESDIR}/keymaster-boringssl-update.patch"
+}
+
+src_configure() {
+	local mycmakeargs=(
+		"-DCMAKE_BUILD_TYPE=Release"
+		"-DCMAKE_SYSTEM_PROCESSOR=${CHOST%%-*}"
+		"-DBUILD_SHARED_LIBS=OFF"
+	)
+	cmake-utils_src_configure
+	platform_src_configure
+}
+
+src_compile() {
+	# Compile BoringSSL and expose libcrypto.a.
+	cmake-utils_src_compile
+	mkdir -p "${BORINGSSL_OUTDIR}" || die
+	cp -p "${BUILD_DIR}/crypto/libcrypto.a" "${BORINGSSL_OUTDIR}/libboringcrypto.a" || die
+
+	platform_src_compile
+}
+
+src_install() {
+	insinto /etc/init
+	doins init/arc-keymasterd.conf
+
+	# Install DBUS configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus_permissions/org.chromium.ArcKeymaster.conf
+
+	# Install seccomp policy file.
+	insinto /usr/share/policy
+	use seccomp && newins \
+		"seccomp/arc-keymasterd-seccomp-${ARCH}.policy" \
+		arc-keymasterd-seccomp.policy
+
+	# Install shared libs and binary.
+	dolib.so "${OUT}/lib/libarckeymaster_context.so"
+	dolib.so "${OUT}/lib/libkeymaster.so"
+	dosbin "${OUT}/arc-keymasterd"
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_keymasterd_fuzzer
+}
+
+pkg_preinst() {
+	enewuser "arc-keymasterd"
+	enewgroup "arc-keymasterd"
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/arc-keymasterd_testrunner"
+}
diff --git a/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r148.ebuild b/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r148.ebuild
deleted file mode 100644
index e1f0d79..0000000
--- a/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r148.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "ffb2f47956ef0968f7461744ad1e8098dbc6b37c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/myfiles .gn"
-
-inherit cros-workon
-
-DESCRIPTION="Container to run Android's MyFiles daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/myfiles"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/mount-passthrough
-	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/myfiles/arc-myfiles.conf
-	doins arc/myfiles/arc-myfiles-default.conf
-	doins arc/myfiles/arc-myfiles-read.conf
-	doins arc/myfiles/arc-myfiles-write.conf
-}
diff --git a/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r174.ebuild b/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r174.ebuild
new file mode 100644
index 0000000..f77b14b
--- /dev/null
+++ b/chromeos-base/arc-myfiles/arc-myfiles-0.0.1-r174.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="891275e43ab2ed3070c377dd889259604911e046"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "44e015c48512f5c1bd9e73c1c350d3af9423c262" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/myfiles .gn"
+
+inherit cros-workon
+
+DESCRIPTION="Container to run Android's MyFiles daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/myfiles"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="chromeos-base/mount-passthrough
+	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
+"
+
+src_install() {
+	insinto /etc/init
+	doins arc/container/myfiles/arc-myfiles.conf
+	doins arc/container/myfiles/arc-myfiles-default.conf
+	doins arc/container/myfiles/arc-myfiles-read.conf
+	doins arc/container/myfiles/arc-myfiles-write.conf
+}
diff --git a/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild b/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild
index a14bc9e..98a8877 100644
--- a/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild
+++ b/chromeos-base/arc-myfiles/arc-myfiles-9999.ebuild
@@ -7,12 +7,12 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/myfiles .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/myfiles .gn"
 
 inherit cros-workon
 
 DESCRIPTION="Container to run Android's MyFiles daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/myfiles"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/myfiles"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -23,8 +23,8 @@
 
 src_install() {
 	insinto /etc/init
-	doins arc/myfiles/arc-myfiles.conf
-	doins arc/myfiles/arc-myfiles-default.conf
-	doins arc/myfiles/arc-myfiles-read.conf
-	doins arc/myfiles/arc-myfiles-write.conf
+	doins arc/container/myfiles/arc-myfiles.conf
+	doins arc/container/myfiles/arc-myfiles-default.conf
+	doins arc/container/myfiles/arc-myfiles-read.conf
+	doins arc/container/myfiles/arc-myfiles-write.conf
 }
diff --git a/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r397.ebuild b/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r397.ebuild
deleted file mode 100644
index 1e222d4..0000000
--- a/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r397.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "2b3a34a1269aa84a1014ce2ae0fe33d3fd498a97" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/obb-mounter .gn"
-
-PLATFORM_SUBDIR="arc/obb-mounter"
-
-inherit cros-workon platform
-
-DESCRIPTION="D-Bus service to mount OBB files"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/obb-mounter"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	sys-fs/fuse:=
-	sys-libs/libcap:=
-"
-
-DEPEND="${RDEPEND}"
-
-BDEPEND="
-	virtual/pkgconfig
-"
-
-
-CONTAINER_DIR="/opt/google/containers/arc-obb-mounter"
-
-src_install() {
-	dobin "${OUT}"/arc-obb-mounter
-	dobin "${OUT}"/mount-obb
-
-	insinto /etc/dbus-1/system.d
-	doins org.chromium.ArcObbMounter.conf
-
-	insinto /etc/init
-	doins init/arc-obb-mounter.conf
-
-	insinto "${CONTAINER_DIR}"
-	doins "${OUT}"/rootfs.squashfs
-
-	# Keep the parent directory of mountpoints inaccessible from non-root
-	# users because mountpoints themselves are often world-readable but we
-	# do not want to expose them.
-	# container-root is where the root filesystem of the container in which
-	# arc-obb-mounter daemon runs is mounted.
-	diropts --mode=0700 --owner=root --group=root
-	keepdir "${CONTAINER_DIR}"/mountpoints/
-	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
-
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/mount-obb_fuzzer
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/arc-obb-mounter_testrunner"
-}
diff --git a/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r423.ebuild b/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r423.ebuild
new file mode 100644
index 0000000..869c223
--- /dev/null
+++ b/chromeos-base/arc-obb-mounter/arc-obb-mounter-0.0.2-r423.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "d530cceec5d2c60c71f02b70f0cdd617e82f2d0c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/obb-mounter .gn"
+
+PLATFORM_SUBDIR="arc/container/obb-mounter"
+
+inherit cros-workon platform
+
+DESCRIPTION="D-Bus service to mount OBB files"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/obb-mounter"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	sys-fs/fuse:=
+	sys-libs/libcap:=
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+	virtual/pkgconfig
+"
+
+
+CONTAINER_DIR="/opt/google/containers/arc-obb-mounter"
+
+src_install() {
+	dobin "${OUT}"/arc-obb-mounter
+	dobin "${OUT}"/mount-obb
+
+	insinto /etc/dbus-1/system.d
+	doins org.chromium.ArcObbMounter.conf
+
+	insinto /etc/init
+	doins init/arc-obb-mounter.conf
+
+	insinto "${CONTAINER_DIR}"
+	doins "${OUT}"/rootfs.squashfs
+
+	# Keep the parent directory of mountpoints inaccessible from non-root
+	# users because mountpoints themselves are often world-readable but we
+	# do not want to expose them.
+	# container-root is where the root filesystem of the container in which
+	# arc-obb-mounter daemon runs is mounted.
+	diropts --mode=0700 --owner=root --group=root
+	keepdir "${CONTAINER_DIR}"/mountpoints/
+	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/mount-obb_fuzzer
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/arc-obb-mounter_testrunner"
+}
diff --git a/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild b/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild
index ddc1682..d7140cf 100644
--- a/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild
+++ b/chromeos-base/arc-obb-mounter/arc-obb-mounter-9999.ebuild
@@ -7,14 +7,14 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/obb-mounter .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/obb-mounter .gn"
 
-PLATFORM_SUBDIR="arc/obb-mounter"
+PLATFORM_SUBDIR="arc/container/obb-mounter"
 
 inherit cros-workon platform
 
 DESCRIPTION="D-Bus service to mount OBB files"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/obb-mounter"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/obb-mounter"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r241.ebuild b/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r241.ebuild
deleted file mode 100644
index 75b5dfa..0000000
--- a/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r241.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "65a61cec20faf98439decb1e8c98bbebf9f119e7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/removable-media .gn"
-
-inherit cros-workon
-
-DESCRIPTION="Container to run Android's removable-media daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/removable-media"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="chromeos-base/mount-passthrough
-	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/removable-media/arc-removable-media.conf
-	doins arc/removable-media/arc-removable-media-default.conf
-	doins arc/removable-media/arc-removable-media-read.conf
-	doins arc/removable-media/arc-removable-media-write.conf
-}
diff --git a/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r266.ebuild b/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r266.ebuild
new file mode 100644
index 0000000..d28e277
--- /dev/null
+++ b/chromeos-base/arc-removable-media/arc-removable-media-0.0.1-r266.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="891275e43ab2ed3070c377dd889259604911e046"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "09c638306b818afa68992fcdd0d069ccbdcb3caa" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/removable-media .gn"
+
+inherit cros-workon
+
+DESCRIPTION="Container to run Android's removable-media daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/removable-media"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="chromeos-base/mount-passthrough
+	!<chromeos-base/chromeos-cheets-scripts-0.0.2-r470
+"
+
+src_install() {
+	insinto /etc/init
+	doins arc/container/removable-media/arc-removable-media.conf
+	doins arc/container/removable-media/arc-removable-media-default.conf
+	doins arc/container/removable-media/arc-removable-media-read.conf
+	doins arc/container/removable-media/arc-removable-media-write.conf
+}
diff --git a/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild b/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild
index b2a5d4f..8140f2d 100644
--- a/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild
+++ b/chromeos-base/arc-removable-media/arc-removable-media-9999.ebuild
@@ -7,12 +7,12 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/removable-media .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/removable-media .gn"
 
 inherit cros-workon
 
 DESCRIPTION="Container to run Android's removable-media daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/removable-media"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/removable-media"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
@@ -23,8 +23,8 @@
 
 src_install() {
 	insinto /etc/init
-	doins arc/removable-media/arc-removable-media.conf
-	doins arc/removable-media/arc-removable-media-default.conf
-	doins arc/removable-media/arc-removable-media-read.conf
-	doins arc/removable-media/arc-removable-media-write.conf
+	doins arc/container/removable-media/arc-removable-media.conf
+	doins arc/container/removable-media/arc-removable-media-default.conf
+	doins arc/container/removable-media/arc-removable-media-read.conf
+	doins arc/container/removable-media/arc-removable-media-write.conf
 }
diff --git a/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r242.ebuild b/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r242.ebuild
deleted file mode 100644
index 2a5eb5a..0000000
--- a/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r242.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "31316a4a1ac841d2bf0c6a247512ab33283a4797" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/sdcard .gn"
-
-PLATFORM_SUBDIR="arc/sdcard"
-
-inherit cros-workon platform
-
-DESCRIPTION="Container to run Android's sdcard daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/sdcard"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="esdfs"
-
-CONTAINER_DIR="/opt/google/containers/arc-sdcard"
-
-RDEPEND="!esdfs? ( chromeos-base/arc-setup )"
-DEPEND="${DEPEND}"
-
-src_install() {
-	if ! use esdfs; then
-		insinto /etc/init
-		doins arc-sdcard.conf
-	fi
-
-	insinto "${CONTAINER_DIR}"
-	doins "${OUT}"/rootfs.squashfs
-
-	# Keep the parent directory of mountpoints inaccessible from non-root
-	# users because mountpoints themselves are often world-readable but we
-	# do not want to expose them.
-	# container-root is where the root filesystem of the container in which
-	# arc-obb-mounter daemon runs is mounted.
-	diropts --mode=0700 --owner=root --group=root
-	keepdir "${CONTAINER_DIR}"/mountpoints/
-	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
-}
diff --git a/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r267.ebuild b/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r267.ebuild
new file mode 100644
index 0000000..ad63110
--- /dev/null
+++ b/chromeos-base/arc-sdcard/arc-sdcard-0.0.1-r267.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "2bd3f2208f90e7c6e42e1b037e211615995f768a" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/container/sdcard .gn"
+
+PLATFORM_SUBDIR="arc/container/sdcard"
+
+inherit cros-workon platform
+
+DESCRIPTION="Container to run Android's sdcard daemon."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/sdcard"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="esdfs"
+
+CONTAINER_DIR="/opt/google/containers/arc-sdcard"
+
+RDEPEND="!esdfs? ( chromeos-base/arc-setup )"
+DEPEND="${DEPEND}"
+
+src_install() {
+	if ! use esdfs; then
+		insinto /etc/init
+		doins arc-sdcard.conf
+	fi
+
+	insinto "${CONTAINER_DIR}"
+	doins "${OUT}"/rootfs.squashfs
+
+	# Keep the parent directory of mountpoints inaccessible from non-root
+	# users because mountpoints themselves are often world-readable but we
+	# do not want to expose them.
+	# container-root is where the root filesystem of the container in which
+	# arc-obb-mounter daemon runs is mounted.
+	diropts --mode=0700 --owner=root --group=root
+	keepdir "${CONTAINER_DIR}"/mountpoints/
+	keepdir "${CONTAINER_DIR}"/mountpoints/container-root
+}
diff --git a/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild b/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild
index 7dc5bd0..be03d47 100644
--- a/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild
+++ b/chromeos-base/arc-sdcard/arc-sdcard-9999.ebuild
@@ -7,14 +7,14 @@
 CROS_WORKON_LOCALNAME="platform2"
 CROS_WORKON_PROJECT="chromiumos/platform2"
 CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/sdcard .gn"
+CROS_WORKON_SUBTREE="common-mk arc/container/sdcard .gn"
 
-PLATFORM_SUBDIR="arc/sdcard"
+PLATFORM_SUBDIR="arc/container/sdcard"
 
 inherit cros-workon platform
 
 DESCRIPTION="Container to run Android's sdcard daemon."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/sdcard"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/container/sdcard"
 
 LICENSE="BSD-Google"
 KEYWORDS="~*"
diff --git a/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r24.ebuild b/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r24.ebuild
deleted file mode 100644
index 5c84dfb..0000000
--- a/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r24.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "92a9a97f67e8be63fb16a10b1bd601ed2ed31af3" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/sensor_service .gn"
-
-PLATFORM_SUBDIR="arc/vm/sensor_service"
-
-inherit cros-workon platform
-
-DESCRIPTION="ARC sensor service."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/sensor_service"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_install() {
-	dobin "${OUT}"/arc_sensor_service
-
-	insinto /etc/init
-	doins init/arc-sensor-service.conf
-
-	insinto /etc/dbus-1/system.d
-	doins init/dbus-1/org.chromium.ArcSensorService.conf
-}
diff --git a/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r50.ebuild b/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r50.ebuild
new file mode 100644
index 0000000..23dcef7
--- /dev/null
+++ b/chromeos-base/arc-sensor-service/arc-sensor-service-0.0.1-r50.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="dd196af2250030dd395b4dece667eb87afbab09a"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "c4df5a89c2fa9fe19a2f058dd32ea9c45ed9d1b7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/sensor_service .gn"
+
+PLATFORM_SUBDIR="arc/vm/sensor_service"
+
+inherit cros-workon platform
+
+DESCRIPTION="ARC sensor service."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/sensor_service"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	dobin "${OUT}"/arc_sensor_service
+
+	insinto /etc/init
+	doins init/arc-sensor-service.conf
+
+	insinto /etc/dbus-1/system.d
+	doins init/dbus-1/org.chromium.ArcSensorService.conf
+}
diff --git a/chromeos-base/arc-setup/arc-setup-0.0.1-r1065.ebuild b/chromeos-base/arc-setup/arc-setup-0.0.1-r1065.ebuild
deleted file mode 100644
index 30d720a..0000000
--- a/chromeos-base/arc-setup/arc-setup-0.0.1-r1065.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="5be1e6be0e2256c73dd174671471428359561d05"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "4844e0caa0ec6820875f1dc1b32bcf90b72c1eb3" "9b4a2274d7e288e816c42f93f44fb938f82038ff" "aa7d3a7ee39fb0cab54fef530db4dfcbe0cd4515" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk arc/setup chromeos-config metrics .gn"
-
-PLATFORM_NATIVE_TEST="yes"
-PLATFORM_SUBDIR="arc/setup"
-
-inherit cros-workon platform
-
-DESCRIPTION="Set up environment to run ARC."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="
-	arcpp
-	arcvm
-	esdfs
-	fuzzer
-	generated_cros_config
-	houdini
-	houdini64
-	ndk_translation
-	unibuild"
-
-REQUIRED_USE="|| ( arcpp arcvm )"
-
-COMMON_DEPEND="
-	esdfs? ( chromeos-base/arc-sdcard )
-	chromeos-base/bootstat:=
-	chromeos-base/chromeos-config-tools:=
-	chromeos-base/cryptohome-client:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/patchpanel-client:=
-	dev-libs/dbus-glib:=
-	dev-libs/protobuf:=
-	sys-libs/libselinux:=
-	chromeos-base/minijail:=
-"
-
-RDEPEND="${COMMON_DEPEND}
-	chromeos-base/patchpanel
-	arcvm? ( chromeos-base/crosvm )
-	arcpp? (
-		chromeos-base/swap-init
-		esdfs? ( sys-apps/restorecon )
-	)
-"
-
-DEPEND="${COMMON_DEPEND}
-	unibuild? (
-		!generated_cros_config? ( chromeos-base/chromeos-config )
-		generated_cros_config? ( chromeos-base/chromeos-config-bsp:= )
-	)
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-
-enable_esdfs() {
-	[[ -f "$1" ]] || die
-	local data=$(jq ".USE_ESDFS=true" "$1")
-	echo "${data}" > "$1" || die
-}
-
-
-src_install() {
-	# Used for both ARCVM and ARC.
-	dosbin "${OUT}"/arc-remove-data
-	dosbin "${OUT}"/arc-remove-stale-data
-
-	# Some binaries are only for ARCVM
-	if use arcvm; then
-		dosbin "${OUT}"/arc-apply-per-board-config
-		dosbin "${OUT}"/arc-create-data
-		insinto /etc/init
-		doins etc/arc-create-data.conf
-	fi
-
-	# Other files are only for ARC.
-	if use arcpp; then
-		dosbin "${OUT}"/arc-setup
-		insinto /etc/init
-		doins etc/arc-boot-continue.conf
-		doins etc/arc-kmsg-logger.conf
-		doins etc/arc-lifetime.conf
-		doins etc/arc-sensor.conf
-		doins etc/arc-update-restorecon-last.conf
-		if use esdfs; then
-			doins etc/arc-sdcard.conf
-			doins etc/arc-sdcard-mount.conf
-		fi
-		doins etc/arc-sysctl.conf
-		doins etc/arc-system-mount.conf
-		doins etc/arc-ureadahead.conf
-
-		insinto /usr/share/arc-setup
-		doins etc/config.json
-
-		if use esdfs; then
-			enable_esdfs "${D}/usr/share/arc-setup/config.json"
-		fi
-
-		insinto /opt/google/containers/arc-art
-		doins "${OUT}/dev-rootfs.squashfs"
-
-		# container-root is where the root filesystem of the container in which
-		# patchoat and dex2oat runs is mounted. dev-rootfs is mount point
-		# for squashfs.
-		diropts --mode=0700 --owner=root --group=root
-		keepdir /opt/google/containers/arc-art/mountpoints/container-root
-		keepdir /opt/google/containers/arc-art/mountpoints/dev-rootfs
-		keepdir /opt/google/containers/arc-art/mountpoints/vendor
-
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer
-		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_fingerprint_and_sdk_version_fuzzer
-	fi
-
-	insinto /etc/dbus-1/system.d
-	doins etc/dbus-1/ArcUpstart.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/arc-setup_testrunner"
-}
diff --git a/chromeos-base/arc-setup/arc-setup-0.0.1-r1136.ebuild b/chromeos-base/arc-setup/arc-setup-0.0.1-r1136.ebuild
new file mode 100644
index 0000000..f85febe
--- /dev/null
+++ b/chromeos-base/arc-setup/arc-setup-0.0.1-r1136.ebuild
@@ -0,0 +1,140 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="109363d0a03be594cf5611441597c607960c4f3d"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "8e053bc08c1c1a3cabfd68002a489024009a06e1" "4a9d701c1716dbba6b3de3a9927299f399ec4580" "8d228c8e702aebee142bcbf0763a15786eb5b3bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk arc/setup chromeos-config metrics .gn"
+
+PLATFORM_NATIVE_TEST="yes"
+PLATFORM_SUBDIR="arc/setup"
+
+inherit cros-workon platform
+
+DESCRIPTION="Set up environment to run ARC."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/setup"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	arcpp
+	arcvm
+	esdfs
+	fuzzer
+	generated_cros_config
+	houdini
+	houdini64
+	ndk_translation
+	unibuild"
+
+REQUIRED_USE="|| ( arcpp arcvm )"
+
+COMMON_DEPEND="
+	esdfs? ( chromeos-base/arc-sdcard )
+	chromeos-base/bootstat:=
+	chromeos-base/chromeos-config-tools:=
+	chromeos-base/cryptohome-client:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/patchpanel-client:=
+	dev-libs/dbus-glib:=
+	dev-libs/protobuf:=
+	sys-libs/libselinux:=
+	chromeos-base/minijail:=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	!<chromeos-base/arc-common-scripts-0.0.1-r131
+	!<chromeos-base/arcvm-common-scripts-0.0.1-r77
+	chromeos-base/patchpanel
+	arcvm? ( chromeos-base/crosvm )
+	arcpp? (
+		chromeos-base/swap-init
+		esdfs? ( sys-apps/restorecon )
+	)
+"
+
+DEPEND="${COMMON_DEPEND}
+	unibuild? (
+		!generated_cros_config? ( chromeos-base/chromeos-config )
+		generated_cros_config? ( chromeos-base/chromeos-config-bsp:= )
+	)
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+
+enable_esdfs() {
+	[[ -f "$1" ]] || die
+	local data=$(jq ".USE_ESDFS=true" "$1")
+	echo "${data}" > "$1" || die
+}
+
+
+src_install() {
+	# Used for both ARCVM and ARC.
+	dosbin "${OUT}"/arc-remove-data
+	dosbin "${OUT}"/arc-remove-stale-data
+	insinto /etc/init
+	doins init/arc-remove-data.conf
+	doins init/arc-stale-directory-remover.conf
+
+	# Some binaries are only for ARCVM
+	if use arcvm; then
+		dosbin "${OUT}"/arc-apply-per-board-config
+		dosbin "${OUT}"/arc-create-data
+		dosbin "${OUT}"/arc-handle-upgrade
+		insinto /etc/init
+		doins init/arcvm-per-board-features.conf
+		doins init/arc-create-data.conf
+		doins init/arc-handle-upgrade.conf
+		insinto /etc/dbus-1/system.d
+		doins init/dbus-1/ArcVmSetupUpstart.conf
+	fi
+
+	# Other files are only for ARC.
+	if use arcpp; then
+		dosbin "${OUT}"/arc-setup
+		insinto /etc/init
+		doins init/arc-boot-continue.conf
+		doins init/arc-lifetime.conf
+		doins init/arc-update-restorecon-last.conf
+		if use esdfs; then
+			doins init/arc-sdcard.conf
+			doins init/arc-sdcard-mount.conf
+		fi
+		doins init/arc-system-mount.conf
+		insinto /etc/dbus-1/system.d
+		doins init/dbus-1/ArcSetupUpstart.conf
+
+		insinto /usr/share/arc-setup
+		doins init/arc-setup/config.json
+
+		if use esdfs; then
+			enable_esdfs "${D}/usr/share/arc-setup/config.json"
+		fi
+
+		insinto /opt/google/containers/arc-art
+		doins "${OUT}/dev-rootfs.squashfs"
+
+		# container-root is where the root filesystem of the container in which
+		# patchoat and dex2oat runs is mounted. dev-rootfs is mount point
+		# for squashfs.
+		diropts --mode=0700 --owner=root --group=root
+		keepdir /opt/google/containers/arc-art/mountpoints/container-root
+		keepdir /opt/google/containers/arc-art/mountpoints/dev-rootfs
+		keepdir /opt/google/containers/arc-art/mountpoints/vendor
+
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_fingerprint_and_sdk_version_fuzzer
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_property_util_expand_property_contents_fuzzer
+	fi
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/arc-setup_testrunner"
+}
diff --git a/chromeos-base/arc-setup/arc-setup-9999.ebuild b/chromeos-base/arc-setup/arc-setup-9999.ebuild
index c0922f5..52541c2 100644
--- a/chromeos-base/arc-setup/arc-setup-9999.ebuild
+++ b/chromeos-base/arc-setup/arc-setup-9999.ebuild
@@ -47,6 +47,8 @@
 "
 
 RDEPEND="${COMMON_DEPEND}
+	!<chromeos-base/arc-common-scripts-0.0.1-r131
+	!<chromeos-base/arcvm-common-scripts-0.0.1-r77
 	chromeos-base/patchpanel
 	arcvm? ( chromeos-base/crosvm )
 	arcpp? (
@@ -75,34 +77,40 @@
 	# Used for both ARCVM and ARC.
 	dosbin "${OUT}"/arc-remove-data
 	dosbin "${OUT}"/arc-remove-stale-data
+	insinto /etc/init
+	doins init/arc-remove-data.conf
+	doins init/arc-stale-directory-remover.conf
 
 	# Some binaries are only for ARCVM
 	if use arcvm; then
 		dosbin "${OUT}"/arc-apply-per-board-config
 		dosbin "${OUT}"/arc-create-data
+		dosbin "${OUT}"/arc-handle-upgrade
 		insinto /etc/init
-		doins etc/arc-create-data.conf
+		doins init/arcvm-per-board-features.conf
+		doins init/arc-create-data.conf
+		doins init/arc-handle-upgrade.conf
+		insinto /etc/dbus-1/system.d
+		doins init/dbus-1/ArcVmSetupUpstart.conf
 	fi
 
 	# Other files are only for ARC.
 	if use arcpp; then
 		dosbin "${OUT}"/arc-setup
 		insinto /etc/init
-		doins etc/arc-boot-continue.conf
-		doins etc/arc-kmsg-logger.conf
-		doins etc/arc-lifetime.conf
-		doins etc/arc-sensor.conf
-		doins etc/arc-update-restorecon-last.conf
+		doins init/arc-boot-continue.conf
+		doins init/arc-lifetime.conf
+		doins init/arc-update-restorecon-last.conf
 		if use esdfs; then
-			doins etc/arc-sdcard.conf
-			doins etc/arc-sdcard-mount.conf
+			doins init/arc-sdcard.conf
+			doins init/arc-sdcard-mount.conf
 		fi
-		doins etc/arc-sysctl.conf
-		doins etc/arc-system-mount.conf
-		doins etc/arc-ureadahead.conf
+		doins init/arc-system-mount.conf
+		insinto /etc/dbus-1/system.d
+		doins init/dbus-1/ArcSetupUpstart.conf
 
 		insinto /usr/share/arc-setup
-		doins etc/config.json
+		doins init/arc-setup/config.json
 
 		if use esdfs; then
 			enable_esdfs "${D}/usr/share/arc-setup/config.json"
@@ -121,10 +129,8 @@
 
 		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_all_properties_fuzzer
 		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_setup_util_find_fingerprint_and_sdk_version_fuzzer
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}"/arc_property_util_expand_property_contents_fuzzer
 	fi
-
-	insinto /etc/dbus-1/system.d
-	doins etc/dbus-1/ArcUpstart.conf
 }
 
 platform_pkg_test() {
diff --git a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r45.ebuild b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r45.ebuild
deleted file mode 100644
index e05444d..0000000
--- a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r45.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "a168325216d22eca49bd5430736299e318967f42" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/boot_notification_server .gn"
-
-PLATFORM_SUBDIR="arc/vm/boot_notification_server"
-
-inherit cros-workon platform user
-
-DESCRIPTION="ARCVM boot notification server"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/boot_notification_server"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-SLOT="0/0"
-IUSE="+seccomp"
-
-src_install() {
-	newsbin "${OUT}/boot_notification_server" arcvm_boot_notification_server
-
-	insinto /etc/init
-	doins arcvm-boot-notification-server.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus-1/ArcVmBootNotificationServer.conf
-
-	insinto /usr/share/policy
-	use seccomp && newins "arcvm_boot_notification_server-seccomp-${ARCH}.policy" arcvm_boot_notification_server-seccomp.policy
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/boot_notification_server_testrunner"
-}
-
-pkg_preinst() {
-	enewuser arcvm-boot-notification-server
-	enewgroup arcvm-boot-notification-server
-}
diff --git a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r71.ebuild b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r71.ebuild
new file mode 100644
index 0000000..9d55915
--- /dev/null
+++ b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-0.0.1-r71.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "546ca65e6631a7978be69ea8f13df0d99a1bc230" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/boot_notification_server .gn"
+
+PLATFORM_SUBDIR="arc/vm/boot_notification_server"
+
+inherit cros-workon platform user
+
+DESCRIPTION="ARCVM boot notification server"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/boot_notification_server"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+SLOT="0/0"
+IUSE="+seccomp"
+
+src_install() {
+	newsbin "${OUT}/boot_notification_server" arcvm_boot_notification_server
+
+	insinto /etc/init
+	doins arcvm-boot-notification-server.conf
+
+	insinto /usr/share/policy
+	use seccomp && newins "arcvm_boot_notification_server-seccomp-${ARCH}.policy" arcvm_boot_notification_server-seccomp.policy
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/boot_notification_server_testrunner"
+}
+
+pkg_preinst() {
+	enewuser arcvm-boot-notification-server
+	enewgroup arcvm-boot-notification-server
+}
diff --git a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild
index 498fca6..91c8fbb 100644
--- a/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild
+++ b/chromeos-base/arcvm-boot-notification-server/arcvm-boot-notification-server-9999.ebuild
@@ -28,9 +28,6 @@
 	insinto /etc/init
 	doins arcvm-boot-notification-server.conf
 
-	insinto /etc/dbus-1/system.d
-	doins dbus-1/ArcVmBootNotificationServer.conf
-
 	insinto /usr/share/policy
 	use seccomp && newins "arcvm_boot_notification_server-seccomp-${ARCH}.policy" arcvm_boot_notification_server-seccomp.policy
 }
diff --git a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r104.ebuild b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r104.ebuild
new file mode 100644
index 0000000..101fb47
--- /dev/null
+++ b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r104.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="891275e43ab2ed3070c377dd889259604911e046"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "ecb73efb7df94308415446f7ae5df12d18f3f098" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/scripts .gn"
+
+inherit cros-workon
+
+DESCRIPTION="ARCVM common scripts."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	${RDEPEND}
+	!<=chromeos-base/arc-base-0.0.1-r349
+	!<=chromeos-base/arc-common-scripts-0.0.1-r132
+	chromeos-base/arcvm-mount-media-dirs
+"
+
+src_install() {
+	dosbin arc/vm/scripts/android-sh
+
+	insinto /etc/init
+	doins arc/vm/scripts/init/arcvm-fsverity-certs.conf
+	doins arc/vm/scripts/init/arcvm-host.conf
+	doins arc/vm/scripts/init/arcvm-post-login-services.conf
+	doins arc/vm/scripts/init/arcvm-post-vm-start-services.conf
+	doins arc/vm/scripts/init/arcvm-pre-login-services.conf
+	doins arc/vm/scripts/init/arcvm-ureadahead.conf
+
+	insinto /etc/dbus-1/system.d
+	doins arc/vm/scripts/init/dbus-1/ArcVmScripts.conf
+
+	insinto /usr/share/arcvm
+	doins arc/vm/scripts/init/config.json
+
+	insinto /usr/share/arcvm/fsverity-certs
+	doins arc/vm/scripts/init/certs/fsverity-release.x509.der
+	doins arc/vm/scripts/init/certs/play_store_fsi_cert.der
+
+	# Redirect ARCVM logs to arc.log.
+	insinto /etc/rsyslog.d
+	doins arc/vm/scripts/rsyslog.arc.conf
+}
diff --git a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r70.ebuild b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r70.ebuild
deleted file mode 100644
index 448ec85..0000000
--- a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-0.0.1-r70.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "978d0f831d0c93f7e13fe8fdf8fb48ed88c2df31" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/scripts .gn"
-
-inherit cros-workon
-
-DESCRIPTION="ARCVM common scripts."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	${RDEPEND}
-	chromeos-base/arc-setup
-	chromeos-base/arcvm-mount-media-dirs
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/vm/scripts/init/arcvm-fsverity-certs.conf
-	doins arc/vm/scripts/init/arcvm-host.conf
-	doins arc/vm/scripts/init/arcvm-per-board-features.conf
-	doins arc/vm/scripts/init/arcvm-ureadahead.conf
-
-	insinto /usr/share/arcvm
-	doins arc/vm/scripts/init/config.json
-
-	insinto /usr/share/arcvm/fsverity-certs
-	doins arc/vm/scripts/init/certs/fsverity-release.x509.der
-	doins arc/vm/scripts/init/certs/play_store_fsi_cert.der
-
-	insinto /etc/dbus-1/system.d
-	doins arc/vm/scripts/init/dbus-1/ArcVmScripts.conf
-}
diff --git a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild
index ed5014d..74752d8 100644
--- a/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild
+++ b/chromeos-base/arcvm-common-scripts/arcvm-common-scripts-9999.ebuild
@@ -19,17 +19,25 @@
 
 RDEPEND="
 	${RDEPEND}
-	chromeos-base/arc-setup
+	!<=chromeos-base/arc-base-0.0.1-r349
+	!<=chromeos-base/arc-common-scripts-0.0.1-r132
 	chromeos-base/arcvm-mount-media-dirs
 "
 
 src_install() {
+	dosbin arc/vm/scripts/android-sh
+
 	insinto /etc/init
 	doins arc/vm/scripts/init/arcvm-fsverity-certs.conf
 	doins arc/vm/scripts/init/arcvm-host.conf
-	doins arc/vm/scripts/init/arcvm-per-board-features.conf
+	doins arc/vm/scripts/init/arcvm-post-login-services.conf
+	doins arc/vm/scripts/init/arcvm-post-vm-start-services.conf
+	doins arc/vm/scripts/init/arcvm-pre-login-services.conf
 	doins arc/vm/scripts/init/arcvm-ureadahead.conf
 
+	insinto /etc/dbus-1/system.d
+	doins arc/vm/scripts/init/dbus-1/ArcVmScripts.conf
+
 	insinto /usr/share/arcvm
 	doins arc/vm/scripts/init/config.json
 
@@ -37,6 +45,7 @@
 	doins arc/vm/scripts/init/certs/fsverity-release.x509.der
 	doins arc/vm/scripts/init/certs/play_store_fsi_cert.der
 
-	insinto /etc/dbus-1/system.d
-	doins arc/vm/scripts/init/dbus-1/ArcVmScripts.conf
+	# Redirect ARCVM logs to arc.log.
+	insinto /etc/rsyslog.d
+	doins arc/vm/scripts/rsyslog.arc.conf
 }
diff --git a/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-0.0.1-r41.ebuild b/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-0.0.1-r41.ebuild
new file mode 100644
index 0000000..1d85719
--- /dev/null
+++ b/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-0.0.1-r41.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b52f5cd0677f40bb863e7f8a9308f344fd5520c6"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "fbd3e931f69a0bf810c1f26f1aa1368486c77944" "ae1f8f0fd10bc02bc924cdd421366393d90769bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/forward-pstore vm_tools .gn"
+
+PLATFORM_SUBDIR="arc/vm/forward-pstore"
+
+inherit cros-workon platform
+
+DESCRIPTION="Forwards pstore file for ARCVM after upgrade."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/forward-pstore"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+SLOT="0/0"
+IUSE="+seccomp"
+
+RDEPEND="
+	dev-libs/protobuf:=
+"
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=
+	chromeos-base/vm_protos:=
+"
+
+src_install() {
+	newsbin "${OUT}/arcvm-forward-pstore" arcvm-forward-pstore
+
+	insinto /etc/init
+	doins arcvm-forward-pstore.conf
+
+	# Install DBUS configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.ArcVmForwardPstore.conf
+
+	# Install seccomp policy
+	insinto /usr/share/policy
+	use seccomp && newins "seccomp-${ARCH}.policy" arcvm-forward-pstore-seccomp.policy
+}
diff --git a/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-9999.ebuild b/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-9999.ebuild
new file mode 100644
index 0000000..bed9603
--- /dev/null
+++ b/chromeos-base/arcvm-forward-pstore/arcvm-forward-pstore-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/forward-pstore vm_tools .gn"
+
+PLATFORM_SUBDIR="arc/vm/forward-pstore"
+
+inherit cros-workon platform
+
+DESCRIPTION="Forwards pstore file for ARCVM after upgrade."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/arc/vm/forward-pstore"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+SLOT="0/0"
+IUSE="+seccomp"
+
+RDEPEND="
+	dev-libs/protobuf:=
+"
+DEPEND="
+	${RDEPEND}
+	chromeos-base/system_api:=
+	chromeos-base/vm_protos:=
+"
+
+src_install() {
+	newsbin "${OUT}/arcvm-forward-pstore" arcvm-forward-pstore
+
+	insinto /etc/init
+	doins arcvm-forward-pstore.conf
+
+	# Install DBUS configuration file.
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.ArcVmForwardPstore.conf
+
+	# Install seccomp policy
+	insinto /usr/share/policy
+	use seccomp && newins "seccomp-${ARCH}.policy" arcvm-forward-pstore-seccomp.policy
+}
diff --git a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r4.ebuild b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r4.ebuild
new file mode 100644
index 0000000..65c0832
--- /dev/null
+++ b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-0.0.1-r4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="b05e4a6b92b2cfe608b6cd8d5d37168680fc080e"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "0598f6aab193a1da93fd10036c100a1d800350bc" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/mojo_proxy .gn"
+
+PLATFORM_SUBDIR="arc/vm/mojo_proxy"
+
+inherit cros-workon platform
+
+DESCRIPTION="ARCVM mojo proxy."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/mojo_proxy"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+# This package was renamed from  arcvm-vsock-proxy. Put a blocker to uninstall
+# the old package.
+# TODO(hashimoto): Remove this blocker later.
+RDEPEND="
+	!chromeos-base/arcvm-vsock-proxy
+
+	dev-libs/protobuf:=
+	sys-fs/fuse
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	newbin "${OUT}"/server_proxy arcvm_server_proxy
+
+	insinto /etc/init
+	doins init/arcvm-server-proxy.conf
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/mojo_proxy_test"
+}
diff --git a/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild
new file mode 100644
index 0000000..a86099f
--- /dev/null
+++ b/chromeos-base/arcvm-mojo-proxy/arcvm-mojo-proxy-9999.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/mojo_proxy .gn"
+
+PLATFORM_SUBDIR="arc/vm/mojo_proxy"
+
+inherit cros-workon platform
+
+DESCRIPTION="ARCVM mojo proxy."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/mojo_proxy"
+
+LICENSE="BSD-Google"
+KEYWORDS="~*"
+
+# This package was renamed from  arcvm-vsock-proxy. Put a blocker to uninstall
+# the old package.
+# TODO(hashimoto): Remove this blocker later.
+RDEPEND="
+	!chromeos-base/arcvm-vsock-proxy
+
+	dev-libs/protobuf:=
+	sys-fs/fuse
+"
+
+DEPEND="
+	${RDEPEND}
+"
+
+src_install() {
+	newbin "${OUT}"/server_proxy arcvm_server_proxy
+
+	insinto /etc/init
+	doins init/arcvm-server-proxy.conf
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/mojo_proxy_test"
+}
diff --git a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r10.ebuild b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r10.ebuild
deleted file mode 100644
index df63dc7..0000000
--- a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r10.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "e5fb965a42d43476ed5eca63c1e3a45e813b5ed7" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/scripts/init/mount-media-dirs .gn"
-
-inherit cros-workon
-
-DESCRIPTION="Mount media directories on a mount point shared with ARCVM."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts/init/mount-media-dirs"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	chromeos-base/mount-passthrough
-"
-
-src_install() {
-	insinto /etc/init
-	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-myfiles.conf
-	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-removable-media.conf
-
-	insinto /etc/dbus-1/system.d
-	doins arc/vm/scripts/init/mount-media-dirs/dbus-1/ArcVmMountMediaDirs.conf
-}
diff --git a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r39.ebuild b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r39.ebuild
new file mode 100644
index 0000000..17e8a2e
--- /dev/null
+++ b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-0.0.1-r39.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="891275e43ab2ed3070c377dd889259604911e046"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "c9f42ec607fcaf0dc1770080e49f9705bf7c5301" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk arc/vm/scripts/init/mount-media-dirs .gn"
+
+inherit cros-workon
+
+DESCRIPTION="Mount media directories on a mount point shared with ARCVM."
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/scripts/init/mount-media-dirs"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND="
+	chromeos-base/mount-passthrough
+"
+
+src_install() {
+	insinto /etc/init
+	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-myfiles.conf
+	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-removable-media.conf
+}
diff --git a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild
index befde1b..a2f9aa5 100644
--- a/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild
+++ b/chromeos-base/arcvm-mount-media-dirs/arcvm-mount-media-dirs-9999.ebuild
@@ -25,7 +25,4 @@
 	insinto /etc/init
 	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-myfiles.conf
 	doins arc/vm/scripts/init/mount-media-dirs/arcvm-mount-removable-media.conf
-
-	insinto /etc/dbus-1/system.d
-	doins arc/vm/scripts/init/mount-media-dirs/dbus-1/ArcVmMountMediaDirs.conf
 }
diff --git a/chromeos-base/arcvm-vsock-proxy/arcvm-vsock-proxy-0.0.1-r141.ebuild b/chromeos-base/arcvm-vsock-proxy/arcvm-vsock-proxy-0.0.1-r141.ebuild
deleted file mode 100644
index 600ed09..0000000
--- a/chromeos-base/arcvm-vsock-proxy/arcvm-vsock-proxy-0.0.1-r141.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "be73fa8e4deddec2ff667a0fdce86587b25185ce" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/vsock_proxy .gn"
-
-PLATFORM_SUBDIR="arc/vm/vsock_proxy"
-
-inherit cros-workon platform
-
-DESCRIPTION="ARCVM vsock proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/vsock_proxy"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND="
-	dev-libs/protobuf:=
-	sys-fs/fuse
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_install() {
-	newbin "${OUT}"/server_proxy arcvm_server_proxy
-
-	insinto /etc/init
-	doins init/arcvm-server-proxy.conf
-
-	insinto /etc/dbus-1/system.d
-	doins init/dbus-1/ArcVmServerProxy.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/vsock_proxy_test"
-}
diff --git a/chromeos-base/arcvm-vsock-proxy/arcvm-vsock-proxy-9999.ebuild b/chromeos-base/arcvm-vsock-proxy/arcvm-vsock-proxy-9999.ebuild
deleted file mode 100644
index 7e87f2c..0000000
--- a/chromeos-base/arcvm-vsock-proxy/arcvm-vsock-proxy-9999.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_INCREMENTAL_BUILD="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk arc/vm/vsock_proxy .gn"
-
-PLATFORM_SUBDIR="arc/vm/vsock_proxy"
-
-inherit cros-workon platform
-
-DESCRIPTION="ARCVM vsock proxy."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/arc/vm/vsock_proxy"
-
-LICENSE="BSD-Google"
-KEYWORDS="~*"
-
-RDEPEND="
-	dev-libs/protobuf:=
-	sys-fs/fuse
-"
-
-DEPEND="
-	${RDEPEND}
-"
-
-src_install() {
-	newbin "${OUT}"/server_proxy arcvm_server_proxy
-
-	insinto /etc/init
-	doins init/arcvm-server-proxy.conf
-
-	insinto /etc/dbus-1/system.d
-	doins init/dbus-1/ArcVmServerProxy.conf
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/vsock_proxy_test"
-}
diff --git a/chromeos-base/atrusctl/atrusctl-0.0.1-r922.ebuild b/chromeos-base/atrusctl/atrusctl-0.0.1-r922.ebuild
deleted file mode 100644
index 802dd06..0000000
--- a/chromeos-base/atrusctl/atrusctl-0.0.1-r922.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("d290f731c4d623269bf6a259a351bf92eb5f4854" "253d94997802b60d5a05ec7f86095a6bc6c404fa")
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "93173ba661d72e8a1f0ef822b38cce252deea172")
-CROS_WORKON_LOCALNAME=("platform2" "third_party/atrusctl")
-CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/atrusctl")
-CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/atrusctl")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_SUBTREE=("common-mk .gn" "")
-
-PLATFORM_SUBDIR="atrusctl"
-
-inherit cros-workon platform udev user
-
-DESCRIPTION="CrOS daemon for the Atrus speakerphone"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/atrusctl/"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-DEPEND="
-	virtual/libusb:1
-	virtual/libudev:0=
-"
-RDEPEND="
-	${DEPEND}
-	!sys-apps/atrusctl
-"
-
-src_install() {
-	dosbin "${OUT}/atrusd"
-
-	insinto /etc/rsyslog.d
-	newins conf/rsyslog-atrus.conf atrus.conf
-
-	udev_newrules conf/udev-atrus.rules 99-atrus.rules
-
-	insinto /etc/init
-	doins init/atrusd.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus_permissions/org.chromium.Atrusctl.conf
-}
-
-pkg_preinst() {
-	enewuser atrus
-	enewgroup atrus
-}
diff --git a/chromeos-base/atrusctl/atrusctl-0.0.1-r946.ebuild b/chromeos-base/atrusctl/atrusctl-0.0.1-r946.ebuild
new file mode 100644
index 0000000..9b1b5fa
--- /dev/null
+++ b/chromeos-base/atrusctl/atrusctl-0.0.1-r946.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("3878b0f0387af837629fbf9b68fb4c7bf6e29c6c" "c50a9b98e7025a59f10f7d1d9f844dc48dd05645")
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "bf3ca2cf751d3dcbf605278a8a41d0851e52d360")
+CROS_WORKON_LOCALNAME=("platform2" "third_party/atrusctl")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "chromiumos/third_party/atrusctl")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/atrusctl")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="atrusctl"
+
+inherit cros-workon platform udev user
+
+DESCRIPTION="CrOS daemon for the Atrus speakerphone"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/atrusctl/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+DEPEND="
+	virtual/libusb:1
+	virtual/libudev:0=
+"
+RDEPEND="
+	${DEPEND}
+	!sys-apps/atrusctl
+"
+
+src_install() {
+	dosbin "${OUT}/atrusd"
+
+	insinto /etc/rsyslog.d
+	newins conf/rsyslog-atrus.conf atrus.conf
+
+	udev_newrules conf/udev-atrus.rules 99-atrus.rules
+
+	insinto /etc/init
+	doins init/atrusd.conf
+
+	insinto /etc/dbus-1/system.d
+	doins dbus_permissions/org.chromium.Atrusctl.conf
+}
+
+pkg_preinst() {
+	enewuser atrus
+	enewgroup atrus
+}
diff --git a/chromeos-base/attestation-client/attestation-client-0.0.1-r218.ebuild b/chromeos-base/attestation-client/attestation-client-0.0.1-r218.ebuild
deleted file mode 100644
index a5f864d..0000000
--- a/chromeos-base/attestation-client/attestation-client-0.0.1-r218.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2019 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "264bb1bf0f00bb187ac184fd6dedeffeba8be970" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk attestation .gn"
-
-PLATFORM_SUBDIR="attestation/client"
-
-inherit cros-workon platform
-
-DESCRIPTION="Attestation D-Bus client library for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/client/"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="cros_host"
-
-# D-Bus proxies generated by this client library depend on the code generator
-# itself (chromeos-dbus-bindings) and produce header files that rely on
-# libbrillo library, hence both dependencies. We require the particular
-# revision because libbrillo-0.0.1-r1 changed location of header files from
-# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
-# code using the new location.
-DEPEND="
-	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
-	chromeos-base/libbrillo:=
-"
-
-# Note that for RDEPEND, we conflict with attestation package older than
-# 0.0.1 because this client is incompatible with daemon older than version
-# 0.0.1. We didn't RDEPEND on attestation version 0.0.1 or greater because
-# we don't want to create circular dependency in case the package attestation
-# depends on some package foo that also depend on this package.
-RDEPEND="
-	!<chromeos-base/attestation-0.0.1
-	chromeos-base/libbrillo:=
-"
-
-src_install() {
-	# Install D-Bus client library.
-	platform_install_dbus_client_lib "attestation"
-}
diff --git a/chromeos-base/attestation-client/attestation-client-0.0.1-r260.ebuild b/chromeos-base/attestation-client/attestation-client-0.0.1-r260.ebuild
new file mode 100644
index 0000000..bc2f6f6
--- /dev/null
+++ b/chromeos-base/attestation-client/attestation-client-0.0.1-r260.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="93c9e332867c5b0b8283c37f7d5ce1bb4b13e074"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "e2d4b5c2a34733c2112e0a9a8d0a2171f90ec316" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk attestation .gn"
+
+PLATFORM_SUBDIR="attestation/client"
+
+inherit cros-workon platform
+
+DESCRIPTION="Attestation D-Bus client library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/client/"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_host"
+
+# D-Bus proxies generated by this client library depend on the code generator
+# itself (chromeos-dbus-bindings) and produce header files that rely on
+# libbrillo library, hence both dependencies. We require the particular
+# revision because libbrillo-0.0.1-r1 changed location of header files from
+# chromeos/ to brillo/ and chromeos-dbus-bindings-0.0.1-r1058 generates the
+# code using the new location.
+DEPEND="
+	cros_host? ( >=chromeos-base/chromeos-dbus-bindings-0.0.1-r1058 )
+	chromeos-base/libbrillo:=
+"
+
+# Note that for RDEPEND, we conflict with attestation package older than
+# 0.0.1 because this client is incompatible with daemon older than version
+# 0.0.1. We didn't RDEPEND on attestation version 0.0.1 or greater because
+# we don't want to create circular dependency in case the package attestation
+# depends on some package foo that also depend on this package.
+RDEPEND="
+	!<chromeos-base/attestation-0.0.1
+	chromeos-base/libbrillo:=
+"
+
+src_install() {
+	# Install D-Bus client library.
+	platform_install_dbus_client_lib "attestation"
+}
diff --git a/chromeos-base/attestation/attestation-0.0.1-r2953.ebuild b/chromeos-base/attestation/attestation-0.0.1-r2953.ebuild
deleted file mode 100644
index 79455ea..0000000
--- a/chromeos-base/attestation/attestation-0.0.1-r2953.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="7d3a2b277f2f4d779beeacf456ea6ecb14799302"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "264bb1bf0f00bb187ac184fd6dedeffeba8be970" "e62cbc37d070a3060cb35a6478a549702a115b7c" "59ded4c8a6ec924cce82ba942070e51132ca1161" "aa7d3a7ee39fb0cab54fef530db4dfcbe0cd4515" "edc7cb44d79ffd2cc72fbe7b6b0ef1bc1505d01e" "e8a973464784e588992988988eb26cfa0cf5f67b" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk attestation chaps libhwsec metrics tpm_manager trunks .gn"
-
-PLATFORM_SUBDIR="attestation"
-
-inherit cros-workon libchrome platform user
-
-DESCRIPTION="Attestation service for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/"
-
-LICENSE="Apache-2.0"
-KEYWORDS="*"
-IUSE="test tpm tpm2"
-
-REQUIRED_USE="tpm2? ( !tpm )"
-
-RDEPEND="
-	tpm? (
-		app-crypt/trousers:=
-	)
-	tpm2? (
-		chromeos-base/trunks:=
-	)
-	chromeos-base/chaps:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	chromeos-base/minijail:=
-	chromeos-base/tpm_manager:=
-	"
-
-DEPEND="
-	${RDEPEND}
-	test? ( chromeos-base/libhwsec:= )
-	chromeos-base/vboot_reference:=
-	tpm2? (
-		chromeos-base/trunks:=[test?]
-		chromeos-base/chromeos-ec-headers:=
-	)
-	"
-
-pkg_preinst() {
-	# Create user and group for attestation.
-	enewuser "attestation"
-	enewgroup "attestation"
-	# Create group for /mnt/stateful_partition/unencrypted/preserve.
-	enewgroup "preserve"
-}
-
-src_install() {
-	insinto /etc/dbus-1/system.d
-	doins server/org.chromium.Attestation.conf
-
-	insinto /etc/init
-	doins server/attestationd.conf
-
-	dosbin "${OUT}"/attestationd
-	dobin "${OUT}"/attestation_client
-
-	insinto /usr/share/policy
-	newins server/attestationd-seccomp-${ARCH}.policy attestationd-seccomp.policy
-
-	insinto /etc/dbus-1/system.d
-	doins pca_agent/server/org.chromium.PcaAgent.conf
-	insinto /etc/init
-	doins pca_agent/server/pca_agentd.conf
-	dosbin "${OUT}"/pca_agentd
-	dobin "${OUT}"/pca_agent_client
-
-	dolib.so "${OUT}"/lib/libattestation.so
-
-
-	insinto /usr/include/attestation/client
-	doins client/dbus_proxy.h
-	insinto /usr/include/attestation/common
-	doins common/attestation_interface.h
-	doins common/print_attestation_ca_proto.h
-	doins common/print_interface_proto.h
-	doins common/print_keystore_proto.h
-
-	# Install the generated dbus-binding for fake pca agent.
-	# It does no harm to install the header even for non-test image build.
-	insinto /usr/include/attestation/pca-agent/dbus_adaptors
-	doins "${OUT}"/gen/include/attestation/pca-agent/dbus_adaptors/org.chromium.PcaAgent.h
-
-	insinto /usr/share/policy
-	newins "pca_agent/server/pca_agentd-seccomp-${ARCH}.policy" pca_agentd-seccomp.policy
-}
-
-platform_pkg_test() {
-	local tests=(
-		attestation_testrunner
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-}
diff --git a/chromeos-base/attestation/attestation-0.0.1-r3041.ebuild b/chromeos-base/attestation/attestation-0.0.1-r3041.ebuild
new file mode 100644
index 0000000..857afa1
--- /dev/null
+++ b/chromeos-base/attestation/attestation-0.0.1-r3041.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="5fc770072f3c76a5fff2f346ec832ddc44970226"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "e2d4b5c2a34733c2112e0a9a8d0a2171f90ec316" "5956de9997bc0735d9aeff6edc4d0098fb571b9b" "989d840598227b15d78525d5f92c806011a9c158" "8d228c8e702aebee142bcbf0763a15786eb5b3bb" "e3bf102d9535965e9911dc352202c6927e8f5514" "20ed8021024637e492670d20fa5969a2ad75e4b6" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk attestation chaps libhwsec metrics tpm_manager trunks .gn"
+
+PLATFORM_SUBDIR="attestation"
+
+inherit cros-workon libchrome platform user
+
+DESCRIPTION="Attestation service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/attestation/"
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE="test tpm tpm2"
+
+REQUIRED_USE="tpm2? ( !tpm )"
+
+RDEPEND="
+	tpm? (
+		app-crypt/trousers:=
+	)
+	tpm2? (
+		chromeos-base/trunks:=
+	)
+	chromeos-base/chaps:=
+	chromeos-base/system_api:=[fuzzer?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	chromeos-base/minijail:=
+	chromeos-base/tpm_manager:=
+	"
+
+DEPEND="
+	${RDEPEND}
+	test? ( chromeos-base/libhwsec:= )
+	chromeos-base/vboot_reference:=
+	tpm2? (
+		chromeos-base/trunks:=[test?]
+		chromeos-base/chromeos-ec-headers:=
+	)
+	"
+
+pkg_preinst() {
+	# Create user and group for attestation.
+	enewuser "attestation"
+	enewgroup "attestation"
+	# Create group for /mnt/stateful_partition/unencrypted/preserve.
+	enewgroup "preserve"
+}
+
+src_install() {
+	insinto /etc/dbus-1/system.d
+	doins server/org.chromium.Attestation.conf
+
+	insinto /etc/init
+	doins server/attestationd.conf
+
+	dosbin "${OUT}"/attestationd
+	dobin "${OUT}"/attestation_client
+
+	insinto /usr/share/policy
+	newins server/attestationd-seccomp-${ARCH}.policy attestationd-seccomp.policy
+
+	insinto /etc/dbus-1/system.d
+	doins pca_agent/server/org.chromium.PcaAgent.conf
+	insinto /etc/init
+	doins pca_agent/server/pca_agentd.conf
+	dosbin "${OUT}"/pca_agentd
+	dobin "${OUT}"/pca_agent_client
+
+	dolib.so "${OUT}"/lib/libattestation.so
+
+
+	insinto /usr/include/attestation/client
+	doins client/dbus_proxy.h
+	insinto /usr/include/attestation/common
+	doins common/attestation_interface.h
+	doins common/print_attestation_ca_proto.h
+	doins common/print_interface_proto.h
+	doins common/print_keystore_proto.h
+
+	# Install the generated dbus-binding for fake pca agent.
+	# It does no harm to install the header even for non-test image build.
+	insinto /usr/include/attestation/pca-agent/dbus_adaptors
+	doins "${OUT}"/gen/include/attestation/pca-agent/dbus_adaptors/org.chromium.PcaAgent.h
+
+	insinto /usr/share/policy
+	newins "pca_agent/server/pca_agentd-seccomp-${ARCH}.policy" pca_agentd-seccomp.policy
+}
+
+platform_pkg_test() {
+	local tests=(
+		attestation_testrunner
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
diff --git a/chromeos-base/attestation/attestation-9999.ebuild b/chromeos-base/attestation/attestation-9999.ebuild
index 0ee6186..70b2a53 100644
--- a/chromeos-base/attestation/attestation-9999.ebuild
+++ b/chromeos-base/attestation/attestation-9999.ebuild
@@ -31,6 +31,7 @@
 		chromeos-base/trunks:=
 	)
 	chromeos-base/chaps:=
+	chromeos-base/system_api:=[fuzzer?]
 	>=chromeos-base/metrics-0.0.1-r3152:=
 	chromeos-base/minijail:=
 	chromeos-base/tpm_manager:=
diff --git a/chromeos-base/audiotest/audiotest-0.0.1-r87.ebuild b/chromeos-base/audiotest/audiotest-0.0.1-r87.ebuild
deleted file mode 100644
index 49ad32c..0000000
--- a/chromeos-base/audiotest/audiotest-0.0.1-r87.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="dffe5443fd32a8dd17a089a4017dde3508cf17ec"
-CROS_WORKON_TREE="4c65ec62ee9747708372e195bc82934408b704b0"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_PROJECT="chromiumos/platform/audiotest"
-CROS_WORKON_LOCALNAME="platform/audiotest"
-
-inherit cros-sanitizers cros-workon cros-common.mk
-
-DESCRIPTION="Audio test tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/audiotest"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan"
-
-RDEPEND="media-libs/alsa-lib
-	media-sound/adhd"
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
-
-src_install() {
-	# Install built tools
-	pushd "${OUT}" >/dev/null
-	dobin src/alsa_api_test
-	dobin alsa_conformance_test/alsa_conformance_test
-	dobin src/alsa_helpers
-	dobin src/audiofuntest
-	dobin src/cras_api_test
-	dobin src/loopback_latency
-	dobin script/alsa_conformance_test.py
-	popd >/dev/null
-}
diff --git a/chromeos-base/audiotest/audiotest-0.0.1-r90.ebuild b/chromeos-base/audiotest/audiotest-0.0.1-r90.ebuild
new file mode 100644
index 0000000..040544e
--- /dev/null
+++ b/chromeos-base/audiotest/audiotest-0.0.1-r90.ebuild
@@ -0,0 +1,42 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="254f8cbe7baba9e9263a23901e7cf33314ff00dd"
+CROS_WORKON_TREE="73626da07ec9a713034e026f65d181db14f62037"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_PROJECT="chromiumos/platform/audiotest"
+CROS_WORKON_LOCALNAME="platform/audiotest"
+
+inherit cros-sanitizers cros-workon cros-common.mk
+
+DESCRIPTION="Audio test tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/audiotest"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan"
+
+RDEPEND="media-libs/alsa-lib
+	media-sound/adhd"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
+
+src_install() {
+	# Install built tools
+	pushd "${OUT}" >/dev/null
+	dobin src/alsa_api_test
+	dobin alsa_conformance_test/alsa_conformance_test
+	dobin src/alsa_helpers
+	dobin src/audiofuntest
+	dobin src/cras_api_test
+	dobin src/loopback_latency
+	dobin script/alsa_conformance_test.py
+	popd >/dev/null
+}
diff --git a/chromeos-base/authpolicy/authpolicy-0.0.1-r1533.ebuild b/chromeos-base/authpolicy/authpolicy-0.0.1-r1533.ebuild
deleted file mode 100644
index aafc3d9..0000000
--- a/chromeos-base/authpolicy/authpolicy-0.0.1-r1533.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT="7d3a2b277f2f4d779beeacf456ea6ecb14799302"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "48305cf895fbfc291c6d58b9b08c99cd28e22f8c" "aa7d3a7ee39fb0cab54fef530db4dfcbe0cd4515" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_INCREMENTAL_BUILD=1
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-# TODO(crbug.com/809389): Avoid directly including headers from other packages.
-CROS_WORKON_SUBTREE="common-mk authpolicy metrics .gn"
-
-PLATFORM_SUBDIR="authpolicy"
-
-inherit cros-workon platform user
-
-DESCRIPTION="Provides authentication to LDAP and fetching device/user policies"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/authpolicy/"
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE="+samba asan fuzzer"
-
-COMMMON_DEPEND="
-	app-crypt/mit-krb5:=
-	chromeos-base/libbrillo:=[asan?,fuzzer?]
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	>=chromeos-base/minijail-0.0.1-r1477:=
-	dev-libs/protobuf:=
-	samba? ( >=net-fs/samba-4.5.3-r6:= )
-	sys-apps/dbus:=
-	sys-libs/libcap:=
-"
-RDEPEND="${COMMMON_DEPEND}"
-DEPEND="
-	${COMMMON_DEPEND}
-	>=chromeos-base/protofiles-0.0.39:=
-	chromeos-base/session_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-"
-
-pkg_setup() {
-	# Has to be done in pkg_setup() instead of pkg_preinst() since
-	# src_install() needs authpolicyd.
-	enewuser "authpolicyd"
-	enewgroup "authpolicyd"
-	enewuser "authpolicyd-exec"
-	enewgroup "authpolicyd-exec"
-	cros-workon_pkg_setup
-}
-
-src_install() {
-	dosbin "${OUT}"/authpolicyd
-	dosbin "${OUT}"/authpolicy_parser
-	insinto /etc/dbus-1/system.d
-	doins etc/dbus-1/org.chromium.AuthPolicy.conf
-	insinto /etc/init
-	doins etc/init/authpolicyd.conf
-	insinto /usr/share/policy
-	doins seccomp_filters/*.policy
-	insinto /usr/share/cros/startup/process_management_policies
-	doins setuid_restrictions/authpolicyd_whitelist.txt
-
-	# Create daemon store folder prototype, see
-	# https://chromium.googlesource.com/chromiumos/docs/+/master/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
-	local daemon_store="/etc/daemon-store/authpolicyd"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners authpolicyd:authpolicyd "${daemon_store}"
-
-	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/preg_parser_fuzzer \
-		--dict "${S}"/policy/testdata/preg_parser_fuzzer.dict
-}
-
-platform_pkg_test() {
-	local tests=(
-		authpolicy_test
-	)
-
-	local test_bin
-	for test_bin in "${tests[@]}"; do
-		platform_test "run" "${OUT}/${test_bin}"
-	done
-
-	platform_fuzzer_test "${OUT}"/preg_parser_fuzzer
-}
diff --git a/chromeos-base/authpolicy/authpolicy-0.0.1-r1576.ebuild b/chromeos-base/authpolicy/authpolicy-0.0.1-r1576.ebuild
new file mode 100644
index 0000000..ebaab3a
--- /dev/null
+++ b/chromeos-base/authpolicy/authpolicy-0.0.1-r1576.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="5a6636098bf2fd68219e56d1d1851df760d07dec"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "b5d7fbdfbfcbc31321752d83e713f53f67bbb443" "8d228c8e702aebee142bcbf0763a15786eb5b3bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk authpolicy metrics .gn"
+
+PLATFORM_SUBDIR="authpolicy"
+
+inherit cros-workon platform user
+
+DESCRIPTION="Provides authentication to LDAP and fetching device/user policies"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/authpolicy/"
+
+LICENSE="BSD-Google"
+SLOT="0/0"
+KEYWORDS="*"
+IUSE="+samba asan fuzzer"
+
+COMMMON_DEPEND="
+	app-crypt/mit-krb5:=
+	chromeos-base/libbrillo:=[asan?,fuzzer?]
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	>=chromeos-base/minijail-0.0.1-r1477:=
+	dev-libs/protobuf:=
+	samba? ( >=net-fs/samba-4.5.3-r6:= )
+	sys-apps/dbus:=
+	sys-libs/libcap:=
+"
+RDEPEND="${COMMMON_DEPEND}"
+DEPEND="
+	${COMMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.39:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+"
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() needs authpolicyd.
+	enewuser "authpolicyd"
+	enewgroup "authpolicyd"
+	enewuser "authpolicyd-exec"
+	enewgroup "authpolicyd-exec"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	dosbin "${OUT}"/authpolicyd
+	dosbin "${OUT}"/authpolicy_parser
+	insinto /etc/dbus-1/system.d
+	doins etc/dbus-1/org.chromium.AuthPolicy.conf
+	insinto /etc/init
+	doins etc/init/authpolicyd.conf
+	insinto /usr/share/policy
+	doins seccomp_filters/*.policy
+	insinto /usr/share/cros/startup/process_management_policies
+	doins setuid_restrictions/authpolicyd_whitelist.txt
+
+	# Create daemon store folder prototype, see
+	# https://chromium.googlesource.com/chromiumos/docs/+/master/sandboxing.md#securely-mounting-cryptohome-daemon-store-folders
+	local daemon_store="/etc/daemon-store/authpolicyd"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners authpolicyd:authpolicyd "${daemon_store}"
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/preg_parser_fuzzer \
+		--dict "${S}"/policy/testdata/preg_parser_fuzzer.dict
+}
+
+platform_pkg_test() {
+	local tests=(
+		authpolicy_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+
+	platform_fuzzer_test "${OUT}"/preg_parser_fuzzer
+}
diff --git a/chromeos-base/autotest-all/autotest-all-0.0.1-r52.ebuild b/chromeos-base/autotest-all/autotest-all-0.0.1-r53.ebuild
similarity index 100%
rename from chromeos-base/autotest-all/autotest-all-0.0.1-r52.ebuild
rename to chromeos-base/autotest-all/autotest-all-0.0.1-r53.ebuild
diff --git a/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild b/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild
index 57d28b6..bd07d4f 100644
--- a/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild
+++ b/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild
@@ -11,7 +11,7 @@
 LICENSE="GPL-2"
 SLOT=0
 KEYWORDS="*"
-IUSE="cheets -chromeless_tests +bluetooth +cellular +cras +cros_disks +cros_p2p +debugd -chromeless_tty kvm_host +power_management +shill +tpm tpm2"
+IUSE="cheets -chromeless_tests +bluetooth +cellular +cras +cros_p2p +debugd -chromeless_tty kvm_host +power_management +shill +tpm tpm2"
 
 RDEPEND="
 	chromeos-base/autotest-client
@@ -35,7 +35,6 @@
 		)
 	)
 	cras? ( chromeos-base/autotest-tests-audio )
-	cros_disks? ( chromeos-base/autotest-tests-cros-disks )
 	cros_p2p? ( chromeos-base/autotest-tests-p2p )
 	debugd? ( chromeos-base/autotest-tests-debugd )
 	kvm_host? ( chromeos-base/autotest-tests-vm-host )
diff --git a/chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r2.ebuild b/chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r2.ebuild
new file mode 120000
index 0000000..0747428
--- /dev/null
+++ b/chromeos-base/autotest-capability-default/autotest-capability-default-0.0.5-r2.ebuild
@@ -0,0 +1 @@
+autotest-capability-default-0.0.5.ebuild
\ No newline at end of file
diff --git a/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml b/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml
index 377cdc8..8bc30c5 100644
--- a/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml
+++ b/chromeos-base/autotest-capability-default/files/managed-capabilities.yaml
@@ -4,9 +4,14 @@
 # Please refer to README.md for more details.
 
 # HW decoding
+## We mark a device with hw_dec_av1_1080_30 capability if it supports
+## HW decoding for 1080p@30fps av1 formatted videos. _Xbpp is an _optional_
+## suffix that may or may not be there. If it's there, then it restricts the
+## previous codec+resolution+frame_rate to such bit depth. If it's not there,
+## the typical bit depth of the codec is supported, for example, 8 bits for
+## h264 and vp9 and 10bits for vp9-2.
+
 ## H264
-## We mark a device with hw_dec_h264_1080_30 capability if it supports
-## HW decoding for 1080p@30fps h264 formatted videos. Same for vp8 and vp9.
 - hw_dec_h264_1080_30
 - hw_dec_h264_1080_60
 - hw_dec_h264_2160_30
@@ -30,6 +35,15 @@
 - hw_dec_vp9-2_2160_30
 - hw_dec_vp9-2_2160_60
 
+## AV1 (Profile Main)
+- hw_dec_av1_1080_30
+- hw_dec_av1_1080_60
+- hw_dec_av1_2160_30
+- hw_dec_av1_2160_60
+- hw_dec_av1_1080_30_10bpp
+- hw_dec_av1_1080_60_10bpp
+- hw_dec_av1_2160_30_10bpp
+- hw_dec_av1_2160_60_10bpp
 
 ## JPEG
 ## hw_dec_jpeg is marked if a device supports JPEG HW decoding.
@@ -37,6 +51,8 @@
 
 
 # HW encoding
+## Not all HW encoders support odd dimension encoding (e.g. trogdor).
+## Those that do are marked with hw_enc_*_odd_dimension.
 ## H264
 ## We mark a device with hw_enc_h264_1080_30 capability if it supports
 ## HW encoding for 1080p@30fps h264 formatted videos. Same for vp8 and vp9.
@@ -44,14 +60,18 @@
 ## HW h264 encoding for 2160p but may not guarantee 30fps. Same for vp8 and vp9.
 - hw_enc_h264_1080_30
 - hw_enc_h264_2160_30
+## Add hw_enc_h264_odd_dimension when video.EncodeAccel has a test
+## exercising odd-dimension encoding.
 
 ## VP8
 - hw_enc_vp8_1080_30
 - hw_enc_vp8_2160_30
+- hw_enc_vp8_odd_dimension
 
 ## VP9
 - hw_enc_vp9_1080_30
 - hw_enc_vp9_2160_30
+- hw_enc_vp9_odd_dimension
 
 ## JPEG
 ## hw_enc_jpeg is marked if a device supports JPEG HW encoding.
diff --git a/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7738.ebuild b/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7738.ebuild
deleted file mode 100644
index 7d36b80..0000000
--- a/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7738.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="d1cf31c7c10b996c4c857d44ade1c61e26c55986"
-CROS_WORKON_TREE="9aa69630d79bff05bb1bd54c233962cd4ad62ed6"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest tests that require chrome_binary_test, or telemetry deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="
-	${IUSE}
-	+autotest
-	+cellular
-	+shill
-	+tpm
-	tpm2
-	vaapi
-"
-
-RDEPEND="
-	!chromeos-base/autotest-telemetry
-	!<chromeos-base/autotest-tests-0.0.4
-	!<chromeos-base/autotest-tests-cellular-0.0.1-r3203
-	chromeos-base/autotest-deps-graphics
-	chromeos-base/autotest-deps-policy
-	chromeos-base/autotest-deps-webgl-mpd
-	chromeos-base/chromeos-chrome
-	dev-python/mkvparse
-	shill? ( chromeos-base/shill-test-scripts )
-	chromeos-base/telemetry
-	sys-apps/ethtool
-	vaapi? ( x11-libs/libva )
-	tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked )
-	virtual/autotest-private-libs
-"
-
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS=(
-	# Tests that depend on telemetry.
-	+tests_accessibility_Sanity
-	+tests_accessibility_ChromeVoxSound
-	+tests_audio_ActiveStreamStress
-	+tests_audio_AudioCorruption
-	+tests_audio_CrasSanity
-	+tests_audio_PlaybackPower
-	+tests_audio_SeekAudioFeedback
-	+tests_autoupdate_EOL
-	+tests_autoupdate_LoginStartUpdateLogout
-	+tests_autoupdate_StartOOBEUpdate
-	+tests_autoupdate_UpdateFromUI
-	+tests_autoupdate_UserData
-	+tests_bluetooth_AdapterReboot
-	+tests_bluetooth_AdapterSanity
-	+tests_bluetooth_IDCheck
-	+tests_bluetooth_RegressionClient
-	+tests_bluetooth_TurnOnOffUI
-	+tests_desktopui_AudioFeedback
-	+tests_desktopui_CheckRlzPingSent
-	+tests_desktopui_ChromeSanity
-	tests_desktopui_ConnectivityDiagnostics
-	+tests_desktopui_MediaAudioFeedback
-	+tests_desktopui_ScreenLocker
-	+tests_desktopui_SimpleLogin
-	+tests_desktopui_UrlFetchWithChromeDriver
-	+tests_display_ClientChameleonConnection
-	+tests_display_DisplayContainEdid
-	+tests_dummy_IdleSuspend
-	+tests_enterprise_FakeEnrollment
-	+tests_enterprise_KioskEnrollment
-	+tests_enterprise_OnlineDemoModeEnrollment
-	+tests_enterprise_PowerManagement
-	+tests_enterprise_RemoraRequisition
-	+tests_graphics_Chrome
-	+tests_graphics_HwOverlays
-	+tests_graphics_Stress
-	+tests_graphics_VideoRenderingPower
-	+tests_graphics_VTSwitch
-	+tests_graphics_WebGLAquarium
-	+tests_graphics_WebGLManyPlanetsDeep
-	tests_logging_AsanCrash
-	+tests_logging_CrashServices
-	+tests_logging_FeedbackReport
-	+tests_login_ChromeProfileSanitary
-	+tests_login_CryptohomeDataLeak
-	+tests_login_CryptohomeIncognito
-	+tests_login_GaiaLogin
-	+tests_login_LoginSuccess
-	+tests_login_OobeLocalization
-	+tests_login_SavePassword
-	+tests_login_UnicornLogin
-	+tests_longevity_Tracker
-	+tests_network_CastTDLS
-	+tests_network_ChromeWifiConfigure
-	+tests_platform_ChromeCgroups
-	+tests_platform_InitLoginPerf
-	+tests_platform_InputBrightness
-	+tests_platform_InputBrowserNav
-	+tests_platform_InputNewTab
-	+tests_platform_InputScreenshot
-	+tests_platform_InputVolume
-	+tests_platform_LogoutPerf
-	+tests_platform_LowMemoryTest
-	+tests_platform_MouseScrollTest
-	+tests_platform_PrintJob
-	+tests_platform_SessionManagerBlockDevmodeSetting
-	+tests_platform_ScrollTest
-	+tests_policy_AccessibilityTest
-	+tests_policy_AlternateErrorPages
-	+tests_policy_ArcAudioCaptureAllowed
-	+tests_policy_ArcBackupRestoreServiceEnabled
-	+tests_policy_ArcExternalStorageDisabled
-	+tests_policy_ArcVideoCaptureAllowed
-	+tests_policy_ArcDisableScreenshots
-	+tests_policy_AudioOutputAllowed
-	+tests_policy_AutotestSanity
-	+tests_policy_BookmarkBarEnabled
-	+tests_policy_ChromeOsLockOnIdleSuspend
-	+tests_policy_CookiesAllowedForUrls
-	+tests_policy_CookiesBlockedForUrls
-	+tests_policy_CookiesSessionOnlyForUrls
-	+tests_policy_DefaultGeolocationSetting
-	+tests_policy_DefaultImagesSetting
-	+tests_policy_DefaultJavaScriptSetting
-	+tests_policy_DefaultNotificationsSetting
-	+tests_policy_DefaultSearchProvider
-	+tests_policy_DeveloperToolsAvailability
-	+tests_policy_DeviceAllowBluetooth
-	+tests_policy_DeviceAutoUpdateDisabled
-	+tests_policy_DeviceCharging
-	+tests_policy_DeviceDockMacAddressSource
-	+tests_policy_DeviceScheduledCharging
-	+tests_policy_DeviceTargetVersionPrefix
-	+tests_policy_DeviceWilcoDtcAllowed
-	+tests_policy_DisableScreenshots
-	+tests_policy_DownloadDirectory
-	+tests_policy_DriveDisabled
-	+tests_policy_EditBookmarksEnabled
-	+tests_policy_DeviceEphemeralUsersEnabled
-	+tests_policy_EnrollmentRetainment
-	+tests_policy_EnterpriseForceInstallCustom
-	+tests_policy_ExtensionAllowedTypes
-	+tests_policy_ExtensionControls
-	+tests_policy_ExtensionPolicy
-	+tests_policy_ExternalStorageDisabled
-	+tests_policy_ExternalStorageReadOnly
-	+tests_policy_ForceGoogleSafeSearch
-	+tests_policy_ForceYouTubeRestrict
-	+tests_policy_ForceYouTubeSafetyMode
-	+tests_policy_HomepageLocation
-	+tests_policy_ImagesAllowedForUrls
-	+tests_policy_ImagesBlockedForUrls
-	+tests_policy_JavaScriptAllowedForUrls
-	+tests_policy_JavaScriptBlockedForUrls
-	+tests_policy_KeyboardDefaultToFunctionKeys
-	+tests_policy_KeyPermissions
-	+tests_policy_KioskModeEnabled
-	+tests_policy_ManagedBookmarks
-	+tests_policy_NativePrintersBulkAccessMode
-	+tests_policy_NewTabPageLocation
-	+tests_policy_NotificationsAllowedForUrls
-	+tests_policy_NotificationsBlockedForUrls
-	+tests_policy_PinnedLauncherApps
-	+tests_policy_PlatformKeys
-	+tests_policy_PluginsAllowedForUrls
-	+tests_policy_PluginsBlockedForUrls
-	+tests_policy_PolicyRefreshRate
-	+tests_policy_PopupsAllowedForUrls
-	+tests_policy_PopupsBlockedForUrls
-	+tests_policy_PowerManagementIdleSettings
-	+tests_policy_PrintingEnabled
-	+tests_policy_PromptForDownloadLocation
-	+tests_policy_ProxySettings
-	+tests_policy_ReportUploadFrequency
-	+tests_policy_RestoreOnStartupURLs
-	+tests_policy_SafeBrowsingEnabled
-	+tests_policy_SavingBrowserHistoryDisabled
-	+tests_policy_ScreenBrightnessPercent
-	+tests_policy_SearchSuggestEnabled
-	+tests_policy_SecondaryGoogleAccountSigninAllowed
-	+tests_policy_ShowLogoutButtonInTray
-	+tests_policy_ShowHomeButton
-	+tests_policy_SystemTimezone
-	+tests_policy_TranslateEnabled
-	+tests_policy_UserNativePrintersAllowed
-	+tests_policy_VirtualMachinesAllowed
-	+tests_policy_WilcoOnNonWilcoDevice
-	+tests_policy_WilcoUSBPowershare
-	+tests_power_AudioDetector
-	+tests_power_BatteryDrain
-	+tests_power_Consumption
-	+tests_power_Display
-	+tests_power_FlashVideoSuspend
-	+tests_power_Idle
-	+tests_power_IdleSuspend
-	+tests_power_LoadTest
-	+tests_power_LowMemorySuspend
-	+tests_power_MeetClient
-	+tests_power_Speedometer2
-	+tests_power_ThermalLoad
-	+tests_power_UiResume
-	+tests_power_VideoCall
-	+tests_power_VideoDetector
-	+tests_power_VideoEncode
-	+tests_power_VideoPlayback
-	+tests_power_VideoSuspend
-	+tests_power_WebGL
-	+tests_power_WifiIdle
-	+tests_security_BundledExtensions
-	+tests_telemetry_AFDOGenerateClient
-	+tests_telemetry_Sanity
-	+tests_telemetry_UnitTests
-	+tests_telemetry_UnitTestsServer
-	+tests_touch_GestureNav
-	+tests_touch_MouseScroll
-	+tests_touch_ScrollDirection
-	+tests_touch_TapSettings
-	+tests_touch_TabSwitch
-	+tests_touch_TouchscreenScroll
-	+tests_touch_TouchscreenTaps
-	+tests_touch_TouchscreenZoom
-	+tests_touch_StylusTaps
-	+tests_video_AVAnalysis
-)
-
-IUSE_TESTS_CELLULAR="
-	cellular? (
-		+tests_cellular_ModemControl
-		+tests_cellular_SuspendResume
-		+tests_network_ChromeCellularEndToEnd
-		+tests_network_ChromeCellularNetworkPresent
-		+tests_network_ChromeCellularNetworkProperties
-		+tests_network_ChromeCellularSmokeTest
-	)
-"
-
-IUSE_TESTS_SHILL="
-	shill? (
-		+tests_network_ChromeWifiEndToEnd
-		+tests_network_FirewallHolePunch
-		+tests_network_RackWiFiConnect
-		+tests_network_RoamSuspendEndToEnd
-		+tests_network_RoamWifiEndToEnd
-		+tests_policy_GlobalNetworkSettings
-		+tests_policy_WiFiAutoconnect
-		+tests_policy_WiFiPrecedence
-		+tests_policy_WiFiTypes
-	)
-"
-
-# This is here instead of in autotest-tests-tpm because it would be far more
-# work and duplication to add telemetry dependencies there.
-IUSE_TESTS_TPM="
-	tpm? ( +tests_platform_Pkcs11InitOnLogin )
-	tpm2? ( +tests_platform_Pkcs11InitOnLogin )
-"
-
-IUSE_TESTS_ARC="
-	+tests_graphics_Idle
-"
-
-IUSE_TESTS="
-	${IUSE_TESTS[*]}
-	${IUSE_TESTS_CELLULAR}
-	${IUSE_TESTS_SHILL}
-	${IUSE_TESTS_TPM}
-	${IUSE_TESTS_ARC}
-"
-
-IUSE="
-	${IUSE}
-	${IUSE_TESTS}
-"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_prepare() {
-	# Telemetry tests require the path to telemetry source to exist in order to
-	# build. Copy the telemetry source to a temporary directory that is writable,
-	# so that file removals in Telemetry source can be performed properly.
-	export TMP_DIR="$(mktemp -d)"
-	rsync -a --exclude=third_party/trace-viewer/test_data/ \
-		"${SYSROOT}"/usr/local/telemetry/src/ "${TMP_DIR}"
-	export PYTHONPATH="${TMP_DIR}/third_party/catapult/telemetry"
-	autotest_src_prepare
-}
diff --git a/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7775.ebuild b/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7775.ebuild
new file mode 100644
index 0000000..b25b9ef
--- /dev/null
+++ b/chromeos-base/autotest-chrome/autotest-chrome-0.0.1-r7775.ebuild
@@ -0,0 +1,270 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="765d3931033a82d56d6b8689d68f25860398d97f"
+CROS_WORKON_TREE="8a5e4b77219713e15dd9d0c5567b70e2e344a509"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest tests that require chrome_binary_test, or telemetry deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="
+	${IUSE}
+	+autotest
+	+cellular
+	drm_atomic
+	+shill
+	+tpm
+	tpm2
+	vaapi
+"
+
+RDEPEND="
+	!chromeos-base/autotest-telemetry
+	!<chromeos-base/autotest-tests-0.0.4
+	!<chromeos-base/autotest-tests-cellular-0.0.1-r3203
+	chromeos-base/autotest-deps-graphics
+	chromeos-base/autotest-deps-policy
+	chromeos-base/autotest-deps-webgl-mpd
+	chromeos-base/chromeos-chrome
+	dev-python/mkvparse
+	shill? ( chromeos-base/shill-test-scripts )
+	chromeos-base/telemetry
+	sys-apps/ethtool
+	vaapi? ( x11-libs/libva )
+	tests_graphics_WebGLAquarium? ( app-benchmarks/microbenchmarks dev-util/memory-eater-locked )
+	virtual/autotest-private-libs
+"
+
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS=(
+	# Tests that depend on telemetry.
+	+tests_accessibility_Sanity
+	+tests_accessibility_ChromeVoxSound
+	+tests_audio_ActiveStreamStress
+	+tests_audio_AudioCorruption
+	+tests_audio_CrasSanity
+	+tests_audio_PlaybackPower
+	+tests_audio_SeekAudioFeedback
+	+tests_autoupdate_EOL
+	+tests_autoupdate_LoginStartUpdateLogout
+	+tests_autoupdate_StartOOBEUpdate
+	+tests_autoupdate_UpdateFromUI
+	+tests_autoupdate_UserData
+	+tests_bluetooth_AdapterReboot
+	+tests_bluetooth_AdapterHealth
+	+tests_bluetooth_IDCheck
+	+tests_bluetooth_RegressionClient
+	+tests_bluetooth_TurnOnOffUI
+	+tests_desktopui_AudioFeedback
+	+tests_desktopui_CheckRlzPingSent
+	+tests_desktopui_ChromeSanity
+	tests_desktopui_ConnectivityDiagnostics
+	+tests_desktopui_MediaAudioFeedback
+	+tests_desktopui_ScreenLocker
+	+tests_desktopui_SimpleLogin
+	+tests_desktopui_UrlFetchWithChromeDriver
+	+tests_display_ClientChameleonConnection
+	+tests_display_DisplayContainEdid
+	+tests_dummy_IdleSuspend
+	+tests_enterprise_FakeEnrollment
+	+tests_enterprise_KioskEnrollment
+	+tests_enterprise_OnlineDemoModeEnrollment
+	+tests_enterprise_PowerManagement
+	+tests_enterprise_RemoraRequisition
+	+tests_graphics_Chrome
+	+tests_graphics_Stress
+	+tests_graphics_VideoRenderingPower
+	+tests_graphics_VTSwitch
+	+tests_graphics_WebGLAquarium
+	+tests_graphics_WebGLManyPlanetsDeep
+	tests_logging_AsanCrash
+	+tests_logging_CrashServices
+	+tests_logging_FeedbackReport
+	+tests_login_ChromeProfileSanitary
+	+tests_login_CryptohomeDataLeak
+	+tests_login_CryptohomeIncognito
+	+tests_login_GaiaLogin
+	+tests_login_LoginSuccess
+	+tests_login_OobeLocalization
+	+tests_login_SavePassword
+	+tests_login_UnicornLogin
+	+tests_longevity_Tracker
+	+tests_network_CastTDLS
+	+tests_network_ChromeWifiConfigure
+	+tests_platform_ChromeCgroups
+	+tests_platform_InitLoginPerf
+	+tests_platform_InputBrightness
+	+tests_platform_InputBrowserNav
+	+tests_platform_InputNewTab
+	+tests_platform_InputScreenshot
+	+tests_platform_InputVolume
+	+tests_platform_LogoutPerf
+	+tests_platform_LowMemoryTest
+	+tests_platform_MouseScrollTest
+	+tests_platform_PrintJob
+	+tests_platform_SessionManagerBlockDevmodeSetting
+	+tests_platform_ScrollTest
+	+tests_policy_AccessibilityTest
+	+tests_policy_ArcAudioCaptureAllowed
+	+tests_policy_ArcBackupRestoreServiceEnabled
+	+tests_policy_ArcExternalStorageDisabled
+	+tests_policy_ArcVideoCaptureAllowed
+	+tests_policy_ArcDisableScreenshots
+	+tests_policy_AudioOutputAllowed
+	+tests_policy_AutotestSanity
+	+tests_policy_ChromeOsLockOnIdleSuspend
+	+tests_policy_CookiesAllowedForUrls
+	+tests_policy_CookiesBlockedForUrls
+	+tests_policy_CookiesSessionOnlyForUrls
+	+tests_policy_DefaultSearchProvider
+	+tests_policy_DeveloperToolsAvailability
+	+tests_policy_DeviceAllowBluetooth
+	+tests_policy_DeviceAutoUpdateDisabled
+	+tests_policy_DeviceCharging
+	+tests_policy_DeviceDockMacAddressSource
+	+tests_policy_DeviceScheduledCharging
+	+tests_policy_DisableScreenshots
+	+tests_policy_DownloadDirectory
+	+tests_policy_DriveDisabled
+	+tests_policy_DeviceEphemeralUsersEnabled
+	+tests_policy_EnrollmentRetainment
+	+tests_policy_EnterpriseForceInstallCustom
+	+tests_policy_ExtensionPolicy
+	+tests_policy_ExternalStorageDisabled
+	+tests_policy_ExternalStorageReadOnly
+	+tests_policy_ForceYouTubeRestrict
+	+tests_policy_ForceYouTubeSafetyMode
+	+tests_policy_KeyPermissions
+	+tests_policy_KioskModeEnabled
+	+tests_policy_NativePrintersBulkAccessMode
+	+tests_policy_PinnedLauncherApps
+	+tests_policy_PlatformKeys
+	+tests_policy_PolicyRefreshRate
+	+tests_policy_PowerManagementIdleSettings
+	+tests_policy_PrintingEnabled
+	+tests_policy_ProxySettings
+	+tests_policy_ReportUploadFrequency
+	+tests_policy_RestoreOnStartupURLs
+	+tests_policy_SystemTimezone
+	+tests_policy_VirtualMachinesAllowed
+	+tests_policy_WilcoOnNonWilcoDevice
+	+tests_policy_WilcoUSBPowershare
+	+tests_power_AudioDetector
+	+tests_power_BatteryDrain
+	+tests_power_Consumption
+	+tests_power_Display
+	+tests_power_FlashVideoSuspend
+	+tests_power_Idle
+	+tests_power_IdleSuspend
+	+tests_power_LoadTest
+	+tests_power_LowMemorySuspend
+	+tests_power_MeetClient
+	+tests_power_Speedometer2
+	+tests_power_ThermalLoad
+	+tests_power_UiResume
+	+tests_power_VideoCall
+	+tests_power_VideoDetector
+	+tests_power_VideoEncode
+	+tests_power_VideoPlayback
+	+tests_power_VideoSuspend
+	+tests_power_WebGL
+	+tests_power_WifiIdle
+	+tests_security_BundledExtensions
+	+tests_telemetry_AFDOGenerateClient
+	+tests_telemetry_Sanity
+	+tests_telemetry_UnitTests
+	+tests_telemetry_UnitTestsServer
+	+tests_touch_GestureNav
+	+tests_touch_MouseScroll
+	+tests_touch_ScrollDirection
+	+tests_touch_TapSettings
+	+tests_touch_TabSwitch
+	+tests_touch_TouchscreenScroll
+	+tests_touch_TouchscreenTaps
+	+tests_touch_TouchscreenZoom
+	+tests_touch_StylusTaps
+	+tests_video_AVAnalysis
+)
+
+IUSE_TESTS_CELLULAR="
+	cellular? (
+		+tests_cellular_ModemControl
+		+tests_cellular_SuspendResume
+		+tests_network_ChromeCellularEndToEnd
+		+tests_network_ChromeCellularNetworkPresent
+		+tests_network_ChromeCellularNetworkProperties
+		+tests_network_ChromeCellularSmokeTest
+	)
+"
+
+IUSE_TESTS_SHILL="
+	shill? (
+		+tests_network_ChromeWifiEndToEnd
+		+tests_network_FirewallHolePunch
+		+tests_network_RackWiFiConnect
+		+tests_network_RoamSuspendEndToEnd
+		+tests_network_RoamWifiEndToEnd
+		+tests_policy_GlobalNetworkSettings
+		+tests_policy_WiFiAutoconnect
+		+tests_policy_WiFiPrecedence
+		+tests_policy_WiFiTypes
+	)
+"
+
+# This is here instead of in autotest-tests-tpm because it would be far more
+# work and duplication to add telemetry dependencies there.
+IUSE_TESTS_TPM="
+	tpm? ( +tests_platform_Pkcs11InitOnLogin )
+	tpm2? ( +tests_platform_Pkcs11InitOnLogin )
+"
+
+IUSE_TESTS_ARC="
+	+tests_graphics_Idle
+"
+
+IUSE_TESTS_ATOMIC="
+	drm_atomic? ( +tests_graphics_HwOverlays )
+"
+
+IUSE_TESTS="
+	${IUSE_TESTS[*]}
+	${IUSE_TESTS_CELLULAR}
+	${IUSE_TESTS_SHILL}
+	${IUSE_TESTS_TPM}
+	${IUSE_TESTS_ARC}
+	${IUSE_TESTS_ATOMIC}
+"
+
+IUSE="
+	${IUSE}
+	${IUSE_TESTS}
+"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+src_prepare() {
+	# Telemetry tests require the path to telemetry source to exist in order to
+	# build. Copy the telemetry source to a temporary directory that is writable,
+	# so that file removals in Telemetry source can be performed properly.
+	export TMP_DIR="$(mktemp -d)"
+	rsync -a --exclude=third_party/trace-viewer/test_data/ \
+		"${SYSROOT}"/usr/local/telemetry/src/ "${TMP_DIR}"
+	export PYTHONPATH="${TMP_DIR}/third_party/catapult/telemetry"
+	autotest_src_prepare
+}
diff --git a/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild b/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild
index cce8724..bd49126 100644
--- a/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild
+++ b/chromeos-base/autotest-chrome/autotest-chrome-9999.ebuild
@@ -18,6 +18,7 @@
 	${IUSE}
 	+autotest
 	+cellular
+	drm_atomic
 	+shill
 	+tpm
 	tpm2
@@ -58,7 +59,7 @@
 	+tests_autoupdate_UpdateFromUI
 	+tests_autoupdate_UserData
 	+tests_bluetooth_AdapterReboot
-	+tests_bluetooth_AdapterSanity
+	+tests_bluetooth_AdapterHealth
 	+tests_bluetooth_IDCheck
 	+tests_bluetooth_RegressionClient
 	+tests_bluetooth_TurnOnOffUI
@@ -79,7 +80,6 @@
 	+tests_enterprise_PowerManagement
 	+tests_enterprise_RemoraRequisition
 	+tests_graphics_Chrome
-	+tests_graphics_HwOverlays
 	+tests_graphics_Stress
 	+tests_graphics_VideoRenderingPower
 	+tests_graphics_VTSwitch
@@ -113,7 +113,6 @@
 	+tests_platform_SessionManagerBlockDevmodeSetting
 	+tests_platform_ScrollTest
 	+tests_policy_AccessibilityTest
-	+tests_policy_AlternateErrorPages
 	+tests_policy_ArcAudioCaptureAllowed
 	+tests_policy_ArcBackupRestoreServiceEnabled
 	+tests_policy_ArcExternalStorageDisabled
@@ -121,15 +120,10 @@
 	+tests_policy_ArcDisableScreenshots
 	+tests_policy_AudioOutputAllowed
 	+tests_policy_AutotestSanity
-	+tests_policy_BookmarkBarEnabled
 	+tests_policy_ChromeOsLockOnIdleSuspend
 	+tests_policy_CookiesAllowedForUrls
 	+tests_policy_CookiesBlockedForUrls
 	+tests_policy_CookiesSessionOnlyForUrls
-	+tests_policy_DefaultGeolocationSetting
-	+tests_policy_DefaultImagesSetting
-	+tests_policy_DefaultJavaScriptSetting
-	+tests_policy_DefaultNotificationsSetting
 	+tests_policy_DefaultSearchProvider
 	+tests_policy_DeveloperToolsAvailability
 	+tests_policy_DeviceAllowBluetooth
@@ -137,59 +131,29 @@
 	+tests_policy_DeviceCharging
 	+tests_policy_DeviceDockMacAddressSource
 	+tests_policy_DeviceScheduledCharging
-	+tests_policy_DeviceTargetVersionPrefix
-	+tests_policy_DeviceWilcoDtcAllowed
 	+tests_policy_DisableScreenshots
 	+tests_policy_DownloadDirectory
 	+tests_policy_DriveDisabled
-	+tests_policy_EditBookmarksEnabled
 	+tests_policy_DeviceEphemeralUsersEnabled
 	+tests_policy_EnrollmentRetainment
 	+tests_policy_EnterpriseForceInstallCustom
-	+tests_policy_ExtensionAllowedTypes
-	+tests_policy_ExtensionControls
 	+tests_policy_ExtensionPolicy
 	+tests_policy_ExternalStorageDisabled
 	+tests_policy_ExternalStorageReadOnly
-	+tests_policy_ForceGoogleSafeSearch
 	+tests_policy_ForceYouTubeRestrict
 	+tests_policy_ForceYouTubeSafetyMode
-	+tests_policy_HomepageLocation
-	+tests_policy_ImagesAllowedForUrls
-	+tests_policy_ImagesBlockedForUrls
-	+tests_policy_JavaScriptAllowedForUrls
-	+tests_policy_JavaScriptBlockedForUrls
-	+tests_policy_KeyboardDefaultToFunctionKeys
 	+tests_policy_KeyPermissions
 	+tests_policy_KioskModeEnabled
-	+tests_policy_ManagedBookmarks
 	+tests_policy_NativePrintersBulkAccessMode
-	+tests_policy_NewTabPageLocation
-	+tests_policy_NotificationsAllowedForUrls
-	+tests_policy_NotificationsBlockedForUrls
 	+tests_policy_PinnedLauncherApps
 	+tests_policy_PlatformKeys
-	+tests_policy_PluginsAllowedForUrls
-	+tests_policy_PluginsBlockedForUrls
 	+tests_policy_PolicyRefreshRate
-	+tests_policy_PopupsAllowedForUrls
-	+tests_policy_PopupsBlockedForUrls
 	+tests_policy_PowerManagementIdleSettings
 	+tests_policy_PrintingEnabled
-	+tests_policy_PromptForDownloadLocation
 	+tests_policy_ProxySettings
 	+tests_policy_ReportUploadFrequency
 	+tests_policy_RestoreOnStartupURLs
-	+tests_policy_SafeBrowsingEnabled
-	+tests_policy_SavingBrowserHistoryDisabled
-	+tests_policy_ScreenBrightnessPercent
-	+tests_policy_SearchSuggestEnabled
-	+tests_policy_SecondaryGoogleAccountSigninAllowed
-	+tests_policy_ShowLogoutButtonInTray
-	+tests_policy_ShowHomeButton
 	+tests_policy_SystemTimezone
-	+tests_policy_TranslateEnabled
-	+tests_policy_UserNativePrintersAllowed
 	+tests_policy_VirtualMachinesAllowed
 	+tests_policy_WilcoOnNonWilcoDevice
 	+tests_policy_WilcoUSBPowershare
@@ -266,12 +230,17 @@
 	+tests_graphics_Idle
 "
 
+IUSE_TESTS_ATOMIC="
+	drm_atomic? ( +tests_graphics_HwOverlays )
+"
+
 IUSE_TESTS="
 	${IUSE_TESTS[*]}
 	${IUSE_TESTS_CELLULAR}
 	${IUSE_TESTS_SHILL}
 	${IUSE_TESTS_TPM}
 	${IUSE_TESTS_ARC}
+	${IUSE_TESTS_ATOMIC}
 "
 
 IUSE="
diff --git a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r4947.ebuild b/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r4947.ebuild
deleted file mode 100644
index 3a6bbdf..0000000
--- a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r4947.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Dependencies for camera_HAL3 autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="camera_hal3"
-
-RDEPEND="
-	media-libs/cros-camera-test
-"
-
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r5465.ebuild b/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r5465.ebuild
new file mode 100644
index 0000000..e78687c
--- /dev/null
+++ b/chromeos-base/autotest-deps-camera-hal3/autotest-deps-camera-hal3-0.0.1-r5465.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Dependencies for camera_HAL3 autotest"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="camera_hal3"
+
+RDEPEND="
+	media-libs/cros-camera-test
+"
+
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r7736.ebuild b/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r7736.ebuild
deleted file mode 100644
index b87d96d..0000000
--- a/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r7736.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest cellular deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="fakegudev fakemodem"
-AUTOTEST_CONFIG_LIST=
-AUTOTEST_PROFILERS_LIST=
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-RDEPEND="!<chromeos-base/autotest-deps-0.0.3"
-
-# deps/fakegudev
-RDEPEND="${RDEPEND}
-	virtual/libgudev
-"
-
-# deps/fakemodem
-RDEPEND="${RDEPEND}
-	chromeos-base/autotest-fakemodem-conf
-	dev-libs/dbus-glib
-"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r8254.ebuild b/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r8254.ebuild
new file mode 100644
index 0000000..d7c90a3
--- /dev/null
+++ b/chromeos-base/autotest-deps-cellular/autotest-deps-cellular-0.0.1-r8254.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest cellular deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="fakegudev fakemodem"
+AUTOTEST_CONFIG_LIST=
+AUTOTEST_PROFILERS_LIST=
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+RDEPEND="!<chromeos-base/autotest-deps-0.0.3"
+
+# deps/fakegudev
+RDEPEND="${RDEPEND}
+	virtual/libgudev
+"
+
+# deps/fakemodem
+RDEPEND="${RDEPEND}
+	chromeos-base/autotest-fakemodem-conf
+	dev-libs/dbus-glib
+"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r3620.ebuild b/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r3620.ebuild
deleted file mode 100644
index b03051e..0000000
--- a/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r3620.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest D-Bus deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="dbus_protos"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-DEPEND="chromeos-base/system_api
-	dev-libs/protobuf:=
-"
-
-# Calling this here, so tests using this dep don't have to call setup_dep().
-src_prepare() {
-	autotest-deponly_src_prepare
-}
diff --git a/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r4138.ebuild b/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r4138.ebuild
new file mode 100644
index 0000000..de4e7e8
--- /dev/null
+++ b/chromeos-base/autotest-deps-dbus/autotest-deps-dbus-0.0.1-r4138.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest D-Bus deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="dbus_protos"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+DEPEND="chromeos-base/system_api
+	dev-libs/protobuf:=
+"
+
+# Calling this here, so tests using this dep don't have to call setup_dep().
+src_prepare() {
+	autotest-deponly_src_prepare
+}
diff --git a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r8107.ebuild b/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r8107.ebuild
deleted file mode 100644
index 0bda1df..0000000
--- a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r8107.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-sanitizers cros-workon autotest-deponly
-
-DESCRIPTION="Autotest glmark2 dependency"
-HOMEPAGE="https://launchpad.net/glmark2"
-SRC_URI=""
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="-asan +autotest"
-
-AUTOTEST_DEPS_LIST="glmark2"
-
-# deps/glmark2
-RDEPEND="
-	app-benchmarks/glmark2
-"
-
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
diff --git a/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r8625.ebuild b/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r8625.ebuild
new file mode 100644
index 0000000..20b479a
--- /dev/null
+++ b/chromeos-base/autotest-deps-glmark2/autotest-deps-glmark2-0.0.1-r8625.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-sanitizers cros-workon autotest-deponly
+
+DESCRIPTION="Autotest glmark2 dependency"
+HOMEPAGE="https://launchpad.net/glmark2"
+SRC_URI=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="-asan +autotest"
+
+AUTOTEST_DEPS_LIST="glmark2"
+
+# deps/glmark2
+RDEPEND="
+	app-benchmarks/glmark2
+"
+
+DEPEND="${RDEPEND}"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r8087.ebuild b/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r8087.ebuild
deleted file mode 100644
index b6a0d61..0000000
--- a/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r8087.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Dependencies for graphics autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="graphics"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-RDEPEND="!<chromeos-base/autotest-deps-0.0.4"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r8605.ebuild b/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r8605.ebuild
new file mode 100644
index 0000000..6b1a6fd
--- /dev/null
+++ b/chromeos-base/autotest-deps-graphics/autotest-deps-graphics-0.0.1-r8605.ebuild
@@ -0,0 +1,28 @@
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Dependencies for graphics autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="graphics"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+RDEPEND="!<chromeos-base/autotest-deps-0.0.4"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-ltp/autotest-deps-ltp-0.20150119-r24.ebuild b/chromeos-base/autotest-deps-ltp/autotest-deps-ltp-0.20150119-r24.ebuild
deleted file mode 100644
index f9b407b..0000000
--- a/chromeos-base/autotest-deps-ltp/autotest-deps-ltp-0.20150119-r24.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="08733aa7d62b171c667d3eb7e299aa7345053fa9"
-CROS_WORKON_TREE="a2ebeab302f15e405e7e8c355ad74871e767e812"
-CROS_WORKON_PROJECT="chromiumos/third_party/ltp"
-CROS_WORKON_EGIT_BRANCH="chromeos-20150119"
-CROS_WORKON_LOCALNAME=../third_party/ltp
-
-inherit cros-workon cros-constants
-
-DESCRIPTION="Autotest kernel ltp dep"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/ltp/"
-SRC_URI=""
-LICENSE="GPL-2"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST=""
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_prepare() {
-	default
-	# Reset timetstamps since they might get out of sync with git.
-	find utils/ffsb-6.0-rc2 -exec touch -r . {} + || die
-	# Now rebuild autotools for dirs not checked in.
-	emake autotools
-}
-
-src_configure() {
-	econf --prefix="${AUTOTEST_BASE}/client/deps/kernel_ltp_dep"
-	# Used in make install
-	export SKIP_IDCHECK=1
-}
diff --git a/chromeos-base/autotest-deps-ltp/autotest-deps-ltp-9999.ebuild b/chromeos-base/autotest-deps-ltp/autotest-deps-ltp-9999.ebuild
deleted file mode 100644
index 7849a15..0000000
--- a/chromeos-base/autotest-deps-ltp/autotest-deps-ltp-9999.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_PROJECT="chromiumos/third_party/ltp"
-CROS_WORKON_EGIT_BRANCH="chromeos-20150119"
-CROS_WORKON_LOCALNAME=../third_party/ltp
-
-inherit cros-workon cros-constants
-
-DESCRIPTION="Autotest kernel ltp dep"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/ltp/"
-SRC_URI=""
-LICENSE="GPL-2"
-KEYWORDS="~*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST=""
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_prepare() {
-	default
-	# Reset timetstamps since they might get out of sync with git.
-	find utils/ffsb-6.0-rc2 -exec touch -r . {} + || die
-	# Now rebuild autotools for dirs not checked in.
-	emake autotools
-}
-
-src_configure() {
-	econf --prefix="${AUTOTEST_BASE}/client/deps/kernel_ltp_dep"
-	# Used in make install
-	export SKIP_IDCHECK=1
-}
diff --git a/chromeos-base/autotest-deps-ltp/files/chromeos-version.sh b/chromeos-base/autotest-deps-ltp/files/chromeos-version.sh
deleted file mode 100755
index 5c09e59..0000000
--- a/chromeos-base/autotest-deps-ltp/files/chromeos-version.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This echo statement sets the package base version (without its -r value).
-# If it is necessary to add a new blocker or version dependency on this ebuild
-# at the same time as revving the ebuild to a known version value, editing this
-# version can be useful.
-
-# Need to use a 0 prefix to avoid producing a version larger than 9999.
-echo "0.$(cat "$1"/VERSION)"
diff --git a/chromeos-base/autotest-deps-p2p/autotest-deps-p2p-0.0.1-r7699.ebuild b/chromeos-base/autotest-deps-p2p/autotest-deps-p2p-0.0.1-r7699.ebuild
deleted file mode 100644
index b5d5d28..0000000
--- a/chromeos-base/autotest-deps-p2p/autotest-deps-p2p-0.0.1-r7699.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-PYTHON_COMPAT=( python2_7 )
-inherit cros-workon autotest-deponly python-any-r1
-
-DESCRIPTION="Autotest p2p deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="lansim"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-RDEPEND="!<chromeos-base/autotest-deps-0.0.4"
-
-# deps/lansim
-RDEPEND="${RDEPEND}
-	dev-python/dpkt
-"
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-p2p/autotest-deps-p2p-0.0.1-r8217.ebuild b/chromeos-base/autotest-deps-p2p/autotest-deps-p2p-0.0.1-r8217.ebuild
new file mode 100644
index 0000000..5fff5b0
--- /dev/null
+++ b/chromeos-base/autotest-deps-p2p/autotest-deps-p2p-0.0.1-r8217.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+PYTHON_COMPAT=( python2_7 )
+inherit cros-workon autotest-deponly python-any-r1
+
+DESCRIPTION="Autotest p2p deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="lansim"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+RDEPEND="!<chromeos-base/autotest-deps-0.0.4"
+
+# deps/lansim
+RDEPEND="${RDEPEND}
+	dev-python/dpkt
+"
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-piglit/autotest-deps-piglit-0.0.1-r12350.ebuild b/chromeos-base/autotest-deps-piglit/autotest-deps-piglit-0.0.1-r12350.ebuild
deleted file mode 100644
index 84c3784..0000000
--- a/chromeos-base/autotest-deps-piglit/autotest-deps-piglit-0.0.1-r12350.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="dependencies for Piglit (collection of automated tests for OpenGl based on glean and mesa)"
-HOMEPAGE="http://cgit.freedesktop.org/piglit"
-SRC_URI=""
-LICENSE="GPL-2 LGPL-3"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest opengl"
-
-AUTOTEST_DEPS_LIST="piglit"
-RDEPEND="
-	opengl? ( virtual/glut )
-	opengl? ( virtual/opengl )
-	dev-python/mako
-	dev-python/numpy
-	media-libs/tiff
-	media-libs/libpng
-	sys-libs/zlib
-	x11-libs/libICE
-	x11-libs/libSM
-	x11-libs/libX11
-	x11-libs/libXtst
-	x11-libs/libXau
-	x11-libs/libXdmcp
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXpm
-	x11-libs/libXrender
-	opengl? ( x11-proto/glproto )
-	"
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	# export a variable so that piglit knows where to find libglut.so
-	export GLUT_LIBDIR="/usr/$(get_libdir)"
-
-	default
-}
diff --git a/chromeos-base/autotest-deps-piglit/autotest-deps-piglit-9999.ebuild b/chromeos-base/autotest-deps-piglit/autotest-deps-piglit-9999.ebuild
deleted file mode 100644
index 6a11294..0000000
--- a/chromeos-base/autotest-deps-piglit/autotest-deps-piglit-9999.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="dependencies for Piglit (collection of automated tests for OpenGl based on glean and mesa)"
-HOMEPAGE="http://cgit.freedesktop.org/piglit"
-SRC_URI=""
-LICENSE="GPL-2 LGPL-3"
-SLOT="0"
-KEYWORDS="~*"
-
-# Autotest enabled by default.
-IUSE="+autotest opengl"
-
-AUTOTEST_DEPS_LIST="piglit"
-RDEPEND="
-	opengl? ( virtual/glut )
-	opengl? ( virtual/opengl )
-	dev-python/mako
-	dev-python/numpy
-	media-libs/tiff
-	media-libs/libpng
-	sys-libs/zlib
-	x11-libs/libICE
-	x11-libs/libSM
-	x11-libs/libX11
-	x11-libs/libXtst
-	x11-libs/libXau
-	x11-libs/libXdmcp
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXpm
-	x11-libs/libXrender
-	opengl? ( x11-proto/glproto )
-	"
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-DEPEND="${RDEPEND}"
-
-src_configure() {
-	# export a variable so that piglit knows where to find libglut.so
-	export GLUT_LIBDIR="/usr/$(get_libdir)"
-
-	default
-}
diff --git a/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r3696.ebuild b/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r3696.ebuild
deleted file mode 100644
index dcad81e..0000000
--- a/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r3696.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest policy deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="policy_protos"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-DEPEND="
-	>=chromeos-base/protofiles-0.0.39:=
-	chromeos-base/system_api
-	dev-libs/protobuf:=
-"
-
-# Calling this here, so tests using this dep don't have to call setup_dep().
-src_prepare() {
-	autotest-deponly_src_prepare
-}
diff --git a/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r4214.ebuild b/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r4214.ebuild
new file mode 100644
index 0000000..95711ca
--- /dev/null
+++ b/chromeos-base/autotest-deps-policy/autotest-deps-policy-0.0.1-r4214.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest policy deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="policy_protos"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+DEPEND="
+	>=chromeos-base/protofiles-0.0.39:=
+	chromeos-base/system_api
+	dev-libs/protobuf:=
+"
+
+# Calling this here, so tests using this dep don't have to call setup_dep().
+src_prepare() {
+	autotest-deponly_src_prepare
+}
diff --git a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r8709.ebuild b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r8709.ebuild
deleted file mode 100644
index ba62cf7..0000000
--- a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r8709.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest touchpad deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="touchpad-tests"
-AUTOTEST_CONFIG_LIST=
-AUTOTEST_PROFILERS_LIST=
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-# deps/touchpad-tests
-RDEPEND="
-	x11-drivers/touchpad-tests
-	chromeos-base/touch_firmware_test
-	chromeos-base/mttools
-"
-
-DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r9227.ebuild b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r9227.ebuild
new file mode 100644
index 0000000..4c04b82
--- /dev/null
+++ b/chromeos-base/autotest-deps-touchpad/autotest-deps-touchpad-0.0.1-r9227.ebuild
@@ -0,0 +1,35 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest touchpad deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="touchpad-tests"
+AUTOTEST_CONFIG_LIST=
+AUTOTEST_PROFILERS_LIST=
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+# deps/touchpad-tests
+RDEPEND="
+	x11-drivers/touchpad-tests
+	chromeos-base/touch_firmware_test
+	chromeos-base/mttools
+"
+
+DEPEND="${RDEPEND}"
diff --git a/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r8259.ebuild b/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r8259.ebuild
deleted file mode 100644
index d010b52..0000000
--- a/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r8259.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Dependencies for WebGL many planets deep test"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-AUTOTEST_DEPS_LIST="webgl_mpd"
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r8777.ebuild b/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r8777.ebuild
new file mode 100644
index 0000000..c9be68f
--- /dev/null
+++ b/chromeos-base/autotest-deps-webgl-mpd/autotest-deps-webgl-mpd-0.0.1-r8777.ebuild
@@ -0,0 +1,25 @@
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Dependencies for WebGL many planets deep test"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+AUTOTEST_DEPS_LIST="webgl_mpd"
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-deps/autotest-deps-0.0.4-r12926.ebuild b/chromeos-base/autotest-deps/autotest-deps-0.0.4-r12926.ebuild
deleted file mode 100644
index 86f96f7..0000000
--- a/chromeos-base/autotest-deps/autotest-deps-0.0.4-r12926.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest-deponly
-
-DESCRIPTION="Autotest common deps"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Autotest enabled by default.
-IUSE="+autotest"
-
-# following deps don't compile: boottool, mysql, pgpool, pgsql, systemtap, # dejagnu, libcap, libnet
-# following deps are not deps: factory
-# following tests are going to be moved: chrome_test
-AUTOTEST_DEPS_LIST="gtest iwcap"
-AUTOTEST_CONFIG_LIST=*
-AUTOTEST_PROFILERS_LIST=*
-
-# NOTE: For deps, we need to keep *.a
-AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-# deps/gtest
-RDEPEND="
-	dev-cpp/gtest:=
-"
-
-# deps/iwcap
-RDEPEND="${RDEPEND}
-	dev-libs/libnl:0
-"
-
-# deps/grpcio
-RDEPEND="${RDEPEND}
-	>=dev-python/grpcio-1.19
-"
-
-# deps/psutil
-RDEPEND="${RDEPEND}
-	>=dev-python/psutil-5.5.0
-"
-
-RDEPEND="${RDEPEND}
-	sys-devel/binutils
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
-	autotest-deponly_src_prepare
-
-	# To avoid a file collision with autotest.ebuild, remove
-	# one particular __init__.py file from working directory.
-	# See crbug.com/324963 for context.
-	rm "${AUTOTEST_WORKDIR}/client/profilers/__init__.py"
-}
diff --git a/chromeos-base/autotest-deps/autotest-deps-0.0.4-r13444.ebuild b/chromeos-base/autotest-deps/autotest-deps-0.0.4-r13444.ebuild
new file mode 100644
index 0000000..d1c4c1f
--- /dev/null
+++ b/chromeos-base/autotest-deps/autotest-deps-0.0.4-r13444.ebuild
@@ -0,0 +1,64 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest-deponly
+
+DESCRIPTION="Autotest common deps"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Autotest enabled by default.
+IUSE="+autotest"
+
+# following deps don't compile: boottool, mysql, pgpool, pgsql, systemtap, # dejagnu, libcap, libnet
+# following deps are not deps: factory
+# following tests are going to be moved: chrome_test
+AUTOTEST_DEPS_LIST="gtest iwcap"
+AUTOTEST_CONFIG_LIST=*
+AUTOTEST_PROFILERS_LIST=*
+
+# NOTE: For deps, we need to keep *.a
+AUTOTEST_FILE_MASK="*.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+# deps/gtest
+RDEPEND="
+	dev-cpp/gtest:=
+"
+
+# deps/iwcap
+RDEPEND="${RDEPEND}
+	dev-libs/libnl:0
+"
+
+# deps/grpcio
+RDEPEND="${RDEPEND}
+	>=dev-python/grpcio-1.19
+"
+
+# deps/psutil
+RDEPEND="${RDEPEND}
+	>=dev-python/psutil-5.5.0
+"
+
+RDEPEND="${RDEPEND}
+	sys-devel/binutils
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+	autotest-deponly_src_prepare
+
+	# To avoid a file collision with autotest.ebuild, remove
+	# one particular __init__.py file from working directory.
+	# See crbug.com/324963 for context.
+	rm "${AUTOTEST_WORKDIR}/client/profilers/__init__.py"
+}
diff --git a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3366.ebuild b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3366.ebuild
deleted file mode 100644
index 33e2b63..0000000
--- a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3366.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="b2d0801b92153978911f6eb1010b4abd5f4448c6"
-CROS_WORKON_TREE="6e58ba458a13bf5c1b0262c0e00b5fc693215a51"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for Bluetooth"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-server-tests-0.0.2-r4126
-"
-
-SERVER_IUSE_TESTS="
-	+tests_bluetooth_AdapterAdvSanity
-	+tests_bluetooth_AdapterAUSanity
-	+tests_bluetooth_AdapterCLSanity
-	+tests_bluetooth_AdapterLEAdvertising
-	+tests_bluetooth_AdapterLEBetterTogether
-	+tests_bluetooth_AdapterLEHIDSanity
-	+tests_bluetooth_AdapterLESanity
-	+tests_bluetooth_AdapterMDSanity
-	+tests_bluetooth_AdapterMTBF
-	+tests_bluetooth_AdapterPowerMeasure
-	+tests_bluetooth_AdapterQuickSanity
-	+tests_bluetooth_AdapterSASanity
-	+tests_bluetooth_PeerUpdate
-	+tests_bluetooth_AdapterSRSanity
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3402.ebuild b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3402.ebuild
new file mode 100644
index 0000000..58f641c
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-0.0.1-r3402.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for Bluetooth"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-server-tests-0.0.2-r4126
+"
+
+SERVER_IUSE_TESTS="
+	+tests_bluetooth_AdapterAdvHealth
+	+tests_bluetooth_AdapterAdvMonitor
+	+tests_bluetooth_AdapterAudioLink
+	+tests_bluetooth_AdapterAUHealth
+	+tests_bluetooth_AdapterCLHealth
+	+tests_bluetooth_AdapterLEAdvertising
+	+tests_bluetooth_AdapterLEBetterTogether
+	+tests_bluetooth_AdapterLEHIDHealth
+	+tests_bluetooth_AdapterLEHealth
+	+tests_bluetooth_AdapterMDHealth
+	+tests_bluetooth_AdapterMTBF
+	+tests_bluetooth_AdapterPowerMeasure
+	+tests_bluetooth_AdapterQuickHealth
+	+tests_bluetooth_AdapterSAHealth
+	+tests_bluetooth_PeerUpdate
+	+tests_bluetooth_AdapterSRHealth
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild
index 532a1b9..e6fdb5c 100644
--- a/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild
+++ b/chromeos-base/autotest-server-tests-bluetooth/autotest-server-tests-bluetooth-9999.ebuild
@@ -22,20 +22,22 @@
 "
 
 SERVER_IUSE_TESTS="
-	+tests_bluetooth_AdapterAdvSanity
-	+tests_bluetooth_AdapterAUSanity
-	+tests_bluetooth_AdapterCLSanity
+	+tests_bluetooth_AdapterAdvHealth
+	+tests_bluetooth_AdapterAdvMonitor
+	+tests_bluetooth_AdapterAudioLink
+	+tests_bluetooth_AdapterAUHealth
+	+tests_bluetooth_AdapterCLHealth
 	+tests_bluetooth_AdapterLEAdvertising
 	+tests_bluetooth_AdapterLEBetterTogether
-	+tests_bluetooth_AdapterLEHIDSanity
-	+tests_bluetooth_AdapterLESanity
-	+tests_bluetooth_AdapterMDSanity
+	+tests_bluetooth_AdapterLEHIDHealth
+	+tests_bluetooth_AdapterLEHealth
+	+tests_bluetooth_AdapterMDHealth
 	+tests_bluetooth_AdapterMTBF
 	+tests_bluetooth_AdapterPowerMeasure
-	+tests_bluetooth_AdapterQuickSanity
-	+tests_bluetooth_AdapterSASanity
+	+tests_bluetooth_AdapterQuickHealth
+	+tests_bluetooth_AdapterSAHealth
 	+tests_bluetooth_PeerUpdate
-	+tests_bluetooth_AdapterSRSanity
+	+tests_bluetooth_AdapterSRHealth
 "
 
 IUSE_TESTS="${IUSE_TESTS}
diff --git a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3338.ebuild b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3338.ebuild
deleted file mode 100644
index b3961dd..0000000
--- a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3338.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-CROS_WORKON_COMMIT="91b23be02c04cee63b94354239062e83b4aa2319"
-CROS_WORKON_TREE="1339b5cf7943176aeba9de65fa5a5b8bf7326758"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for shill"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="-chromeless_tests +autotest -chromeless_tty"
-
-SERVER_IUSE_TESTS="
-	+tests_network_WiFi_APSupportedRates
-	+tests_network_WiFi_AssocConfigPerformance
-	+tests_network_WiFi_AttenuatedPerf
-	+tests_network_WiFi_BeaconInterval
-	+tests_network_WiFi_BgscanBackoff
-	+tests_network_WiFi_BluetoothScanPerf
-	+tests_network_WiFi_BluetoothStreamPerf
-	+tests_network_WiFi_BSSTMReq
-	+tests_network_WiFi_BT_AntennaCoex
-	+tests_network_WiFi_ChannelHop
-	+tests_network_WiFi_ChannelScanDwellTime
-	+tests_network_WiFi_ChaosConfigFailure
-	+tests_network_WiFi_ChaosConnectDisconnect
-	+tests_network_WiFi_ChaosLongConnect
-	!chromeless_tty (
-		!chromeless_tests (
-			+tests_cellular_ChromeEndToEnd
-			+tests_network_WiFi_ChromeEndToEnd
-			+tests_network_WiFi_RoamEndToEnd
-			+tests_network_WiFi_RoamSuspendEndToEnd
-		)
-	)
-	+tests_network_WiFi_ConnectionIdentifier
-	+tests_network_WiFi_CSA
-	+tests_network_WiFi_CSADisconnect
-	+tests_network_WiFi_DarkResumeActiveScans
-	+tests_network_WiFi_DisableEnable
-	+tests_network_WiFi_DisableRandomMACAddress
-	+tests_network_WiFi_DisconnectReason
-	+tests_network_WiFi_DTIMPeriod
-	+tests_network_WiFi_FastReconnectInDarkResume
-	+tests_network_WiFi_GTK
-	+tests_network_WiFi_HiddenRemains
-	+tests_network_WiFi_HiddenScan
-	+tests_network_WiFi_LinkMonitorFailure
-	+tests_network_WiFi_MalformedProbeResp
-	+tests_network_WiFi_MultiAuth
-	+tests_network_WiFi_OverlappingBSSScan
-	+tests_network_WiFi_Perf
-	+tests_network_WiFi_PMKSACaching
-	+tests_network_WiFi_Prefer5Ghz
-	+tests_network_WiFi_ProfileBasic
-	+tests_network_WiFi_ProfileGUID
-	+tests_network_WiFi_PTK
-	+tests_network_WiFi_RandomMACAddress
-	+tests_network_WiFi_RateControl
-	+tests_network_WiFi_Reassociate
-	+tests_network_WiFi_ReconnectInDarkResume
-	+tests_network_WiFi_Reset
-	+tests_network_WiFi_Roam
-	+tests_network_WiFi_RoamDbus
-	+tests_network_WiFi_RoamFT
-	+tests_network_WiFi_RoamSuspendTimeout
-	+tests_network_WiFi_ScanPerformance
-	+tests_network_WiFi_SecChange
-	+tests_network_WiFi_SetOptionalDhcpProperties
-	+tests_network_WiFi_SimpleConnect
-	+tests_network_WiFi_SSIDSwitchBack
-	+tests_network_WiFi_SuspendStress
-	+tests_network_WiFi_StressTest
-	+tests_network_WiFi_Throttle
-	+tests_network_WiFi_UpdateRouter
-	+tests_network_WiFi_VerifyRouter
-	+tests_network_WiFi_VisibleScan
-	+tests_network_WiFi_WakeOnDisconnect
-	+tests_network_WiFi_WakeOnSSID
-	+tests_network_WiFi_WakeOnWiFiThrottling
-	+tests_network_WiFi_WoWLAN
-	+tests_network_WiFi_WMM
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3355.ebuild b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3355.ebuild
new file mode 100644
index 0000000..99c8795
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-0.0.1-r3355.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+CROS_WORKON_COMMIT="1521b89a2238df3d685fc5ee36b5271327611214"
+CROS_WORKON_TREE="67c30b01c0b67d27e2ee30c3a08130d0b95a70ab"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for shill"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="-chromeless_tests +autotest -chromeless_tty"
+
+SERVER_IUSE_TESTS="
+	+tests_network_WiFi_APSupportedRates
+	+tests_network_WiFi_AssocConfigPerformance
+	+tests_network_WiFi_AttenuatedPerf
+	+tests_network_WiFi_BeaconInterval
+	+tests_network_WiFi_BgscanBackoff
+	+tests_network_WiFi_BluetoothScanPerf
+	+tests_network_WiFi_BluetoothStreamPerf
+	+tests_network_WiFi_BSSTMReq
+	+tests_network_WiFi_BT_AntennaCoex
+	+tests_network_WiFi_ChannelHop
+	+tests_network_WiFi_ChannelScanDwellTime
+	+tests_network_WiFi_ChaosConfigFailure
+	+tests_network_WiFi_ChaosConnectDisconnect
+	+tests_network_WiFi_ChaosLongConnect
+	!chromeless_tty (
+		!chromeless_tests (
+			+tests_cellular_ChromeEndToEnd
+			+tests_network_WiFi_ChromeEndToEnd
+			+tests_network_WiFi_RoamEndToEnd
+			+tests_network_WiFi_RoamSuspendEndToEnd
+		)
+	)
+	+tests_network_WiFi_ConnectionIdentifier
+	+tests_network_WiFi_CSA
+	+tests_network_WiFi_CSADisconnect
+	+tests_network_WiFi_DarkResumeActiveScans
+	+tests_network_WiFi_DisableEnable
+	+tests_network_WiFi_DisableRandomMACAddress
+	+tests_network_WiFi_DisconnectReason
+	+tests_network_WiFi_DTIMPeriod
+	+tests_network_WiFi_FastReconnectInDarkResume
+	+tests_network_WiFi_GTK
+	+tests_network_WiFi_HiddenRemains
+	+tests_network_WiFi_HiddenScan
+	+tests_network_WiFi_LinkMonitorFailure
+	+tests_network_WiFi_MalformedProbeResp
+	+tests_network_WiFi_MultiAuth
+	+tests_network_WiFi_OverlappingBSSScan
+	+tests_network_WiFi_Perf
+	+tests_network_WiFi_PMKSACaching
+	+tests_network_WiFi_Prefer5Ghz
+	+tests_network_WiFi_ProfileBasic
+	+tests_network_WiFi_ProfileGUID
+	+tests_network_WiFi_PTK
+	+tests_network_WiFi_RandomMACAddress
+	+tests_network_WiFi_RateControl
+	+tests_network_WiFi_Reassociate
+	+tests_network_WiFi_ReconnectInDarkResume
+	+tests_network_WiFi_Reset
+	+tests_network_WiFi_Roam
+	+tests_network_WiFi_RoamDbus
+	+tests_network_WiFi_RoamFT
+	+tests_network_WiFi_RoamSuspendTimeout
+	+tests_network_WiFi_SecChange
+	+tests_network_WiFi_SetOptionalDhcpProperties
+	+tests_network_WiFi_SimpleConnect
+	+tests_network_WiFi_SSIDSwitchBack
+	+tests_network_WiFi_SuspendStress
+	+tests_network_WiFi_StressTest
+	+tests_network_WiFi_Throttle
+	+tests_network_WiFi_UpdateRouter
+	+tests_network_WiFi_VerifyRouter
+	+tests_network_WiFi_VisibleScan
+	+tests_network_WiFi_WakeOnDisconnect
+	+tests_network_WiFi_WakeOnSSID
+	+tests_network_WiFi_WakeOnWiFiThrottling
+	+tests_network_WiFi_WoWLAN
+	+tests_network_WiFi_WMM
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild
index 69a8a0c..c8d7021 100644
--- a/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild
+++ b/chromeos-base/autotest-server-tests-shill/autotest-server-tests-shill-9999.ebuild
@@ -71,7 +71,6 @@
 	+tests_network_WiFi_RoamDbus
 	+tests_network_WiFi_RoamFT
 	+tests_network_WiFi_RoamSuspendTimeout
-	+tests_network_WiFi_ScanPerformance
 	+tests_network_WiFi_SecChange
 	+tests_network_WiFi_SetOptionalDhcpProperties
 	+tests_network_WiFi_SimpleConnect
diff --git a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r120.ebuild b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r120.ebuild
deleted file mode 100644
index 10ddf02..0000000
--- a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r120.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="038e73e9e5d43eb894fb70d6502fbd6229b2b33a"
-CROS_WORKON_TREE="c830590e01847850fc31d3d2344ebb83a81d97db"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for running Tast-based tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-IUSE="+autotest"
-
-RDEPEND=""
-DEPEND=""
-
-IUSE_TESTS="
-	+tests_tast
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r145.ebuild b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r145.ebuild
new file mode 100644
index 0000000..228288c
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-0.0.1-r145.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="3424545f542759a471d05c8d18560af22362775b"
+CROS_WORKON_TREE="ba13741a280b0dc0bdbe0f5e0bf11ec5bb91921e"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for running Tast-based tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/tast/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+IUSE="+autotest"
+
+RDEPEND=""
+DEPEND=""
+
+IUSE_TESTS="
+	+tests_graphics_TraceReplayExtended
+	+tests_tast
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild
index fbc2396..48597db 100644
--- a/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild
+++ b/chromeos-base/autotest-server-tests-tast/autotest-server-tests-tast-9999.ebuild
@@ -20,6 +20,7 @@
 DEPEND=""
 
 IUSE_TESTS="
+	+tests_graphics_TraceReplayExtended
 	+tests_tast
 "
 
diff --git a/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3237.ebuild b/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3237.ebuild
deleted file mode 100644
index f383a1f..0000000
--- a/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3237.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="4"
-CROS_WORKON_COMMIT="fbc49f406c80967f486ed2f0e2d02eeaa38cad82"
-CROS_WORKON_TREE="7a1273a39123e82c06eb32db5941fb784023e773"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests for shill"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	!<chromeos-base/autotest-server-tests-0.0.2
-"
-
-SERVER_IUSE_TESTS="
-	+tests_telemetry_AFDOGenerate
-	+tests_telemetry_Benchmarks
-	+tests_telemetry_Crosperf
-	+tests_telemetry_CrosTests
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3240.ebuild b/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3240.ebuild
new file mode 100644
index 0000000..03952d9
--- /dev/null
+++ b/chromeos-base/autotest-server-tests-telemetry/autotest-server-tests-telemetry-0.0.1-r3240.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+CROS_WORKON_COMMIT="0a1bf28efd1b19766576c7563e9de7c54237010b"
+CROS_WORKON_TREE="a57877543603549c8eedff95ea99018cde9019a6"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests for shill"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	!<chromeos-base/autotest-server-tests-0.0.2
+"
+
+SERVER_IUSE_TESTS="
+	+tests_telemetry_AFDOGenerate
+	+tests_telemetry_Benchmarks
+	+tests_telemetry_Crosperf
+	+tests_telemetry_CrosTests
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r4784.ebuild b/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r4784.ebuild
deleted file mode 100644
index 7bbfadc..0000000
--- a/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r4784.ebuild
+++ /dev/null
@@ -1,346 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="63345f3cd9cc4b4eac10f250a5b82e10aafa64d2"
-CROS_WORKON_TREE="767ab0f0f01a40e411096efa933787b60e4fc470"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotest server tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-# Enable autotest by default.
-IUSE="android-container android-container-pi android-vm-rvc +autotest biod +cellular cheets_user_64 -chromeless_tests -chromeless_tty cros_p2p debugd dlc_test has-kernelnext is-kernelnext -moblab +power_management +readahead +tpm tpm2"
-REQUIRED_USE="?? ( has-kernelnext is-kernelnext )"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	!<chromeos-base/autotest-0.0.2
-"
-
-SERVER_IUSE_TESTS="
-	+tests_android_ACTS
-	+tests_android_EasySetup
-	+tests_audio_AudioAfterReboot
-	+tests_audio_AudioAfterSuspend
-	+tests_audio_AudioArtifacts
-	+tests_audio_AudioARCPlayback
-	+tests_audio_AudioARCRecord
-	+tests_audio_AudioBasicAssistant
-	+tests_audio_AudioBasicBluetoothPlayback
-	+tests_audio_AudioBasicBluetoothPlaybackRecord
-	+tests_audio_AudioBasicBluetoothRecord
-	+tests_audio_AudioBasicExternalMicrophone
-	+tests_audio_AudioBasicHDMI
-	+tests_audio_AudioBasicHeadphone
-	+tests_audio_AudioBasicHotwording
-	+tests_audio_AudioBasicInternalMicrophone
-	+tests_audio_AudioBasicInternalSpeaker
-	+tests_audio_AudioBasicUSBPlayback
-	+tests_audio_AudioBasicUSBPlaybackRecord
-	+tests_audio_AudioBasicUSBRecord
-	+tests_audio_AudioBluetoothConnectionStability
-	+tests_audio_AudioNodeSwitch
-	+tests_audio_AudioPinnedStream
-	+tests_audio_AudioQualityAfterSuspend
-	+tests_audio_AudioSanityCheck
-	+tests_audio_AudioVolume
-	+tests_audio_AudioWebRTCLoopback
-	+tests_audio_InternalCardNodes
-	+tests_audio_LeftRightInternalSpeaker
-	+tests_audio_MediaBasicVerification
-	+tests_audio_PowerConsumption
-	+tests_audiovideo_AVSync
-	+tests_autotest_SyncCount
-	+tests_autoupdate_Basic
-	+tests_autoupdate_CatchBadSignatures
-	+tests_autoupdate_Cellular
-	+tests_autoupdate_DataPreserved
-	+tests_autoupdate_ForcedOOBEUpdate
-	+tests_autoupdate_FromUI
-	+tests_autoupdate_Interruptions
-	+tests_autoupdate_NonBlockingOOBEUpdate
-	+tests_autoupdate_OmahaResponse
-	+tests_autoupdate_P2P
-	+tests_autoupdate_Periodic
-	+tests_autoupdate_Rollback
-	dlc_test? ( +tests_autoupdate_WithDLC )
-	has-kernelnext? ( +tests_autoupdate_StatefulCompatibility )
-	is-kernelnext? ( +tests_autoupdate_StatefulCompatibility )
-	cellular? ( +tests_cellular_StaleModemReboot )
-	android-container-pi? (
-		+tests_cheets_CTS_Instant
-		+tests_cheets_CTS_P
-		+tests_cheets_GTS
-	)
-	android-vm-rvc? (
-		cheets_user_64? (
-			+tests_cheets_CTS_R
-			+tests_cheets_GTS_R
-		)
-		!cheets_user_64? (
-			+tests_cheets_VTS_R
-		)
-	)
-	+tests_cheets_LabDependencies
-	debugd? ( +tests_debugd_DevTools )
-	+tests_crosperf_Wrapper
-	+tests_display_EdidStress
-	+tests_display_HDCPScreen
-	+tests_display_HotPlugAtBoot
-	+tests_display_HotPlugAtSuspend
-	+tests_display_HotPlugNoisy
-	+tests_display_LidCloseOpen
-	+tests_display_NoEdid
-	+tests_display_Resolution
-	+tests_display_ResolutionList
-	+tests_display_ServerChameleonConnection
-	+tests_display_SuspendStress
-	+tests_display_SwitchMode
-	+tests_dummy_PassServer
-	+tests_dummy_FailServer
-	+tests_dummy_FlakyTestServer
-	+tests_dummy_SynchronousOffloadServer
-	+tests_enterprise_ClearTPM
-	+tests_enterprise_KioskEnrollmentServer
-	+tests_enterprise_LongevityTrackerServer
-	+tests_enterprise_OnlineDemoMode
-	+tests_factory_Basic
-	+tests_firmware_Bmpblk
-	+tests_firmware_CgptStress
-	+tests_firmware_ClearTPMOwnerAndReset
-	+tests_firmware_ConsecutiveBoot
-	+tests_firmware_ConsecutiveBootPowerButton
-	+tests_firmware_ConsecutiveLidSwitch
-	+tests_firmware_CorruptBothFwBodyAB
-	+tests_firmware_CorruptBothFwSigAB
-	+tests_firmware_CorruptBothKernelAB
-	+tests_firmware_CorruptFwBodyA
-	+tests_firmware_CorruptFwBodyB
-	+tests_firmware_CorruptFwSigA
-	+tests_firmware_CorruptFwSigB
-	+tests_firmware_CorruptKernelA
-	+tests_firmware_CorruptKernelB
-	+tests_firmware_CorruptRecoveryCache
-	+tests_firmware_Cr50BID
-	+tests_firmware_Cr50CCDServoCap
-	+tests_firmware_Cr50CCDUartStress
-	+tests_firmware_Cr50CheckCap
-	+tests_firmware_Cr50ConsoleCommands
-	+tests_firmware_Cr50DeepSleepStress
-	+tests_firmware_Cr50DeferredECReset
-	+tests_firmware_Cr50DeviceState
-	+tests_firmware_Cr50DevMode
-	+tests_firmware_Cr50ECReset
-	+tests_firmware_Cr50FactoryResetVC
-	+tests_firmware_Cr50CCDFirmwareUpdate
-	+tests_firmware_Cr50GetName
-	+tests_firmware_Cr50InvalidateRW
-	+tests_firmware_Cr50Open
-	+tests_firmware_Cr50OpenWhileAPOff
-	+tests_firmware_Cr50PartialBoardId
-	+tests_firmware_Cr50Password
-	+tests_firmware_Cr50PinWeaverServer
-	+tests_firmware_Cr50RddG3
-	+tests_firmware_Cr50RejectUpdate
-	+tests_firmware_Cr50RMAOpen
-	+tests_firmware_Cr50SetBoardId
-	+tests_firmware_Cr50ShortECC
-	+tests_firmware_Cr50Testlab
-	+tests_firmware_Cr50TpmManufactured
-	+tests_firmware_Cr50TpmMode
-	+tests_firmware_Cr50U2fCommands
-	+tests_firmware_Cr50Unlock
-	+tests_firmware_Cr50Update
-	+tests_firmware_Cr50UpdateScriptStress
-	+tests_firmware_Cr50USB
-	+tests_firmware_Cr50WilcoEcrst
-	+tests_firmware_Cr50WilcoRmaFactoryMode
-	+tests_firmware_Cr50WPG3
-	+tests_firmware_DevBootUSB
-	+tests_firmware_DevDefaultBoot
-	+tests_firmware_DevMode
-	+tests_firmware_DevModeStress
-	+tests_firmware_DevScreenTimeout
-	+tests_firmware_ECBattery
-	+tests_firmware_ECBootTime
-	+tests_firmware_ECCbiEeprom
-	+tests_firmware_ECCharging
-	+tests_firmware_ECChargingState
-	+tests_firmware_ECHash
-	+tests_firmware_ECKeyboard
-	+tests_firmware_ECKeyboardReboot
-	+tests_firmware_ECLidShutdown
-	+tests_firmware_ECLidSwitch
-	+tests_firmware_ECPeci
-	+tests_firmware_ECPowerButton
-	+tests_firmware_ECPowerG3
-	+tests_firmware_ECSharedMem
-	+tests_firmware_ECThermal
-	+tests_firmware_ECUpdateId
-	+tests_firmware_ECUsbPorts
-	+tests_firmware_ECWakeSource
-	+tests_firmware_ECWatchdog
-	+tests_firmware_EventLog
-	+tests_firmware_FAFTPrepare
-	+tests_firmware_FAFTModeTransitions
-	+tests_firmware_FAFTRPC
-	+tests_firmware_FAFTSetup
-	biod? (
-		+tests_firmware_Fingerprint
-		+tests_firmware_FingerprintSigner
-	)
-	+tests_firmware_FMap
-	+tests_firmware_FWMPDisableCCD
-	+tests_firmware_FwScreenCloseLid
-	+tests_firmware_FwScreenPressPower
-	+tests_firmware_FWupdateWP
-	+tests_firmware_FWtries
-	+tests_firmware_FWupdateThenSleep
-	+tests_firmware_FWupdateWP
-	+tests_firmware_IntegratedU2F
-	+tests_firmware_InvalidUSB
-	+tests_firmware_LegacyRecovery
-	+tests_firmware_MenuModeTransition
-	+tests_firmware_Mosys
-	+tests_firmware_PDConnect
-	+tests_firmware_PDDataSwap
-	+tests_firmware_PDPowerSwap
-	+tests_firmware_PDProtocol
-	+tests_firmware_PDResetHard
-	+tests_firmware_PDResetSoft
-	+tests_firmware_PDTrySrc
-	+tests_firmware_PDVbusRequest
-	+tests_firmware_RecoveryButton
-	+tests_firmware_RecoveryCacheBootKeys
-	+tests_firmware_RollbackFirmware
-	+tests_firmware_RollbackKernel
-	+tests_firmware_SelfSignedBoot
-	+tests_firmware_SetSerialNumber
-	+tests_firmware_SoftwareSync
-	+tests_firmware_StandbyPowerConsumption
-	+tests_firmware_SysfsVPD
-	+tests_firmware_TPMNotCorruptedDevMode
-	tpm? ( +tests_firmware_TPMExtend )
-	tpm? ( +tests_firmware_TPMVersionCheck )
-	tpm? ( +tests_firmware_TPMKernelVersion )
-	tpm2? ( +tests_firmware_TPMExtend )
-	tpm2? ( +tests_firmware_TPMVersionCheck )
-	tpm2? ( +tests_firmware_TPMKernelVersion )
-	+tests_firmware_TryFwB
-	+tests_firmware_TypeCCharging
-	+tests_firmware_TypeCProbeUSB3
-	+tests_firmware_UpdateFirmwareDataKeyVersion
-	+tests_firmware_UpdateFirmwareVersion
-	+tests_firmware_UpdateKernelDataKeyVersion
-	+tests_firmware_UpdateKernelSubkeyVersion
-	+tests_firmware_UpdateKernelVersion
-	+tests_firmware_UpdaterModes
-	+tests_firmware_UserRequestRecovery
-	+tests_firmware_WilcoDiagnosticsMode
-	+tests_firmware_WriteProtect
-	+tests_firmware_WriteProtectFunc
-	+tests_graphics_PowerConsumption
-	+tests_graphics_MultipleDisplays
-	+tests_hardware_DiskFirmwareUpgrade
-	+tests_hardware_MemoryIntegrity
-	+tests_hardware_StorageQual
-	+tests_hardware_StorageQualBase
-	+tests_hardware_StorageQualCheckSetup
-	+tests_hardware_StorageQualSuspendStress
-	+tests_hardware_StorageQualTrimStress
-	+tests_hardware_StorageStress
-	+tests_infra_TLSExecDUTCommand
-	+tests_kernel_EmptyLines
-	+tests_kernel_ExternalUsbPeripheralsDetectionTest
-	+tests_kernel_IdlePerf
-	+tests_kernel_MemoryRamoop
-	+tests_logging_GenerateCrashFiles
-	moblab? (
-		+tests_moblab_RunSuite
-		+tests_moblab_StorageQual
-	)
-	+tests_moblab_Setup
-	cros_p2p? ( +tests_p2p_EndToEndTest )
-	+tests_network_FirewallHolePunchServer
-	+tests_platform_ActivateDate
-	+tests_platform_BootDevice
-	+tests_platform_BootLockboxServer
-	+tests_platform_BootPerfServer
-	+tests_platform_CompromisedStatefulPartition
-	+tests_platform_CorruptRootfs
-	+tests_platform_CrashStateful
-	+tests_platform_ExternalUsbPeripherals
-	+tests_platform_FlashErasers
-	+tests_platform_Flashrom
-	+tests_platform_HWwatchdog
-	+tests_platform_InitLoginPerfServer
-	+tests_platform_InstallTestImage
-	+tests_platform_InternalDisplay
-	+tests_platform_KernelErrorPaths
-	power_management? (
-		+tests_platform_PowerStatusStress
-		+tests_power_DeferForFlashrom
-		+tests_power_WakeSources
-	)
-	+tests_platform_Powerwash
-	+tests_platform_RotationFps
-	+tests_platform_ServoPowerStateController
-	+tests_platform_StageAndRecover
-	+tests_platform_SuspendResumeTiming
-	+tests_platform_SyncCrash
-	readahead? ( +tests_platform_UReadAheadServer )
-	+tests_platform_Vpd
-	+tests_policy_AUServer
-	+tests_policy_DeviceChargingServer
-	+tests_policy_DeviceServer
-	+tests_policy_ExternalStorageServer
-	+tests_policy_GlobalNetworkSettingsServer
-	+tests_policy_WiFiAutoconnectServer
-	+tests_policy_WiFiPrecedenceServer
-	+tests_policy_WiFiTypesServer
-	+tests_policy_WilcoServerDeviceDockMacAddressSource
-	+tests_policy_WilcoServerOnNonWilcoDevice
-	+tests_policy_WilcoServerUSBPowershare
-	+tests_power_BrightnessResetAfterReboot
-	+tests_power_ChargeControlWrapper
-	+tests_power_MeetCall
-	+tests_power_Monitoring
-	+tests_power_LW
-	+tests_power_PowerlogWrapper
-	+tests_power_RPMTest
-	+tests_power_ServoChargeStress
-	+tests_power_ServodWrapper
-	+tests_provision_CheetsUpdate
-	+tests_provision_Cr50TOT
-	+tests_provision_Cr50Update
-	+tests_provision_FactoryImage
-	+tests_provision_FirmwareUpdate
-	+tests_provision_QuickProvision
-	+tests_rlz_CheckPing
-	+tests_security_kASLR
-	+tests_sequences
-	+tests_servo_LabControlVerification
-	+tests_servo_LabstationVerification
-	+tests_servo_USBMuxVerification
-	+tests_servo_LogGrab
-	+tests_servo_Verification
-	+tests_servohost_Reboot
-	+tests_stress_ClientTestReboot
-	+tests_stress_EnrollmentRetainment
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${SERVER_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r4930.ebuild b/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r4930.ebuild
new file mode 100644
index 0000000..06b6c6b
--- /dev/null
+++ b/chromeos-base/autotest-server-tests/autotest-server-tests-0.0.2-r4930.ebuild
@@ -0,0 +1,358 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="d3a40192c195a6cbf0c4c5de7513d0d396542b1d"
+CROS_WORKON_TREE="ee02c6712e3c791c059e42e7d66d1626aaea7162"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotest server tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+# Enable autotest by default.
+IUSE="android-container android-container-pi android-vm-rvc +autotest biod +cellular cheets_user_64 -chromeless_tests -chromeless_tty cros_p2p debugd dlc_test has-kernelnext is-kernelnext -moblab +power_management +readahead +tpm tpm2"
+REQUIRED_USE="?? ( has-kernelnext is-kernelnext )"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	!<chromeos-base/autotest-0.0.2
+"
+
+SERVER_IUSE_TESTS="
+	+tests_android_ACTS
+	+tests_android_EasySetup
+	+tests_audio_AudioAfterReboot
+	+tests_audio_AudioAfterSuspend
+	+tests_audio_AudioArtifacts
+	+tests_audio_AudioARCPlayback
+	+tests_audio_AudioARCRecord
+	+tests_audio_AudioBasicAssistant
+	+tests_audio_AudioBasicBluetoothPlayback
+	+tests_audio_AudioBasicBluetoothPlaybackRecord
+	+tests_audio_AudioBasicBluetoothRecord
+	+tests_audio_AudioBasicExternalMicrophone
+	+tests_audio_AudioBasicHDMI
+	+tests_audio_AudioBasicHeadphone
+	+tests_audio_AudioBasicHotwording
+	+tests_audio_AudioBasicInternalMicrophone
+	+tests_audio_AudioBasicInternalSpeaker
+	+tests_audio_AudioBasicUSBPlayback
+	+tests_audio_AudioBasicUSBPlaybackRecord
+	+tests_audio_AudioBasicUSBRecord
+	+tests_audio_AudioBluetoothConnectionStability
+	+tests_audio_AudioNodeSwitch
+	+tests_audio_AudioPinnedStream
+	+tests_audio_AudioQualityAfterSuspend
+	+tests_audio_AudioSanityCheck
+	+tests_audio_AudioVolume
+	+tests_audio_AudioWebRTCLoopback
+	+tests_audio_InternalCardNodes
+	+tests_audio_LeftRightInternalSpeaker
+	+tests_audio_MediaBasicVerification
+	+tests_audio_PowerConsumption
+	+tests_audiovideo_AVSync
+	+tests_autoupdate_Basic
+	+tests_autoupdate_CatchBadSignatures
+	+tests_autoupdate_Cellular
+	+tests_autoupdate_DataPreserved
+	+tests_autoupdate_ForcedOOBEUpdate
+	+tests_autoupdate_FromUI
+	+tests_autoupdate_Interruptions
+	+tests_autoupdate_NonBlockingOOBEUpdate
+	+tests_autoupdate_OmahaResponse
+	+tests_autoupdate_P2P
+	+tests_autoupdate_Periodic
+	+tests_autoupdate_Rollback
+	dlc_test? ( +tests_autoupdate_WithDLC )
+	has-kernelnext? ( +tests_autoupdate_StatefulCompatibility )
+	is-kernelnext? ( +tests_autoupdate_StatefulCompatibility )
+	cellular? ( +tests_cellular_StaleModemReboot )
+	android-container-pi? (
+		+tests_cheets_CTS_Instant
+		+tests_cheets_CTS_P
+		+tests_cheets_GTS
+	)
+	android-vm-rvc? (
+		cheets_user_64? (
+			+tests_cheets_CTS_R
+			+tests_cheets_GTS_R
+		)
+		!cheets_user_64? (
+			+tests_cheets_VTS_R
+		)
+	)
+	+tests_cheets_LabDependencies
+	debugd? ( +tests_debugd_DevTools )
+	+tests_crosperf_Wrapper
+	+tests_display_EdidStress
+	+tests_display_HDCPScreen
+	+tests_display_HotPlugAtBoot
+	+tests_display_HotPlugAtSuspend
+	+tests_display_HotPlugNoisy
+	+tests_display_LidCloseOpen
+	+tests_display_NoEdid
+	+tests_display_Resolution
+	+tests_display_ResolutionList
+	+tests_display_ServerChameleonConnection
+	+tests_display_SuspendStress
+	+tests_display_SwitchMode
+	+tests_dummy_PassServer
+	+tests_dummy_FailServer
+	+tests_dummy_FlakyTestServer
+	+tests_dummy_SynchronousOffloadServer
+	+tests_enterprise_ClearTPM
+	+tests_enterprise_KioskEnrollmentServer
+	+tests_enterprise_LongevityTrackerServer
+	+tests_enterprise_OnlineDemoMode
+	+tests_factory_Basic
+	+tests_firmware_Bmpblk
+	+tests_firmware_CgptStress
+	+tests_firmware_ClearTPMOwnerAndReset
+	+tests_firmware_ConsecutiveBoot
+	+tests_firmware_ConsecutiveBootPowerButton
+	+tests_firmware_ConsecutiveLidSwitch
+	+tests_firmware_CorruptBothFwBodyAB
+	+tests_firmware_CorruptBothFwSigAB
+	+tests_firmware_CorruptBothKernelAB
+	+tests_firmware_CorruptFwBodyA
+	+tests_firmware_CorruptFwBodyB
+	+tests_firmware_CorruptFwSigA
+	+tests_firmware_CorruptFwSigB
+	+tests_firmware_CorruptKernelA
+	+tests_firmware_CorruptKernelB
+	+tests_firmware_CorruptRecoveryCache
+	+tests_firmware_Cr50BID
+	+tests_firmware_Cr50CCDServoCap
+	+tests_firmware_Cr50CCDUartStress
+	+tests_firmware_Cr50CheckCap
+	+tests_firmware_Cr50ConsoleCommands
+	+tests_firmware_Cr50DeepSleepStress
+	+tests_firmware_Cr50DeferredECReset
+	+tests_firmware_Cr50DeviceState
+	+tests_firmware_Cr50DevMode
+	+tests_firmware_Cr50ECReset
+	+tests_firmware_Cr50FactoryResetVC
+	+tests_firmware_Cr50CCDFirmwareUpdate
+	+tests_firmware_Cr50GetName
+	+tests_firmware_Cr50InvalidateRW
+	+tests_firmware_Cr50Open
+	+tests_firmware_Cr50OpenWhileAPOff
+	+tests_firmware_Cr50PartialBoardId
+	+tests_firmware_Cr50Password
+	+tests_firmware_Cr50PinWeaverServer
+	+tests_firmware_Cr50RddG3
+	+tests_firmware_Cr50RejectUpdate
+	+tests_firmware_Cr50RMAOpen
+	+tests_firmware_Cr50SetBoardId
+	+tests_firmware_Cr50ShortECC
+	+tests_firmware_Cr50Testlab
+	+tests_firmware_Cr50TpmManufactured
+	+tests_firmware_Cr50TpmMode
+	+tests_firmware_Cr50U2fCommands
+	+tests_firmware_Cr50Unlock
+	+tests_firmware_Cr50Update
+	+tests_firmware_Cr50UpdateScriptStress
+	+tests_firmware_Cr50USB
+	+tests_firmware_Cr50WilcoEcrst
+	+tests_firmware_Cr50WilcoRmaFactoryMode
+	+tests_firmware_Cr50WPG3
+	+tests_firmware_DevBootUSB
+	+tests_firmware_DevDefaultBoot
+	+tests_firmware_DevMode
+	+tests_firmware_DevModeStress
+	+tests_firmware_DevScreenTimeout
+	+tests_firmware_ECBattery
+	+tests_firmware_ECBootTime
+	+tests_firmware_ECCbiEeprom
+	+tests_firmware_ECCharging
+	+tests_firmware_ECChargingState
+	+tests_firmware_ECHash
+	+tests_firmware_ECKeyboard
+	+tests_firmware_ECKeyboardReboot
+	+tests_firmware_ECLidShutdown
+	+tests_firmware_ECLidSwitch
+	+tests_firmware_ECPowerButton
+	+tests_firmware_ECPowerG3
+	+tests_firmware_ECSharedMem
+	+tests_firmware_ECThermal
+	+tests_firmware_ECUpdateId
+	+tests_firmware_ECUsbPorts
+	+tests_firmware_ECWakeSource
+	+tests_firmware_ECWatchdog
+	+tests_firmware_EventLog
+	+tests_firmware_FAFTPrepare
+	+tests_firmware_FAFTModeTransitions
+	+tests_firmware_FAFTRPC
+	+tests_firmware_FAFTSetup
+	biod? (
+		+tests_firmware_Fingerprint
+		+tests_firmware_FingerprintSigner
+	)
+	+tests_firmware_FMap
+	+tests_firmware_FWMPDisableCCD
+	+tests_firmware_FwScreenCloseLid
+	+tests_firmware_FwScreenPressPower
+	+tests_firmware_FWupdateWP
+	+tests_firmware_FWtries
+	+tests_firmware_FWupdateThenSleep
+	+tests_firmware_FWupdateWP
+	+tests_firmware_IntegratedU2F
+	+tests_firmware_InvalidUSB
+	+tests_firmware_LegacyRecovery
+	+tests_firmware_MenuModeTransition
+	+tests_firmware_Mosys
+	+tests_firmware_PDConnect
+	+tests_firmware_PDDataSwap
+	+tests_firmware_PDPowerSwap
+	+tests_firmware_PDProtocol
+	+tests_firmware_PDResetHard
+	+tests_firmware_PDResetSoft
+	+tests_firmware_PDTrySrc
+	+tests_firmware_PDVbusRequest
+	+tests_firmware_RecoveryButton
+	+tests_firmware_RecoveryCacheBootKeys
+	+tests_firmware_RollbackFirmware
+	+tests_firmware_RollbackKernel
+	+tests_firmware_SelfSignedBoot
+	+tests_firmware_SetSerialNumber
+	+tests_firmware_SoftwareSync
+	+tests_firmware_StandbyPowerConsumption
+	+tests_firmware_SysfsVPD
+	+tests_firmware_TPMNotCorruptedDevMode
+	tpm? ( +tests_firmware_TPMExtend )
+	tpm? ( +tests_firmware_TPMVersionCheck )
+	tpm? ( +tests_firmware_TPMKernelVersion )
+	tpm2? ( +tests_firmware_TPMExtend )
+	tpm2? ( +tests_firmware_TPMVersionCheck )
+	tpm2? ( +tests_firmware_TPMKernelVersion )
+	+tests_firmware_TryFwB
+	+tests_firmware_TypeCCharging
+	+tests_firmware_TypeCProbeUSB3
+	+tests_firmware_UpdateFirmwareDataKeyVersion
+	+tests_firmware_UpdateFirmwareVersion
+	+tests_firmware_UpdateKernelDataKeyVersion
+	+tests_firmware_UpdateKernelSubkeyVersion
+	+tests_firmware_UpdateKernelVersion
+	+tests_firmware_UpdaterModes
+	+tests_firmware_UserRequestRecovery
+	+tests_firmware_WilcoDiagnosticsMode
+	+tests_firmware_WriteProtect
+	+tests_firmware_WriteProtectFunc
+	+tests_graphics_MultipleDisplays
+	+tests_graphics_PowerConsumption
+	+tests_hardware_DiskFirmwareUpgrade
+	+tests_hardware_MemoryIntegrity
+	+tests_hardware_StorageQual
+	+tests_hardware_StorageQualBase
+	+tests_hardware_StorageQualCheckSetup
+	+tests_hardware_StorageQualSuspendStress
+	+tests_hardware_StorageQualTrimStress
+	+tests_hardware_StorageQualV2
+	+tests_hardware_StorageStress
+	+tests_infra_TLSExecDUTCommand
+	+tests_kernel_EmptyLines
+	+tests_kernel_ExternalUsbPeripheralsDetectionTest
+	+tests_kernel_IdlePerf
+	+tests_kernel_MemoryRamoop
+	moblab? (
+		+tests_moblab_RunSuite
+		+tests_moblab_StorageQual
+	)
+	+tests_moblab_Setup
+	cros_p2p? ( +tests_p2p_EndToEndTest )
+	+tests_network_FirewallHolePunchServer
+	+tests_platform_ActivateDate
+	+tests_platform_BootDevice
+	+tests_platform_BootLockboxServer
+	+tests_platform_BootPerfServer
+	+tests_platform_CompromisedStatefulPartition
+	+tests_platform_CorruptRootfs
+	+tests_platform_CrashStateful
+	+tests_platform_ExternalUsbPeripherals
+	+tests_platform_FlashErasers
+	+tests_platform_Flashrom
+	+tests_platform_HWwatchdog
+	+tests_platform_InitLoginPerfServer
+	+tests_platform_InstallTestImage
+	+tests_platform_InternalDisplay
+	+tests_platform_KernelErrorPaths
+	power_management? (
+		+tests_platform_PowerStatusStress
+		+tests_power_DeferForFlashrom
+		+tests_power_WakeSources
+	)
+	+tests_platform_Powerwash
+	+tests_platform_RotationFps
+	+tests_platform_ServoPowerStateController
+	+tests_platform_StageAndRecover
+	+tests_platform_SuspendResumeTiming
+	+tests_platform_SyncCrash
+	readahead? ( +tests_platform_UReadAheadServer )
+	+tests_platform_Vpd
+	+tests_policy_AUServer
+	+tests_policy_DeviceChargingServer
+	+tests_policy_DeviceServer
+	+tests_policy_ExternalStorageServer
+	+tests_policy_GlobalNetworkSettingsServer
+	+tests_policy_WiFiAutoconnectServer
+	+tests_policy_WiFiPrecedenceServer
+	+tests_policy_WiFiTypesServer
+	+tests_policy_WilcoServerDeviceDockMacAddressSource
+	+tests_policy_WilcoServerOnNonWilcoDevice
+	+tests_policy_WilcoServerUSBPowershare
+	+tests_power_BrightnessResetAfterReboot
+	+tests_power_ChargeControlWrapper
+	+tests_power_MeetCall
+	+tests_power_Monitoring
+	+tests_power_LW
+	+tests_power_PowerlogWrapper
+	+tests_power_RPMTest
+	+tests_power_ServoChargeStress
+	+tests_power_ServodWrapper
+	+tests_provision_CheetsUpdate
+	+tests_provision_Cr50TOT
+	+tests_provision_Cr50Update
+	+tests_provision_FactoryImage
+	+tests_provision_FirmwareUpdate
+	+tests_provision_QuickProvision
+	+tests_rlz_CheckPing
+	+tests_sequences
+	+tests_servo_LabControlVerification
+	+tests_servo_LabstationVerification
+	+tests_servo_USBMuxVerification
+	+tests_servo_LogGrab
+	+tests_servo_Verification
+	+tests_servohost_Reboot
+	+tests_stress_ClientTestReboot
+	+tests_stress_EnrollmentRetainment
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${SERVER_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+INIT_FILE="__init__.py"
+
+src_install() {
+	# Make sure we install all |SERVER_IUSE_TESTS| first.
+	autotest_src_install
+	# Autotest depends on a few strategically placed INIT_FILEs to allow
+	# importing python code. In particular we want to allow importing
+	# server.site_tests.tast to be able to launch tast local tests.
+	# This INIT_FILE exists in git, but needs to be installed and finally
+	# packaged via chromite/lib/autotest_util.py into
+	# autotest_server_package.tar.bz2 to be served by devservers.
+	insinto "${AUTOTEST_BASE}/${AUTOTEST_SERVER_SITE_TESTS}"
+	doins "${AUTOTEST_SERVER_SITE_TESTS}/${INIT_FILE}"
+}
diff --git a/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild b/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild
index 3233e6c..6c5621a 100644
--- a/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild
+++ b/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild
@@ -56,7 +56,6 @@
 	+tests_audio_MediaBasicVerification
 	+tests_audio_PowerConsumption
 	+tests_audiovideo_AVSync
-	+tests_autotest_SyncCount
 	+tests_autoupdate_Basic
 	+tests_autoupdate_CatchBadSignatures
 	+tests_autoupdate_Cellular
@@ -177,7 +176,6 @@
 	+tests_firmware_ECKeyboardReboot
 	+tests_firmware_ECLidShutdown
 	+tests_firmware_ECLidSwitch
-	+tests_firmware_ECPeci
 	+tests_firmware_ECPowerButton
 	+tests_firmware_ECPowerG3
 	+tests_firmware_ECSharedMem
@@ -245,8 +243,8 @@
 	+tests_firmware_WilcoDiagnosticsMode
 	+tests_firmware_WriteProtect
 	+tests_firmware_WriteProtectFunc
-	+tests_graphics_PowerConsumption
 	+tests_graphics_MultipleDisplays
+	+tests_graphics_PowerConsumption
 	+tests_hardware_DiskFirmwareUpgrade
 	+tests_hardware_MemoryIntegrity
 	+tests_hardware_StorageQual
@@ -254,13 +252,13 @@
 	+tests_hardware_StorageQualCheckSetup
 	+tests_hardware_StorageQualSuspendStress
 	+tests_hardware_StorageQualTrimStress
+	+tests_hardware_StorageQualV2
 	+tests_hardware_StorageStress
 	+tests_infra_TLSExecDUTCommand
 	+tests_kernel_EmptyLines
 	+tests_kernel_ExternalUsbPeripheralsDetectionTest
 	+tests_kernel_IdlePerf
 	+tests_kernel_MemoryRamoop
-	+tests_logging_GenerateCrashFiles
 	moblab? (
 		+tests_moblab_RunSuite
 		+tests_moblab_StorageQual
@@ -323,7 +321,6 @@
 	+tests_provision_FirmwareUpdate
 	+tests_provision_QuickProvision
 	+tests_rlz_CheckPing
-	+tests_security_kASLR
 	+tests_sequences
 	+tests_servo_LabControlVerification
 	+tests_servo_LabstationVerification
@@ -342,3 +339,18 @@
 IUSE="${IUSE} ${IUSE_TESTS}"
 
 AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+INIT_FILE="__init__.py"
+
+src_install() {
+	# Make sure we install all |SERVER_IUSE_TESTS| first.
+	autotest_src_install
+	# Autotest depends on a few strategically placed INIT_FILEs to allow
+	# importing python code. In particular we want to allow importing
+	# server.site_tests.tast to be able to launch tast local tests.
+	# This INIT_FILE exists in git, but needs to be installed and finally
+	# packaged via chromite/lib/autotest_util.py into
+	# autotest_server_package.tar.bz2 to be served by devservers.
+	insinto "${AUTOTEST_BASE}/${AUTOTEST_SERVER_SITE_TESTS}"
+	doins "${AUTOTEST_SERVER_SITE_TESTS}/${INIT_FILE}"
+}
diff --git a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r1162.ebuild b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r1162.ebuild
new file mode 100644
index 0000000..0a84d14
--- /dev/null
+++ b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r1162.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit autotest cros-workon flag-o-matic
+
+DESCRIPTION="Public ARC autotests"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	dev-python/pyxattr
+	chromeos-base/chromeos-chrome
+	chromeos-base/autotest-chrome
+	chromeos-base/telemetry
+	"
+
+DEPEND="${RDEPEND}"
+
+IUSE="
+	+autotest
+"
+
+src_prepare() {
+	# Telemetry tests require the path to telemetry source to exist in order to
+	# build. Copy the telemetry source to a temporary directory that is writable,
+	# so that file removals in Telemetry source can be performed properly.
+	export TMP_DIR="$(mktemp -d)"
+	cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
+	export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
+	autotest_src_prepare
+}
+
diff --git a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r928.ebuild b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r928.ebuild
deleted file mode 100644
index b6eb459..0000000
--- a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-0.0.1-r928.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-CROS_WORKON_COMMIT="643f0f8fbfbeb75da62b431aa56114f6aec27563"
-CROS_WORKON_TREE="91578c16d64ee6c4fdb387a518beb38daf535f03"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit autotest cros-workon flag-o-matic
-
-DESCRIPTION="Public ARC autotests"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-
-CLIENT_TESTS="
-	+tests_graphics_Gralloc
-"
-
-IUSE_TESTS="${CLIENT_TESTS}"
-
-RDEPEND="
-	dev-python/pyxattr
-	chromeos-base/chromeos-chrome
-	chromeos-base/autotest-chrome
-	chromeos-base/telemetry
-	"
-
-DEPEND="${RDEPEND}"
-
-IUSE="
-	+autotest
-	${IUSE_TESTS}
-"
-
-src_prepare() {
-	# Telemetry tests require the path to telemetry source to exist in order to
-	# build. Copy the telemetry source to a temporary directory that is writable,
-	# so that file removals in Telemetry source can be performed properly.
-	export TMP_DIR="$(mktemp -d)"
-	cp -r "${SYSROOT}/usr/local/telemetry" "${TMP_DIR}"
-	export PYTHONPATH="${TMP_DIR}/telemetry/src/third_party/catapult/telemetry"
-	autotest_src_prepare
-}
-
diff --git a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild
index 07ea83c..fe61736 100644
--- a/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild
+++ b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild
@@ -14,12 +14,6 @@
 SLOT="0"
 KEYWORDS="~*"
 
-CLIENT_TESTS="
-	+tests_graphics_Gralloc
-"
-
-IUSE_TESTS="${CLIENT_TESTS}"
-
 RDEPEND="
 	dev-python/pyxattr
 	chromeos-base/chromeos-chrome
@@ -31,7 +25,6 @@
 
 IUSE="
 	+autotest
-	${IUSE_TESTS}
 "
 
 src_prepare() {
diff --git a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3232.ebuild b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3232.ebuild
deleted file mode 100644
index 0417722..0000000
--- a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3232.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="5cda21d99c4467da245680825583a257456c611c"
-CROS_WORKON_TREE="e0520deac538428a08c61ba6accd41590595dd7a"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Cellular autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.2
-	chromeos-base/autotest-deps-cellular
-	chromeos-base/shill-test-scripts
-	dev-python/pygobject
-	dev-python/pyusb
-	sys-apps/ethtool
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_cellular_ActivateLTE
-	+tests_cellular_ConnectFailure
-	+tests_cellular_DeferredRegistration
-	+tests_cellular_DisableWhileConnecting
-	+tests_cellular_DisconnectFailure
-	+tests_cellular_Identifiers
-	+tests_cellular_OutOfCreditsSubscriptionState
-	+tests_cellular_SIMLocking
-	+tests_cellular_SafetyDance
-	+tests_cellular_ScanningProperty
-	+tests_cellular_ServiceName
-	+tests_cellular_Smoke
-	+tests_cellular_StressEnable
-"
-
-IUSE_MBIM_TESTS="
-	+tests_cellular_MbimComplianceControlCommand
-	+tests_cellular_MbimComplianceControlRequest
-	+tests_cellular_MbimComplianceDataTransfer
-	+tests_cellular_MbimComplianceDescriptor
-	+tests_cellular_MbimComplianceError
-"
-
-IUSE_TESTS="${IUSE_TESTS} ${IUSE_MBIM_TESTS}"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3238.ebuild b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3238.ebuild
new file mode 100644
index 0000000..8263292
--- /dev/null
+++ b/chromeos-base/autotest-tests-cellular/autotest-tests-cellular-0.0.1-r3238.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="2e31794146dec95bac0eac32010673dd27f30c3c"
+CROS_WORKON_TREE="35be4be4da4554ecafb38df95bb1526d806a11c9"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Cellular autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.2
+	chromeos-base/autotest-deps-cellular
+	chromeos-base/shill-test-scripts
+	dev-python/pygobject
+	dev-python/pyusb
+	sys-apps/ethtool
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_cellular_ActivateLTE
+	+tests_cellular_ConnectFailure
+	+tests_cellular_DeferredRegistration
+	+tests_cellular_DisableWhileConnecting
+	+tests_cellular_DisconnectFailure
+	+tests_cellular_Identifiers
+	+tests_cellular_OutOfCreditsSubscriptionState
+	+tests_cellular_SIMLocking
+	+tests_cellular_SafetyDance
+	+tests_cellular_ScanningProperty
+	+tests_cellular_ServiceName
+	+tests_cellular_Smoke
+	+tests_cellular_StressEnable
+"
+
+IUSE_MBIM_TESTS="
+	+tests_cellular_MbimComplianceControlCommand
+	+tests_cellular_MbimComplianceControlRequest
+	+tests_cellular_MbimComplianceDataTransfer
+	+tests_cellular_MbimComplianceDescriptor
+	+tests_cellular_MbimComplianceError
+"
+
+IUSE_TESTS="${IUSE_TESTS} ${IUSE_MBIM_TESTS}"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cros-disks/autotest-tests-cros-disks-0.0.1-r3196.ebuild b/chromeos-base/autotest-tests-cros-disks/autotest-tests-cros-disks-0.0.1-r3196.ebuild
deleted file mode 100644
index 1a9ee0e..0000000
--- a/chromeos-base/autotest-tests-cros-disks/autotest-tests-cros-disks-0.0.1-r3196.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="f87b49edd46ee81d6238c1aeac57b8cfe66482aa"
-CROS_WORKON_TREE="f93558b8a70c6080afd69871b0752fdf060d768c"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="cros-disks autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_platform_CrosDisksArchive
-	+tests_platform_CrosDisksFilesystem
-	+tests_platform_CrosDisksFormat
-	+tests_platform_CrosDisksRename
-	+tests_platform_CrosDisksSshfs
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cros-disks/autotest-tests-cros-disks-9999.ebuild b/chromeos-base/autotest-tests-cros-disks/autotest-tests-cros-disks-9999.ebuild
deleted file mode 100644
index 2c25cb5..0000000
--- a/chromeos-base/autotest-tests-cros-disks/autotest-tests-cros-disks-9999.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="cros-disks autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_platform_CrosDisksArchive
-	+tests_platform_CrosDisksFilesystem
-	+tests_platform_CrosDisksFormat
-	+tests_platform_CrosDisksRename
-	+tests_platform_CrosDisksSshfs
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-0.0.1-r3181.ebuild b/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-0.0.1-r3181.ebuild
deleted file mode 100644
index a13b461..0000000
--- a/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-0.0.1-r3181.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="06c1777d76980be0d0f447324b8d063f53558fd2"
-CROS_WORKON_TREE="c34d264bfd49429b59f604ee48149e6d8c824b3d"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Cryptohome autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-COMMON_DEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/cryptohome-dev-utils
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-"
-
-IUSE_TESTS="
-	+tests_platform_BootLockbox
-	+tests_platform_CryptohomeBadPerms
-	+tests_platform_CryptohomeChangePassword
-	+tests_platform_CryptohomeFio
-	+tests_platform_CryptohomeKeyEviction
-	+tests_platform_CryptohomeLECredentialManager
-	+tests_platform_CryptohomeLECredentialManagerServer
-	+tests_platform_CryptohomeMigrateChapsToken
-	+tests_platform_CryptohomeMigrateChapsTokenClient
-	+tests_platform_CryptohomeMigrateKey
-	+tests_platform_CryptohomeMount
-	+tests_platform_CryptohomeMultiple
-	+tests_platform_CryptohomeNonDirs
-	+tests_platform_CryptohomeStress
-	+tests_platform_CryptohomeTestAuth
-	+tests_platform_CryptohomeTpmLiveTest
-	+tests_platform_CryptohomeTpmLiveTestServer
-	+tests_platform_CryptohomeTPMReOwn
-	+tests_platform_CryptohomeTPMReOwnServer
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-0.0.1-r3183.ebuild b/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-0.0.1-r3183.ebuild
new file mode 100644
index 0000000..2f8a9b9
--- /dev/null
+++ b/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-0.0.1-r3183.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="2167d36da223b9dae9c2699d46caab77fe205fce"
+CROS_WORKON_TREE="64027579f73b432680a0fca8450ace233c20134c"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Cryptohome autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest"
+
+COMMON_DEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/cryptohome-dev-utils
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+"
+
+IUSE_TESTS="
+	+tests_platform_BootLockbox
+	+tests_platform_CryptohomeBadPerms
+	+tests_platform_CryptohomeChangePassword
+	+tests_platform_CryptohomeFio
+	+tests_platform_CryptohomeKeyEviction
+	+tests_platform_CryptohomeLECredentialManager
+	+tests_platform_CryptohomeLECredentialManagerServer
+	+tests_platform_CryptohomeMigrateChapsToken
+	+tests_platform_CryptohomeMigrateChapsTokenClient
+	+tests_platform_CryptohomeMigrateKey
+	+tests_platform_CryptohomeMount
+	+tests_platform_CryptohomeMultiple
+	+tests_platform_CryptohomeNonDirs
+	+tests_platform_CryptohomeStress
+	+tests_platform_CryptohomeTestAuth
+	+tests_platform_CryptohomeTpmLiveTest
+	+tests_platform_CryptohomeTpmLiveTestServer
+	+tests_platform_CryptohomeTPMReOwn
+	+tests_platform_CryptohomeTPMReOwnServer
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3240.ebuild b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3240.ebuild
deleted file mode 100644
index 23acaa5..0000000
--- a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3240.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="933e6468b8f213afe9feaca6c39bb7f58f330ded"
-CROS_WORKON_TREE="351b54172e899e93c98ef90a9420a356aefaeabc"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-sanitizers cros-workon autotest
-
-DESCRIPTION="Graphics autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/autotest-deps-graphics
-	tests_graphics_Gbm? ( media-libs/minigbm )
-	tests_graphics_GLBench? ( chromeos-base/glbench )
-	tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 )
-	tests_graphics_SanAngeles? ( media-libs/waffle )
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_graphics_dEQP
-	+tests_graphics_Gbm
-	+tests_graphics_GLAPICheck
-	+tests_graphics_GLBench
-	+tests_graphics_GLMark2
-	+tests_graphics_KernelConfig
-	+tests_graphics_KernelMemory
-	+tests_graphics_LibDRM
-	+tests_graphics_PerfControl
-	+tests_graphics_SanAngeles
-	+tests_graphics_SyncControlTest
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
-
-src_configure() {
-	sanitizers-setup-env
-	default
-}
diff --git a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3245.ebuild b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3245.ebuild
new file mode 100644
index 0000000..7fa9339
--- /dev/null
+++ b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-0.0.1-r3245.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="c40e190f7b27e0e6ba8ef27aa8a7b157c44fd53e"
+CROS_WORKON_TREE="e7baac7cbb860b4652858adc33327facd8bd1642"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-sanitizers cros-workon autotest
+
+DESCRIPTION="Graphics autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/autotest-deps-graphics
+	tests_graphics_Gbm? ( media-libs/minigbm )
+	tests_graphics_GLBench? ( chromeos-base/glbench )
+	tests_graphics_GLMark2? ( chromeos-base/autotest-deps-glmark2 )
+	tests_graphics_SanAngeles? ( media-libs/waffle )
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_graphics_dEQP
+	+tests_graphics_Gbm
+	+tests_graphics_GLAPICheck
+	+tests_graphics_GLBench
+	+tests_graphics_GLMark2
+	+tests_graphics_KernelConfig
+	+tests_graphics_KernelMemory
+	+tests_graphics_LibDRM
+	+tests_graphics_PerfControl
+	+tests_graphics_SanAngeles
+	+tests_graphics_SyncControlTest
+	+tests_graphics_Power
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
+
+src_configure() {
+	sanitizers-setup-env
+	default
+}
diff --git a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild
index 8a4314f..2443d404 100644
--- a/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild
+++ b/chromeos-base/autotest-tests-graphics/autotest-tests-graphics-9999.ebuild
@@ -39,6 +39,7 @@
 	+tests_graphics_PerfControl
 	+tests_graphics_SanAngeles
 	+tests_graphics_SyncControlTest
+	+tests_graphics_Power
 "
 
 IUSE="${IUSE} ${IUSE_TESTS}"
diff --git a/chromeos-base/autotest-tests-ltp/autotest-tests-ltp-0.0.1-r6722.ebuild b/chromeos-base/autotest-tests-ltp/autotest-tests-ltp-0.0.1-r6722.ebuild
deleted file mode 100644
index 2688118..0000000
--- a/chromeos-base/autotest-tests-ltp/autotest-tests-ltp-0.0.1-r6722.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="edf345c66d0eece43912c9c813a24825fdd338dd"
-CROS_WORKON_TREE="0403c48eb6c76d705968f240a92353631701a279"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest
-
-DESCRIPTION="ltp autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="${RDEPEND}
-	chromeos-base/autotest-deps-ltp
-	chromeos-base/protofiles
-	dev-python/protobuf-python
-	dev-python/pygobject
-	!<chromeos-base/autotest-tests-0.0.1-r1723
-"
-
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_kernel_LTP
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-ltp/autotest-tests-ltp-9999.ebuild b/chromeos-base/autotest-tests-ltp/autotest-tests-ltp-9999.ebuild
deleted file mode 100644
index 40d9345..0000000
--- a/chromeos-base/autotest-tests-ltp/autotest-tests-ltp-9999.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit cros-workon autotest
-
-DESCRIPTION="ltp autotest"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="${RDEPEND}
-	chromeos-base/autotest-deps-ltp
-	chromeos-base/protofiles
-	dev-python/protobuf-python
-	dev-python/pygobject
-	!<chromeos-base/autotest-tests-0.0.1-r1723
-"
-
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_kernel_LTP
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3226.ebuild b/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3226.ebuild
deleted file mode 100644
index c989679..0000000
--- a/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3226.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-CROS_WORKON_COMMIT="eaaa77b31fe518bffd76e0e0b6c4ed259aaf1b8a"
-CROS_WORKON_TREE="147762ef4e023969c0cb78aef2ad2560f762c90f"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="power autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest +shill"
-
-RDEPEND="
-	shill? ( chromeos-base/shill-test-scripts )
-	!<chromeos-base/autotest-tests-0.0.3
-"
-DEPEND="${RDEPEND}"
-
-# cros/power_suspend depends on shill-test-scripts.
-IUSE_TESTS="
-	+tests_hardware_Backlight
-	+tests_power_ARMSettings
-	+tests_power_Backlight
-	+tests_power_BacklightControl
-	+tests_power_BacklightSuspend
-	+tests_power_BatteryCharge
-	+tests_power_CheckAC
-	+tests_power_CheckAfterSuspend
-	+tests_power_CPUFreq
-	+tests_power_CPUIdle
-	+tests_power_Draw
-	+tests_power_Dummy
-	+tests_power_HotCPUSuspend
-	+tests_power_KernelSuspend
-	+tests_power_MemorySuspend
-	+tests_power_NoConsoleSuspend
-	+tests_power_ProbeDriver
-	shill? ( +tests_power_Resume )
-	+tests_power_Standby
-	+tests_power_StatsCPUFreq
-	+tests_power_StatsCPUIdle
-	+tests_power_StatsUSB
-	+tests_power_Status
-	shill? (
-		+tests_power_SuspendStress
-		+tests_power_SuspendToIdle
-	)
-	+tests_power_WaitForCoolDown
-	+tests_power_WakeupRTC
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3227.ebuild b/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3227.ebuild
new file mode 100644
index 0000000..1439932
--- /dev/null
+++ b/chromeos-base/autotest-tests-power/autotest-tests-power-0.0.1-r3227.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+CROS_WORKON_COMMIT="0450a0732282ad63eddf9f80dc5f3c0b68a6cbc5"
+CROS_WORKON_TREE="9aef706603aa7bf550934b087dbf633d2371b94e"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="power autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest +shill"
+
+RDEPEND="
+	shill? ( chromeos-base/shill-test-scripts )
+	!<chromeos-base/autotest-tests-0.0.3
+"
+DEPEND="${RDEPEND}"
+
+# cros/power_suspend depends on shill-test-scripts.
+IUSE_TESTS="
+	+tests_hardware_Backlight
+	+tests_power_ARMSettings
+	+tests_power_Backlight
+	+tests_power_BacklightControl
+	+tests_power_BacklightSuspend
+	+tests_power_BatteryCharge
+	+tests_power_CheckAC
+	+tests_power_CheckAfterSuspend
+	+tests_power_CPUFreq
+	+tests_power_CPUIdle
+	+tests_power_Draw
+	+tests_power_Dummy
+	+tests_power_HotCPUSuspend
+	+tests_power_KernelSuspend
+	+tests_power_MemorySuspend
+	+tests_power_NoConsoleSuspend
+	+tests_power_ProbeDriver
+	shill? ( +tests_power_Resume )
+	+tests_power_Standby
+	+tests_power_StatsCPUFreq
+	+tests_power_StatsCPUIdle
+	+tests_power_StatsUSB
+	+tests_power_Status
+	shill? (
+		+tests_power_SuspendStress
+		+tests_power_SuspendToIdle
+	)
+	+tests_power_WaitForCoolDown
+	+tests_power_WakeupRTC
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3301.ebuild b/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3301.ebuild
deleted file mode 100644
index f57f654..0000000
--- a/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3301.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="1201b78e4fc42507ced1b2710565854b78abf782"
-CROS_WORKON_TREE="88aeb70b515a41f329432d545d85f3b8a883666a"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest libchrome
-
-DESCRIPTION="Security autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	containers? (
-		tests_security_Libcontainer? (
-			chromeos-base/minijail
-			chromeos-base/libcontainer
-		)
-	)
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	!chromeless_tty? (
-		!chromeless_tests? (
-			+tests_security_RendererSandbox
-			+tests_security_SessionManagerDbusEndpoints
-		)
-	)
-	seccomp? (
-		+tests_security_SeccompSyscallFilters
-	)
-	containers? ( +tests_security_Libcontainer )
-	+tests_security_NosymfollowMountOption
-	+tests_security_ProcessManagementPolicy
-	+tests_security_RootfsOwners
-	+tests_security_SysVIPC
-	x86? ( +tests_security_x86Registers )
-	amd64? ( +tests_security_x86Registers )
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3303.ebuild b/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3303.ebuild
new file mode 100644
index 0000000..a8d9865
--- /dev/null
+++ b/chromeos-base/autotest-tests-security/autotest-tests-security-0.0.1-r3303.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="37ae74af76030e8b8c599d636c17dccd4be80feb"
+CROS_WORKON_TREE="5ead5abe2e6a4f51e0785d23469ea9886901b155"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest libchrome
+
+DESCRIPTION="Security autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest -chromeless_tests -chromeless_tty containers +seccomp selinux"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	containers? (
+		tests_security_Libcontainer? (
+			chromeos-base/minijail
+			chromeos-base/libcontainer
+		)
+	)
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	!chromeless_tty? (
+		!chromeless_tests? (
+			+tests_security_RendererSandbox
+			+tests_security_SessionManagerDbusEndpoints
+		)
+	)
+	seccomp? (
+		+tests_security_SeccompSyscallFilters
+	)
+	containers? ( +tests_security_Libcontainer )
+	+tests_security_NosymfollowMountOption
+	+tests_security_ProcessManagementPolicy
+	+tests_security_RootfsOwners
+	+tests_security_SysVIPC
+	x86? ( +tests_security_x86Registers )
+	amd64? ( +tests_security_x86Registers )
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3230.ebuild b/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3230.ebuild
deleted file mode 100644
index ba66080..0000000
--- a/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3230.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="7884a896ed15aac5abcd329974eb0f70c3c4747c"
-CROS_WORKON_TREE="5ab05761fb8b60990d55d78b5ea677877b043ea0"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="shill autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest +tpm tpm2"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/shill-test-scripts
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_network_DhcpClasslessStaticRoute
-	+tests_network_DhcpFailureWithStaticIP
-	+tests_network_DhcpNak
-	+tests_network_DhcpNegotiationSuccess
-	+tests_network_DhcpNegotiationTimeout
-	+tests_network_DhcpNonAsciiParameter
-	+tests_network_DhcpRenew
-	+tests_network_DhcpRenewWithOptionSubset
-	+tests_network_DhcpRequestHostName
-	+tests_network_DhcpStaticIP
-	+tests_network_DhcpVendorEncapsulatedOptions
-	+tests_network_DhcpWpadNegotiation
-	+tests_network_WiFiInvalidParameters
-	+tests_network_WiFiResume
-	+tests_network_WlanPresent
-	+tests_network_WlanRegulatory
-	+tests_network_WlanHasIP
-	tpm? ( +tests_network_VPNConnect )
-	tpm2? ( +tests_network_VPNConnect )
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3231.ebuild b/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3231.ebuild
new file mode 100644
index 0000000..83a0b8f
--- /dev/null
+++ b/chromeos-base/autotest-tests-shill/autotest-tests-shill-0.0.1-r3231.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="1991f6bff55fa8bed367e7fd629a56f0c8ee4ab6"
+CROS_WORKON_TREE="dade62ef55fc7299cc303101e72215df02cbb3a7"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="shill autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest +tpm tpm2"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/shill-test-scripts
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_network_DhcpClasslessStaticRoute
+	+tests_network_DhcpFailureWithStaticIP
+	+tests_network_DhcpNak
+	+tests_network_DhcpNegotiationSuccess
+	+tests_network_DhcpNegotiationTimeout
+	+tests_network_DhcpNonAsciiParameter
+	+tests_network_DhcpRenew
+	+tests_network_DhcpRenewWithOptionSubset
+	+tests_network_DhcpRequestHostName
+	+tests_network_DhcpStaticIP
+	+tests_network_DhcpVendorEncapsulatedOptions
+	+tests_network_DhcpWpadNegotiation
+	+tests_network_WiFiInvalidParameters
+	+tests_network_WiFiResume
+	+tests_network_WlanPresent
+	+tests_network_WlanRegulatory
+	+tests_network_WlanHasIP
+	tpm? ( +tests_network_VPNConnect )
+	tpm2? ( +tests_network_VPNConnect )
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r10.ebuild b/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r10.ebuild
new file mode 100644
index 0000000..ea4f6cb
--- /dev/null
+++ b/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="f9b45836f8e426a25a1cdef77948fff024417e1e"
+CROS_WORKON_TREE="cd710543ff9c84e60725841b3c7f665a683a12fe"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Compilation and runtime tests for toolchain"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+
+LICENSE="GPL-2"
+SLOT=0
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	chromeos-base/toolchain-tests
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_platform_ToolchainTests
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r7.ebuild b/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r7.ebuild
deleted file mode 100644
index 446b2c3..0000000
--- a/chromeos-base/autotest-tests-toolchain/autotest-tests-toolchain-0.0.1-r7.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="edf345c66d0eece43912c9c813a24825fdd338dd"
-CROS_WORKON_TREE="0403c48eb6c76d705968f240a92353631701a279"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Compilation and runtime tests for toolchain"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-
-LICENSE="GPL-2"
-SLOT=0
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	chromeos-base/toolchain-tests
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_platform_ToolchainTests
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3181.ebuild b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3181.ebuild
deleted file mode 100644
index 211119fd..0000000
--- a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3181.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="2faa973a03d19a65dff0f466372b5c9ee873de20"
-CROS_WORKON_TREE="6451cb30fa4cf9b6fddc40ecafa734b421239f7f"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="Autotests involving the tpm"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-# Enable autotest by default.
-IUSE="+autotest tpm2"
-
-RDEPEND="
-	!<chromeos-base/autotest-tests-0.0.3
-	tpm2? ( chromeos-base/g2f_tools )
-"
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_firmware_Cr50VirtualNVRam
-	+tests_firmware_Cr50VirtualNVRamServer
-	+tests_firmware_Cr50U2fPowerwash
-	+tests_hardware_TPMCheck
-	+tests_kernel_TPMStress
-	+tests_platform_Pkcs11InitUnderErrors
-	+tests_platform_Pkcs11ChangeAuthData
-	+tests_platform_Pkcs11Events
-	+tests_platform_Pkcs11LoadPerf
-	+tests_platform_TPMEvict
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3185.ebuild b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3185.ebuild
new file mode 100644
index 0000000..fb577da
--- /dev/null
+++ b/chromeos-base/autotest-tests-tpm/autotest-tests-tpm-0.0.1-r3185.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="7347e345b650b3a52b167dfc3dc2a4f94a86485c"
+CROS_WORKON_TREE="4a255fc35c89bb76e753c432dcabb1fd70619597"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="Autotests involving the tpm"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+# Enable autotest by default.
+IUSE="+autotest tpm2"
+
+RDEPEND="
+	!<chromeos-base/autotest-tests-0.0.3
+	tpm2? ( chromeos-base/g2f_tools )
+"
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_firmware_Cr50VirtualNVRam
+	+tests_firmware_Cr50VirtualNVRamServer
+	+tests_firmware_Cr50U2fPowerwash
+	+tests_hardware_TPMCheck
+	+tests_kernel_TPMStress
+	+tests_platform_Pkcs11InitUnderErrors
+	+tests_platform_Pkcs11ChangeAuthData
+	+tests_platform_Pkcs11Events
+	+tests_platform_Pkcs11LoadPerf
+	+tests_platform_TPMEvict
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r1282.ebuild b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r1282.ebuild
deleted file mode 100644
index 77cb1e4..0000000
--- a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r1282.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-CROS_WORKON_COMMIT="a89875894d9002518772c0c8eb0a3f7353926ad6"
-CROS_WORKON_TREE="240ecaf5bcf2ae26369706ee37bf83e47f681ba7"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-inherit cros-workon autotest
-
-DESCRIPTION="kvm host autotests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="+autotest"
-
-RDEPEND=""
-DEPEND="${RDEPEND}"
-
-IUSE_TESTS="
-	+tests_vm_CrosVmStart
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r1800.ebuild b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r1800.ebuild
new file mode 100644
index 0000000..8d329da
--- /dev/null
+++ b/chromeos-base/autotest-tests-vm-host/autotest-tests-vm-host-0.0.1-r1800.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+CROS_WORKON_COMMIT="db48601acf9d646e8f4b4c223e67da2d40cf02e6"
+CROS_WORKON_TREE="9c318efb5bd9aef8b16389f9f2573412b9e576cc"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+inherit cros-workon autotest
+
+DESCRIPTION="kvm host autotests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="+autotest"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+IUSE_TESTS="
+	+tests_vm_CrosVmStart
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8849.ebuild b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8849.ebuild
deleted file mode 100644
index 8c66968..0000000
--- a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8849.ebuild
+++ /dev/null
@@ -1,225 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-CROS_WORKON_COMMIT="2fb9aa07c676ad30162758837e24b75e80f36f3d"
-CROS_WORKON_TREE="1bf135b0628ee85fd6385a99f35b5526644b7d77"
-CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
-
-inherit libchrome cros-workon autotest
-
-DESCRIPTION="Autotest tests"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-IUSE="arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi"
-# Enable autotest by default.
-IUSE="${IUSE} +autotest"
-
-# pygobject is used in the following tests:
-#   platform_CrosDisks*
-RDEPEND="
-	>=chromeos-base/autotest-deps-0.0.3
-	!<=chromeos-base/autotest-factory-0.0.1-r4445
-	dev-python/numpy
-	dev-python/pygobject
-	dev-python/pytest
-	dev-python/python-uinput
-	media-sound/sox
-	sys-apps/ethtool
-	vaapi? ( x11-libs/libva )
-	virtual/autotest-tests
-"
-
-RDEPEND="${RDEPEND}
-	tests_dbench? ( dev-libs/libaio )
-	tests_platform_MetricsUploader? (
-		>=chromeos-base/metrics-0.0.1-r3152
-		dev-python/protobuf-python
-	)
-	tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file )
-	tests_hardware_MemoryLatency? ( app-benchmarks/lmbench )
-	tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench )
-	tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks )
-	tests_kernel_Lmbench? ( app-benchmarks/lmbench )
-	arc-camera3? (
-		tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 )
-		tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 )
-	)
-	tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 )
-	tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests )
-"
-
-DEPEND="${RDEPEND}"
-
-X86_IUSE_TESTS="
-	+tests_xfsFilesystemTestSuite
-	+tests_hardware_UnsafeMemory
-"
-
-CLIENT_IUSE_TESTS="
-	x86? ( ${X86_IUSE_TESTS} )
-	amd64? ( ${X86_IUSE_TESTS} )
-	+tests_profiler_sync
-	+tests_compilebench
-	+tests_crashme
-	+tests_dbench
-	+tests_ddtest
-	+tests_disktest
-	+tests_fsx
-	+tests_hackbench
-	+tests_iperf
-	+tests_bonnie
-	+tests_iozone
-	+tests_netpipe
-	+tests_sleeptest
-	+tests_kernel_sysrq_info
-	+tests_unixbench
-	+tests_autoupdate_Backoff
-	+tests_autoupdate_BadMetadata
-	+tests_autoupdate_CannedOmahaUpdate
-	+tests_autoupdate_DisconnectReconnectNetwork
-	dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC )
-	+tests_autoupdate_PeriodicCheck
-	+tests_autoupdate_UrlSwitch
-	+tests_blktestsSuiteAll
-	+tests_blktestsSuiteLoopOverBlk
-	+tests_blktestsSuiteLoopOverFile
-	+tests_blktestsSuiteRealBlk
-	+tests_camera_V4L2
-	arc-camera3? (
-		+tests_camera_HAL3
-		+tests_camera_HAL3Perf
-	)
-	+tests_dummy_Fail
-	+tests_dummy_Pass
-	+tests_dummy_SynchronousOffload
-	tests_example_UnitTest
-	+tests_firmware_LockedME
-	+tests_firmware_RomSize
-	+tests_firmware_SetFWMP
-	+tests_firmware_VbootCrypto
-	+tests_flaky_test
-	+tests_hardware_Badblocks
-	+tests_hardware_DiskSize
-	+tests_hardware_EC
-	+tests_hardware_EepromWriteProtect
-	+tests_hardware_GobiGPS
-	+tests_hardware_GPIOSwitches
-	+tests_hardware_GPS
-	+tests_hardware_I2CProbe
-	+tests_hardware_Interrupt
-	+tests_hardware_Keyboard
-	+tests_hardware_LightSensor
-	+tests_hardware_MemoryLatency
-	+tests_hardware_MemoryThroughput
-	+tests_hardware_MemoryZRAMThroughput
-	+tests_hardware_Memtester
-	+tests_hardware_MultiReader
-	+tests_hardware_ProbeComponents
-	+tests_hardware_RamFio
-	+tests_hardware_RealtekCardReader
-	+tests_hardware_Resolution
-	+tests_hardware_SAT
-	+tests_hardware_Smartctl
-	+tests_hardware_SsdDetection
-	+tests_hardware_StorageFio
-	+tests_hardware_StorageFioOther
-	+tests_hardware_StorageTrim
-	+tests_hardware_StorageWearoutDetect
-	+tests_hardware_TouchScreenPowerCycles
-	tests_hardware_TouchScreenPresent
-	+tests_hardware_TrimIntegrity
-	+tests_infra_FirmwareAutoupdate
-	+tests_kernel_AsyncDriverProbe
-	+tests_kernel_FirmwareRequest
-	+tests_kernel_CrosECSysfsAccel
-	+tests_kernel_Delay
-	+tests_kernel_fs_Punybench
-	+tests_kernel_Ktime
-	+tests_kernel_Lmbench
-	+tests_kernel_Memory_Ramoop
-	+tests_kernel_SchedBandwith
-	crash_reporting? (
-		+tests_logging_CrashSender
-		+tests_logging_KernelCrash
-		+tests_logging_UdevCrash
-		+tests_logging_UserCrash
-		+tests_platform_AnomalyDetector
-	)
-	+tests_network_EthCaps
-	+tests_network_EthernetStressPlug
-	+tests_network_Ipv6SimpleNegotiation
-	+tests_network_NegotiatedLANSpeed
-	+tests_platform_AccurateTime
-	+tests_platform_AesThroughput
-	!chromeless_tty? (
-		+tests_platform_BootPerf
-	)
-	+tests_platform_CheckErrorsInLog
-	+tests_platform_CleanShutdown
-	+tests_platform_Crossystem
-	+tests_platform_Crouton
-	+tests_platform_DaemonsRespawn
-	+tests_platform_DBusMachineIdRotation
-	encrypted_stateful? ( +tests_platform_EncryptedStateful )
-	+tests_platform_ExternalUSBBootStress
-	+tests_platform_ExternalUSBStress
-	+tests_platform_FileNum
-	+tests_platform_FileSize
-	biod? ( +tests_platform_Fingerprint )
-	+tests_platform_Firewall
-	+tests_platform_FullyChargedPowerStatus
-	+tests_platform_HighResTimers
-	+tests_platform_ImageLoader
-	+tests_platform_ImageLoaderServer
-	+tests_platform_KernelVersion
-	+tests_platform_LibCBench
-	+tests_platform_LogDupSuppression
-	+tests_platform_LogNonKernelKmsg
-	+tests_platform_MemCheck
-	+tests_platform_MemoryMonitor
-	chromeless_tty? ( +tests_platform_MetricsUploader )
-	+tests_platform_NetParms
-	+tests_platform_OpenSSLActual
-	profile? (
-		+tests_platform_Perf
-		+tests_platform_Quipper
-	)
-	cups? ( +tests_platform_PrinterPpds )
-	+tests_platform_Rootdev
-	+tests_platform_SecureEraseFile
-	!chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration )
-	+tests_platform_TabletMode
-	+tests_platform_TempFS
-	network_time? (
-		+tests_platform_TLSDate
-		+tests_platform_TLSDateActual
-	)
-	+tests_platform_UdevVars
-	+tests_suite_HWConfig
-	+tests_suite_HWQual
-	+tests_system_ColdBoot
-	+tests_touch_HasInput
-	+tests_touch_UpdateErrors
-	+tests_touch_WakeupSource
-	+tests_usbpd_DisplayPortSink
-	+tests_vpd_ReadWrite
-"
-
-IUSE_TESTS="${IUSE_TESTS}
-	${CLIENT_IUSE_TESTS}
-"
-
-IUSE="${IUSE} ${IUSE_TESTS}"
-
-CROS_WORKON_LOCALNAME="third_party/autotest/files"
-
-AUTOTEST_DEPS_LIST=""
-AUTOTEST_CONFIG_LIST=""
-AUTOTEST_PROFILERS_LIST=""
-
-AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8872.ebuild b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8872.ebuild
new file mode 100644
index 0000000..171621c
--- /dev/null
+++ b/chromeos-base/autotest-tests/autotest-tests-0.0.4-r8872.ebuild
@@ -0,0 +1,225 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+CROS_WORKON_COMMIT="85fe7868e582ad34edff478d04d959eaa1656f6c"
+CROS_WORKON_TREE="bc717cc5e57b98e8bc662c4e14dca891ba53d5ad"
+CROS_WORKON_PROJECT="chromiumos/third_party/autotest"
+
+inherit libchrome cros-workon autotest
+
+DESCRIPTION="Autotest tests"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+IUSE="arc-camera3 biod -chromeless_tests -chromeless_tty +crash_reporting cups dlc_test +encrypted_stateful +network_time +passive_metrics +profile vaapi"
+# Enable autotest by default.
+IUSE="${IUSE} +autotest"
+
+# pygobject is used in the following tests:
+#   platform_CrosDisks*
+RDEPEND="
+	>=chromeos-base/autotest-deps-0.0.3
+	!<=chromeos-base/autotest-factory-0.0.1-r4445
+	dev-python/numpy
+	dev-python/pygobject
+	dev-python/pytest
+	dev-python/python-uinput
+	media-sound/sox
+	sys-apps/ethtool
+	vaapi? ( x11-libs/libva )
+	virtual/autotest-tests
+"
+
+RDEPEND="${RDEPEND}
+	tests_dbench? ( dev-libs/libaio )
+	tests_platform_MetricsUploader? (
+		>=chromeos-base/metrics-0.0.1-r3152
+		dev-python/protobuf-python
+	)
+	tests_platform_SecureEraseFile? ( chromeos-base/secure-erase-file )
+	tests_hardware_MemoryLatency? ( app-benchmarks/lmbench )
+	tests_hardware_MemoryThroughput? ( app-benchmarks/lmbench )
+	tests_hardware_MemoryZRAMThroughput? ( app-benchmarks/microbenchmarks )
+	tests_kernel_Lmbench? ( app-benchmarks/lmbench )
+	arc-camera3? (
+		tests_camera_HAL3? ( chromeos-base/autotest-deps-camera-hal3 )
+		tests_camera_HAL3Perf? ( chromeos-base/autotest-deps-camera-hal3 )
+	)
+	tests_camera_V4L2? ( media-libs/libyuv dev-libs/re2 )
+	tests_xfsFilesystemTestSuite? ( app-benchmarks/xfstests )
+"
+
+DEPEND="${RDEPEND}"
+
+X86_IUSE_TESTS="
+	+tests_xfsFilesystemTestSuite
+	+tests_hardware_UnsafeMemory
+"
+
+CLIENT_IUSE_TESTS="
+	x86? ( ${X86_IUSE_TESTS} )
+	amd64? ( ${X86_IUSE_TESTS} )
+	+tests_profiler_sync
+	+tests_compilebench
+	+tests_crashme
+	+tests_dbench
+	+tests_ddtest
+	+tests_disktest
+	+tests_fsx
+	+tests_hackbench
+	+tests_iperf
+	+tests_bonnie
+	+tests_iozone
+	+tests_netpipe
+	+tests_sleeptest
+	+tests_kernel_sysrq_info
+	+tests_unixbench
+	+tests_autoupdate_Backoff
+	+tests_autoupdate_BadMetadata
+	+tests_autoupdate_CannedOmahaUpdate
+	+tests_autoupdate_DisconnectReconnectNetwork
+	dlc_test? ( +tests_autoupdate_InstallAndUpdateDLC )
+	+tests_autoupdate_PeriodicCheck
+	+tests_autoupdate_UrlSwitch
+	+tests_blktestsSuiteAll
+	+tests_blktestsSuiteLoopOverBlk
+	+tests_blktestsSuiteLoopOverFile
+	+tests_blktestsSuiteRealBlk
+	+tests_camera_V4L2
+	arc-camera3? (
+		+tests_camera_HAL3
+		+tests_camera_HAL3Perf
+	)
+	+tests_dummy_Fail
+	+tests_dummy_Pass
+	+tests_dummy_SynchronousOffload
+	tests_example_UnitTest
+	+tests_firmware_LockedME
+	+tests_firmware_RomSize
+	+tests_firmware_SetFWMP
+	+tests_firmware_VbootCrypto
+	+tests_flaky_test
+	+tests_hardware_Badblocks
+	+tests_hardware_DiskSize
+	+tests_hardware_EC
+	+tests_hardware_EepromWriteProtect
+	+tests_hardware_GobiGPS
+	+tests_hardware_GPIOSwitches
+	+tests_hardware_GPS
+	+tests_hardware_I2CProbe
+	+tests_hardware_Interrupt
+	+tests_hardware_Keyboard
+	+tests_hardware_LightSensor
+	+tests_hardware_MemoryLatency
+	+tests_hardware_MemoryThroughput
+	+tests_hardware_MemoryZRAMThroughput
+	+tests_hardware_Memtester
+	+tests_hardware_MultiReader
+	+tests_hardware_ProbeComponents
+	+tests_hardware_RamFio
+	+tests_hardware_RealtekCardReader
+	+tests_hardware_Resolution
+	+tests_hardware_SAT
+	+tests_hardware_Smartctl
+	+tests_hardware_SsdDetection
+	+tests_hardware_StorageFio
+	+tests_hardware_StorageFioOther
+	+tests_hardware_StorageTrim
+	+tests_hardware_StorageWearoutDetect
+	+tests_hardware_TouchScreenPowerCycles
+	tests_hardware_TouchScreenPresent
+	+tests_hardware_TrimIntegrity
+	+tests_infra_FirmwareAutoupdate
+	+tests_kernel_AsyncDriverProbe
+	+tests_kernel_FirmwareRequest
+	+tests_kernel_CrosECSysfsAccel
+	+tests_kernel_Delay
+	+tests_kernel_fs_Punybench
+	+tests_kernel_Ktime
+	+tests_kernel_Lmbench
+	+tests_kernel_Memory_Ramoop
+	+tests_kernel_SchedBandwith
+	crash_reporting? (
+		+tests_logging_CrashSender
+		+tests_logging_KernelCrash
+		+tests_logging_UdevCrash
+		+tests_logging_UserCrash
+		+tests_platform_AnomalyDetector
+	)
+	+tests_network_EthCaps
+	+tests_network_EthernetStressPlug
+	+tests_network_Ipv6SimpleNegotiation
+	+tests_network_NegotiatedLANSpeed
+	+tests_platform_AccurateTime
+	+tests_platform_AesThroughput
+	!chromeless_tty? (
+		+tests_platform_BootPerf
+	)
+	+tests_platform_CheckErrorsInLog
+	+tests_platform_CleanShutdown
+	+tests_platform_Crossystem
+	+tests_platform_Crouton
+	+tests_platform_DaemonsRespawn
+	+tests_platform_DBusMachineIdRotation
+	encrypted_stateful? ( +tests_platform_EncryptedStateful )
+	+tests_platform_ExternalUSBBootStress
+	+tests_platform_ExternalUSBStress
+	+tests_platform_FileNum
+	+tests_platform_FileSize
+	biod? ( +tests_platform_Fingerprint )
+	+tests_platform_Firewall
+	+tests_platform_FullyChargedPowerStatus
+	+tests_platform_HighResTimers
+	+tests_platform_ImageLoader
+	+tests_platform_ImageLoaderServer
+	+tests_platform_KernelVersion
+	+tests_platform_LibCBench
+	+tests_platform_LogDupSuppression
+	+tests_platform_LogNonKernelKmsg
+	+tests_platform_MemCheck
+	+tests_platform_MemoryMonitor
+	chromeless_tty? ( +tests_platform_MetricsUploader )
+	+tests_platform_NetParms
+	+tests_platform_OpenSSLActual
+	profile? (
+		+tests_platform_Perf
+		+tests_platform_Quipper
+	)
+	cups? ( +tests_platform_PrinterPpds )
+	+tests_platform_Rootdev
+	+tests_platform_SecureEraseFile
+	!chromeless_tty? ( +tests_platform_SessionManagerStateKeyGeneration )
+	+tests_platform_TabletMode
+	+tests_platform_TempFS
+	network_time? (
+		+tests_platform_TLSDate
+		+tests_platform_TLSDateActual
+	)
+	+tests_platform_UdevVars
+	+tests_suite_HWConfig
+	+tests_suite_HWQual
+	+tests_system_ColdBoot
+	+tests_touch_HasInput
+	+tests_touch_UpdateErrors
+	+tests_touch_WakeupSource
+	+tests_usbpd_DisplayPortSink
+	+tests_vpd_ReadWrite
+"
+
+IUSE_TESTS="${IUSE_TESTS}
+	${CLIENT_IUSE_TESTS}
+"
+
+IUSE="${IUSE} ${IUSE_TESTS}"
+
+CROS_WORKON_LOCALNAME="third_party/autotest/files"
+
+AUTOTEST_DEPS_LIST=""
+AUTOTEST_CONFIG_LIST=""
+AUTOTEST_PROFILERS_LIST=""
+
+AUTOTEST_FILE_MASK="*.a *.tar.bz2 *.tbz2 *.tgz *.tar.gz"
diff --git a/chromeos-base/autotest/autotest-0.0.2-r12948.ebuild b/chromeos-base/autotest/autotest-0.0.2-r12948.ebuild
deleted file mode 100644
index d7b93b7..0000000
--- a/chromeos-base/autotest/autotest-0.0.2-r12948.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CROS_WORKON_COMMIT=("a89875894d9002518772c0c8eb0a3f7353926ad6" "4e80173ac59e4cab9ae07b919c1c367642d4516d")
-CROS_WORKON_TREE=("240ecaf5bcf2ae26369706ee37bf83e47f681ba7" "0ae43237ada86ff051625b38e4bfb48ff0e7da45")
-CROS_WORKON_PROJECT=(
-	"chromiumos/third_party/autotest"
-	"chromiumos/platform/fw-testing-configs"
-)
-CROS_WORKON_LOCALNAME=(
-	"third_party/autotest/files"
-	"third_party/autotest/files/server/cros/faft/fw-testing-configs"
-)
-CROS_WORKON_DESTDIR=(
-	"${S}"
-	"${S}/server/cros/faft/fw-testing-configs"
-)
-
-inherit cros-workon cros-constants
-
-DESCRIPTION="Autotest scripts and tools"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
-SRC_URI=""
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="*"
-
-RDEPEND="
-	!<chromeos-base/autotest-chrome-0.0.1-r1788
-	!<chromeos-base/autotest-tests-0.0.1-r3291
-	!<chromeos-base/autotest-deps-0.0.2
-	virtual/autotest-libs
-	virtual/autotest-assistant-libs
-"
-
-# We don't want Python on the base image, however, there're several base
-# chromeos dependent ebuilds that depend on this ebuild.
-DEPEND="${RDEPEND}"
-
-# Ensure the configures run by autotest pick up the right config.site
-export CONFIG_SITE=/usr/share/config.site
-
-AUTOTEST_WORK="${WORKDIR}/autotest-work"
-
-src_prepare() {
-	mkdir -p "${AUTOTEST_WORK}/client"
-	mkdir -p "${AUTOTEST_WORK}/server"
-	cp -fpu "${S}"/client/* "${AUTOTEST_WORK}/client" &>/dev/null
-	cp -fpru "${S}"/client/{bin,common_lib,tools} "${AUTOTEST_WORK}/client"
-	cp -fpu "${S}"/server/* "${AUTOTEST_WORK}/server" &>/dev/null
-	cp -fpru "${S}"/server/{bin,control_segments,hosts,lib} "${AUTOTEST_WORK}/server"
-	cp -fpru "${S}"/{tko,utils,site_utils,test_suites,frontend} "${AUTOTEST_WORK}"
-
-	# cros directory is not from autotest upstream but cros project specific.
-	cp -fpru "${S}"/client/cros "${AUTOTEST_WORK}/client"
-
-	cp -fpru "${S}"/server/cros "${AUTOTEST_WORK}/server"
-
-	# Pre-create test directories.
-	local test_dirs="
-		client/tests client/site_tests
-		client/config client/deps client/profilers
-		server/tests server/site_tests packages"
-	local dir
-	for dir in ${test_dirs}; do
-		mkdir "${AUTOTEST_WORK}/${dir}"
-		touch "${AUTOTEST_WORK}/${dir}"/.keep
-	done
-	touch "${AUTOTEST_WORK}/client/profilers/__init__.py"
-
-	sed "/^enable_server_prebuild/d" "${S}/global_config.ini" > \
-		"${AUTOTEST_WORK}/global_config.ini"
-	default
-}
-
-src_install() {
-	insinto ${AUTOTEST_BASE}
-	doins -r "${AUTOTEST_WORK}"/*
-
-	# base __init__.py
-	touch "${D}"${AUTOTEST_BASE}/__init__.py
-
-	# TODO: This should be more selective
-	chmod -R a+x "${D}"${AUTOTEST_BASE}
-
-	# setup stuff needed for read/write operation
-	chmod a+wx "${D}${AUTOTEST_BASE}/packages"
-
-	dodir "${AUTOTEST_BASE}/client/packages"
-	chmod a+wx "${D}${AUTOTEST_BASE}/client/packages"
-
-	dodir "${AUTOTEST_BASE}/server/tmp"
-	chmod a+wx "${D}${AUTOTEST_BASE}/server/tmp"
-
-	# Set up symlinks so that debug info works for autotests.
-	dodir /usr/lib/debug${AUTOTEST_BASE}/
-	dosym client/site_tests /usr/lib/debug${AUTOTEST_BASE}/tests
-
-	# Punt any nested .git dirs.
-	find "${D}" -name .git -exec rm -rf {} +
-}
-
-src_test() {
-	# Run the autotest unit tests.
-	./utils/unittest_suite.py --debug || die "Autotest unit tests failed."
-}
-
-# Packages client.
-pkg_postinst() {
-	local root_autotest_dir="${ROOT}${AUTOTEST_BASE}"
-	flock "${root_autotest_dir}/packages" \
-			-c "PYTHONDONTWRITEBYTECODE=1 ${root_autotest_dir}/utils/packager.py \
-				-r ${root_autotest_dir}/packages --client -a upload"
-}
diff --git a/chromeos-base/autotest/autotest-0.0.2-r13480.ebuild b/chromeos-base/autotest/autotest-0.0.2-r13480.ebuild
new file mode 100644
index 0000000..74d4f41
--- /dev/null
+++ b/chromeos-base/autotest/autotest-0.0.2-r13480.ebuild
@@ -0,0 +1,116 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("db48601acf9d646e8f4b4c223e67da2d40cf02e6" "360170e747b466e5b884cb5f50a303dfedaba6be")
+CROS_WORKON_TREE=("9c318efb5bd9aef8b16389f9f2573412b9e576cc" "7c21ad286a49cc09ef2bd9f6c03939f016e9c889")
+CROS_WORKON_PROJECT=(
+	"chromiumos/third_party/autotest"
+	"chromiumos/platform/fw-testing-configs"
+)
+CROS_WORKON_LOCALNAME=(
+	"third_party/autotest/files"
+	"third_party/autotest/files/server/cros/faft/fw-testing-configs"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/server/cros/faft/fw-testing-configs"
+)
+
+inherit cros-workon cros-constants
+
+DESCRIPTION="Autotest scripts and tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/autotest/"
+SRC_URI=""
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="*"
+
+RDEPEND="
+	!<chromeos-base/autotest-chrome-0.0.1-r1788
+	!<chromeos-base/autotest-tests-0.0.1-r3291
+	!<chromeos-base/autotest-deps-0.0.2
+	virtual/autotest-libs
+	virtual/autotest-assistant-libs
+"
+
+# We don't want Python on the base image, however, there're several base
+# chromeos dependent ebuilds that depend on this ebuild.
+DEPEND="${RDEPEND}"
+
+# Ensure the configures run by autotest pick up the right config.site
+export CONFIG_SITE=/usr/share/config.site
+
+AUTOTEST_WORK="${WORKDIR}/autotest-work"
+
+src_prepare() {
+	mkdir -p "${AUTOTEST_WORK}/client"
+	mkdir -p "${AUTOTEST_WORK}/server"
+	cp -fpu "${S}"/client/* "${AUTOTEST_WORK}/client" &>/dev/null
+	cp -fpru "${S}"/client/{bin,common_lib,tools} "${AUTOTEST_WORK}/client"
+	cp -fpu "${S}"/server/* "${AUTOTEST_WORK}/server" &>/dev/null
+	cp -fpru "${S}"/server/{bin,control_segments,hosts,lib} "${AUTOTEST_WORK}/server"
+	cp -fpru "${S}"/{tko,utils,site_utils,test_suites,frontend} "${AUTOTEST_WORK}"
+
+	# cros directory is not from autotest upstream but cros project specific.
+	cp -fpru "${S}"/client/cros "${AUTOTEST_WORK}/client"
+
+	cp -fpru "${S}"/server/cros "${AUTOTEST_WORK}/server"
+
+	# Pre-create test directories.
+	local test_dirs="
+		client/tests client/site_tests
+		client/config client/deps client/profilers
+		server/tests server/site_tests packages"
+	local dir
+	for dir in ${test_dirs}; do
+		mkdir "${AUTOTEST_WORK}/${dir}"
+		touch "${AUTOTEST_WORK}/${dir}"/.keep
+	done
+	touch "${AUTOTEST_WORK}/client/profilers/__init__.py"
+
+	sed "/^enable_server_prebuild/d" "${S}/global_config.ini" > \
+		"${AUTOTEST_WORK}/global_config.ini"
+	default
+}
+
+src_install() {
+	insinto ${AUTOTEST_BASE}
+	doins -r "${AUTOTEST_WORK}"/*
+
+	# base __init__.py
+	touch "${D}"${AUTOTEST_BASE}/__init__.py
+
+	# TODO: This should be more selective
+	chmod -R a+x "${D}"${AUTOTEST_BASE}
+
+	# setup stuff needed for read/write operation
+	chmod a+wx "${D}${AUTOTEST_BASE}/packages"
+
+	dodir "${AUTOTEST_BASE}/client/packages"
+	chmod a+wx "${D}${AUTOTEST_BASE}/client/packages"
+
+	dodir "${AUTOTEST_BASE}/server/tmp"
+	chmod a+wx "${D}${AUTOTEST_BASE}/server/tmp"
+
+	# Set up symlinks so that debug info works for autotests.
+	dodir /usr/lib/debug${AUTOTEST_BASE}/
+	dosym client/site_tests /usr/lib/debug${AUTOTEST_BASE}/tests
+
+	# Punt any nested .git dirs.
+	find "${D}" -name .git -exec rm -rf {} +
+}
+
+src_test() {
+	# Run the autotest unit tests.
+	./utils/unittest_suite.py --debug || die "Autotest unit tests failed."
+}
+
+# Packages client.
+pkg_postinst() {
+	local root_autotest_dir="${ROOT}${AUTOTEST_BASE}"
+	flock "${root_autotest_dir}/packages" \
+			-c "PYTHONDONTWRITEBYTECODE=1 ${root_autotest_dir}/utils/packager.py \
+				-r ${root_autotest_dir}/packages --client -a upload"
+}
diff --git a/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3017.ebuild b/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3017.ebuild
deleted file mode 100644
index 0c50981..0000000
--- a/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3017.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-EAPI="6"
-
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "663c1accb23d479e49928219593b0f82d782ba9c" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_DESTDIR="${S}"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk avtest_label_detect .gn"
-
-inherit cros-sanitizers cros-workon cros-common.mk
-
-DESCRIPTION="Autotest label detector for audio/video/camera"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/avtest_label_detect"
-
-LICENSE="BSD-Google"
-SLOT="0"
-KEYWORDS="*"
-IUSE="-asan v4l2_codec vaapi"
-
-RDEPEND="vaapi? ( x11-libs/libva )"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	cros-workon_src_unpack
-	S+="/avtest_label_detect"
-}
-
-src_configure() {
-	export USE_VAAPI=$(usex vaapi)
-	export USE_V4L2_CODEC=$(usex v4l2_codec)
-	sanitizers-setup-env
-	cros-common.mk_src_configure
-}
-
-src_install() {
-	# Install built tools
-	pushd "${OUT}" >/dev/null
-	dobin avtest_label_detect
-	popd >/dev/null
-
-	insinto /etc
-	doins "${S}"/avtest_label_detect.conf
-}
diff --git a/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3041.ebuild b/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3041.ebuild
new file mode 100644
index 0000000..e3784ce
--- /dev/null
+++ b/chromeos-base/avtest_label_detect/avtest_label_detect-0.0.1-r3041.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI="6"
+
+CROS_WORKON_COMMIT="e17d85021220d89f89a1db189358a8dcea232e8f"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "34c95610bbb2e5b9e5a08f0ffc45a96171f940ff" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_DESTDIR="${S}"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk avtest_label_detect .gn"
+
+inherit cros-sanitizers cros-workon cros-common.mk
+
+DESCRIPTION="Autotest label detector for audio/video/camera"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/avtest_label_detect"
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="-asan v4l2_codec vaapi"
+
+RDEPEND="vaapi? ( x11-libs/libva )"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	S+="/avtest_label_detect"
+}
+
+src_configure() {
+	export USE_VAAPI=$(usex vaapi)
+	export USE_V4L2_CODEC=$(usex v4l2_codec)
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+}
+
+src_install() {
+	# Install built tools
+	pushd "${OUT}" >/dev/null
+	dobin avtest_label_detect
+	popd >/dev/null
+
+	insinto /etc
+	doins "${S}"/avtest_label_detect.conf
+}
diff --git a/chromeos-base/battery_updater/battery_updater-0.0.1-r12.ebuild b/chromeos-base/battery_updater/battery_updater-0.0.1-r12.ebuild
deleted file mode 100644
index ba1e501..0000000
--- a/chromeos-base/battery_updater/battery_updater-0.0.1-r12.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="6ff439321073109d6343280da70a4aae6cc51f65"
-CROS_WORKON_TREE="d7c13648444d5a52954a8b9a842524ca743a92ac"
-CROS_WORKON_PROJECT="chromiumos/platform/battery_updater"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon
-
-DESCRIPTION="Battery Firmware Updater"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/battery_updater/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="*"
-IUSE=""
-
-src_install() {
-	insinto "/etc/init"
-	doins "scripts/chromeos-battery-update.conf"
-	exeinto "/opt/google/battery/scripts"
-	doexe scripts/chromeos-battery-update.sh
-}
diff --git a/chromeos-base/battery_updater/battery_updater-9999.ebuild b/chromeos-base/battery_updater/battery_updater-9999.ebuild
deleted file mode 100644
index 6d8f6bf..0000000
--- a/chromeos-base/battery_updater/battery_updater-9999.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2015 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_PROJECT="chromiumos/platform/battery_updater"
-CROS_WORKON_OUTOFTREE_BUILD=1
-
-inherit cros-workon
-
-DESCRIPTION="Battery Firmware Updater"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/battery_updater/"
-SRC_URI=""
-
-LICENSE="BSD-Google"
-SLOT="0/0"
-KEYWORDS="~*"
-IUSE=""
-
-src_install() {
-	insinto "/etc/init"
-	doins "scripts/chromeos-battery-update.conf"
-	exeinto "/opt/google/battery/scripts"
-	doexe scripts/chromeos-battery-update.sh
-}
diff --git a/chromeos-base/biod/biod-0.0.1-r1839.ebuild b/chromeos-base/biod/biod-0.0.1-r1839.ebuild
deleted file mode 100644
index 522ff3a..0000000
--- a/chromeos-base/biod/biod-0.0.1-r1839.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="5be1e6be0e2256c73dd174671471428359561d05"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "fa757d388d71b4ff74cb86f5b347b35fc9b65e46" "9b4a2274d7e288e816c42f93f44fb938f82038ff" "aa7d3a7ee39fb0cab54fef530db4dfcbe0cd4515" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk biod chromeos-config metrics .gn"
-
-PLATFORM_SUBDIR="biod"
-
-inherit cros-fuzzer cros-sanitizers cros-workon platform udev user
-
-DESCRIPTION="Biometrics Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-IUSE="
-	fp_on_power_button
-	fpmcu_firmware_bloonchipper
-	fpmcu_firmware_dartmonkey
-	fpmcu_firmware_nami
-	fpmcu_firmware_nocturne
-	fuzzer
-	generated_cros_config
-	unibuild
-"
-
-COMMON_DEPEND="
-	chromeos-base/chromeos-config-tools:=
-	>=chromeos-base/metrics-0.0.1-r3152:=
-	sys-apps/flashmap:=
-	unibuild? (
-		!generated_cros_config? ( chromeos-base/chromeos-config )
-		generated_cros_config? ( chromeos-base/chromeos-config-bsp:= )
-	)
-"
-
-# For biod_client_tool. The biod_proxy library will be built on all boards but
-# biod_client_tool will be built only on boards with biod.
-COMMON_DEPEND+="
-	chromeos-base/biod_proxy:=
-"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	sys-apps/flashrom
-	virtual/chromeos-firmware-fpmcu
-	"
-
-# Release branch firmware.
-# The USE flags below come from USE_EXPAND variables.
-# See third_party/chromiumos-overlay/profiles/base/make.defaults.
-RDEPEND+="
-	fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper )
-	fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey )
-	fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami )
-	fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne )
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	chromeos-base/chromeos-ec-headers:=
-	chromeos-base/power_manager-client:=
-	chromeos-base/system_api:=[fuzzer?]
-	dev-libs/openssl:=
-"
-
-pkg_setup() {
-	enewuser biod
-	enewgroup biod
-}
-
-src_install() {
-	dobin "${OUT}"/biod
-
-	dobin "${OUT}"/bio_crypto_init
-	dobin "${OUT}"/bio_wash
-
-	dosbin "${OUT}"/bio_fw_updater
-
-	into /usr/local
-	dobin "${OUT}"/biod_client_tool
-
-	insinto /usr/share/policy
-	local seccomp_src_dir="init/seccomp"
-
-	newins "${seccomp_src_dir}/biod-seccomp-${ARCH}.policy" \
-		biod-seccomp.policy
-
-	newins "${seccomp_src_dir}/bio-crypto-init-seccomp-${ARCH}.policy" \
-		bio-crypto-init-seccomp.policy
-
-	insinto /etc/init
-	doins init/*.conf
-
-	insinto /etc/dbus-1/system.d
-	doins dbus/org.chromium.BiometricsDaemon.conf
-
-	udev_dorules udev/99-biod.rules
-
-	# Set up cryptohome daemon mount store in daemon's mount
-	# namespace.
-	local daemon_store="/etc/daemon-store/biod"
-	dodir "${daemon_store}"
-	fperms 0700 "${daemon_store}"
-	fowners biod:biod "${daemon_store}"
-
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_storage_fuzzer
-
-	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_crypto_validation_value_fuzzer
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/biod_test_runner"
-}
diff --git a/chromeos-base/biod/biod-0.0.1-r1936.ebuild b/chromeos-base/biod/biod-0.0.1-r1936.ebuild
new file mode 100644
index 0000000..86a816f
--- /dev/null
+++ b/chromeos-base/biod/biod-0.0.1-r1936.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2016 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="5251066fa4f265c3a7bbb7d1f1bb17233f43eaaf"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "51edb0458f48b8592c9ba25d6b4d45f408e63998" "4a9d701c1716dbba6b3de3a9927299f399ec4580" "8d228c8e702aebee142bcbf0763a15786eb5b3bb" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk biod chromeos-config metrics .gn"
+
+PLATFORM_SUBDIR="biod"
+
+inherit cros-fuzzer cros-sanitizers cros-workon platform udev user
+
+DESCRIPTION="Biometrics Daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="
+	fp_on_power_button
+	fpmcu_firmware_bloonchipper
+	fpmcu_firmware_dartmonkey
+	fpmcu_firmware_nami
+	fpmcu_firmware_nocturne
+	fuzzer
+	generated_cros_config
+	unibuild
+"
+
+COMMON_DEPEND="
+	chromeos-base/chromeos-config-tools:=
+	>=chromeos-base/metrics-0.0.1-r3152:=
+	sys-apps/flashmap:=
+	unibuild? (
+		!generated_cros_config? ( chromeos-base/chromeos-config )
+		generated_cros_config? ( chromeos-base/chromeos-config-bsp:= )
+	)
+"
+
+# For biod_client_tool. The biod_proxy library will be built on all boards but
+# biod_client_tool will be built only on boards with biod.
+COMMON_DEPEND+="
+	chromeos-base/biod_proxy:=
+"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	sys-apps/flashrom
+	virtual/chromeos-firmware-fpmcu
+	"
+
+# Release branch firmware.
+# The USE flags below come from USE_EXPAND variables.
+# See third_party/chromiumos-overlay/profiles/base/make.defaults.
+RDEPEND+="
+	fpmcu_firmware_bloonchipper? ( sys-firmware/chromeos-fpmcu-release-bloonchipper )
+	fpmcu_firmware_dartmonkey? ( sys-firmware/chromeos-fpmcu-release-dartmonkey )
+	fpmcu_firmware_nami? ( sys-firmware/chromeos-fpmcu-release-nami )
+	fpmcu_firmware_nocturne? ( sys-firmware/chromeos-fpmcu-release-nocturne )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/chromeos-ec-headers:=
+	chromeos-base/power_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	dev-libs/openssl:=
+"
+
+pkg_setup() {
+	enewuser biod
+	enewgroup biod
+}
+
+src_install() {
+	dobin "${OUT}"/biod
+
+	dobin "${OUT}"/bio_crypto_init
+	dobin "${OUT}"/bio_wash
+
+	dosbin "${OUT}"/bio_fw_updater
+
+	into /usr/local
+	dobin "${OUT}"/biod_client_tool
+
+	insinto /usr/share/policy
+	local seccomp_src_dir="init/seccomp"
+
+	newins "${seccomp_src_dir}/biod-seccomp-${ARCH}.policy" \
+		biod-seccomp.policy
+
+	newins "${seccomp_src_dir}/bio-crypto-init-seccomp-${ARCH}.policy" \
+		bio-crypto-init-seccomp.policy
+
+	insinto /etc/init
+	doins init/*.conf
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.BiometricsDaemon.conf
+
+	udev_dorules udev/99-biod.rules
+
+	# Set up cryptohome daemon mount store in daemon's mount
+	# namespace.
+	local daemon_store="/etc/daemon-store/biod"
+	dodir "${daemon_store}"
+	fperms 0700 "${daemon_store}"
+	fowners biod:biod "${daemon_store}"
+
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_storage_fuzzer
+
+	platform_fuzzer_install "${S}/OWNERS" "${OUT}"/biod_crypto_validation_value_fuzzer
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/biod_test_runner"
+}
diff --git a/chromeos-base/biod_proxy/biod_proxy-0.0.1-r120.ebuild b/chromeos-base/biod_proxy/biod_proxy-0.0.1-r120.ebuild
new file mode 100644
index 0000000..d33180e
--- /dev/null
+++ b/chromeos-base/biod_proxy/biod_proxy-0.0.1-r120.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2020 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="67b30051d9937f721cc5b3f5d18e31d159829e2a"
+CROS_WORKON_TREE=("52a8a8b6d3bbca5e90d4761aa308a5541d52b1bb" "51edb0458f48b8592c9ba25d6b4d45f408e63998" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_USE_VCSID="1"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk biod .gn"
+
+PLATFORM_SUBDIR="biod/biod_proxy"
+
+inherit cros-workon platform
+
+DESCRIPTION="DBus Proxy Library for Biometrics Daemon for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+
+RDEPEND=""
+
+DEPEND="
+	chromeos-base/libbrillo:=
+	chromeos-base/system_api:=
+"
+
+src_install() {
+	dolib.so "${OUT}"/lib/libbiod_proxy.so
+	insinto /usr/include/biod/biod_proxy/
+	doins ./*.h
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/biod_proxy_test_runner"
+}
diff --git a/chromeos-base/biod_proxy/biod_proxy-0.0.1-r47.ebuild b/chromeos-base/biod_proxy/biod_proxy-0.0.1-r47.ebuild
deleted file mode 100644
index 9ee3a47..0000000
--- a/chromeos-base/biod_proxy/biod_proxy-0.0.1-r47.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="d290f731c4d623269bf6a259a351bf92eb5f4854"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "fa757d388d71b4ff74cb86f5b347b35fc9b65e46" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
-CROS_WORKON_USE_VCSID="1"
-CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_PROJECT="chromiumos/platform2"
-CROS_WORKON_OUTOFTREE_BUILD=1
-CROS_WORKON_SUBTREE="common-mk biod .gn"
-
-PLATFORM_SUBDIR="biod/biod_proxy"
-
-inherit cros-workon platform
-
-DESCRIPTION="DBus Proxy Library for Biometrics Daemon for Chromium OS"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/biod/README.md"
-
-LICENSE="BSD-Google"
-KEYWORDS="*"
-
-RDEPEND=""
-
-DEPEND="
-	chromeos-base/libbrillo:=
-	chromeos-base/system_api:=
-"
-
-src_install() {
-	dolib.so "${OUT}"/lib/libbiod_proxy.so
-	insinto /usr/include/biod/biod_proxy/
-	doins ./*.h
-}
-
-platform_pkg_test() {
-	platform_test "run" "${OUT}/biod_proxy_test_runner"
-}
diff --git a/chromeos-base/bluetooth/bluetooth-0.0.1-r591.ebuild b/chromeos-base/bluetooth/bluetooth-0.0.1-r591.ebuild
deleted file mode 100644
index a01c353..0000000
--- a/chromeos-base/bluetooth/bluetooth-0.0.1-r591.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-CROS_WORKON_COMMIT="5be1e6be0e2256c73dd174671471428359561d05"
-CROS_WORKON_TREE=("aa81756947ecfdd38b22f42eed8eeafa40431079" "9b4a2274d7e288e816c42f93f44fb938f82038ff" "5400381b0bd5ab89ecc95178a6d76a1520b57f96" "e7dba8c91c1f3257c34d4a7ffff0