GNOME Bugzilla – Bug 696184
Add `make check-modulesets` target
Last modified: 2013-03-20 22:16:09 UTC
This could be used to sanity-check the XML in the modulesets for validity, e.g. by a pre-receive git hook (see bug #696182). This might help to prevent build breakage due to typos in the XML. Patch coming soon.
Created attachment 239373 [details] [review] build: Include DTDs and XSL file in EXTRA_DIST Closes: bgo
Created attachment 239374 [details] [review] build: Include DTDs and XSL file in EXTRA_DIST
Created attachment 239375 [details] [review] install-check: Fix GCC warnings
Created attachment 239376 [details] [review] jhbuild: Fix validation of <dep> elements
Created attachment 239377 [details] [review] modulesets: Update schemas to represent the state of the modulesets These updates are not exhaustive, but do mean that (with some fixes to be committed shortly) all moduleset files now validate against both schemas. Helps:
Created attachment 239378 [details] [review] modulesets: Remove unnecessary ‘version’ attribute from autotools elements It isn’t in the schema, and doesn’t appear to be used by the Python. Helps:
Created attachment 239379 [details] [review] modulesets: Remove unused ‘autogen-sh’ attribute from non-autotools elements It doesn’t appear to be used by the Python, and wasn’t in the schema. Helps:
Created attachment 239380 [details] [review] modulesets: Fix use of non-existent ‘suggest’ element It should be ‘suggests’ instead. Helps:
Created attachment 239381 [details] [review] modulesets: Reorder some elements to satisfy the schema This doesn’t introduce any semantic changes; just reorders the elements to match the order required by the schemas. Sigh. Helps:
Created attachment 239382 [details] [review] modulesets: Remove ‘check-target’ attribute from waf elements It appears to be unused in the Python and didn’t exist in the schema. Helps:
Created attachment 239383 [details] [review] modulesets: Fix use of ‘md5sum’ attribute The ‘md5’ attribute doesn’t exist. Helps:
Created attachment 239384 [details] [review] modulesets: Remove a duplicate element Helps:
Created attachment 239385 [details] [review] modulesets: Fix listing of patches for Avahi The schema and parser require patches to be listed in a ‘patches’ element. Helps:
Created attachment 239386 [details] [review] build: Add ‘check’ and ‘check-modulesets’ targets to the build system This allows the validity of the modulesets’ XML to be checked without building and installing jhbuild. This is useful for git pre-receive hooks to prevent typos breaking the modulesets. Closes:
(In reply to comment #14) > Closes: Ignore these lines. Looks like git-bz misbehaving for me (sorry). The patches are OK.
Review of attachment 239374 [details] [review]: Ok. I don't think anyone is actively checking 'make dist', but it doesn't hurt to try =)
Review of attachment 239375 [details] [review]: That's some old code you're fixing. Nice!
Review of attachment 239376 [details] [review]: Ah, yes.
Review of attachment 239377 [details] [review]: Ah, very nice. This should be a lot easier to maintain indeed if we check it continuously.
Review of attachment 239378 [details] [review]: Mmm...careful here. I believe the version is (or was?) used by the sysdeps infrastructure, acting as a minimum bound on the version. Possibly that got changed around with the systemmodules stuff? Needs investigation. Even if it's not used by the code, I think we should add the version attribute to the schema, since it's still historically relevant.
Review of attachment 239379 [details] [review]: That's odd that the distutils modules had autogen-sh="autoreconf". I wonder if that's just something that got cargo-culted. Did you try building one of the distutils modules?
Review of attachment 239380 [details] [review]: Yes.
Review of attachment 239381 [details] [review]: Ah. Oh well, makes sense to have them in a consistent order.
Review of attachment 239382 [details] [review]: Hmm; true, looks like the current waf modtype ignores it.
Review of attachment 239383 [details] [review]: Surprising no one noticed this before.
Review of attachment 239384 [details] [review]: Prune the branches...
Review of attachment 239385 [details] [review]: Ok.
Review of attachment 239386 [details] [review]: Nice.
(In reply to comment #20) > Review of attachment 239378 [details] [review]: > > Mmm...careful here. I believe the version is (or was?) used by the sysdeps > infrastructure, acting as a minimum bound on the version. Possibly that got > changed around with the systemmodules stuff? Needs investigation. I just went through the output of `git grep version` and I can’t see anything which touches the ‘version’ attribute on elements other than <branch>. > Even if it's not used by the code, I think we should add the version attribute > to the schema, since it's still historically relevant. Why? The schema isn’t going to be used to validate anything except the modulesets currently in the repository. (In reply to comment #21) > Review of attachment 239379 [details] [review]: > > That's odd that the distutils modules had autogen-sh="autoreconf". I wonder if > that's just something that got cargo-culted. Did you try building one of the > distutils modules? I just tried building postr with and without the attribute, and it fails with the same error message (“error: data/postr.desktop.in: No such file or directory”) both times. Grepping the jhbuild source code for ‘autogen-sh’ shows it’s only used in the autotools module.
(In reply to comment #29) > (In reply to comment #20) > > Review of attachment 239378 [details] [review] [details]: > > > > Mmm...careful here. I believe the version is (or was?) used by the sysdeps > > infrastructure, acting as a minimum bound on the version. Possibly that got > > changed around with the systemmodules stuff? Needs investigation. > > I just went through the output of `git grep version` and I can’t see anything > which touches the ‘version’ attribute on elements other than <branch>. Oh, I took another look at this - it's duplicating the version= attribute already on the branch tag. Ok, makes a lot more sense. Consider that and the other reviewed patches a-c-n then. Thanks!
commit c26798c79427369174357333501d16f80a78738d Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:43:37 2013 +0000 build: Add ‘check’ and ‘check-modulesets’ targets to the build system This allows the validity of the modulesets’ XML to be checked without building and installing jhbuild. This is useful for git pre-receive hooks to prevent typos breaking the modulesets. Closes: https://bugzilla.gnome.org/show_bug.cgi?id=696184 Makefile.am | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 1fdc7a3739387f18827aa3328f01d9b3d33259ad Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:43:09 2013 +0000 modulesets: Fix listing of patches for Avahi The schema and parser require patches to be listed in a ‘patches’ element. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-suites-core-3.0.modules | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 2b56182ba3ba722e73cb693475fb83940044f3e7 Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:42:51 2013 +0000 modulesets: Remove a duplicate element Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-apps-3.6.modules | 1 - 1 file changed, 1 deletion(-) commit 2ad6a2643a6e136260fc53765f3a9841cd6b987b Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:42:14 2013 +0000 modulesets: Fix use of ‘md5sum’ attribute The ‘md5’ attribute doesn’t exist. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-world-3.0.modules | 2 +- modulesets/gnome-world-3.10.modules | 2 +- modulesets/gnome-world-3.2.modules | 2 +- modulesets/gnome-world-3.4.modules | 2 +- modulesets/gnome-world-3.6.modules | 2 +- modulesets/gnome-world-3.8.modules | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit 5c74cb47e063e5db5d30901b186bb586a4e0c106 Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:41:36 2013 +0000 modulesets: Remove ‘check-target’ attribute from waf elements It appears to be unused in the Python and didn’t exist in the schema. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-apps-3.0.modules | 2 +- modulesets/gnome-apps-3.2.modules | 2 +- modulesets/gnome-world-3.10.modules | 2 +- modulesets/gnome-world-3.4.modules | 2 +- modulesets/gnome-world-3.6.modules | 2 +- modulesets/gnome-world-3.8.modules | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit 28d73cc2a397dd0b1e804fc85b23219ed9fe1d6d Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:40:34 2013 +0000 modulesets: Reorder some elements to satisfy the schema This doesn’t introduce any semantic changes; just reorders the elements to match the order required by the schemas. Sigh. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-suites-core-deps-3.0.modules | 6 +++--- modulesets/gnome-suites-core-deps-3.10.modules | 8 ++++---- modulesets/gnome-suites-core-deps-3.2.modules | 6 +++--- modulesets/gnome-suites-core-deps-3.4.modules | 10 +++++----- modulesets/gnome-suites-core-deps-3.6.modules | 8 ++++---- modulesets/gnome-suites-core-deps-3.8.modules | 8 ++++---- modulesets/gnome-sysdeps-3.10.modules | 4 ++-- modulesets/gnome-sysdeps-3.8.modules | 4 ++-- 8 files changed, 27 insertions(+), 27 deletions(-) commit 18f01e01d7c17a5a718a2a64051f0cf56e5dc8e1 Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:39:22 2013 +0000 modulesets: Fix use of non-existent ‘suggest’ element It should be ‘suggests’ instead. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-apps-3.10.modules | 4 ++-- modulesets/gnome-apps-3.6.modules | 4 ++-- modulesets/gnome-apps-3.8.modules | 4 ++-- modulesets/gnome-suites-core-3.10.modules | 8 ++++---- modulesets/gnome-suites-core-3.4.modules | 4 ++-- modulesets/gnome-suites-core-3.6.modules | 4 ++-- modulesets/gnome-suites-core-3.8.modules | 8 ++++---- 7 files changed, 18 insertions(+), 18 deletions(-) commit c0d0b4fe56c5d13e96ad24d457ef177c5677698a Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:37:49 2013 +0000 modulesets: Remove unused ‘autogen-sh’ attribute from non-autotools elements It doesn’t appear to be used by the Python, and wasn’t in the schema. Building a distutils module with and without it makes no difference. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-apps-3.0.modules | 3 +-- modulesets/gnome-apps-3.2.modules | 3 +-- modulesets/gnome-apps-3.4.modules | 3 +-- modulesets/gnome-world-3.0.modules | 4 ++-- modulesets/gnome-world-3.10.modules | 4 ++-- modulesets/gnome-world-3.2.modules | 4 ++-- modulesets/gnome-world-3.4.modules | 4 ++-- modulesets/gnome-world-3.6.modules | 4 ++-- modulesets/gnome-world-3.8.modules | 4 ++-- 9 files changed, 15 insertions(+), 18 deletions(-) commit 094014266bd4a0f90d324feec7f42b2a5bef983e Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:35:39 2013 +0000 modulesets: Remove unnecessary ‘version’ attribute from autotools elements It isn’t in the schema, and doesn’t appear to be used by the Python. It duplicates the same attribute already on the <branch> element. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/gnome-apps-3.0.modules | 2 +- modulesets/gnome-suites-core-3.10.modules | 2 +- modulesets/gnome-suites-core-3.4.modules | 2 +- modulesets/gnome-suites-core-3.6.modules | 2 +- modulesets/gnome-suites-core-3.8.modules | 2 +- modulesets/gnome-suites-core-deps-3.0.modules | 2 +- modulesets/gnome-suites-core-deps-3.10.modules | 4 ++-- modulesets/gnome-suites-core-deps-3.2.modules | 2 +- modulesets/gnome-suites-core-deps-3.4.modules | 2 +- modulesets/gnome-suites-core-deps-3.6.modules | 2 +- modulesets/gnome-suites-core-deps-3.8.modules | 4 ++-- modulesets/gnome-suites-core-deps-base-3.4.modules | 6 +++--- modulesets/gnome-suites-core-deps-base-3.6.modules | 6 +++--- 13 files changed, 19 insertions(+), 19 deletions(-) commit 6ed4fb5f885f7ce017e46420f8836b7d5483ac95 Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:11:47 2013 +0000 modulesets: Update schemas to represent the state of the modulesets These updates are not exhaustive, but do mean that (with some fixes to be committed shortly) all moduleset files now validate against both schemas. Helps: https://bugzilla.gnome.org/show_bug.cgi?id=696184 modulesets/moduleset.dtd | 25 ++++++++++++++++--------- modulesets/moduleset.rnc | 42 +++++++++++++++++++++++++++++------------- 2 files changed, 45 insertions(+), 22 deletions(-) commit 7cdf167a0bb644cd229de9247234fc13826829fd Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 16:10:31 2013 +0000 jhbuild: Fix validation of <dep> elements jhbuild/modtypes/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 0b1d66d9b25118e82cbf0e4b045db800c2046060 Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 12:20:59 2013 +0000 install-check: Fix GCC warnings install-check.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 7f7b5892256a44ecb95b5660a465547f8a1248f3 Author: Philip Withnall <philip@tecnocode.co.uk> Date: Wed Mar 20 12:10:23 2013 +0000 build: Include DTDs and XSL file in EXTRA_DIST Makefile.am | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)