Re: [Spice-devel] [PATCH spice-gtk 04/12] Drop autotools
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
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
> 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
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
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
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
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
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
> > 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
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.