* [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors
@ 2020-04-05 23:04 Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 2/7] support/testing: test_syslinux: remove BR2_TOOLCHAIN_EXTERNAL_LOCALE Romain Naour
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
Reported by gitlab:
https://gitlab.com/kubu93/buildroot/-/jobs/499374911
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/testing/tests/boot/test_syslinux.py | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/support/testing/tests/boot/test_syslinux.py b/support/testing/tests/boot/test_syslinux.py
index 6b1a8bc7d7..4105e5edac 100644
--- a/support/testing/tests/boot/test_syslinux.py
+++ b/support/testing/tests/boot/test_syslinux.py
@@ -1,13 +1,14 @@
import infra.basetest
+
class TestSysLinuxBase(infra.basetest.BRTest):
x86_toolchain_config = \
"""
- BR2_x86_i686=y
- BR2_TOOLCHAIN_EXTERNAL=y
- BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
- BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2018.11-1.tar.bz2"
- BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
+ BR2_x86_i686=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
+ BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-i686/tarballs/x86-i686--glibc--bleeding-edge-2018.11-1.tar.bz2"
+ BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
@@ -46,6 +47,7 @@ class TestSysLinuxBase(infra.basetest.BRTest):
BR2_TARGET_SYSLINUX_EFI=y
"""
+
class TestSysLinuxX86LegacyBios(TestSysLinuxBase):
config = \
TestSysLinuxBase.x86_toolchain_config + \
@@ -55,6 +57,7 @@ class TestSysLinuxX86LegacyBios(TestSysLinuxBase):
def test_run(self):
pass
+
class TestSysLinuxX86EFI(TestSysLinuxBase):
config = \
TestSysLinuxBase.x86_toolchain_config + \
@@ -64,6 +67,7 @@ class TestSysLinuxX86EFI(TestSysLinuxBase):
def test_run(self):
pass
+
class TestSysLinuxX86_64LegacyBios(TestSysLinuxBase):
config = \
TestSysLinuxBase.x86_64_toolchain_config + \
@@ -73,6 +77,7 @@ class TestSysLinuxX86_64LegacyBios(TestSysLinuxBase):
def test_run(self):
pass
+
class TestSysLinuxX86_64EFI(TestSysLinuxBase):
config = \
TestSysLinuxBase.x86_64_toolchain_config + \
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 2/7] support/testing: test_syslinux: remove BR2_TOOLCHAIN_EXTERNAL_LOCALE
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
@ 2020-04-05 23:04 ` Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 3/7] support/testing: test_glxinfo: " Romain Naour
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
The BR2_TOOLCHAIN_EXTERNAL_LOCALE is only defined for uClibc based
custom external toolchains.
The test_syslinux is using a glibc toolchain, so the
"# BR2_TOOLCHAIN_EXTERNAL_LOCALE is not set" line disapear from
the generated dot config (.config) leading to an error due to
a new check in the testsuite infra.
There is the same problem with:
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS=y
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL=y
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/testing/tests/boot/test_syslinux.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/support/testing/tests/boot/test_syslinux.py b/support/testing/tests/boot/test_syslinux.py
index 4105e5edac..f25cddfb6c 100644
--- a/support/testing/tests/boot/test_syslinux.py
+++ b/support/testing/tests/boot/test_syslinux.py
@@ -24,12 +24,8 @@ class TestSysLinuxBase(infra.basetest.BRTest):
BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-64-core-i7/tarballs/x86-64-core-i7--glibc--stable-2018.11-1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_7=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y
- # BR2_TOOLCHAIN_EXTERNAL_LOCALE is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
- BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG=y
- BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS=y
- BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
"""
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 3/7] support/testing: test_glxinfo: remove BR2_TOOLCHAIN_EXTERNAL_LOCALE
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 2/7] support/testing: test_syslinux: remove BR2_TOOLCHAIN_EXTERNAL_LOCALE Romain Naour
@ 2020-04-05 23:04 ` Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 4/7] support/testing: test_tmux: remove BR2_GENERATE_LOCALE Romain Naour
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
The BR2_TOOLCHAIN_EXTERNAL_LOCALE is only defined for uClibc based
custom external toolchains.
The test_glxinfo is using a glibc toolchain, so the
"# BR2_TOOLCHAIN_EXTERNAL_LOCALE is not set" line disapear from
the generated dot config (.config) leading to an error due to
a new check in the testsuite infra.
There is the same problem with:
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS=y
BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL=y
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
support/testing/tests/package/test_glxinfo.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/support/testing/tests/package/test_glxinfo.py b/support/testing/tests/package/test_glxinfo.py
index a9df6ddf6f..f37236d161 100644
--- a/support/testing/tests/package/test_glxinfo.py
+++ b/support/testing/tests/package/test_glxinfo.py
@@ -15,12 +15,8 @@ class TestGlxinfo(infra.basetest.BRTest):
BR2_TOOLCHAIN_EXTERNAL_URL="http://toolchains.bootlin.com/downloads/releases/toolchains/x86-core2/tarballs/x86-core2--glibc--bleeding-edge-2018.11-1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y
- # BR2_TOOLCHAIN_EXTERNAL_LOCALE is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
- BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG=y
- BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS=y
- BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 4/7] support/testing: test_tmux: remove BR2_GENERATE_LOCALE
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 2/7] support/testing: test_syslinux: remove BR2_TOOLCHAIN_EXTERNAL_LOCALE Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 3/7] support/testing: test_glxinfo: " Romain Naour
@ 2020-04-05 23:04 ` Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 5/7] support/testing: test_lxc: use ARM arm external toolchain Romain Naour
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
The BR2_GENERATE_LOCALE can only be used by uClibc based toolchains with the
internal toolchain backend [1].
The test_tmux is using a external uClibc toolchain, so the
"BR2_GENERATE_LOCALE="en_US.UTF-8"" line disapear from
the generated dot config (.config) leading to an error due to
a new check in the testsuite infra.
[1] https://git.buildroot.net/buildroot/commit/?id=bd0ffe2206fbd32baf7f4a1dc5fde81cfad70462
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
---
support/testing/tests/package/test_tmux.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/support/testing/tests/package/test_tmux.py b/support/testing/tests/package/test_tmux.py
index 7eb23cac97..b31854cab3 100644
--- a/support/testing/tests/package/test_tmux.py
+++ b/support/testing/tests/package/test_tmux.py
@@ -6,7 +6,6 @@ import infra.basetest
class TestTmux(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
- BR2_GENERATE_LOCALE="en_US.UTF-8"
BR2_PACKAGE_TMUX=y
BR2_TARGET_ROOTFS_CPIO=y
# BR2_TARGET_ROOTFS_TAR is not set
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 5/7] support/testing: test_lxc: use ARM arm external toolchain
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
` (2 preceding siblings ...)
2020-04-05 23:04 ` [Buildroot] [PATCH 4/7] support/testing: test_tmux: remove BR2_GENERATE_LOCALE Romain Naour
@ 2020-04-05 23:04 ` Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 6/7] support/testing: don't use TestPythonPackageBase.config and linaro toolchain Romain Naour
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
Until now, the lxc test was using the ARM CodeSourcery 2014.05 armv5 toolchain.
But the recent systemd version bump to 245 added a toolchain dependency
on systemd package due to build issues with gcc < 5.0.
Before [1] the lxc test was failing to build with the ARM CodeSourcery 2014.05
toolchain. After [1], the test is faling at runtime since the
"BR2_INIT_SYSTEMD=y" symbol disapear from the dot config (.config) due to
the new toolchain dependency.
Fix this by using the same toolchain as for the systemd tests [2]
[1] 2196ee25ff29c87001a42a382655d5b52d5de3c4
[2] b3d979c0d1b10de501576644e7dcdba708889b0c
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
support/testing/tests/package/test_lxc.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/support/testing/tests/package/test_lxc.py b/support/testing/tests/package/test_lxc.py
index 346247da08..b32b7a20c4 100644
--- a/support/testing/tests/package/test_lxc.py
+++ b/support/testing/tests/package/test_lxc.py
@@ -7,6 +7,8 @@ class TestLxc(infra.basetest.BRTest):
config = \
"""
BR2_arm=y
+ BR2_cortex_a9=y
+ BR2_ARM_ENABLE_VFP=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 6/7] support/testing: don't use TestPythonPackageBase.config and linaro toolchain
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
` (3 preceding siblings ...)
2020-04-05 23:04 ` [Buildroot] [PATCH 5/7] support/testing: test_lxc: use ARM arm external toolchain Romain Naour
@ 2020-04-05 23:04 ` Romain Naour
2020-04-06 20:19 ` Thomas Petazzoni
2020-04-05 23:04 ` [Buildroot] [PATCH 7/7] support/testing: check if the defconfig provided for testing is valid Romain Naour
2020-04-06 20:17 ` [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Thomas Petazzoni
6 siblings, 1 reply; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
TestPythonPackageBase.config provide already the basic uClibc toolchain.
So by adding the symbols for the linaro toolchain some warning are printed
at while loading the configuration:
.config:16:warning: override: reassigning to symbol BR2_TOOLCHAIN_EXTERNAL
.config:16:warning: override: BR2_TOOLCHAIN_EXTERNAL changes choice state
.config:17:warning: override: reassigning to symbol BR2_TARGET_ROOTFS_CPIO
.config:21:warning: override: BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM changes choice state
So, some symbol disapear from the generated dot config (.config) leading
to an error due to a new check in the testsuite infra.
Since this test should use the Linaro toolchain, remove
TestPythonPackageBase.config add BR2_arm=y and disable the rootfs tar option.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Adam Duskett <Aduskett@gmail.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
---
support/testing/tests/package/test_gst1_python.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/support/testing/tests/package/test_gst1_python.py b/support/testing/tests/package/test_gst1_python.py
index c6b337dd04..10d7907f8d 100644
--- a/support/testing/tests/package/test_gst1_python.py
+++ b/support/testing/tests/package/test_gst1_python.py
@@ -4,10 +4,12 @@ from tests.package.test_python import TestPythonPackageBase
class TestGst1Python(TestPythonPackageBase):
__test__ = True
- config = TestPythonPackageBase.config + \
+ config = \
"""
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_ROOTFS_CPIO=y
+ # BR2_TARGET_ROOTFS_TAR is not set
+ BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_ARM_EABIHF=y
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 7/7] support/testing: check if the defconfig provided for testing is valid
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
` (4 preceding siblings ...)
2020-04-05 23:04 ` [Buildroot] [PATCH 6/7] support/testing: don't use TestPythonPackageBase.config and linaro toolchain Romain Naour
@ 2020-04-05 23:04 ` Romain Naour
2020-04-06 20:17 ` [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Thomas Petazzoni
6 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2020-04-05 23:04 UTC (permalink / raw)
To: buildroot
Currently, the build continue even if some symbols disapear from
the generated dot config file (.config).
This patch add a new check in order to stop the test if one
of the provided symbol is missing. This must be treated as error.
For example, if a symbol disapear due to new dependency constraints.
Inspired by is_toolchain_usable() function from genrandconfig:
https://git.busybox.net/buildroot/tree/utils/genrandconfig?h=2020.02#n164
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
support/testing/infra/builder.py | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/support/testing/infra/builder.py b/support/testing/infra/builder.py
index 88f01d15c0..922a707220 100644
--- a/support/testing/infra/builder.py
+++ b/support/testing/infra/builder.py
@@ -12,6 +12,23 @@ class Builder(object):
self.builddir = builddir
self.logfile = infra.open_log_file(builddir, "build", logtofile)
+ def is_defconfig_valid(self, configfile, defconfig):
+ """Check if the .config is contains all lines present in the defconfig."""
+ with open(configfile) as configf:
+ configlines = configf.readlines()
+
+ defconfiglines = defconfig.split("\n")
+
+ # Check that all the defconfig lines are still present
+ for defconfigline in defconfiglines:
+ if defconfigline + "\n" not in configlines:
+ self.logfile.write("WARN: defconfig can't be used\n")
+ self.logfile.write(" Missing: %s\n" % defconfigline.strip())
+ self.logfile.flush()
+ return False
+
+ return True
+
def configure(self, make_extra_opts=[], make_extra_env={}):
"""Configure the build.
@@ -47,6 +64,9 @@ class Builder(object):
if ret != 0:
raise SystemError("Cannot olddefconfig")
+ if not self.is_defconfig_valid(config_file, self.config):
+ raise SystemError("The defconfig is not valid")
+
def build(self, make_extra_opts=[], make_extra_env={}):
"""Perform the build.
--
2.25.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
` (5 preceding siblings ...)
2020-04-05 23:04 ` [Buildroot] [PATCH 7/7] support/testing: check if the defconfig provided for testing is valid Romain Naour
@ 2020-04-06 20:17 ` Thomas Petazzoni
6 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2020-04-06 20:17 UTC (permalink / raw)
To: buildroot
On Mon, 6 Apr 2020 01:04:08 +0200
Romain Naour <romain.naour@gmail.com> wrote:
> Reported by gitlab:
> https://gitlab.com/kubu93/buildroot/-/jobs/499374911
>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> support/testing/tests/boot/test_syslinux.py | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
I've applied the entire series, with some changes on PATCH 6/7, to
which I'll reply specifically.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH 6/7] support/testing: don't use TestPythonPackageBase.config and linaro toolchain
2020-04-05 23:04 ` [Buildroot] [PATCH 6/7] support/testing: don't use TestPythonPackageBase.config and linaro toolchain Romain Naour
@ 2020-04-06 20:19 ` Thomas Petazzoni
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2020-04-06 20:19 UTC (permalink / raw)
To: buildroot
On Mon, 6 Apr 2020 01:04:13 +0200
Romain Naour <romain.naour@gmail.com> wrote:
> class TestGst1Python(TestPythonPackageBase):
> __test__ = True
> - config = TestPythonPackageBase.config + \
> + config = \
> """
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TARGET_ROOTFS_CPIO=y
> + # BR2_TARGET_ROOTFS_TAR is not set
> + BR2_arm=y
> BR2_cortex_a9=y
> BR2_ARM_ENABLE_VFP=y
> BR2_ARM_EABIHF=y
I like when options are in the same order as they would appear in a
defconfig, so I took this opportunity to re-order them this way.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-04-06 20:19 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-05 23:04 [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 2/7] support/testing: test_syslinux: remove BR2_TOOLCHAIN_EXTERNAL_LOCALE Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 3/7] support/testing: test_glxinfo: " Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 4/7] support/testing: test_tmux: remove BR2_GENERATE_LOCALE Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 5/7] support/testing: test_lxc: use ARM arm external toolchain Romain Naour
2020-04-05 23:04 ` [Buildroot] [PATCH 6/7] support/testing: don't use TestPythonPackageBase.config and linaro toolchain Romain Naour
2020-04-06 20:19 ` Thomas Petazzoni
2020-04-05 23:04 ` [Buildroot] [PATCH 7/7] support/testing: check if the defconfig provided for testing is valid Romain Naour
2020-04-06 20:17 ` [Buildroot] [PATCH 1/7] support/testing: test_syslinux: fix flake8 errors Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox