Message ID | 20200110215205.513185-1-bruce.richardson@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2C4D4A04F9; Fri, 10 Jan 2020 22:52:13 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 718A41EBD0; Fri, 10 Jan 2020 22:52:12 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 1C6CA1EBCE for <dev@dpdk.org>; Fri, 10 Jan 2020 22:52:10 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2020 13:52:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,418,1571727600"; d="scan'208";a="255162965" Received: from silpixa00399126.ir.intel.com (HELO silpixa00399126.ger.corp.intel.com) ([10.237.223.2]) by fmsmga002.fm.intel.com with ESMTP; 10 Jan 2020 13:52:08 -0800 From: Bruce Richardson <bruce.richardson@intel.com> To: david.marchand@redhat.com, john.mcnamara@intel.com, bluca@debian.org Cc: dev@dpdk.org, aconole@redhat.com, thomas@monjalon.net, Bruce Richardson <bruce.richardson@intel.com> Date: Fri, 10 Jan 2020 21:51:59 +0000 Message-Id: <20200110215205.513185-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200109115631.500056-1-bruce.richardson@intel.com> References: <20200109115631.500056-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v4 0/6] meson build improvements X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
meson build improvements
|
|
Message
Bruce Richardson
Jan. 10, 2020, 9:51 p.m. UTC
These patches make some improvements to the meson build, particularly for documentation. They also remove many, but not all warnings issued by meson e.g. warnings about newer features unsupported in baseline. The biggest change is to improve the handling of the guide html docs. The change here is more significant, and the doc build now uses a wrapper script around sphinx. This wrapper script allows us to output correct dependency information for the sphinx build in a .d file. This .d file is processed by ninja (not meson) on build, so that any changes to doc files trigger a rebuild to the guides using sphinx. For now, the two patches which remove the meson version warnings are CC'ed to stable for backport, theoretically this who set could be backported if so desired, as all changes could be considered fixes to some degree or other, and nothing introduces a whole new feature. Note: for completeness and simplicity, previously submitted patch http://patches.dpdk.org/patch/64189/ is included in this set, and will be marked superceded in patchwork. V4: fix build with older sphinx V3: Shorten the python code in patch 5, and ensure style compliance as flagged by Aaron. V2: resend to correct email addresses Bruce Richardson (6): kernel/linux/kni: fix meson warning about console keyword build: skip processing docs folder if docs disabled doc/api: fix warning with meson build doc/guides: reduce whitespace in meson build file doc/guides: rebuild with meson whenever a file changes doc/api: reduce indentation in meson build file MAINTAINERS | 1 + buildtools/call-sphinx-build.py | 31 +++++++++++ buildtools/meson.build | 6 +- doc/api/meson.build | 99 +++++++++++++++++---------------- doc/guides/meson.build | 38 ++++++------- doc/meson.build | 4 ++ kernel/linux/kni/meson.build | 1 - 7 files changed, 107 insertions(+), 73 deletions(-) create mode 100755 buildtools/call-sphinx-build.py
Comments
On Fri, Jan 10, 2020 at 10:52 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > These patches make some improvements to the meson build, particularly > for documentation. They also remove many, but not all warnings issued by > meson e.g. warnings about newer features unsupported in baseline. > > The biggest change is to improve the handling of the guide html docs. > The change here is more significant, and the doc build now uses a > wrapper script around sphinx. This wrapper script allows us to output > correct dependency information for the sphinx build in a .d file. This > .d file is processed by ninja (not meson) on build, so that any changes > to doc files trigger a rebuild to the guides using sphinx. > > For now, the two patches which remove the meson version warnings are > CC'ed to stable for backport, theoretically this who set could be > backported if so desired, as all changes could be considered fixes to > some degree or other, and nothing introduces a whole new feature. > > Note: for completeness and simplicity, previously submitted patch > http://patches.dpdk.org/patch/64189/ is included in this set, and will > be marked superceded in patchwork. > > V4: fix build with older sphinx > > V3: Shorten the python code in patch 5, and ensure style compliance as > flagged by Aaron. > > V2: resend to correct email addresses Tried this series in Travis. It went fine through my own checks too. But OBS is not happy with Debian 10, Debian Next and Ubuntu >= 18.04. The packaging fails when ninja can't find the 'doc' target. -- David Marchand
On Tue, Jan 14, 2020 at 05:00:17PM +0100, David Marchand wrote: > On Fri, Jan 10, 2020 at 10:52 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > These patches make some improvements to the meson build, particularly > > for documentation. They also remove many, but not all warnings issued > > by meson e.g. warnings about newer features unsupported in baseline. > > > > The biggest change is to improve the handling of the guide html docs. > > The change here is more significant, and the doc build now uses a > > wrapper script around sphinx. This wrapper script allows us to output > > correct dependency information for the sphinx build in a .d file. This > > .d file is processed by ninja (not meson) on build, so that any changes > > to doc files trigger a rebuild to the guides using sphinx. > > > > For now, the two patches which remove the meson version warnings are > > CC'ed to stable for backport, theoretically this who set could be > > backported if so desired, as all changes could be considered fixes to > > some degree or other, and nothing introduces a whole new feature. > > > > Note: for completeness and simplicity, previously submitted patch > > http://patches.dpdk.org/patch/64189/ is included in this set, and will > > be marked superceded in patchwork. > > > > V4: fix build with older sphinx > > > > V3: Shorten the python code in patch 5, and ensure style compliance as > > flagged by Aaron. > > > > V2: resend to correct email addresses > > Tried this series in Travis. It went fine through my own checks too. > > But OBS is not happy with Debian 10, Debian Next and Ubuntu >= 18.04. > The packaging fails when ninja can't find the 'doc' target. > Can you send on a link to the failure logs? I suspect this may be due to returning early from the doc folder if the document building is disabled (but need to see logs to confirm). However, I'm not sure it makes sense to have a doc target defined if doc building is disabled in build config.
On Tue, Jan 14, 2020 at 5:19 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Tue, Jan 14, 2020 at 05:00:17PM +0100, David Marchand wrote: > > On Fri, Jan 10, 2020 at 10:52 PM Bruce Richardson > > <bruce.richardson@intel.com> wrote: > > > > > > These patches make some improvements to the meson build, particularly > > > for documentation. They also remove many, but not all warnings issued > > > by meson e.g. warnings about newer features unsupported in baseline. > > > > > > The biggest change is to improve the handling of the guide html docs. > > > The change here is more significant, and the doc build now uses a > > > wrapper script around sphinx. This wrapper script allows us to output > > > correct dependency information for the sphinx build in a .d file. This > > > .d file is processed by ninja (not meson) on build, so that any changes > > > to doc files trigger a rebuild to the guides using sphinx. > > > > > > For now, the two patches which remove the meson version warnings are > > > CC'ed to stable for backport, theoretically this who set could be > > > backported if so desired, as all changes could be considered fixes to > > > some degree or other, and nothing introduces a whole new feature. > > > > > > Note: for completeness and simplicity, previously submitted patch > > > http://patches.dpdk.org/patch/64189/ is included in this set, and will > > > be marked superceded in patchwork. > > > > > > V4: fix build with older sphinx > > > > > > V3: Shorten the python code in patch 5, and ensure style compliance as > > > flagged by Aaron. > > > > > > V2: resend to correct email addresses > > > > Tried this series in Travis. It went fine through my own checks too. > > > > But OBS is not happy with Debian 10, Debian Next and Ubuntu >= 18.04. > > The packaging fails when ninja can't find the 'doc' target. > > > Can you send on a link to the failure logs? > > I suspect this may be due to returning early from the doc folder if the > document building is disabled (but need to see logs to confirm). However, > I'm not sure it makes sense to have a doc target defined if doc building is > disabled in build config. > Currently restarting my jobs and I might lose the logs, so I saved it here: https://paste.centos.org/view/7d6e0545
On Tue, 2020-01-14 at 16:19 +0000, Bruce Richardson wrote: > On Tue, Jan 14, 2020 at 05:00:17PM +0100, David Marchand wrote: > > On Fri, Jan 10, 2020 at 10:52 PM Bruce Richardson > > < > > bruce.richardson@intel.com > > > wrote: > > > These patches make some improvements to the meson build, > > > particularly > > > for documentation. They also remove many, but not all warnings > > > issued > > > by meson e.g. warnings about newer features unsupported in > > > baseline. > > > > > > The biggest change is to improve the handling of the guide html > > > docs. > > > The change here is more significant, and the doc build now uses a > > > wrapper script around sphinx. This wrapper script allows us to > > > output > > > correct dependency information for the sphinx build in a .d file. > > > This > > > .d file is processed by ninja (not meson) on build, so that any > > > changes > > > to doc files trigger a rebuild to the guides using sphinx. > > > > > > For now, the two patches which remove the meson version warnings > > > are > > > CC'ed to stable for backport, theoretically this who set could be > > > backported if so desired, as all changes could be considered > > > fixes to > > > some degree or other, and nothing introduces a whole new feature. > > > > > > Note: for completeness and simplicity, previously submitted patch > > > http://patches.dpdk.org/patch/64189/ > > > is included in this set, and will > > > be marked superceded in patchwork. > > > > > > V4: fix build with older sphinx > > > > > > V3: Shorten the python code in patch 5, and ensure style > > > compliance as > > > flagged by Aaron. > > > > > > V2: resend to correct email addresses > > > > Tried this series in Travis. It went fine through my own checks > > too. > > > > But OBS is not happy with Debian 10, Debian Next and Ubuntu >= > > 18.04. > > The packaging fails when ninja can't find the 'doc' target. > > > > Can you send on a link to the failure logs? > > I suspect this may be due to returning early from the doc folder if > the > document building is disabled (but need to see logs to confirm). > However, > I'm not sure it makes sense to have a doc target defined if doc > building is > disabled in build config. Sorry, should have thought about this when reviewing: the usefulness of having the target work without the option set is that the docs will only be built when called explicitly, without having to change the configuration. Given the doc build is very slow and it's arch-independent, in Debian/Ubuntu we only do it once, in the arch-independent target (arch: all).
On Tue, Jan 14, 2020 at 04:35:09PM +0000, Luca Boccassi wrote: > On Tue, 2020-01-14 at 16:19 +0000, Bruce Richardson wrote: > > On Tue, Jan 14, 2020 at 05:00:17PM +0100, David Marchand wrote: > > > On Fri, Jan 10, 2020 at 10:52 PM Bruce Richardson > > > < > > > bruce.richardson@intel.com > > > > wrote: > > > > These patches make some improvements to the meson build, > > > > particularly > > > > for documentation. They also remove many, but not all warnings > > > > issued > > > > by meson e.g. warnings about newer features unsupported in > > > > baseline. > > > > > > > > The biggest change is to improve the handling of the guide html > > > > docs. > > > > The change here is more significant, and the doc build now uses a > > > > wrapper script around sphinx. This wrapper script allows us to > > > > output > > > > correct dependency information for the sphinx build in a .d file. > > > > This > > > > .d file is processed by ninja (not meson) on build, so that any > > > > changes > > > > to doc files trigger a rebuild to the guides using sphinx. > > > > > > > > For now, the two patches which remove the meson version warnings > > > > are > > > > CC'ed to stable for backport, theoretically this who set could be > > > > backported if so desired, as all changes could be considered > > > > fixes to > > > > some degree or other, and nothing introduces a whole new feature. > > > > > > > > Note: for completeness and simplicity, previously submitted patch > > > > http://patches.dpdk.org/patch/64189/ > > > > is included in this set, and will > > > > be marked superceded in patchwork. > > > > > > > > V4: fix build with older sphinx > > > > > > > > V3: Shorten the python code in patch 5, and ensure style > > > > compliance as > > > > flagged by Aaron. > > > > > > > > V2: resend to correct email addresses > > > > > > Tried this series in Travis. It went fine through my own checks > > > too. > > > > > > But OBS is not happy with Debian 10, Debian Next and Ubuntu >= > > > 18.04. > > > The packaging fails when ninja can't find the 'doc' target. > > > > > > > Can you send on a link to the failure logs? > > > > I suspect this may be due to returning early from the doc folder if > > the > > document building is disabled (but need to see logs to confirm). > > However, > > I'm not sure it makes sense to have a doc target defined if doc > > building is > > disabled in build config. > > Sorry, should have thought about this when reviewing: the usefulness of > having the target work without the option set is that the docs will > only be built when called explicitly, without having to change the > configuration. > > Given the doc build is very slow and it's arch-independent, in > Debian/Ubuntu we only do it once, in the arch-independent target (arch: > all). > Right. I think the offending patch #2, can just be dropped from the set. /Bruce
On Tue, Jan 14, 2020 at 6:36 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > On Tue, Jan 14, 2020 at 04:35:09PM +0000, Luca Boccassi wrote: > > On Tue, 2020-01-14 at 16:19 +0000, Bruce Richardson wrote: > > > On Tue, Jan 14, 2020 at 05:00:17PM +0100, David Marchand wrote: > > > > On Fri, Jan 10, 2020 at 10:52 PM Bruce Richardson > > > > < > > > > bruce.richardson@intel.com > > > > > wrote: > > > > > These patches make some improvements to the meson build, > > > > > particularly > > > > > for documentation. They also remove many, but not all warnings > > > > > issued > > > > > by meson e.g. warnings about newer features unsupported in > > > > > baseline. > > > > > > > > > > The biggest change is to improve the handling of the guide html > > > > > docs. > > > > > The change here is more significant, and the doc build now uses a > > > > > wrapper script around sphinx. This wrapper script allows us to > > > > > output > > > > > correct dependency information for the sphinx build in a .d file. > > > > > This > > > > > .d file is processed by ninja (not meson) on build, so that any > > > > > changes > > > > > to doc files trigger a rebuild to the guides using sphinx. > > > > > > > > > > For now, the two patches which remove the meson version warnings > > > > > are > > > > > CC'ed to stable for backport, theoretically this who set could be > > > > > backported if so desired, as all changes could be considered > > > > > fixes to > > > > > some degree or other, and nothing introduces a whole new feature. > > > > > > > > > > Note: for completeness and simplicity, previously submitted patch > > > > > http://patches.dpdk.org/patch/64189/ > > > > > is included in this set, and will > > > > > be marked superceded in patchwork. > > > > > > > > > > V4: fix build with older sphinx > > > > > > > > > > V3: Shorten the python code in patch 5, and ensure style > > > > > compliance as > > > > > flagged by Aaron. > > > > > > > > > > V2: resend to correct email addresses > > > > > > > > Tried this series in Travis. It went fine through my own checks > > > > too. > > > > > > > > But OBS is not happy with Debian 10, Debian Next and Ubuntu >= > > > > 18.04. > > > > The packaging fails when ninja can't find the 'doc' target. > > > > > > > > > > Can you send on a link to the failure logs? > > > > > > I suspect this may be due to returning early from the doc folder if > > > the > > > document building is disabled (but need to see logs to confirm). > > > However, > > > I'm not sure it makes sense to have a doc target defined if doc > > > building is > > > disabled in build config. > > > > Sorry, should have thought about this when reviewing: the usefulness of > > having the target work without the option set is that the docs will > > only be built when called explicitly, without having to change the > > configuration. > > > > Given the doc build is very slow and it's arch-independent, in > > Debian/Ubuntu we only do it once, in the arch-independent target (arch: > > all). > > > Right. I think the offending patch #2, can just be dropped from the set. Ok, I dropped this patch. Packages for debian distributions in OBS build fine now. I am ok with a followup patch for fc30, I disabled the doc check in my env for now. Series & ~patch2 applied. Thanks. -- David Marchand