Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-07 Thread Emil Velikov
On 7 June 2018 at 08:46, Daniel Stone  wrote:
> Hi,
>
> On 6 June 2018 at 16:41, Emil Velikov  wrote:
>> On 6 June 2018 at 15:47, Simon McVittie  wrote:
>>> On Wed, 06 Jun 2018 at 15:33:13 +0100, Emil Velikov wrote:
 On 5 June 2018 at 23:06, Daniel Stone  wrote:
 > +  - apt-get -y --no-install-recommends install build-essential automake 
 > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
 > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
 > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
 > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
 > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
 > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
 > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
 > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git

 I think this can be simplify the explicit list to:
 apt-get -y --no-install-recommends build-dep wayland
>>>
>>> Only if the latest version of wayland has the same build-dependencies
>>> as the (likely much older) version visible in the Sources index
>>> for the container's apt configuration. If the container is
>>> Debian 9 'stretch' (released about a year ago) then apt-get build-dep
>>> will get the build-dependencies of wayland 1.12.0, according to
>>> .
>>>
>> Sure, there can be differences. Adding the odd extra piece tends to be
>> shorter and easier (imho) than trying to keep the huge list in sync.
>> Distribution maintainers already that laborious job, why not make use of it.
>
> There are a couple of reasons I typed out the full dependency list.
> One of them is what Simon said, and over time as we get further and
> further away from Stretch, the list of extra stuff we have to add
> grows. Even if we move on to newer Debian, there's also the risk that
> we build things they don't, or some kind of transient dependency drops
> out, so we end up with some breakage. So I prefer the explicit set for
> that reason: it means we can be sure about what we're doing, rather
> than effectively CI'ing the Debian packaging.
>
One could consider build-deps from backports. One could even help the
backports team?
I guess I'm too naive trying to spare the duplication effort?

> Secondly, Stretch was just the easiest starting point: I knew how to
> get it up quickly, in a way where the runtime was also fast (unlike
> with e.g. yum/dnf, where I don't know the necessary runes to speed
> them up). But it's entirely likely we'll want to be testing on other
> distros, or even a very much from-scratch build if we are able to
> reuse the work done on GitLab CI for Mesa here:
>   https://gitlab.com/igalia/graphics/mesa/pipelines/22874845
>
> Either way, having the list of dependencies explictly typed out is
> helpful for whoever's doing the conversion, and it's easy to make sure
> the lists stay in sync if we do have multiple lists.
>
IIRC of all the Linux distros only Arch does not have an equivalent of
build-deps.
Furthermore package names and split varies across distros.

 > +  - make -j4
 > +  - make check
 > +  - make install
 > +  - make distcheck
 I was under the impression that "make -j4 distcheck" is enough
>>>
>>> install and check both imply (depend on) a normal build, so that one is
>>> redundant.
>>>
>>> distcheck runs the tests like check does, but differently-configured,
>>> so for full coverage you might want to do both.
>>>
>>> Similarly, distcheck runs "make install", but into a temporary directory,
>>> not the requested $PREFIX.
>>
>> Right - did not spot that "prefix-*" is also collected as artefacts.
>
> Not just prefix, but also as far as I can see there's no way to
> collect test suite logs from a distcheck run?
If you're want the when logs everything passes, no there isn't a way.
Otherwise, yes - just tweak the regex (example below).

> We've also had
> inexplicable bugs in the past where 'make check' failed but 'make
> distcheck' succeeded (or was it vice-versa?), and given the test
> runtime is still quite short, seemed reasonable enough to explicitly
> test out all of those.
>
Everything aside, this in itself is a fairly valid reason. Currently
the distcheck logs are not fetched though.
The following should help ;-)

- build-*/weston*/_build/sub/*.log
- build-*/weston*/_build/sub/logs

 Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across 
 all.
>>>
>>> Using -j would definitely help for "make distcheck".
>>>
>>> If parallel install works, it would be good to test it so that it stays
>>> that way: quite a lot of projects can build correctly in parallel, but
>>> don't work reliably for "make -jX install".
>>
>> There has been issues in the past and everything ran fine last time
>> I've checked.
>> That's why I'm suggesting adding the toggle ;-)
>>
>> I'm slightly confused if the 

Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-07 Thread Pekka Paalanen
On Wed, 6 Jun 2018 15:33:13 +0100
Emil Velikov  wrote:

> Hi Dan,
> 
> On 5 June 2018 at 23:06, Daniel Stone  wrote:
> 
> > +  - apt-get -y --no-install-recommends install build-essential automake 
> > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
> > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git  
> 
> I think this can be simplify the explicit list to:
> apt-get -y --no-install-recommends build-dep wayland

Hi Emil,

you mean weston, not wayland?

Weston's dependencies change more often than wayland's, and now that
there is a list (any list) that works, I'm fine with it.

> > +  - mkdir -p /tmp/.X11-unix
> > +  - chmod 777 /tmp/.X11-unix
> > +
> > +build-native:
> > +  stage: build
> > +  script:
> > +  - git clone --depth=1 
> > git://anongit.freedesktop.org/git/wayland/wayland-protocols
> > +  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
> > +  - export 
> > PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
> > +  - cd wayland-protocols
> > +  - git show -s HEAD  
> Is this needed?

I have forgot if we decided that it's ok for unreleased commits in
weston to depend on unreleased wayland-protocols. If yes, it makes
sense to me to always use the latest git wayland-protocols.

For the other comments, I agree with Daniel's recent reply.


Thanks,
pq


pgp1Ityi2GaN_.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-07 Thread Daniel Stone
Hi Emil,
I replied to the rest further down-thread, but:

On 6 June 2018 at 15:33, Emil Velikov  wrote:
> On 5 June 2018 at 23:06, Daniel Stone  wrote:
>> +  - git clone --depth=1 
>> git://anongit.freedesktop.org/git/wayland/wayland-protocols
>> +  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
>> +  - export 
>> PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
>> +  - cd wayland-protocols
>> +  - git show -s HEAD
> Is this needed?

It's not entirely necessary, but we do get quite verbose output from
the package manager as to which versions etc it's installing; I
figured being more verbose in the logs was better here, so people
could figure out what a particular job was built against.

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-07 Thread Daniel Stone
Hi,

On 6 June 2018 at 16:41, Emil Velikov  wrote:
> On 6 June 2018 at 15:47, Simon McVittie  wrote:
>> On Wed, 06 Jun 2018 at 15:33:13 +0100, Emil Velikov wrote:
>>> On 5 June 2018 at 23:06, Daniel Stone  wrote:
>>> > +  - apt-get -y --no-install-recommends install build-essential automake 
>>> > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
>>> > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
>>> > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
>>> > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
>>> > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
>>> > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
>>> > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
>>> > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git
>>>
>>> I think this can be simplify the explicit list to:
>>> apt-get -y --no-install-recommends build-dep wayland
>>
>> Only if the latest version of wayland has the same build-dependencies
>> as the (likely much older) version visible in the Sources index
>> for the container's apt configuration. If the container is
>> Debian 9 'stretch' (released about a year ago) then apt-get build-dep
>> will get the build-dependencies of wayland 1.12.0, according to
>> .
>>
> Sure, there can be differences. Adding the odd extra piece tends to be
> shorter and easier (imho) than trying to keep the huge list in sync.
> Distribution maintainers already that laborious job, why not make use of it.

There are a couple of reasons I typed out the full dependency list.
One of them is what Simon said, and over time as we get further and
further away from Stretch, the list of extra stuff we have to add
grows. Even if we move on to newer Debian, there's also the risk that
we build things they don't, or some kind of transient dependency drops
out, so we end up with some breakage. So I prefer the explicit set for
that reason: it means we can be sure about what we're doing, rather
than effectively CI'ing the Debian packaging.

Secondly, Stretch was just the easiest starting point: I knew how to
get it up quickly, in a way where the runtime was also fast (unlike
with e.g. yum/dnf, where I don't know the necessary runes to speed
them up). But it's entirely likely we'll want to be testing on other
distros, or even a very much from-scratch build if we are able to
reuse the work done on GitLab CI for Mesa here:
  https://gitlab.com/igalia/graphics/mesa/pipelines/22874845

Either way, having the list of dependencies explictly typed out is
helpful for whoever's doing the conversion, and it's easy to make sure
the lists stay in sync if we do have multiple lists.

>>> > +  - make -j4
>>> > +  - make check
>>> > +  - make install
>>> > +  - make distcheck
>>> I was under the impression that "make -j4 distcheck" is enough
>>
>> install and check both imply (depend on) a normal build, so that one is
>> redundant.
>>
>> distcheck runs the tests like check does, but differently-configured,
>> so for full coverage you might want to do both.
>>
>> Similarly, distcheck runs "make install", but into a temporary directory,
>> not the requested $PREFIX.
>
> Right - did not spot that "prefix-*" is also collected as artefacts.

Not just prefix, but also as far as I can see there's no way to
collect test suite logs from a distcheck run? We've also had
inexplicable bugs in the past where 'make check' failed but 'make
distcheck' succeeded (or was it vice-versa?), and given the test
runtime is still quite short, seemed reasonable enough to explicitly
test out all of those.

>>> Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across 
>>> all.
>>
>> Using -j would definitely help for "make distcheck".
>>
>> If parallel install works, it would be good to test it so that it stays
>> that way: quite a lot of projects can build correctly in parallel, but
>> don't work reliably for "make -jX install".
>
> There has been issues in the past and everything ran fine last time
> I've checked.
> That's why I'm suggesting adding the toggle ;-)
>
> I'm slightly confused if the reply is a) for, b) against or c) simply
> provides more info.
> In either way, the background info is always appreciated.

Right, we have certainly had bugs with 'install' in the past.
Hopefully it's improved now; let's find out, I suppose.

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-07 Thread Daniel Stone
Hi Pekka,

On 7 June 2018 at 08:46, Pekka Paalanen  wrote:
> On Wed, 6 Jun 2018 15:37:01 +0100
> Emil Velikov  wrote:
>> On 6 June 2018 at 09:56, Pekka Paalanen  wrote:
>> > On Wed, 6 Jun 2018 09:22:59 +0100
>> > Daniel Stone  wrote:
>> >> On 6 June 2018 at 09:12, Daniel Stone  wrote:
>> >> > On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
>> >> >> Distcheck does not --disable-xwayland-test, does it? So should we match
>> >> >> it with the autogen.sh arguments?
>> >> >
>> distcheck uses AM_DISTCHECK_CONFIGURE_FLAGS (if set in the
>> Makefile.am) to override the defaults.
>> Plus the user can further tweak things via the non AM_ version. For example
>>
>> DISTCHECK_CONFIGURE_FLAGS="--disable-xwayland-test" make distcheck
>
> Yeah, that's my point.
>
> DISTCHECK_CONFIGURE_FLAGS is not set and Makefile.am has
>
> AM_DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install
>
> There is no benefit in using --disable-xwayland-test for autogen.sh,
> because distcheck will use it anyway and it works already it seems.

Right, I just removed it for the meantime.

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-07 Thread Pekka Paalanen
On Wed, 6 Jun 2018 15:37:01 +0100
Emil Velikov  wrote:

> On 6 June 2018 at 09:56, Pekka Paalanen  wrote:
> > On Wed, 6 Jun 2018 09:22:59 +0100
> > Daniel Stone  wrote:
> >  
> >> On 6 June 2018 at 09:12, Daniel Stone  wrote:  
> >> > On 6 June 2018 at 09:03, Pekka Paalanen  wrote:  
> >> >> Distcheck does not --disable-xwayland-test, does it? So should we match
> >> >> it with the autogen.sh arguments?  
> >> >  
> distcheck uses AM_DISTCHECK_CONFIGURE_FLAGS (if set in the
> Makefile.am) to override the defaults.
> Plus the user can further tweak things via the non AM_ version. For example
> 
> DISTCHECK_CONFIGURE_FLAGS="--disable-xwayland-test" make distcheck

Yeah, that's my point.

DISTCHECK_CONFIGURE_FLAGS is not set and Makefile.am has

AM_DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install

There is no benefit in using --disable-xwayland-test for autogen.sh,
because distcheck will use it anyway and it works already it seems.


Thanks,
pq


pgpBiYJhzUndE.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emil Velikov
On 6 June 2018 at 15:47, Simon McVittie  wrote:
> On Wed, 06 Jun 2018 at 15:33:13 +0100, Emil Velikov wrote:
>> On 5 June 2018 at 23:06, Daniel Stone  wrote:
>> > +  - apt-get -y --no-install-recommends install build-essential automake 
>> > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
>> > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
>> > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
>> > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
>> > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
>> > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
>> > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
>> > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git
>>
>> I think this can be simplify the explicit list to:
>> apt-get -y --no-install-recommends build-dep wayland
>
> Only if the latest version of wayland has the same build-dependencies
> as the (likely much older) version visible in the Sources index
> for the container's apt configuration. If the container is
> Debian 9 'stretch' (released about a year ago) then apt-get build-dep
> will get the build-dependencies of wayland 1.12.0, according to
> .
>
Sure, there can be differences. Adding the odd extra piece tends to be
shorter and easier (imho) than trying to keep the huge list in sync.
Distribution maintainers already that laborious job, why not make use of it.

>> > +  - make -j4
>> > +  - make check
>> > +  - make install
>> > +  - make distcheck
>> I was under the impression that "make -j4 distcheck" is enough
>
> install and check both imply (depend on) a normal build, so that one is
> redundant.
>
> distcheck runs the tests like check does, but differently-configured,
> so for full coverage you might want to do both.
>
> Similarly, distcheck runs "make install", but into a temporary directory,
> not the requested $PREFIX.
>
Right - did not spot that "prefix-*" is also collected as artefacts.

>> Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across 
>> all.
>
> Using -j would definitely help for "make distcheck".
>
> If parallel install works, it would be good to test it so that it stays
> that way: quite a lot of projects can build correctly in parallel, but
> don't work reliably for "make -jX install".
>
There has been issues in the past and everything ran fine last time
I've checked.
That's why I'm suggesting adding the toggle ;-)

I'm slightly confused if the reply is a) for, b) against or c) simply
provides more info.
In either way, the background info is always appreciated.

Thanks
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Simon McVittie
On Wed, 06 Jun 2018 at 15:33:13 +0100, Emil Velikov wrote:
> On 5 June 2018 at 23:06, Daniel Stone  wrote:
> > +  - apt-get -y --no-install-recommends install build-essential automake 
> > autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> > libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> > libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> > libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> > libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> > libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> > libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev 
> > libwebp-dev libjpeg-dev libva-dev liblcms2-dev git
> 
> I think this can be simplify the explicit list to:
> apt-get -y --no-install-recommends build-dep wayland

Only if the latest version of wayland has the same build-dependencies
as the (likely much older) version visible in the Sources index
for the container's apt configuration. If the container is
Debian 9 'stretch' (released about a year ago) then apt-get build-dep
will get the build-dependencies of wayland 1.12.0, according to
.

> > +  - make -j4
> > +  - make check
> > +  - make install
> > +  - make distcheck
> I was under the impression that "make -j4 distcheck" is enough

install and check both imply (depend on) a normal build, so that one is
redundant.

distcheck runs the tests like check does, but differently-configured,
so for full coverage you might want to do both.

Similarly, distcheck runs "make install", but into a temporary directory,
not the requested $PREFIX.

> Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across all.

Using -j would definitely help for "make distcheck".

If parallel install works, it would be good to test it so that it stays
that way: quite a lot of projects can build correctly in parallel, but
don't work reliably for "make -jX install".

smcv
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emil Velikov
On 6 June 2018 at 09:56, Pekka Paalanen  wrote:
> On Wed, 6 Jun 2018 09:22:59 +0100
> Daniel Stone  wrote:
>
>> On 6 June 2018 at 09:12, Daniel Stone  wrote:
>> > On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
>> >> Distcheck does not --disable-xwayland-test, does it? So should we match
>> >> it with the autogen.sh arguments?
>> >
distcheck uses AM_DISTCHECK_CONFIGURE_FLAGS (if set in the
Makefile.am) to override the defaults.
Plus the user can further tweak things via the non AM_ version. For example

DISTCHECK_CONFIGURE_FLAGS="--disable-xwayland-test" make distcheck

HTH
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emil Velikov
Hi Dan,

On 5 June 2018 at 23:06, Daniel Stone  wrote:

> +  - apt-get -y --no-install-recommends install build-essential automake 
> autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev libwebp-dev 
> libjpeg-dev libva-dev liblcms2-dev git

I think this can be simplify the explicit list to:
apt-get -y --no-install-recommends build-dep wayland

> +  - mkdir -p /tmp/.X11-unix
> +  - chmod 777 /tmp/.X11-unix
> +
> +build-native:
> +  stage: build
> +  script:
> +  - git clone --depth=1 
> git://anongit.freedesktop.org/git/wayland/wayland-protocols
> +  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
> +  - export 
> PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
> +  - cd wayland-protocols
> +  - git show -s HEAD
Is this needed?

> +  - mkdir build
> +  - cd build
> +  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
> +  - make install
> +  - cd ../../
> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
> +  - mkdir "$BUILDDIR" "$PREFIX"
Autotools creates $PREFIX for you.

> +  - make -j4
> +  - make check
> +  - make install
> +  - make distcheck
I was under the impression that "make -j4 distcheck" is enough and the
four separate make calls are not needed?
Alternatively it's worth setting MAKEFLAGS="-jX" once so it's used across all.

Note the artefacts regex would need a tweak if only distcheck is used.

HTH
Emil
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Emilio Pozuelo Monfort
On 06/06/18 10:12, Daniel Stone wrote:
> Hi,
> 
> On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
>> On Tue,  5 Jun 2018 23:06:59 +0100
>> Daniel Stone  wrote:
>>> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
>>> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
>>> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
>>> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
>>> +  - mkdir "$BUILDDIR" "$PREFIX"
>>> +  - cd "$BUILDDIR"
>>> +  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
>>> --enable-xwayland --disable-xwayland-test --enable-x11-compositor 
>>> --enable-drm-compositor --enable-wayland-compositor 
>>> --enable-headless-compositor --enable-fbdev-compositor 
>>> --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients 
>>> --enable-simple-egl-clients --enable-simple-dmabuf-drm-client 
>>> --enable-simple-dmabuf-v4l-client --enable-clients 
>>> --enable-resize-optimization --enable-weston-launch 
>>> --enable-fullscreen-shell --enable-colord --enable-dbus 
>>> --enable-systemd-login --enable-junit-xml --enable-ivi-shell 
>>> --enable-wcap-tools --disable-libunwind --enable-demo-clients-install 
>>> --enable-lcms --with-cairo=image
>>
>> There is no option --disable-libunwind anymore.
> 
> Right you are.
> 
>> Should there be an explicit --disable-rdp-compositor?
>>
>> Alternatively, would stretch have any freerdp version Weston builds
>> with? This can be done later, too.
> 
> Yeah, there should be an explicit disable for now; freerdp2 isn't in
> stretch at all. Later we could try to expand this to building on
> different distros, some of which would provide a new enough RDP, and
> re-enable it.

freerdp2 is available in stretch-backports:

freerdp2   | 2.0.0~git20180411.1.7a7b1802+dfsg1-2~bpo9+1 | stretch-backports
   | source
freerdp2   | 2.0.0~git20180411.1.7a7b1802+dfsg1-2| testing  
   | source
freerdp2   | 2.0.0~git20180411.1.7a7b1802+dfsg1-2| unstable 
   | source

Perhaps you can add stretch-backports to sources.list and install it from there?

Cheers,
Emilio
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Daniel Stone
Hi,

On 6 June 2018 at 09:03, Pekka Paalanen  wrote:
> On Tue,  5 Jun 2018 23:06:59 +0100
> Daniel Stone  wrote:
>> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
>> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
>> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
>> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
>> +  - mkdir "$BUILDDIR" "$PREFIX"
>> +  - cd "$BUILDDIR"
>> +  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
>> --enable-xwayland --disable-xwayland-test --enable-x11-compositor 
>> --enable-drm-compositor --enable-wayland-compositor 
>> --enable-headless-compositor --enable-fbdev-compositor 
>> --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients 
>> --enable-simple-egl-clients --enable-simple-dmabuf-drm-client 
>> --enable-simple-dmabuf-v4l-client --enable-clients 
>> --enable-resize-optimization --enable-weston-launch 
>> --enable-fullscreen-shell --enable-colord --enable-dbus 
>> --enable-systemd-login --enable-junit-xml --enable-ivi-shell 
>> --enable-wcap-tools --disable-libunwind --enable-demo-clients-install 
>> --enable-lcms --with-cairo=image
>
> There is no option --disable-libunwind anymore.

