← Back to team overview

ubuntu-phone team mailing list archive

Re: camera-app vs. webbrowser-app autopilot dependencies

 

On 10/21/2013 11:55 AM, David Barth wrote:
> Le 21/10/2013 17:12, Olivier Tilloy a écrit :
>> On Mon, Oct 21, 2013 at 4:55 PM, Jamie Strandboge <jamie@xxxxxxxxxxxxx>wrote:
>>
>>> On 10/21/2013 05:58 AM, Olivier Tilloy wrote:
>>>>
>>>>
>>>> On Mon, Oct 21, 2013 at 12:46 PM, Omer Akram <omer.akram@xxxxxxxxxxxxx
>>>> <mailto:omer.akram@xxxxxxxxxxxxx>> wrote:
>>>>
>>>>      Hello!
>>>>
>>>>      webbrowser-app-autopilot depends on ubuntu-ui-toolkit-autopilot which
>>>>      provides reusable emulators(helpers) to easily interact with
>>> different
>>>>      components of the ubuntu-ui-toolkit while writing autopilot tests.
>>> The
>>>>      dependencies come from there. Many other apps depend
>>>>      on ubuntu-ui-toolkit-autopilot as well.
>>>>
>>>>
>>>> That’s correct. And I should add that most applications’ autopilot tests
>>> should
>>>> use the standard emulators provided by the SDK, and thus their -autopilot
>>>> package should depend on ubuntu-ui-toolkit-autopilot.
>>>>
>>>>
>>>>      Some packaging expert will need to look at
>>> ubuntu-ui-toolkit-autopilot and
>>>>      see if we can do some packaging changes there to reduce the deps.
>>>>
>>>>
>>>> Note that ubuntu-ui-toolkit-autopilot depends on dpkg-dev, which pulls
>>> in a lot
>>>> of build dependencies, such as make and perl. This is because the
>>> emulators rely
>>>> on dpkg-architecture to locate qmlscene.
>>>> Maybe there’s a simpler way to achieve this, and we could get rid of the
>>>> dependency on dpkg-dev?
>>>>
>>> If dpkg-architecture is the only thing pulling in dpkg-dev, just use this
>>> instead:
>>> dpkg --print-architecture
>>>
>> What the emulators do to determine where the qmlscene binary is is to
>> invoke:
>>
>>      dpkg-architecture -qDEB_HOST_MULTIARCH
>>
>> (see
>> http://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/trunk/view/head:/tests/autopilot/ubuntuuitoolkit/base.py#L28
>>
>> ).
>>
>> This is different from what `dpkg --print-architecture` returns.
> I think you can do
> 
> ARCH ?= $(shell dpkg --print-architecture)
> DEB_HOST_MULTIARCH="${ARCH}-linux-gnu"
> 
> At least that's what I had in a rules file for 12.04, where dpkg-architecture
> was not available if I remember well.
> 
Not quite because 'dpkg --print-architecture' might give something different
than what is use for DEB_HOST_MULTIARCH. Eg:
$ dpkg --print-architecture
amd64

$ ls -d /usr/lib/amd64-linux-gnu/
ls: cannot access /usr/lib/amd64-linux-gnu/: No such file or directory

$ ls -d /usr/lib/x86_64-linux-gnu/
/usr/lib/x86_64-linux-gnu/

That said, seems we could do any number of things to avoid using
dpkg-architecture. Someone mentioned a glob, another suggesting using
qt5-default and /usr/bin/qmlscene, we could modify
tests/autopilot/ubuntuuitoolkit/base.py to provide the mapping of 'dpkg
--print-architecture' to DEB_HOST_MULTIARCH, or wait for slangasek's response
asac. :)

-- 
Jamie Strandboge                 http://www.ubuntu.com/

Attachment: signature.asc
Description: OpenPGP digital signature


References