Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-02-14 Thread Christophe Fergeau
On Mon, Feb 11, 2019 at 06:39:09AM -0500, Frediano Ziglio wrote:
> Yes, agreed, at the moment the "ninja dist" does not work much,
> just try a git clone + meson + ninja build, it fails, you have
> to apply some workaround due to Meson bug with it.
> Also not sure how many additional dependencies we need, they
> should at least be documented and surely they will require some
> packages (RPM spec or similar) changes, better to have these
> stuff in place.
> 
> Really before removing autoconf I want:
> 1- Meson with the same level of features;
> 2- then a release;
> 3- then making sure the releases we support can use Meson (that
>is RHEL7 for example, here workaround like above are accepted
>but must be implemented);

I'd go as far as switching the fedora package to use meson on all
supported branches to get wider testing. And yes, make sure scratch
builds on el7/el8 are possible. For other distros, ideally someone would
check too, otherwise we'll just have to take a look at the version of
meson that they ship.

Christophe


signature.asc
Description: PGP signature
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-02-11 Thread Victor Toso
Hi,

On Mon, Feb 11, 2019 at 06:39:09AM -0500, Frediano Ziglio wrote:
> > Hi,
> > 
> > On Sat, Feb 09, 2019 at 11:49:35AM +0100, Marc-André Lureau wrote:
> > > On Tue, Jan 22, 2019 at 9:51 PM Jonathon Jongsma 
> > > wrote:
> > > > I do not always update my laptop to the latest release
> > > > immediately. For example, I'm still running Fedora 28 on my
> > > > laptop at the moment, which
> > > 
> > > Wouldn't "pip3 install --user meson" work? Even under old
> > > distros?
> > 
> > I consider that a workaround. I prefer that we say, 'yeah, we
> > don't support F28 anymore' rather than using different package
> > managers.
> > 
> 
> Well, IMHO can be a good workaround but I think you have to
> consider also build system, I would say a good technique have
> to:
> - make build run without root (so --user is required);
> - possible to do without network access (so "pip install" is bad
>   but a good alternative is to bundle "pip download" and install
>   the downloaded egg).
> Just during the build such workaround come with some possible
> additional requirement (not sure if that egg install with
> additional python packages).
> 
> > > > as far as I know does not have a new enough version of meson to build
> > > > git master. 'Backporting' doesn't solve that problem.
> > > 
> > > I meant backporting the fixes in a stable branch (not the
> > > build-sys)
> > > 
> > > (ping for review of the rest of the series)
> > 
> > I'm all in for meson-only but we should at least have a release
> > without fixes in meson files and without bumping it so much.
> > 
> 
> Yes, agreed, at the moment the "ninja dist" does not work much,
> just try a git clone + meson + ninja build, it fails, you have
> to apply some workaround due to Meson bug with it.
> Also not sure how many additional dependencies we need, they
> should at least be documented and surely they will require some
> packages (RPM spec or similar) changes, better to have these
> stuff in place.
> 
> Really before removing autoconf I want:
> 1- Meson with the same level of features;
> 2- then a release;
> 3- then making sure the releases we support can use Meson (that
>is RHEL7 for example, here workaround like above are accepted
>but must be implemented);
> 4- then drop autoconf.

Sounds good plan

> > I'd be happy to review a patch series with fixes only, without
> > dropping autotools, for now.
> > 
> 
> I don't see a stopover to review Marc-andre' patches here, just
> that if they need autoconf removed should be updated to avoid
> this.

Okay, I'll check it later Today


signature.asc
Description: PGP signature
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-02-11 Thread Frediano Ziglio
> Hi,
> 
> On Sat, Feb 09, 2019 at 11:49:35AM +0100, Marc-André Lureau wrote:
> > On Tue, Jan 22, 2019 at 9:51 PM Jonathon Jongsma 
> > wrote:
> > > I do not always update my laptop to the latest release
> > > immediately. For example, I'm still running Fedora 28 on my
> > > laptop at the moment, which
> > 
> > Wouldn't "pip3 install --user meson" work? Even under old
> > distros?
> 
> I consider that a workaround. I prefer that we say, 'yeah, we
> don't support F28 anymore' rather than using different package
> managers.
> 

Well, IMHO can be a good workaround but I think you have to
consider also build system, I would say a good technique have
to:
- make build run without root (so --user is required);
- possible to do without network access (so "pip install" is bad
  but a good alternative is to bundle "pip download" and install
  the downloaded egg).
Just during the build such workaround come with some possible
additional requirement (not sure if that egg install with
additional python packages).

> > > as far as I know does not have a new enough version of meson to build
> > > git master. 'Backporting' doesn't solve that problem.
> > 
> > I meant backporting the fixes in a stable branch (not the
> > build-sys)
> > 
> > (ping for review of the rest of the series)
> 
> I'm all in for meson-only but we should at least have a release
> without fixes in meson files and without bumping it so much.
> 

Yes, agreed, at the moment the "ninja dist" does not work much,
just try a git clone + meson + ninja build, it fails, you have
to apply some workaround due to Meson bug with it.
Also not sure how many additional dependencies we need, they
should at least be documented and surely they will require some
packages (RPM spec or similar) changes, better to have these
stuff in place.

Really before removing autoconf I want:
1- Meson with the same level of features;
2- then a release;
3- then making sure the releases we support can use Meson (that
   is RHEL7 for example, here workaround like above are accepted
   but must be implemented);
4- then drop autoconf.

> I'd be happy to review a patch series with fixes only, without
> dropping autotools, for now.
> 

I don't see a stopover to review Marc-andre' patches here, just
that if they need autoconf removed should be updated to avoid
this.

> Cheers,
> 

Frediano
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-02-11 Thread Marc-André Lureau
Hi

On Mon, Feb 11, 2019 at 10:08 AM Victor Toso  wrote:
>
> Hi,
>
> On Sat, Feb 09, 2019 at 11:49:35AM +0100, Marc-André Lureau wrote:
> > On Tue, Jan 22, 2019 at 9:51 PM Jonathon Jongsma  
> > wrote:
> > > I do not always update my laptop to the latest release
> > > immediately. For example, I'm still running Fedora 28 on my
> > > laptop at the moment, which
> >
> > Wouldn't "pip3 install --user meson" work? Even under old
> > distros?
>
> I consider that a workaround. I prefer that we say, 'yeah, we
> don't support F28 anymore' rather than using different package
> managers.

Ok, that's a kind of philosophical question to me.

>
> > > as far as I know does not have a new enough version of meson to build
> > > git master. 'Backporting' doesn't solve that problem.
> >
> > I meant backporting the fixes in a stable branch (not the
> > build-sys)
> >
> > (ping for review of the rest of the series)
>
> I'm all in for meson-only but we should at least have a release
> without fixes in meson files and without bumping it so much.

I understand it can be annoying to bump meson. I wonder if they have a
solution to this problem (submodule? ship generated files in tarball?)

>
> I'd be happy to review a patch series with fixes only, without
> dropping autotools, for now.

ok, thanks


-- 
Marc-André Lureau
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-02-11 Thread Victor Toso
Hi,

On Sat, Feb 09, 2019 at 11:49:35AM +0100, Marc-André Lureau wrote:
> On Tue, Jan 22, 2019 at 9:51 PM Jonathon Jongsma  wrote:
> > I do not always update my laptop to the latest release
> > immediately. For example, I'm still running Fedora 28 on my
> > laptop at the moment, which
> 
> Wouldn't "pip3 install --user meson" work? Even under old
> distros?

I consider that a workaround. I prefer that we say, 'yeah, we
don't support F28 anymore' rather than using different package
managers.

> > as far as I know does not have a new enough version of meson to build
> > git master. 'Backporting' doesn't solve that problem.
> 
> I meant backporting the fixes in a stable branch (not the
> build-sys)
> 
> (ping for review of the rest of the series)

I'm all in for meson-only but we should at least have a release
without fixes in meson files and without bumping it so much.

I'd be happy to review a patch series with fixes only, without
dropping autotools, for now.

Cheers,


signature.asc
Description: PGP signature
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-02-09 Thread Marc-André Lureau
Hi

