* [PATCH 0/2] Fix for runtime error for rescue mode
@ 2015-03-25 9:11 Chen Qi
2015-03-25 9:11 ` [PATCH 1/2] util-linux: split util-linux-sulogin Chen Qi
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Chen Qi @ 2015-03-25 9:11 UTC (permalink / raw)
To: openembedded-core
The following changes since commit d3fcfe346b3472170641d9194243c4bbe06b8585:
systemd: fix firmware path to match linux-firmware (2015-03-23 11:27:13 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib ChenQi/bug6698
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/bug6698
Chen Qi (2):
util-linux: split util-linux-sulogin
shadow: add 'util-linux-sulogin' to RDEPENDS
meta/recipes-core/util-linux/util-linux.inc | 10 +++++++---
meta/recipes-extended/shadow/shadow.inc | 3 ++-
2 files changed, 9 insertions(+), 4 deletions(-)
--
1.9.1
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 1/2] util-linux: split util-linux-sulogin 2015-03-25 9:11 [PATCH 0/2] Fix for runtime error for rescue mode Chen Qi @ 2015-03-25 9:11 ` Chen Qi 2015-04-07 9:46 ` Andreas Oberritter 2015-03-25 9:11 ` [PATCH 2/2] shadow: add 'util-linux-sulogin' to RDEPENDS Chen Qi 2015-04-07 3:02 ` [PATCH 0/2] Fix for runtime error for rescue mode ChenQi 2 siblings, 1 reply; 7+ messages in thread From: Chen Qi @ 2015-03-25 9:11 UTC (permalink / raw) To: openembedded-core [YOCTO #6698] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- meta/recipes-core/util-linux/util-linux.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index 10b14b3..d93505c 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -32,7 +32,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfd util-linux-mkfs util-linux-mcookie util-linux-reset \ util-linux-mkfs.cramfs util-linux-fsck.cramfs util-linux-fstrim \ util-linux-partx ${PN}-bash-completion util-linux-hwclock \ - util-linux-findfs util-linux-getopt" + util-linux-findfs util-linux-getopt util-linux-sulogin" PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}" PACKAGES_DYNAMIC = "^util-linux-lib.*" @@ -96,6 +96,8 @@ FILES_util-linux-mkfs = "${sbindir}/mkfs" FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs" FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs" +FILES_util-linux-sulogin = "${base_sbindir}/sulogin*" + # Util-linux' blkid replaces the e2fsprogs one FILES_util-linux-blkid = "${base_sbindir}/blkid*" RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid" @@ -173,7 +175,7 @@ ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root switch_root" ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg renice wall" -ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject sulogin" +ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject" ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" @@ -184,7 +186,6 @@ ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root" ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix" ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 mesg.1 wall.1 sulogin.8 utmpdump.1 reset.1" @@ -239,6 +240,9 @@ ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset" ALTERNATIVE_util-linux-getopt = "getopt" ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" +ALTERNATIVE_util-linux-sulogin = "sulogin" +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" + BBCLASSEXTEND = "native nativesdk" python do_package_prepend () { -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] util-linux: split util-linux-sulogin 2015-03-25 9:11 ` [PATCH 1/2] util-linux: split util-linux-sulogin Chen Qi @ 2015-04-07 9:46 ` Andreas Oberritter 2015-04-08 13:54 ` Paul Eggleton 0 siblings, 1 reply; 7+ messages in thread From: Andreas Oberritter @ 2015-04-07 9:46 UTC (permalink / raw) To: openembedded-core Hello Chen Qi, On 25.03.2015 10:11, Chen Qi wrote: > [YOCTO #6698] > > Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > --- > meta/recipes-core/util-linux/util-linux.inc | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc > index 10b14b3..d93505c 100644 > --- a/meta/recipes-core/util-linux/util-linux.inc > +++ b/meta/recipes-core/util-linux/util-linux.inc > @@ -32,7 +32,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfd > util-linux-mkfs util-linux-mcookie util-linux-reset \ > util-linux-mkfs.cramfs util-linux-fsck.cramfs util-linux-fstrim \ > util-linux-partx ${PN}-bash-completion util-linux-hwclock \ > - util-linux-findfs util-linux-getopt" > + util-linux-findfs util-linux-getopt util-linux-sulogin" > PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}" > > PACKAGES_DYNAMIC = "^util-linux-lib.*" > @@ -96,6 +96,8 @@ FILES_util-linux-mkfs = "${sbindir}/mkfs" > FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs" > FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs" > > +FILES_util-linux-sulogin = "${base_sbindir}/sulogin*" > + > # Util-linux' blkid replaces the e2fsprogs one > FILES_util-linux-blkid = "${base_sbindir}/blkid*" > RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid" > @@ -173,7 +175,7 @@ ALTERNATIVE_PRIORITY = "100" > > ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root switch_root" > ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg renice wall" > -ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject sulogin" > +ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject" > > ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" > ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" > @@ -184,7 +186,6 @@ ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root" > ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" > ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix" > ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" > -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" > > ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 mesg.1 wall.1 sulogin.8 utmpdump.1 reset.1" > > @@ -239,6 +240,9 @@ ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset" > ALTERNATIVE_util-linux-getopt = "getopt" > ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" > > +ALTERNATIVE_util-linux-sulogin = "sulogin" > +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" > + > BBCLASSEXTEND = "native nativesdk" > > python do_package_prepend () { > I think you should add RDEPENDS_${PN} = "util-linux-sulogin". I didn't check whether that was done for other split-out packages, but otherwise people installing util-linux might miss sulogin in the future. Regards, Andreas ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] util-linux: split util-linux-sulogin 2015-04-07 9:46 ` Andreas Oberritter @ 2015-04-08 13:54 ` Paul Eggleton 2015-04-09 2:00 ` ChenQi 0 siblings, 1 reply; 7+ messages in thread From: Paul Eggleton @ 2015-04-08 13:54 UTC (permalink / raw) To: Andreas Oberritter; +Cc: openembedded-core On Tuesday 07 April 2015 11:46:24 Andreas Oberritter wrote: > Hello Chen Qi, > > On 25.03.2015 10:11, Chen Qi wrote: > > [YOCTO #6698] > > > > Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > > --- > > > > meta/recipes-core/util-linux/util-linux.inc | 10 +++++++--- > > 1 file changed, 7 insertions(+), 3 deletions(-) > > > > diff --git a/meta/recipes-core/util-linux/util-linux.inc > > b/meta/recipes-core/util-linux/util-linux.inc index 10b14b3..d93505c > > 100644 > > --- a/meta/recipes-core/util-linux/util-linux.inc > > +++ b/meta/recipes-core/util-linux/util-linux.inc > > @@ -32,7 +32,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk > > util-linux-cfdisk util-linux-sfd> > > util-linux-mkfs util-linux-mcookie util-linux-reset \ > > util-linux-mkfs.cramfs util-linux-fsck.cramfs > > util-linux-fstrim \ > > util-linux-partx ${PN}-bash-completion util-linux-hwclock \ > > > > - util-linux-findfs util-linux-getopt" > > + util-linux-findfs util-linux-getopt util-linux-sulogin" > > > > PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', > > 'util-linux-pylibmount', '', d)}" > > > > PACKAGES_DYNAMIC = "^util-linux-lib.*" > > > > @@ -96,6 +96,8 @@ FILES_util-linux-mkfs = "${sbindir}/mkfs" > > > > FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs" > > FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs" > > > > +FILES_util-linux-sulogin = "${base_sbindir}/sulogin*" > > + > > > > # Util-linux' blkid replaces the e2fsprogs one > > FILES_util-linux-blkid = "${base_sbindir}/blkid*" > > RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid" > > > > @@ -173,7 +175,7 @@ ALTERNATIVE_PRIORITY = "100" > > > > ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root > > switch_root" ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg > > renice wall"> > > -ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject sulogin" > > +ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject" > > > > ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" > > ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" > > > > @@ -184,7 +186,6 @@ ALTERNATIVE_LINK_NAME[pivot_root] = > > "${base_sbindir}/pivot_root"> > > ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" > > ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix" > > ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" > > > > -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" > > > > ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 mesg.1 wall.1 sulogin.8 > > utmpdump.1 reset.1"> > > @@ -239,6 +240,9 @@ ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset" > > > > ALTERNATIVE_util-linux-getopt = "getopt" > > ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" > > > > +ALTERNATIVE_util-linux-sulogin = "sulogin" > > +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" > > + > > > > BBCLASSEXTEND = "native nativesdk" > > > > python do_package_prepend () { > > I think you should add RDEPENDS_${PN} = "util-linux-sulogin". I didn't > check whether that was done for other split-out packages, but otherwise > people installing util-linux might miss sulogin in the future. Unless util-linux becomes just a meta-package that pulls in all of the split packages and itself contains nothing, that would seem to me to defeat the purpose of splitting out the package in the first place - you could never have util-linux installed without util-linux-sulogin. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] util-linux: split util-linux-sulogin 2015-04-08 13:54 ` Paul Eggleton @ 2015-04-09 2:00 ` ChenQi 0 siblings, 0 replies; 7+ messages in thread From: ChenQi @ 2015-04-09 2:00 UTC (permalink / raw) To: Paul Eggleton, Andreas Oberritter; +Cc: openembedded-core On 04/08/2015 09:54 PM, Paul Eggleton wrote: > On Tuesday 07 April 2015 11:46:24 Andreas Oberritter wrote: >> Hello Chen Qi, >> >> On 25.03.2015 10:11, Chen Qi wrote: >>> [YOCTO #6698] >>> >>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> >>> --- >>> >>> meta/recipes-core/util-linux/util-linux.inc | 10 +++++++--- >>> 1 file changed, 7 insertions(+), 3 deletions(-) >>> >>> diff --git a/meta/recipes-core/util-linux/util-linux.inc >>> b/meta/recipes-core/util-linux/util-linux.inc index 10b14b3..d93505c >>> 100644 >>> --- a/meta/recipes-core/util-linux/util-linux.inc >>> +++ b/meta/recipes-core/util-linux/util-linux.inc >>> @@ -32,7 +32,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk >>> util-linux-cfdisk util-linux-sfd> >>> util-linux-mkfs util-linux-mcookie util-linux-reset \ >>> util-linux-mkfs.cramfs util-linux-fsck.cramfs >>> util-linux-fstrim \ >>> util-linux-partx ${PN}-bash-completion util-linux-hwclock \ >>> >>> - util-linux-findfs util-linux-getopt" >>> + util-linux-findfs util-linux-getopt util-linux-sulogin" >>> >>> PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', >>> 'util-linux-pylibmount', '', d)}" >>> >>> PACKAGES_DYNAMIC = "^util-linux-lib.*" >>> >>> @@ -96,6 +96,8 @@ FILES_util-linux-mkfs = "${sbindir}/mkfs" >>> >>> FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs" >>> FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs" >>> >>> +FILES_util-linux-sulogin = "${base_sbindir}/sulogin*" >>> + >>> >>> # Util-linux' blkid replaces the e2fsprogs one >>> FILES_util-linux-blkid = "${base_sbindir}/blkid*" >>> RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid" >>> >>> @@ -173,7 +175,7 @@ ALTERNATIVE_PRIORITY = "100" >>> >>> ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root >>> switch_root" ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg >>> renice wall"> >>> -ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject sulogin" >>> +ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject" >>> >>> ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" >>> ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" >>> >>> @@ -184,7 +186,6 @@ ALTERNATIVE_LINK_NAME[pivot_root] = >>> "${base_sbindir}/pivot_root"> >>> ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" >>> ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix" >>> ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" >>> >>> -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" >>> >>> ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 mesg.1 wall.1 sulogin.8 >>> utmpdump.1 reset.1"> >>> @@ -239,6 +240,9 @@ ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset" >>> >>> ALTERNATIVE_util-linux-getopt = "getopt" >>> ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" >>> >>> +ALTERNATIVE_util-linux-sulogin = "sulogin" >>> +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" >>> + >>> >>> BBCLASSEXTEND = "native nativesdk" >>> >>> python do_package_prepend () { >> I think you should add RDEPENDS_${PN} = "util-linux-sulogin". I didn't >> check whether that was done for other split-out packages, but otherwise >> people installing util-linux might miss sulogin in the future. > Unless util-linux becomes just a meta-package that pulls in all of the split > packages and itself contains nothing, that would seem to me to defeat the > purpose of splitting out the package in the first place - you could never have > util-linux installed without util-linux-sulogin. > > Cheers, > Paul > Andreas and Paul, Thank you for you comments. I'll send out V2. Best Regards, Chen Qi ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] shadow: add 'util-linux-sulogin' to RDEPENDS 2015-03-25 9:11 [PATCH 0/2] Fix for runtime error for rescue mode Chen Qi 2015-03-25 9:11 ` [PATCH 1/2] util-linux: split util-linux-sulogin Chen Qi @ 2015-03-25 9:11 ` Chen Qi 2015-04-07 3:02 ` [PATCH 0/2] Fix for runtime error for rescue mode ChenQi 2 siblings, 0 replies; 7+ messages in thread From: Chen Qi @ 2015-03-25 9:11 UTC (permalink / raw) To: openembedded-core If shadow is installed, sulogin from busybox cannot work correctly because it still assumes that /etc/shadow is not there. This leads to the problem when booting into rescue mode in an image with shadow installed but not sulogin from util-linux. To fix this problem, we add 'util-linux-sulogin' to RDEPENDS of shadow. This runtime dependency is specific to OE, because we have to ensure that sulogin can work correctly and sulogin from busybox cannot because FEATURE_SHADOWPASSWORDS is not enabled by default. And we cannot enable it by default for busybox, because that would lead to utilities in busybox to assume the existence of /etc/shadow which is not always true in OE. [YOCTO #6698] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- meta/recipes-extended/shadow/shadow.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc index bb3a927..a05ead3 100644 --- a/meta/recipes-extended/shadow/shadow.inc +++ b/meta/recipes-extended/shadow/shadow.inc @@ -83,7 +83,8 @@ PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" RDEPENDS_${PN} = "shadow-securetty \ - base-passwd" + base-passwd \ + util-linux-sulogin" RDEPENDS_${PN}_class-native = "" RDEPENDS_${PN}_class-nativesdk = "" -- 1.9.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/2] Fix for runtime error for rescue mode 2015-03-25 9:11 [PATCH 0/2] Fix for runtime error for rescue mode Chen Qi 2015-03-25 9:11 ` [PATCH 1/2] util-linux: split util-linux-sulogin Chen Qi 2015-03-25 9:11 ` [PATCH 2/2] shadow: add 'util-linux-sulogin' to RDEPENDS Chen Qi @ 2015-04-07 3:02 ` ChenQi 2 siblings, 0 replies; 7+ messages in thread From: ChenQi @ 2015-04-07 3:02 UTC (permalink / raw) To: openembedded-core ping Any comment on this one? //Chen Qi On 03/25/2015 05:11 PM, Chen Qi wrote: > The following changes since commit d3fcfe346b3472170641d9194243c4bbe06b8585: > > systemd: fix firmware path to match linux-firmware (2015-03-23 11:27:13 +0000) > > are available in the git repository at: > > git://git.openembedded.org/openembedded-core-contrib ChenQi/bug6698 > http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/bug6698 > > Chen Qi (2): > util-linux: split util-linux-sulogin > shadow: add 'util-linux-sulogin' to RDEPENDS > > meta/recipes-core/util-linux/util-linux.inc | 10 +++++++--- > meta/recipes-extended/shadow/shadow.inc | 3 ++- > 2 files changed, 9 insertions(+), 4 deletions(-) > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-04-09 2:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-03-25 9:11 [PATCH 0/2] Fix for runtime error for rescue mode Chen Qi 2015-03-25 9:11 ` [PATCH 1/2] util-linux: split util-linux-sulogin Chen Qi 2015-04-07 9:46 ` Andreas Oberritter 2015-04-08 13:54 ` Paul Eggleton 2015-04-09 2:00 ` ChenQi 2015-03-25 9:11 ` [PATCH 2/2] shadow: add 'util-linux-sulogin' to RDEPENDS Chen Qi 2015-04-07 3:02 ` [PATCH 0/2] Fix for runtime error for rescue mode ChenQi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox