about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--Makefile.config.in1
-rw-r--r--doc/manual/local.mk29
-rw-r--r--doc/manual/quote-literals.xsl10
-rw-r--r--release.nix2
5 files changed, 34 insertions, 11 deletions
diff --git a/.gitignore b/.gitignore
index 0d10f6e1f084..76fc815eba1f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,8 +33,7 @@ Makefile.config
 /doc/manual/*.8
 /doc/manual/images
 /doc/manual/version.txt
-/doc/manual/NEWS.html
-/doc/manual/NEWS.txt
+/doc/manual/release-notes.html
 
 # /scripts/
 /scripts/nix-profile.sh
diff --git a/Makefile.config.in b/Makefile.config.in
index 5524ea3ad8d3..09374833221c 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -29,5 +29,6 @@ pkglibdir = $(libdir)/$(PACKAGE_NAME)
 prefix = @prefix@
 storedir = @storedir@
 sysconfdir = @sysconfdir@
+w3m = @w3m@
 xmllint = @xmllint@
 xsltproc = @xsltproc@
diff --git a/doc/manual/local.mk b/doc/manual/local.mk
index 4342215b0e44..0e583b281c33 100644
--- a/doc/manual/local.mk
+++ b/doc/manual/local.mk
@@ -76,7 +76,7 @@ $(d)/manual.pdf: $(d)/manual.xml $(MANUAL_SRCS) $(d)/manual.is-valid
 	$(trace-gen) if test "$(dblatex)" != ""; then \
 		cd doc/manual && $(XSLTPROC) --xinclude --stringparam profile.condition manual \
 		  $(docbookxsl)/profiling/profile.xsl manual.xml | \
-		  $(dblatex) -o manual.pdf $(dblatex_opts) -; \
+		  $(dblatex) -o $(notdir $@) $(dblatex_opts) -; \
 	else \
 		echo "Please install dblatex and rerun configure."; \
 		exit 1; \
@@ -84,3 +84,30 @@ $(d)/manual.pdf: $(d)/manual.xml $(MANUAL_SRCS) $(d)/manual.is-valid
 
 clean-files += $(d)/manual.pdf
 
+
+# Generate the release notes.
+
+NEWS_OPTS = \
+ --stringparam generate.toc "article nop" \
+ --stringparam section.autolabel.max.depth 0 \
+ --stringparam header.rule 0
+
+$(d)/release-notes.html: $(d)/release-notes.xml
+	$(trace-gen) $(XSLTPROC) --xinclude --output $@ $(NEWS_OPTS) \
+	  $(docbookxsl)/html/docbook.xsl $<
+
+NEWS: $(d)/release-notes.xml
+	$(trace-gen) $(XSLTPROC) --xinclude doc/manual/quote-literals.xsl $< | \
+	  $(XSLTPROC) --output $@.tmp.html $(NEWS_OPTS) \
+	  $(docbookxsl)/html/docbook.xsl - && \
+	LANG=en_US.UTF-8 $(w3m) -dump $@.tmp.html > $@.tmp && \
+	sed -e 's/●/*/g' -e 's/○/-/g' -e 's/━/-/g' < $@.tmp > NEWS && \
+	rm $@.tmp $@.tmp.html
+
+dist-files += NEWS $(d)/release-notes.html
+
+clean-files += NEWS $(d)/release-notes.html
+
+all: $(d)/release-notes.html NEWS
+
+$(foreach file, $(d)/release-notes.html, $(eval $(call install-data-in, $(file), $(docdir)/manual)))
diff --git a/doc/manual/quote-literals.xsl b/doc/manual/quote-literals.xsl
index 03971bff90dc..5002643dbda4 100644
--- a/doc/manual/quote-literals.xsl
+++ b/doc/manual/quote-literals.xsl
@@ -7,9 +7,9 @@
   extension-element-prefixes="str">
 
   <xsl:output method="xml"/>
-  
+
   <xsl:template match="function|command|literal|varname|filename|option|quote">`<xsl:apply-templates/>'</xsl:template>
-  
+
   <xsl:template match="token"><xsl:text>    </xsl:text><xsl:apply-templates /><xsl:text>
 </xsl:text></xsl:template>
 
@@ -21,7 +21,7 @@
     <section>
       <xsl:apply-templates />
       <screen><xsl:text>
-      </xsl:text></screen>        
+      </xsl:text></screen>
     </section>
   </xsl:template>
 
@@ -37,8 +37,4 @@
     </xsl:element>
   </xsl:template>
 
-  <xsl:template match="text()">
-    <xsl:value-of select="translate(., '‘’“”—', concat(&quot;`'&quot;, '&quot;&quot;-'))" />
-  </xsl:template>
-  
 </xsl:stylesheet>
diff --git a/release.nix b/release.nix
index b64bc9415fc0..285b8fb4f46d 100644
--- a/release.nix
+++ b/release.nix
@@ -69,7 +69,7 @@ let
 
           echo "doc manual $out/share/doc/nix/manual" >> $out/nix-support/hydra-build-products
           echo "doc-pdf manual $out/manual.pdf" >> $out/nix-support/hydra-build-products
-          echo "doc release-notes $out/share/doc/nix/release-notes" >> $out/nix-support/hydra-build-products
+          echo "doc release-notes $out/share/doc/nix/manual release-notes.html" >> $out/nix-support/hydra-build-products
         '';
       };