1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-25 13:17:41 +03:00

Revert "Improve docs syntax checking"

This reverts commit b292256272.

Further discussion is needed

Discussion: https://postgr.es/m/0198ec0f-0269-4cf4-b4a7-22c05b3047cb@eisentraut.org
This commit is contained in:
Andrew Dunstan
2025-10-06 07:53:31 -04:00
parent b93172ca59
commit 5b5e8a29c1
4 changed files with 15 additions and 106 deletions

View File

@@ -627,8 +627,6 @@ task:
TEST_JOBS: 8 TEST_JOBS: 8
IMAGE: ghcr.io/cirruslabs/macos-runner:sonoma IMAGE: ghcr.io/cirruslabs/macos-runner:sonoma
XML_CATALOG_FILES: /opt/local/share/xml/docbook/4.5/catalog.xml
CIRRUS_WORKING_DIR: ${HOME}/pgsql/ CIRRUS_WORKING_DIR: ${HOME}/pgsql/
CCACHE_DIR: ${HOME}/ccache CCACHE_DIR: ${HOME}/ccache
MACPORTS_CACHE: ${HOME}/macports-cache MACPORTS_CACHE: ${HOME}/macports-cache
@@ -643,7 +641,6 @@ task:
MACOS_PACKAGE_LIST: >- MACOS_PACKAGE_LIST: >-
ccache ccache
docbook-xml-4.5
icu icu
kerberos5 kerberos5
lz4 lz4

View File

@@ -124,7 +124,7 @@ ifeq ($(STYLE),website)
XSLTPROC_HTML_FLAGS += --param website.stylesheet 1 XSLTPROC_HTML_FLAGS += --param website.stylesheet 1
endif endif
html: check html-stamp html: html-stamp
html-stamp: stylesheet.xsl postgres-full.xml $(ALL_IMAGES) html-stamp: stylesheet.xsl postgres-full.xml $(ALL_IMAGES)
$(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $(wordlist 1,2,$^) $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $(wordlist 1,2,$^)
@@ -200,8 +200,8 @@ MAKEINFO = makeinfo
## ##
# Quick syntax check without style processing # Quick syntax check without style processing
check: postgres.sgml $(ALL_SGML) check: postgres.sgml $(ALL_SGML) check-tabs check-nbsp
$(PERL) $(srcdir)/sgml_syntax_check.pl --xmllint "$(XMLLINT)" --srcdir $(srcdir) $(XMLLINT) $(XMLINCLUDE) --noout --valid $<
## ##
@@ -261,6 +261,18 @@ clean-man:
endif # sqlmansectnum != 7 endif # sqlmansectnum != 7
# tabs are harmless, but it is best to avoid them in SGML files
check-tabs:
@( ! grep ' ' $(wildcard $(srcdir)/*.sgml $(srcdir)/func/*.sgml $(srcdir)/ref/*.sgml $(srcdir)/*.xsl) ) || \
(echo "Tabs appear in SGML/XML files" 1>&2; exit 1)
# Non-breaking spaces are harmless, but it is best to avoid them in SGML files.
# Use perl command because non-GNU grep or sed could not have hex escape sequence.
check-nbsp:
@ ( $(PERL) -ne '/\xC2\xA0/ and print("$$ARGV:$$_"),$$n++; END {exit($$n>0)}' \
$(wildcard $(srcdir)/*.sgml $(srcdir)/func/*.sgml $(srcdir)/ref/*.sgml $(srcdir)/*.xsl $(srcdir)/images/*.xsl) ) || \
(echo "Non-breaking spaces appear in SGML/XML files" 1>&2; exit 1)
## ##
## Clean ## Clean
## ##

View File

@@ -306,26 +306,3 @@ endif
if alldocs.length() != 0 if alldocs.length() != 0
alias_target('alldocs', alldocs) alias_target('alldocs', alldocs)
endif endif
sgml_syntax_check = files(
'sgml_syntax_check.pl'
)
test(
'sgml_syntax_check',
perl,
protocol: 'exitcode',
suite: 'doc',
args: [
sgml_syntax_check,
'--xmllint',
'@0@ --nonet'.format(xmllint_bin.full_path()),
'--srcdir',
meson.current_source_dir(),
'--builddir',
meson.current_build_dir(),
],
depends: doc_generated
)
testprep_targets += doc_generated

View File

@@ -1,77 +0,0 @@
# /usr/bin/perl
# Copyright (c) 2025, PostgreSQL Global Development Group
# doc/src/sgml/sgml_syntax_check.pl
use strict;
use warnings FATAL => 'all';
use Getopt::Long;
use File::Find;
my $xmllint;
my $srcdir;
my $builddir;
GetOptions(
'xmllint:s' => \$xmllint,
'srcdir:s' => \$srcdir,
'builddir:s' => \$builddir) or die "$0: wrong arguments";
die "$0: --srcdir must be specified\n" unless defined $srcdir;
my $xmlinclude = "--path . --path $srcdir";
$xmlinclude .= " --path $builddir" if defined $builddir;
# find files to process - all the sgml and xsl files (including in subdirectories)
my @files_to_process;
my @dirs_to_search = ($srcdir);
push @dirs_to_search, $builddir if defined $builddir;
find(
sub {
return unless -f $_;
return if $_ !~ /\.(sgml|xsl)$/;
push @files_to_process, $File::Find::name;
},
@dirs_to_search,);
# tabs and non-breaking spaces are harmless, but it is best to avoid them in SGML files
sub check_tabs_and_nbsp
{
my $errors = 0;
for my $f (@files_to_process)
{
open my $fh, "<:encoding(UTF-8)", $f or die "Can't open $f: $!";
my $line_no = 0;
while (<$fh>)
{
$line_no++;
if (/\t/)
{
print STDERR "Tab found in $f:$line_no\n";
$errors++;
}
if (/\xC2\xA0/)
{
print STDERR "$f:$line_no: contains non-breaking space\n";
$errors++;
}
}
close($fh);
}
if ($errors)
{
die "Tabs and/or non-breaking spaces appear in SGML/XML files\n";
}
}
sub run_xmllint
{
my $cmd = "$xmllint $xmlinclude --noout --valid postgres.sgml";
system($cmd) == 0 or die "xmllint validation failed\n";
}
run_xmllint();
check_tabs_and_nbsp();