Right you are.

> Should there be an explicit --disable-rdp-compositor?
>
> Alternatively, would stretch have any freerdp version Weston builds
> with? This can be done later, too.

Yeah, there should be an explicit disable for now; freerdp2 isn't in
stretch at all. Later we could try to expand this to building on
different distros, some of which would provide a new enough RDP, and
re-enable it.

>> +  - make -j4
>> +  - make check
>> +  - make install
>> +  - make distcheck
>
> Distcheck does not --disable-xwayland-test, does it? So should we match
> it with the autogen.sh arguments?

Interesting; it does disable it, but I guess we implicitly pulled in
Xwayland from Debian dependencies, as the run did succeed:
https://gitlab.freedesktop.org/daniels/weston/-/jobs/1172

Maybe I could just add the Xwayland server to the apt arguments to be
explictly installed.

Cheers,
Daniel
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


Re: [PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-06 Thread Pekka Paalanen
On Tue,  5 Jun 2018 23:06:59 +0100
Daniel Stone  wrote:

> Signed-off-by: Daniel Stone 
> ---
>  .gitlab-ci.yml | 48 
>  1 file changed, 48 insertions(+)
>  create mode 100644 .gitlab-ci.yml

Hi,

the same with wayland: the commit message could explain what this
brings us, even if it is obvious to those who know gitlab.

Acked-by: Pekka Paalanen 

Notes below.

> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> new file mode 100644
> index 0..202fa5494
> --- /dev/null
> +++ b/.gitlab-ci.yml
> @@ -0,0 +1,48 @@
> +image: debian:stretch
> +
> +stages:
> +  - build
> +
> +before_script:
> +  - echo 'path-exclude=/usr/share/doc/*' > 
> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo 'path-exclude=/usr/share/man/*' >> 
> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
> +  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
> +  - echo 'exit 101' >> /usr/sbin/policy-rc.d
> +  - chmod +x /usr/sbin/policy-rc.d
> +  - apt-get update
> +  - apt-get -y --no-install-recommends install build-essential automake 
> autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
> libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
> libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev 
> libxcb1-dev libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev 
> libx11-xcb-dev libx11-dev libudev-dev libgbm-dev libxkbcommon-dev 
> libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev 
> libmtdev-dev libpam0g-dev libvpx-dev libsystemd-dev libinput-dev libwebp-dev 
> libjpeg-dev libva-dev liblcms2-dev git
> +  - mkdir -p /tmp/.X11-unix
> +  - chmod 777 /tmp/.X11-unix
> +
> +build-native:
> +  stage: build
> +  script:
> +  - git clone --depth=1 
> git://anongit.freedesktop.org/git/wayland/wayland-protocols
> +  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
> +  - export 
> PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
> +  - cd wayland-protocols
> +  - git show -s HEAD
> +  - mkdir build
> +  - cd build
> +  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
> +  - make install
> +  - cd ../../
> +  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
> +  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
> +  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
> +  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
> +  - mkdir "$BUILDDIR" "$PREFIX"
> +  - cd "$BUILDDIR"
> +  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
> --enable-xwayland --disable-xwayland-test --enable-x11-compositor 
> --enable-drm-compositor --enable-wayland-compositor 
> --enable-headless-compositor --enable-fbdev-compositor 
> --enable-screen-sharing --enable-vaapi-recorder --enable-simple-clients 
> --enable-simple-egl-clients --enable-simple-dmabuf-drm-client 
> --enable-simple-dmabuf-v4l-client --enable-clients 
> --enable-resize-optimization --enable-weston-launch --enable-fullscreen-shell 
> --enable-colord --enable-dbus --enable-systemd-login --enable-junit-xml 
> --enable-ivi-shell --enable-wcap-tools --disable-libunwind 
> --enable-demo-clients-install --enable-lcms --with-cairo=image


There is no option --disable-libunwind anymore.
Should there be an explicit --disable-rdp-compositor?

Alternatively, would stretch have any freerdp version Weston builds
with? This can be done later, too.

> +  - make -j4
> +  - make check
> +  - make install
> +  - make distcheck

Distcheck does not --disable-xwayland-test, does it? So should we match
it with the autogen.sh arguments?

> +  artifacts:
> +name: weston-$CI_COMMIT_SHA-$CI_JOB_ID
> +when: always
> +paths:
> +- build-*/weston-*.tar.xz
> +- build-*/*.log
> +- build-*/logs
> +- prefix-*

Thanks,
pq


pgpj23DzpjbBx.pgp
Description: OpenPGP digital signature
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel


[PATCH weston 2/2] Add .gitlab-ci.yml

2018-06-05 Thread Daniel Stone
Signed-off-by: Daniel Stone 
---
 .gitlab-ci.yml | 48 
 1 file changed, 48 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0..202fa5494
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,48 @@
+image: debian:stretch
+
+stages:
+  - build
+
+before_script:
+  - echo 'path-exclude=/usr/share/doc/*' > 
/etc/dpkg/dpkg.cfg.d/99-exclude-cruft
+  - echo 'path-exclude=/usr/share/man/*' >> 
/etc/dpkg/dpkg.cfg.d/99-exclude-cruft
+  - echo '#!/bin/sh' > /usr/sbin/policy-rc.d
+  - echo 'exit 101' >> /usr/sbin/policy-rc.d
+  - chmod +x /usr/sbin/policy-rc.d
+  - apt-get update
+  - apt-get -y --no-install-recommends install build-essential automake 
autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev 
libpixman-1-dev libpng-dev libjpeg-dev libcolord-dev mesa-common-dev 
libglu1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-dev libxcb1-dev 
libxcb-composite0-dev libxcb-xfixes0-dev libxcb-xkb-dev libx11-xcb-dev 
libx11-dev libudev-dev libgbm-dev libxkbcommon-dev libcairo2-dev 
libpango1.0-dev libgdk-pixbuf2.0-dev libxcursor-dev libmtdev-dev libpam0g-dev 
libvpx-dev libsystemd-dev libinput-dev libwebp-dev libjpeg-dev libva-dev 
liblcms2-dev git
+  - mkdir -p /tmp/.X11-unix
+  - chmod 777 /tmp/.X11-unix
+
+build-native:
+  stage: build
+  script:
+  - git clone --depth=1 
git://anongit.freedesktop.org/git/wayland/wayland-protocols
+  - export WAYLAND_PROTOCOLS_DIR="$(pwd)/prefix-wayland-protocols"
+  - export 
PKG_CONFIG_PATH="$WAYLAND_PROTOCOLS_DIR/share/pkgconfig:$PKG_CONFIG_PATH"
+  - cd wayland-protocols
+  - git show -s HEAD
+  - mkdir build
+  - cd build
+  - ../autogen.sh --prefix="$WAYLAND_PROTOCOLS_DIR"
+  - make install
+  - cd ../../
+  - export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XX)"
+  - export BUILD_ID="weston-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
+  - export PREFIX="$(pwd)/prefix-$BUILD_ID"
+  - export BUILDDIR="$(pwd)/build-$BUILD_ID"
+  - mkdir "$BUILDDIR" "$PREFIX"
+  - cd "$BUILDDIR"
+  - ../autogen.sh --prefix="$PREFIX" --disable-setuid-install 
--enable-xwayland --disable-xwayland-test --enable-x11-compositor 
--enable-drm-compositor --enable-wayland-compositor 
--enable-headless-compositor --enable-fbdev-compositor --enable-screen-sharing 
--enable-vaapi-recorder --enable-simple-clients --enable-simple-egl-clients 
--enable-simple-dmabuf-drm-client --enable-simple-dmabuf-v4l-client 
--enable-clients --enable-resize-optimization --enable-weston-launch 
--enable-fullscreen-shell --enable-colord --enable-dbus --enable-systemd-login 
--enable-junit-xml --enable-ivi-shell --enable-wcap-tools --disable-libunwind 
--enable-demo-clients-install --enable-lcms --with-cairo=image
+  - make -j4
+  - make check
+  - make install
+  - make distcheck
+  artifacts:
+name: weston-$CI_COMMIT_SHA-$CI_JOB_ID
+when: always
+paths:
+- build-*/weston-*.tar.xz
+- build-*/*.log
+- build-*/logs
+- prefix-*
-- 
2.17.1

___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel