[Dev] Common/Generic profile images usability

VanCutsem, Geoffroy geoffroy.vancutsem at intel.com
Fri May 23 10:53:25 GMT 2014


Excuse my ignorance on the topic, but why do we *have to* have emulator-yagl that provides something similar than MESA?

I think we should really work a plan to get all the YaGL/VIGS bits and pieces upstream, it seems to me that patching the various components is creating a number of issues that could be avoided.

My 2, uneducated, cents,
Geoffroy

> -----Original Message-----
> From: Dev [mailto:dev-bounces at lists.tizen.org] On Behalf Of Yu, Max A
> Sent: Friday, May 23, 2014 8:40 AM
> To: stephane.desneux at open.eurogiciel.org
> Cc: dev at lists.tizen.org; Bartosh, Eduard
> Subject: Re: [Dev] Common/Generic profile images usability
> 
> Hi Stéphane,
> 
> Thanks!
> 
> A) I think 32 bits repo can meet our needs, at least for now.
> 
> B) IMHO, rebuild the whole distro in the emulator repo will be more simple
> and clean.
> 
> -----Original Message-----
> From: Stéphane Desneux [mailto:stephane.desneux at open.eurogiciel.org]
> Sent: Friday, May 23, 2014 2:32 PM
> To: Yu, Max A
> Cc: dev at lists.tizen.org; Bartosh, Eduard
> Subject: Re: [Dev] Common/Generic profile images usability
> 
> Hi Max,
> 
> OK. Thanks for pointing this.
> 
> So as it seems that we have to create specific emulator repos, I have two
> questions.
> 
> A) do we need 32 and 64 bits repos or only 32 bits ?
> 
> B) could we avoid to rebuild the whole distro in the emulator repo(s) and
> reuse most packages built in ia32 and x86_64 repos ?
> 
> --
> Stéphane Desneux
> Intel OTC - Vannes/FR
> gpg:1CA35726/DFA9B0232EF80493AF2891FA24E3A2841CA35726
> 
> Yu, Max A wrote:
> > Hi Stéphane,
> >
> > Some packages, like sdbd, will be built differently in emulator repo and
> atom repo for Tizen:IVI:Release. For example, sdbd.spec contains the
> following lines:
> >
> > %if 0%{?simulator}
> > install -m 0644 %SOURCE1002
> > %{buildroot}%{_libdir}/systemd/system/sdbd.service
> > mkdir -p %{buildroot}/%{_libdir}/systemd/system/emulator.target.wants
> > ln -s %{_libdir}/systemd/system/sdbd.service
> > %{buildroot}/%{_libdir}/systemd/system/emulator.target.wants/
> > %else
> > install -m 0644 %SOURCE1001
> > %{buildroot}%{_libdir}/systemd/system/sdbd.service
> > install -m 0644 %SOURCE1004
> > %{buildroot}%{_libdir}/systemd/system/sdbd_tcp.service
> > %endif
> >
> > And there is the following lines in Project Config of Tizen:IVI:Release:
> >
> > #This solves emulators needs
> > %if "%_repository" == "emulator"
> >    Support: emulator-macros
> >    Prefer: emulator-yagl
> > %endif
> >
> >
> > And package 'emulator-macros' contains the following:
> >
> > %simulator 1
> >
> > So only your second solution can achieve this.
> >
> > Thanks,
> > Max
> >
> > -----Original Message-----
> > From: Stéphane Desneux [mailto:stephane.desneux at open.eurogiciel.org]
> > Sent: Friday, May 23, 2014 8:09 AM
> > To: Yu, Max A
> > Cc: dev at lists.tizen.org
> > Subject: Re: [Dev] Common/Generic profile images usability
> >
> > Hi Max,
> >
> > If you look at the Tizen:Common project in OBS
> (https://build.tizen.org/project/show?project=Tizen%3ACommon), you'll see
> that we have 4 main repos for 4 arches:
> > - arm-wayland/armv7l
> > - arm64-wayland/aarch64
> > - ia32-wayland/i586
> > - x86_64-wayland/x86_64
> >
> > The extra arches in each repo are needed for cross build, but not relevant
> for images.
> >
> > As José explained previously, currently we can't have emulator-yagl in the
> project because it breaks the usual images, due to a conflict with mesa.
> >
> > We tried to keep emulator-yagl inside the project without any modification
> on the packaging but this is difficult because the same libs are provided by
> mesa&  yagl, but not in the same format.
> >
> > For example, mesa builds a binary package libgbm/libgbm-devel, which
> provides pkgconfig(gbm). But emulator-yagl provides directly
> pkgconfig(gbm). There are also implicit&  direct dependencies on
> libgbm.so.x. So when comes the time where an image is built by mic,
> emulator-yagl gets pulled due to such a "direct" gbm dependency and this
> causes the problem at runtime. We tried to 'Prefer:' mesa over emulator-yagl
> but this doesn't change anything, as these settings seem to only influence the
> build process (which works well BTW).
> >
> > As the images were badly broken (no UI), we decided to roll back to a
> stable situation and removed emulator-yagl, which was not an absolute
> requirement for Tizen:Common at this time.
> >
> >
> > So now, we can take some time and think about the best way to do things.
> >
> > I see 2 ways to add the emulator images:
> >
> > 1) play with image configurations (.ks files) and exclude some unwanted
> packages depending on the image:
> > - exclude emulator-yagl from usual images
> > - exclude mesa from emulator images
> >
> > Pro: no extra build (except emulator-yagl itself, which builds fine)
> > Cons: we have to Prefer: mesa for the whole build. This could cause some
> bugs at runtime in the emulator, as all packages will be built against mesa but
> will run with yagl. More difficult: we have to Prefer libgbm provided by mesa
> instead of libgbm provided by yagl =>  Project config is more tricky.
> >
> > 2) add one or two new repos:
> > - 'emul32-wayland' with arch i586
> > - 'emul64-wayland' with arch x86_64
> >
> > In the project config, we can detect that we're in those 2 repos and set
> some extra flags like '%_with_emulator 1'. Then in all packages involved, we
> can test the flag for conditional build, options etc.
> > =>  in emulator-yagl, build only if flag is set =>  in mesa: build
> > only if flag is not set
> >
> > Then we would have the usual images built against these new repos (as we
> do for any repo in fact).
> >
> > Pro: build is cleaner
> > Cons: This is an extra build of the whole distro, with specific errors
> > to fix etc. And also the emulator images don't reflect the
> > non-emulated images (packages are not shared by both types of images)
> >
> >
> >
> > I'd prefer the first solution, just to avoid useless builds. People
> > who had to work with emulatro o
> >
> > Any other way ?
> >
> > --
> > Stéphane Desneux
> > Intel OTC - Vannes/FR
> > gpg:1CA35726/DFA9B0232EF80493AF2891FA24E3A2841CA35726
> >
> > Yu, Max A wrote:
> >> Hi José,
> >>
> >> Emulator image for common should not contain mesa. Would you please
> kindly remove mesa and include emulator-yagl in it?
> >>
> >> Thanks,
> >> Max
> >>
> >> -----Original Message-----
> >> From: José Bollo [mailto:jose.bollo at open.eurogiciel.org]
> >> Sent: Thursday, May 22, 2014 3:11 PM
> >> To: Yu, Max A
> >> Cc: Roman Kubiak; dev at lists.tizen.org; Stanislav Vorobiov; Graydon,
> >> Tracy; Esquivel, Jenna G
> >> Subject: Re: [Dev] Common/Generic profile images usability
> >>
> >> Hi Max,
> >>
> >> Two weeks ago, as replacement during hollidays of Stéphane, I accepted
> a push request from emulator-yagl. It had the effect first to brake the build
> and when repaired to brake the image. So we removed the package.
> >>
> >>   From memory, we failed to add it mainly because there is a conflict of
> name for libgbm. Both emulator-yagl and mesa are providing a package of
> the same name "libgbm". It is then impossible to prefer a package over an
> other...
> >>
> >> We are planning to reintroduce it in the futur.
> >>
> >> Your help to build it is welcome. Many repackaging it with distinct
> names... Or anything else.
> >>
> >> Best regards
> >> José
> >>
> >>
> >>
> >>
> >> On mer, 2014-05-21 at 06:42 +0000, Yu, Max A wrote:
> >>> Hi,
> >>>
> >>> I'd like to know who is the Release Engineer for Tizen:Common. I'm in
> Tizen SDK team and I want to have emulator image built for Tizen:Common. I
> have built emulator image for Tizen:IVI:Release for M14.1. You can see that
> there is a 'emulator' repo for Tizen:IVI:Release at
> https://build.tizen.org/project/show?project=Tizen%3AIVI%3ARelease .
> Which contains the following lines in its Project Configuration:
> >>>
> >>> #This solves emulators needs
> >>> %if "%_repository" == "emulator"
> >>>     Support: emulator-macros
> >>>     Prefer: emulator-yagl
> >>> %endif
> >>>
> >>> I hope the RE for Tizen:Common can do the similar thing to add
> emulator repo. Please kindly let me know if you have any question.
> >>>
> >>> Thanks,
> >>> Max
> >>>
> >>> -----Original Message-----
> >>> From: Dev [mailto:dev-bounces at lists.tizen.org] On Behalf Of José
> >>> Bollo
> >>> Sent: Friday, May 16, 2014 3:12 PM
> >>> To: Roman Kubiak
> >>> Cc: dev at lists.tizen.org
> >>> Subject: Re: [Dev] Common/Generic profile images usability
> >>>
> >>> Hi Roman,
> >>>
> >>> the emulator-yagl is removed from common because it broke the build.
> >>> We intend to provide emulator packages in common as soon as possible
> but we prefer to first fix ARM building.
> >>>
> >>> Sorry for that. Maybe you can install the emulator from an other
> >>> repo but without warranty
> >>>
> >>>
> >>> Best regards
> >>> José
> >>>
> >>> On gio, 2014-05-15 at 18:43 +0200, Roman Kubiak wrote:
> >>>> I can't find that package on the common-wayland-ia32 repository:
> >>>> root at 10:~# zypper se emulator
> >>>> Loading repository data...
> >>>> Reading installed packages...
> >>>>
> >>>> S | Name            | Summary                   | Type
> >>>> --+-----------------+---------------------------+--------
> >>>>     | emulator-macros | macros for emulator build | package
> >>>>
> >>>> Is it somewhere else, my repositories on the image are default:
> >>>> root at 10:~# zypper lr -u
> >>>> # | Alias  | Name   | Enabled | Refresh |
> >>>> URI
> >>>> --+--------+--------+---------+---------+--------------------------
> >>>> --+--------+--------+---------+---------+-
> >>>> --+--------+--------+---------+---------+--
> >>>> --+--------+--------+---------+---------+--------------------------
> >>>> --+--------+--------+---------+---------+-
> >>>> --+--------+--------+---------+---------+--
> >>>> --+--------+--------+---------+---------+--------------------------
> >>>> --+--------+--------+---------+---------+-
> >>>> --+--------+--------+---------+---------+--
> >>>> --+--------+--------+---------+---------+-----------------
> >>>> 1 | common | common | Yes     | No      |
> >>>> http://download.tizen.org/snapshots/tizen/common/common-
> wayland-ia3
> >>>> 2
> >>>> /l
> >>>> atest/repos/common/ia32/packages/
> >>>>
> >>>>
> >>>> On 05/15/2014 05:48 PM, Stanislav Vorobiov wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> You're running this in qemu, right ? It looks like you're using
> >>>>> mesa, i.e. that Common image probably has mesa in emul image
> (mistakenly), you need to install emulator-yagl package, it should then work.
> But I'm not 100% sure that everything else will work, I have no idea what
> that Common image is and what it has inside.
> >>>>>
> >>>>> On 05/15/2014 07:36 PM, Roman Kubiak wrote:
> >>>>>> Well i can't get the DRM backend to work in wayland i tried the latest
> IVI-emul image and the latest COMMON image both for i386. Weston says
> (looks like a missing drm driver):
> >>>>>>
> >>>>>> root at 10:~# weston --tty 1
> >>>>>> Date: 2014-05-15 PDT
> >>>>>> [08:34:28.394] weston 1.4.0
> >>>>>>                  http://wayland.freedesktop.org/
> >>>>>>                  Bug reports to:
> https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component
> =weston&version=1.4.0
> >>>>>>                  Build:
> >>>>>> [08:34:28.394] OS: Linux, 3.12.18+, #4 PREEMPT Thu May 15
> >>>>>> 15:57:16 CEST 2014, i686 [08:34:28.394] Using config file
> '/etc/xdg/weston/weston.ini'
> >>>>>> [08:34:28.395] Loading module '/usr/lib/weston/drm-backend.so'
> >>>>>> [08:34:28.395] initializing drm backend [08:34:28.396] using
> >>>>>> /dev/dri/card0 [08:34:28.396] Loading module
> >>>>>> '/usr/lib/weston/gl-renderer.so'
> >>>>>> failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot
> >>>>>> open shared object file: No such file or directory [08:34:28.396]
> >>>>>> failed to initialize egl [08:34:28.401] fatal:
> >>>>>> failed to create compositor
> >>>>>>
> >>>>>> But fbdev works fine.
> >>>>>>
> >>>>>> best regards
> >>>>>> On 05/15/2014 04:51 PM, Stanislav Vorobiov wrote:
> >>>>>>> Hi, please see below
> >>>>>>>
> >>>>>>> On 05/15/2014 06:42 PM, Roman Kubiak wrote:
> >>>>>>>> Helo again.
> >>>>>>>>
> >>>>>>>> I ditched vmware due to licensing issues for now, but thank you
> for the help i know how to fix it and i understand how to get things running.
> >>>>>>>>
> >>>>>>>> I jumped to our own emulator based on qemu (there is a very fresh
> piece of code on tizen.org). I got it to build and run the Common image,
> weston shows up but starting anything is causing a segfault in the tz-launcher
> process.
> >>>>>>>> Though i was not able to start weston with the DRM backend,
> >>>>>>>> it's running on fbdev. The VIGS/Yagl implementation in the
> >>>>>>>> kernel/qemu might not be wayland ready,
> >>>>>>> Actually, VIGS/YaGL already runs wayland, you can refer to Tizen
> >>>>>>> IVI emulator, it uses tizen.org QEMU and runs Tizen IVI image. I'm
> not sure about Common, I never actually tried it.
> >>>>>>>
> >>>>>>>> but the FBDEV stuff seems to work fine. I don't know what
> >>>>>>>> tz-launcher is doing that it's doing a segfault, i was able to start a
> weston terminal and that seems to work.
> >>>>>>>>
> >>>>>>>> The small fix i had to do was adding the display user to the
> >>>>>>>> video group. Also the kernel for the emulator needs to be
> >>>>>>>> rebuilt (the default config in the emulator-kernel repo assumes
> >>>>>>>> that the root disk is /dev/vda and has that hard-coded in a
> >>>>>>>> minimal initramfs that builds with the
> >>>>>>>> kernel)
> >>>>>>>>
> >>>>>>>> Could someone tell me if tz-launcher might need DRM and that's
> why it's crashing or is that something else i'd need to check ?
> >>>>>>>>
> >>>>>>>> best regards
> >>>>>>>>
> >>>>>>>> On 05/14/2014 07:15 PM, VanCutsem, Geoffroy wrote:
> >>>>>>>>> Quick update:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I got the Tizen Common Weston desktop up and running under
> >>>>>>>>> VMware using this image:
> >>>>>>>>> http://download.tizen.org/releases/daily/tizen/common/comm
> >>>>>>>>> on -wayland-x86_64/tizen_20140513.6/
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> The quickest way is to modify the /boot/extlinux/extlinux.conf
> >>>>>>>>> file and add ‘security=none’ to the kernel command-line
> (workaround for https://bugs.tizen.org/jira/browse/TIVI-2964), a more
> permanent workaround (but not a complete fix) would be to modify the
> kernel config to have vmwgfx built-in (instead of a module). I have also
> verified that such modifications solves the issue (and you can keep security
> turned on in that case which you really really want).
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I can push a patch to have ‘vmwgfx’ built-in to Tizen Common. In
> general, it may be good to re-use some of the specific kernel configs that are
> described here also in the Tizen Common kernel:
> >>>>>>>>> https://wiki.tizen.org/wiki/IVI/artem-
> kernel#Kernel_configuration (look for those that are documented as useful
> for VMware).
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Geoffroy
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> *From:*Dev [mailto:dev-bounces at lists.tizen.org] *On Behalf Of
> >>>>>>>>> *VanCutsem, Geoffroy
> >>>>>>>>> *Sent:* Wednesday, May 14, 2014 5:56 PM
> >>>>>>>>> *To:* Roman Kubiak; dev at lists.tizen.org
> >>>>>>>>> *Subject:* Re: [Dev] Common/Generic profile images usability
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Hi Roman,
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> If you’re interested, I used to keep some ‘recipes’ on how to
> >>>>>>>>> run Tizen IVI 2.0 (based on X) under VMware, it’s described
> >>>>>>>>> here: https://wiki.tizen.org/wiki/IVI/IVI_2.0_VMware. Back then,
> I had to provide the xorg-x11-drv-vmware driver (as you have pointed out
> below) and I also had to modify some of the build options used for mesa and
> libdrm. Feel free to take a look there if you want to get that working but as
> pointed out by Dominique, we are not focused on X in Tizen 3.0 so I’m not
> sure where this would lead you to.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> A more interesting path would be to get the Wayland image
> >>>>>>>>> running on VMware. I have quickly looked at the kernel used in
> >>>>>>>>> Common and the vmwgfx driver is built as a module which means
> >>>>>>>>> we could be hitting
> >>>>>>>>> https://bugs.tizen.org/jira/browse/TIVI-2964
> >>>>>>>>> <https://bugs.tizen.org/jira/browse/TIVI-2964>. I’ll see if I
> >>>>>>>>> can run a quick test on my side to validate this. If that’s the
> problem, you could try to turn security off (add ‘security=none’ at the kernel
> command-line) or rebuild the kernel with the ‘vmwgfx’ driver built-in.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Geoffroy
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> *From:*Dev [mailto:dev-bounces at lists.tizen.org] *On Behalf Of
> >>>>>>>>> *Roman Kubiak
> >>>>>>>>> *Sent:* Wednesday, May 14, 2014 4:07 PM
> >>>>>>>>> *To:* dev at lists.tizen.org<mailto:dev at lists.tizen.org>
> >>>>>>>>> *Subject:* Re: [Dev] Common/Generic profile images usability
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Just to update the Xorg image won't work either, there is only
> one driver included in the image for Xorg and that's the intel_drv.so (bit
> selfish i think) no fbdev or vmware drivers are present so Xorg will never
> start.
> >>>>>>>>> Also i can't any service in systemctl that could be some sort of a
> windows manager.
> >>>>>>>>>
> >>>>>>>>> best regards
> >>>>>>>>> Roman Kubiak
> >>>>>>>>>
> >>>>>>>>> On 05/14/2014 03:59 PM, Dominig ar Foll (Intel OTC) wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>       Le 14/05/2014 15:38, Roman Kubiak a écrit :
> >>>>>>>>>
> >>>>>>>>>           I got the images running before (the IVI profile) on VMware,
> so VMware itself is not an issue.
> >>>>>>>>>           My question was really, SHOULD I see something in the
> image, is there a UI in the common profile at all or is this a bare bones sort
> of OS image that contains no UI experience at all.
> >>>>>>>>>
> >>>>>>>>>       When booting Tizen Common you should have a  test UX
> (basic Weston) with several user pre-logged on the system.
> >>>>>>>>>       The background show the sea and several islands.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>       My question about Xorg is still not answered, what is
> >>>>>>>>> the UI for Xorg i should expec t to find in the common image
> >>>>>>>>> (is there some sort of default WM that should
> >>>>>>>>> launch?)
> >>>>>>>>>
> >>>>>>>>>       We currently do not build a Tizen Common for X but only
> Wayland 32 and 64 nits for IA and 32 bits for ARM (work in progress)
> >>>>>>>>>       If someone is interested to take the responsibility of building
> and maintain X Common images, thanks to speak up.
> >>>>>>>>>
> >>>>>>>>>       Regards
> >>>>>>>>>
> >>>>>>>>>       Dominig
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>       _______________________________________________
> >>>>>>>>>
> >>>>>>>>>       Dev mailing list
> >>>>>>>>>
> >>>>>>>>>       Dev at lists.tizen.org<mailto:Dev at lists.tizen.org>
> >>>>>>>>>
> >>>>>>>>>       https://lists.tizen.org/listinfo/dev
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> --------------
> >>>>>>>>>    Roman Kubiak
> >>>>>>>>> --------------
> >>>>>>>>>
> >>>>>>>>> Intel Corporation NV/SA
> >>>>>>>>> Kings Square, Veldkant 31
> >>>>>>>>> 2550 Kontich
> >>>>>>>>> RPM (Bruxelles) 0415.497.718.
> >>>>>>>>> Citibank, Brussels, account 570/1031255/09
> >>>>>>>>>
> >>>>>>>>> This e-mail and any attachments may contain confidential
> >>>>>>>>> material for the sole use of the intended recipient(s). Any review
> or distribution by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> >>>>>>>>>
> >>>>>>>>> Intel Corporation NV/SA
> >>>>>>>>> Kings Square, Veldkant 31
> >>>>>>>>> 2550 Kontich
> >>>>>>>>> RPM (Bruxelles) 0415.497.718.
> >>>>>>>>> Citibank, Brussels, account 570/1031255/09
> >>>>>>>>>
> >>>>>>>>> This e-mail and any attachments may contain confidential
> >>>>>>>>> material for the sole use of the intended recipient(s). Any review
> or distribution by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> >>>>>>>>>
> >>>>>>>> --
> >>>>>>>> --------------
> >>>>>>>>    Roman Kubiak
> >>>>>>>> --------------
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> _______________________________________________
> >>>>>>>> Dev mailing list
> >>>>>>>> Dev at lists.tizen.org
> >>>>>>>> https://lists.tizen.org/listinfo/dev
> >>>>>>>>
> >>>>>> _______________________________________________
> >>>>>> Dev mailing list
> >>>>>> Dev at lists.tizen.org
> >>>>>> https://lists.tizen.org/listinfo/dev
> >>>>>
> >>>
> >>> _______________________________________________
> >>> Dev mailing list
> >>> Dev at lists.tizen.org
> >>> https://lists.tizen.org/listinfo/dev
> >>
> >>
> >> _______________________________________________
> >> Dev mailing list
> >> Dev at lists.tizen.org
> >> https://lists.tizen.org/listinfo/dev
> _______________________________________________
> Dev mailing list
> Dev at lists.tizen.org
> https://lists.tizen.org/listinfo/dev
Intel Corporation NV/SA
Kings Square, Veldkant 31
2550 Kontich
RPM (Bruxelles) 0415.497.718. 
Citibank, Brussels, account 570/1031255/09

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.


More information about the Dev mailing list