On Tue, Jan 22, 2019 at 9:51 PM Jonathon Jongsma  wrote:
>
> On Fri, 2019-01-18 at 15:56 +0400, Marc-André Lureau wrote:
> > Hi
> >
> > On Fri, Jan 18, 2019 at 3:47 PM Frediano Ziglio 
> > wrote:
> > >
> > > >
> > > > From: Marc-André Lureau 
> > > >
> > > > Maintaining 1 build system is hard. Maintaining 2 is even harder.
> > > >
> > > > It seems the meson build system is now in good shape to replace
> > > > autotools. Like many desktop projects, let's move entirely to
> > > > meson
> > > > and drop autotools support.
> > > >
> > > > Known changes:
> > > > - no git version: a following patch will add it back in a limited
> > > > form
> > > > - generating changelog & thanks files in the dist tarball. This
> > > > is not
> > > >   strictly required, and can be added back later.
> > > > - generated files are not included in the dist tarball. In some
> > > > ways,
> > > >   this can be considered a good thing. Since code generation is
> > > > done
> > > >   with python, and meson requires python anyway, this is not an
> > > > issue.
> > > >
> > > > Signed-off-by: Marc-André Lureau 
> > >
> > > Patience.
> > >
> > > It's IMO too early, we are still fixing bugs on Meson build,
> > > distros
> > > we support still hasn't the version we need packaged and we are
> > > already removing it?
> > >
> > > Christophe already mentioned that we should have not bumped Meson
> > > requirements that much.
> > >
> > > Keep it in some branch but for the moment I would say no.
> >
> > Given that some pretty conservative core desktop projects (including
> > mesa, glib, gtk+) have already made the move upstream, I think it's
> > the right time for spice-gtk too.
> >
> > The question is which distro we want to support with upstream and
> > upcoming versions. I would say we should target current Fedora
> > release.
> >
> > Anything else can be backported to previous releases, and we can
> > maintain older version branches upstream.
> >
> >
>
> I do not always update my laptop to the latest release immediately. For
> example, I'm still running Fedora 28 on my laptop at the moment, which

Wouldn't "pip3 install --user meson" work? Even under old distros?

> as far as I know does not have a new enough version of meson to build
> git master. 'Backporting' doesn't solve that problem.

I meant backporting the fixes in a stable branch (not the build-sys)


(ping for review of the rest of the series)

-- 
Marc-André Lureau
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-01-22 Thread Jonathon Jongsma
On Fri, 2019-01-18 at 15:56 +0400, Marc-André Lureau wrote:
> Hi
> 
> On Fri, Jan 18, 2019 at 3:47 PM Frediano Ziglio 
> wrote:
> > 
> > > 
> > > From: Marc-André Lureau 
> > > 
> > > Maintaining 1 build system is hard. Maintaining 2 is even harder.
> > > 
> > > It seems the meson build system is now in good shape to replace
> > > autotools. Like many desktop projects, let's move entirely to
> > > meson
> > > and drop autotools support.
> > > 
> > > Known changes:
> > > - no git version: a following patch will add it back in a limited
> > > form
> > > - generating changelog & thanks files in the dist tarball. This
> > > is not
> > >   strictly required, and can be added back later.
> > > - generated files are not included in the dist tarball. In some
> > > ways,
> > >   this can be considered a good thing. Since code generation is
> > > done
> > >   with python, and meson requires python anyway, this is not an
> > > issue.
> > > 
> > > Signed-off-by: Marc-André Lureau 
> > 
> > Patience.
> > 
> > It's IMO too early, we are still fixing bugs on Meson build,
> > distros
> > we support still hasn't the version we need packaged and we are
> > already removing it?
> > 
> > Christophe already mentioned that we should have not bumped Meson
> > requirements that much.
> > 
> > Keep it in some branch but for the moment I would say no.
> 
> Given that some pretty conservative core desktop projects (including
> mesa, glib, gtk+) have already made the move upstream, I think it's
> the right time for spice-gtk too.
> 
> The question is which distro we want to support with upstream and
> upcoming versions. I would say we should target current Fedora
> release.
> 
> Anything else can be backported to previous releases, and we can
> maintain older version branches upstream.
> 
> 

