Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pgAHY-0004lT-Qa for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Mar 2023 20:14:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pgAHX-0007dl-Ho for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Mar 2023 20:14:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pgAHV-0007dc-Lm for pgsql-hackers@lists.postgresql.org; Sat, 25 Mar 2023 20:14:31 +0000 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pgAHM-0005ki-85 for pgsql-hackers@postgresql.org; Sat, 25 Mar 2023 20:14:29 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id DF9EE3200312; Sat, 25 Mar 2023 16:14:16 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Sat, 25 Mar 2023 16:14:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=1679775256; x=1679861656; bh=I0zG9ROj7uqZ6CQljkzCOrX6j bBTvVA8qjmcofDelTI=; b=Vuo/GobcXSEadQoYjA3o2MXXroP0rAXOxxf7MfPdL JUgkiwLJmNyWP4xBUHpZMiLDS9gv8ABYhPLJdtAHRKNUVo5xeSi2KU+n0XvAcyND vGdgsgvT/XBq5i1JL6A0XBfFoPLHTuFNDSxqUwUXswdvhXHhvtaSURQ74blh6b3Y ssl6NLfdvLhRjAMMv2x0jkf98SOu1tIn/hq+HLOo5b2xQIkIye1mxBmSwZ5rIVMs h4r/mGpjOzhoRDiLUMN0Uv2v89mX3uCBFbTSh+Ny7yhlJYbb3NzldeWrV2wtlcVR P6zmnzmvawIwMeuZN2bh4ZcF66nElPJzvipEXfumXz7gQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1679775256; x=1679861656; bh=I0zG9ROj7uqZ6CQljkzCOrX6jbBTvVA8qjm cofDelTI=; b=b7i2N4LUpOgCjTy389kbzim7Q1DVEw4uhbaB6IZG5dOad67ufSf /0WUkCvqptFG+nph/exAh1vYMZQUbeHSVh85ZQP+vOktVfPyFkaUzu/ljaSA6gvR y91A3JDJV6HBL/+T3PGCry/mPqoEJDjYRK943I++05lgLdd1KYdgBUiNEwf4zAWA il1hbAw3lQLYWiv/xhX6ZDpKQ2e+p8VM0/TOXRpVd1420XHCOuUT9piiJVnmDJt5 Ugb0eY2Ot1b4sMqnGLn5P2UfO4uNCiZY0hH5UD3rxXaGI8mMjkOwTy7PR1coHWyK 56BEFbgUUKnXFVsVD4vtb5U3wjphZtLq8Pg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegkedgudefkecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enogfuuhhsphgvtghtffhomhgrihhnucdlgeelmdenucfjughrpeffhffvuffkgggtuges thdtredttddtvdenucfhrhhomheptehnughrvghsucfhrhgvuhhnugcuoegrnhgurhgvsh esrghnrghrrgiivghlrdguvgeqnecuggftrfgrthhtvghrnhepheeluedtjeejgedukeeg geevleefueevtdeitedvgefhieekueetgeehvddtfedvnecuffhomhgrihhnpehsohhurh gtvghfohhrghgvrdhnvghtpdhpohhsthhgrhgvshhqlhdrohhrghenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrnhgurhgvshesrghnrghrrg iivghlrdguvg X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 25 Mar 2023 16:14:15 -0400 (EDT) Date: Sat, 25 Mar 2023 13:14:14 -0700 From: Andres Freund To: pgsql-hackers@postgresql.org, Justin Pryzby Subject: what should install-world do when docs are not available? Message-ID: <20230325201414.sh7c6xlut2fpunnv@awork3.anarazel.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, A question by Justin made me wonder what the right behaviour for world, install-world should be when the docs tools aren't available. I'm wondering from the angle of meson, but it also seems something we possibly should think about for autoconf. Right now if one does install-world with autoconf, without having xmllint or xsltproc available, one gets an error: ERROR: `xmllint' is missing on your system. Is that good? Should meson behave the same? I wonder if, for meson, the best behaviour would be to make 'docs' a feature set to auto. If docs set to enabled, and the necessary tools are not available, fail at that time, instead of doing so while building. If that's what we decide to do, perhaps "docs" should be split further? The dependencies for pdf generation are a lot more heavyweight. We should probably also generate a useful error when the stylesheets aren't available. Right now we just generate a long error: /usr/bin/xsltproc --nonet --path . --stringparam pg.version '16devel' /home/andres/src/postgresql/doc/src/sgml/stylesheet.xsl postgres-full.xml I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl" compilation error: file /home/andres/src/postgresql/doc/src/sgml/stylesheet.xsl line 6 element import xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/xhtml/chunk.xsl I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/common/entities.ent /home/andres/src/postgresql/doc/src/sgml/stylesheet-html-common.xsl:4: warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/common/entities.ent" %common.entities; ^ /home/andres/src/postgresql/doc/src/sgml/stylesheet-html-common.xsl:116: parser error : Entity 'primary' not defined translate(substring(&primary;, 1, 1), ... Greetings, Andres Freund [1] https://www.postgresql.org/message-id/20230325180310.o6drykb3uz4u4x4r%40awork3.anarazel.de