I do not always update my laptop to the latest release immediately. For
example, I'm still running Fedora 28 on my laptop at the moment, which
as far as I know does not have a new enough version of meson to build
git master. 'Backporting' doesn't solve that problem.

Jonathon

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


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-01-18 Thread Marc-André Lureau
Hi

On Fri, Jan 18, 2019 at 3:47 PM Frediano Ziglio  wrote:
>
> >
> > From: Marc-André Lureau 
> >
> > Maintaining 1 build system is hard. Maintaining 2 is even harder.
> >
> > It seems the meson build system is now in good shape to replace
> > autotools. Like many desktop projects, let's move entirely to meson
> > and drop autotools support.
> >
> > Known changes:
> > - no git version: a following patch will add it back in a limited form
> > - generating changelog & thanks files in the dist tarball. This is not
> >   strictly required, and can be added back later.
> > - generated files are not included in the dist tarball. In some ways,
> >   this can be considered a good thing. Since code generation is done
> >   with python, and meson requires python anyway, this is not an issue.
> >
> > Signed-off-by: Marc-André Lureau 
>
> Patience.
>
> It's IMO too early, we are still fixing bugs on Meson build, distros
> we support still hasn't the version we need packaged and we are
> already removing it?
>
> Christophe already mentioned that we should have not bumped Meson
> requirements that much.
>
> Keep it in some branch but for the moment I would say no.

Given that some pretty conservative core desktop projects (including
mesa, glib, gtk+) have already made the move upstream, I think it's
the right time for spice-gtk too.

The question is which distro we want to support with upstream and
upcoming versions. I would say we should target current Fedora
release.

Anything else can be backported to previous releases, and we can
maintain older version branches upstream.


> Frediano
> ___
> Spice-devel mailing list
> Spice-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel



-- 
Marc-André Lureau
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-01-18 Thread Frediano Ziglio
> 
> From: Marc-André Lureau 
> 
> Maintaining 1 build system is hard. Maintaining 2 is even harder.
> 
> It seems the meson build system is now in good shape to replace
> autotools. Like many desktop projects, let's move entirely to meson
> and drop autotools support.
> 
> Known changes:
> - no git version: a following patch will add it back in a limited form
> - generating changelog & thanks files in the dist tarball. This is not
>   strictly required, and can be added back later.
> - generated files are not included in the dist tarball. In some ways,
>   this can be considered a good thing. Since code generation is done
>   with python, and meson requires python anyway, this is not an issue.
> 
> Signed-off-by: Marc-André Lureau 

Patience.

It's IMO too early, we are still fixing bugs on Meson build, distros
we support still hasn't the version we need packaged and we are
already removing it?

Christophe already mentioned that we should have not bumped Meson
requirements that much.

Keep it in some branch but for the moment I would say no.

Frediano
___
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel


[Spice-devel] [PATCH spice-gtk 04/12] Drop autotools

2019-01-17 Thread marcandre . lureau
From: Marc-André Lureau 

Maintaining 1 build system is hard. Maintaining 2 is even harder.

It seems the meson build system is now in good shape to replace
autotools. Like many desktop projects, let's move entirely to meson
and drop autotools support.

Known changes:
- no git version: a following patch will add it back in a limited form
- generating changelog & thanks files in the dist tarball. This is not
  strictly required, and can be added back later.
- generated files are not included in the dist tarball. In some ways,
  this can be considered a good thing. Since code generation is done
  with python, and meson requires python anyway, this is not an issue.

Signed-off-by: Marc-André Lureau 
---
 .gitlab-ci.yml|  27 +-
 Makefile.am   |  79 -
 README|  20 +-
 autogen.sh|  20 --
 build-aux/git-version-gen | 158 -
 build-aux/gitlog-to-changelog | 191 ---
 configure.ac  | 543 ---
 data/Makefile.am  |  11 -
 doc/Makefile.am   |   5 -
 doc/reference/Makefile.am |  80 -
 git.mk| 400 ---
 m4/ld-version.m4  |  34 --
 m4/manywarnings.m4| 274 
 m4/spice-compile-warnings.m4  | 146 -
 m4/warnings.m4|  79 -
 man/Makefile.am   |  17 -
 po/ChangeLog  |   8 -
 po/Makevars   |  95 --
 po/{POTFILES.in => POTFILES}  |   0
 po/POTFILES.skip  |   2 -
 spice-client-glib-2.0.pc.in   |  14 -
 spice-client-gtk-3.0.pc.in|  12 -
 src/Makefile.am   | 591 --
 tests/Makefile.am |  49 ---
 tools/Makefile.am |  77 -
 vapi/Makefile.am  |  43 ---
 26 files changed, 10 insertions(+), 2965 deletions(-)
 delete mode 100644 Makefile.am
 delete mode 100755 autogen.sh
 delete mode 100755 build-aux/git-version-gen
 delete mode 100755 build-aux/gitlog-to-changelog
 delete mode 100644 configure.ac
 delete mode 100644 data/Makefile.am
 delete mode 100644 doc/Makefile.am
 delete mode 100644 doc/reference/Makefile.am
 delete mode 100644 git.mk
 delete mode 100644 m4/ld-version.m4
 delete mode 100644 m4/manywarnings.m4
 delete mode 100644 m4/spice-compile-warnings.m4
 delete mode 100644 m4/warnings.m4
 delete mode 100644 man/Makefile.am
 delete mode 100644 po/ChangeLog
 delete mode 100644 po/Makevars
 rename po/{POTFILES.in => POTFILES} (100%)
 delete mode 100644 po/POTFILES.skip
 delete mode 100644 spice-client-glib-2.0.pc.in
 delete mode 100644 spice-client-gtk-3.0.pc.in
 delete mode 100644 src/Makefile.am
 delete mode 100644 tests/Makefile.am
 delete mode 100644 tools/Makefile.am
 delete mode 100644 vapi/Makefile.am

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 74280e9..b8b6272 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,7 @@
 image: fedora:latest
 
 variables:
-  DEPS: git libtool make python3 python3-six redhat-rpm-config
+  DEPS: git make python3 python3-six redhat-rpm-config
 python3-pyparsing meson ninja-build zlib-devel openssl-devel
 intltool gtk3-devel gtk-doc gobject-introspection-devel
 cyrus-sasl-devel pulseaudio-libs-devel libjpeg-turbo-devel
@@ -15,33 +15,15 @@ before_script:
   - dnf install -y $DEPS
   - git clone ${CI_REPOSITORY_URL/spice-gtk/spice-protocol}
   - (cd spice-protocol && ./autogen.sh --prefix=/usr && make install)
+  - git submodule init && git submodule update # necessary with gitlab CI only
 
 makecheck:
-  script:
-  - ./autogen.sh --enable-static
-  - make -j4
-  - make check
-
-makecheck-meson:
   script:
   - meson build || (cat build/meson-logs/meson-log.txt && exit 1)
   - ninja -C build
   - (cd build && meson test) || (cat build/meson-logs/testlog.txt && exit 1)
 
 makecheck_simple:
-  script:
-  - ./autogen.sh --enable-static
---enable-lz4=no
---enable-webdav=no
---with-sasl=no
---with-coroutine=auto
---enable-pulse=no
---enable-smartcard=no
---enable-usbredir=no
-  - make -j4
-  - make check
-
-makecheck_simple-meson:
   script:
   - meson build -Dauto_features=disabled || (cat 
build/meson-logs/meson-log.txt && exit 1)
   - ninja -C build
@@ -51,6 +33,5 @@ make-win:
   script:
   - dnf install -y mingw64-gcc mingw64-pkg-config mingw64-pixman 
mingw64-openssl mingw64-gtk3 mingw64-json-glib mingw64-opus 
mingw64-gstreamer1-plugins-base mingw64-gstreamer1-plugins-good
   - (cd spice-protocol && make clean && mingw64-configure --prefix=/usr && 
make install)
-  - NOCONFIGURE=yes ./autogen.sh
-  - PYTHON=python3 mingw64-configure --enable-static
-  - make -j4
+  - (mkdir buildw && cd buildw && mingw64-meson) || (cat 
buildw/meson-logs/meson-log.txt && exit 1)
+  - ninja -C buildw
diff --git a/Makefile.am b/Makefile.am
deleted file mode 100644
index 6881007..000
--- a/Makefile.