Accepting request 545062 from home:thomas-schraitle:branches:Publishing

- Correct Makefile:
  - Add more pattern rules
  - Use more builtin make functions
  - Create links in nvdl directory to docbook.{rng,sch}
  - Add missing assembly.rn{c,g} and dbits.rn{c,g} for Schematron
- Correct spec file:
  - Add docbook_5-docbook5{0,1}.nvdl.patch
  - Apply spec-cleaner

OBS-URL: https://build.opensuse.org/request/show/545062
OBS-URL: https://build.opensuse.org/package/show/Publishing/docbook_5?expand=0&rev=21
This commit is contained in:
Thomas Schraitle
2017-11-24 08:13:12 +00:00
committed by Git OBS Bridge
parent f2faa3d07a
commit c15174c855
5 changed files with 142 additions and 42 deletions

131
Makefile
View File

@@ -12,78 +12,133 @@ endif
SHELL := /bin/bash
PACKAGE := docbook_5
VERSION := 5.1
DB_VERSIONS := 5.0 5.1
LAST_VER := $(lastword $(DB_VERSIONS))
CDIR := $(shell pwd)
#
DATADIR := $(PREFIX)/share
DATADIR := $(DESTDIR)$(PREFIX)/share
#
BINDIR := $(DESTDIR)$(PREFIX)/bin
# Catalog stuff
DB_CATALOG_SRC := $(PACKAGE).xml
CATALOG_DIR := $(DESTDIR)/etc/xml/catalog.d
DB_CATALOG := $(CATALOG_DIR)/$(DB_CATALOG_SRC)
DB_CATALOG_SRC := $(PACKAGE).xml
XML_CATALOG_DIR := $(DESTDIR)/etc/xml/catalog.d
DB_CATALOG := $(XML_CATALOG_DIR)/$(DB_CATALOG_SRC)
#
DB_XML_PATH := $(DESTDIR)$(DATADIR)/xml/docbook
DB_XML_PATH := $(DATADIR)/xml/docbook
SCHEMA_PATH := $(DB_XML_PATH)/schema
#
XSLT_PATH := $(DB_XML_PATH)/stylesheet/upgrade
#
DTD_PATH := $(SCHEMA_PATH)/dtd
XSD_PATH := $(SCHEMA_PATH)/xsd
RNG_PATH := $(SCHEMA_PATH)/rng
SCH_PATH := $(SCHEMA_PATH)/sch
XSD_PATH := $(SCHEMA_PATH)/xsd
NVDL_PATH := $(SCHEMA_PATH)/nvdl
#
PATHS_50 := $(DTD_PATH)/5.0 $(RNG_PATH)/5.0 $(SCH_PATH)/5.0 $(XSD_PATH)/5.0 $(NVDL_PATH)/5.0
PATHS_51 := $(RNG_PATH)/5.1 $(SCH_PATH)/5.1 $(NVDL_PATH)/5.1
#
DB_VERSIONS := 5.0 5.1
DB_DTD_PATHS := $(DTD_PATH)/5.0
DB_XSD_PATHS := $(XSD_PATH)/5.0
DB_RNG_PATHS := $(foreach v,$(DB_VERSIONS),$(RNG_PATH)/$(v))
DB_SCH_PATHS := $(foreach v,$(DB_VERSIONS),$(SCH_PATH)/$(v))
DB_NVDL_PATHS := $(foreach v,$(DB_VERSIONS),$(NVDL_PATH)/$(v))
INST_DIRECTORIES := $(PATHS_50) $(PATHS_51) $(CATALOG_DIR) $(BINDIR) $(XSLT_PATH)
INST_DIRECTORIES := $(XML_CATALOG_DIR) $(BINDIR) $(XSLT_PATH) \
$(DB_DTD_PATHS) $(DB_XSD_PATHS) $(DB_RNG_PATHS) $(DB_SCH_PATHS) $(DB_NVDL_PATHS)
DTD_SCHEMAS := $(wildcard docbook-5.0/dtd/*.dtd)
DTD_SCHEMAS := $(patsubst docbook-5.0/dtd/%,%,$(DTD_SCHEMAS))
DTD_SCHEMAS := $(addprefix $(DB_DTD_PATHS)/,$(DTD_SCHEMAS))
#
XSD_SCHEMAS := $(wildcard docbook-5.0/xsd/*.xsd)
XSD_SCHEMAS := $(patsubst docbook-5.0/xsd/%,%,$(XSD_SCHEMAS))
XSD_SCHEMAS := $(addprefix $(DB_XSD_PATHS)/,$(XSD_SCHEMAS))
#
NVDL_SCHEMAS := $(wildcard $(foreach v,$(DB_VERSIONS),docbook-$(v)/*.nvdl))
NVDL_SCHEMAS := $(subst docbook-,,$(NVDL_SCHEMAS))
NVDL_SCHEMAS := $(addprefix $(NVDL_PATH)/,$(NVDL_SCHEMAS))
#
SCH_SCHEMAS := $(wildcard $(foreach p,$(DB_VERSIONS),docbook-$(p)/sch/*))
SCH_SCHEMAS := $(patsubst docbook-%,%,$(SCH_SCHEMAS))
SCH_SCHEMAS := $(subst sch/,,$(SCH_SCHEMAS))
SCH_SCHEMAS := $(addprefix $(SCH_PATH)/,$(SCH_SCHEMAS))
#
RNG_SCHEMAS := $(wildcard $(foreach p,$(DB_VERSIONS),docbook-$(p)/rng/*.rn?))
RNG_SCHEMAS := $(patsubst docbook-%,%,$(RNG_SCHEMAS))
RNG_SCHEMAS := $(subst rng/,,$(RNG_SCHEMAS))
RNG_SCHEMAS := $(addprefix $(RNG_PATH)/,$(RNG_SCHEMAS))
#
LINKS := $(foreach v,$(DB_VERSIONS),$(NVDL_PATH)/$(v)/docbook.rng \
$(NVDL_PATH)/$(v)/docbook.sch)
ALL_DB_SCHEMAS := $(DTD_SCHEMAS) $(XSD_SCHEMAS) \
$(RNG_SCHEMAS) $(SCH_SCHEMAS) $(NVDL_SCHEMAS) \
$(LINKS)
#-----------------------------
all: $(DB_CATALOG)
all: $(BINDIR)/db4-entities.pl
all: $(XSLT_PATH)/db4-upgrade.xsl
all: installdb50 installdb51
# Make relative path
define relpath =
$(shell realpath --relative-to $(dir $(2)) $(dir $(1)))
endef
#-----------------------------
.PHONY: install
install: $(DB_CATALOG)
install: $(BINDIR)/db4-entities.pl
install: $(XSLT_PATH)/db4-upgrade.xsl
install: $(ALL_DB_SCHEMAS)
install: | $(INST_DIRECTORIES)
@echo "Ready."
$(DTD_PATH)/5.0/%: docbook-5.0/dtd/% | $(DB_DTD_PATHS)
@echo "### Installing DTD $<"
install -m644 $< $@
$(XSD_PATH)/5.0/%: docbook-5.0/xsd/% | $(DB_XSD_PATHS)
@echo "### Installing XSD $<"
install -m644 $< $@
#-----------------------------
.PHONY: installdb50
installdb50: | $(PATHS_50)
@echo "### Installing DocBook 5.0 DTD, XSD, NVDL, RNG, and SCH"
install -m644 docbook-5.0/dtd/docbook.dtd $(DTD_PATH)/5.0
install -m644 docbook-5.0/docbook.nvdl $(NVDL_PATH)/5.0
install -m644 docbook-5.0/xsd/*.xsd $(XSD_PATH)/5.0
install -m644 docbook-5.0/rng/* $(RNG_PATH)/5.0
install -m644 docbook-5.0/sch/* $(SCH_PATH)/5.0
$(RNG_PATH)/5.0/%: docbook-5.0/rng/% | $(DB_RNG_PATHS)
@echo "### Installing RNG 5.0 $<"
install -m644 $< $@
$(RNG_PATH)/5.1/%: docbook-5.1/rng/% | $(DB_RNG_PATHS)
@echo "### Installing RNG 5.1 $<"
install -m644 $< $@
.PHONY: installdb51
installdb51: | $(PATHS_51)
@echo "### Installing DocBook 5.1 NVDL, RNG, and SCH"
install -m644 docbook-5.1/docbook.nvdl $(NVDL_PATH)/5.1
install -m644 docbook-5.1/rng/* $(RNG_PATH)/5.1
install -m644 docbook-5.1/sch/* $(SCH_PATH)/5.1
$(SCH_PATH)/5.0/%: docbook-5.0/sch/% | $(DB_SCH_PATHS)
@echo "### Installing Schematron 5.0 $<"
install -m644 $< $@
$(SCH_PATH)/5.1/%: docbook-5.1/sch/% | $(DB_SCH_PATHS)
@echo "### Installing Schematron 5.1 $<"
install -m644 $< $@
$(NVDL_PATH)/5.0/%: docbook-5.0/% | $(DB_NVDL_PATHS)
@echo "### Installing NVDL 5.0 $<"
install -m644 $< $@
$(NVDL_PATH)/5.1/%: docbook-5.1/% | $(DB_NVDL_PATHS)
@echo "### Installing NVDL 5.1 $<"
install -m644 $< $@
define NVDL_LINK_tmpl =
$(NVDL_PATH)/$(1)/docbook.$(3): $(2)/$(1)/docbook.$(3)
@echo $$< $$@
ln -s $$(call relpath,$$<,$$@)/$$(notdir $$<) $$@
endef
$(foreach v,$(DB_VERSIONS),$(eval $(call NVDL_LINK_tmpl,$(v),$(RNG_PATH),rng)))
$(foreach v,$(DB_VERSIONS),$(eval $(call NVDL_LINK_tmpl,$(v),$(SCH_PATH),sch)))
.PHONY: install
install: all | $(INST_DIRECTORIES)
$(DB_CATALOG): $(DB_CATALOG_SRC) | $(CATALOG_DIR)
$(DB_CATALOG): $(DB_CATALOG_SRC) | $(XML_CATALOG_DIR)
@echo "### Installing XML Catalog..."
install -m644 $< $@
$(BINDIR)/db4-entities.pl: docbook-5.1/tools/db4-entities.pl | $(BINDIR)
$(BINDIR)/db4-entities.pl: docbook-$(LAST_VER)/tools/db4-entities.pl | $(BINDIR)
@echo "### Installing script db4-entities.pl"
install -m755 $< $@
$(XSLT_PATH)/db4-upgrade.xsl: docbook-5.1/tools/db4-upgrade.xsl | $(XSLT_PATH)
$(XSLT_PATH)/db4-upgrade.xsl: docbook-$(LAST_VER)/tools/db4-upgrade.xsl | $(XSLT_PATH)
@echo "### Installing upgrade stylesheet..."
install -m644 $< $@
# create needed directories
#
$(INST_DIRECTORIES):

View File

@@ -0,0 +1,13 @@
--- docbook-5.0/docbook.nvdl.bak 2017-11-10 20:33:44.294076884 +0100
+++ docbook-5.0/docbook.nvdl 2017-11-10 20:34:26.114496772 +0100
@@ -4,8 +4,8 @@
<mode name="docbook">
<namespace ns="http://docbook.org/ns/docbook">
- <validate schema="rng/docbook.rng" useMode="attach"/>
- <validate schema="sch/docbook.sch" useMode="attach"/>
+ <validate schema="docbook.rng" useMode="attach"/>
+ <validate schema="docbook.sch" useMode="attach"/>
</namespace>
</mode>

View File

@@ -0,0 +1,13 @@
--- docbook-5.1/docbook.nvdl.bak 2017-11-10 20:38:32.596975700 +0100
+++ docbook-5.1/docbook.nvdl 2017-11-10 20:38:47.445124748 +0100
@@ -4,8 +4,8 @@
<mode name="docbook">
<namespace ns="http://docbook.org/ns/docbook">
- <validate schema="rng/docbook.rng" useMode="attach"/>
- <validate schema="sch/docbook.sch" useMode="attach"/>
+ <validate schema="docbook.rng" useMode="attach"/>
+ <validate schema="docbook.sch" useMode="attach"/>
</namespace>
</mode>

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Sun Nov 12 17:02:51 UTC 2017 - thomas.schraitle@suse.com
- Correct Makefile:
- Add more pattern rules
- Use more builtin make functions
- Create links in nvdl directory to docbook.{rng,sch}
- Add missing assembly.rn{c,g} and dbits.rn{c,g} for Schematron
- Correct spec file:
- Add docbook_5-docbook5{0,1}.nvdl.patch
- Apply spec-cleaner
-------------------------------------------------------------------
Wed Oct 11 15:10:23 UTC 2017 - thomas.schraitle@suse.com

View File

@@ -27,8 +27,8 @@ License: SUSE-Oasis-Specification-Notice
Group: Productivity/Publishing/DocBook
Url: http://www.oasis-open.org/docbook/
# XML Catalog Entry
Source1: docbook_5.xml
Source2: docbook_5-README.SUSE
Source1: %{name}.xml
Source2: %{name}-README.SUSE
# DocBook Sources
Source3: docbook-5.0-docs.tar.bz2
Source4: docbook-5.1-docs.tar.bz2
@@ -37,7 +37,10 @@ Source5: Makefile
Source500: docbook-5.0.tar.bz2
# DB 5.1
Source510: docbook-5.1.tar.bz2
#
#
Patch501: %{name}-docbook50.nvdl.patch
Patch511: %{name}-docbook51.nvdl.patch
#
BuildRequires: fdupes
BuildRequires: sgml-skel
Requires: sgml-skel >= 0.7
@@ -91,6 +94,10 @@ tar -xf %{SOURCE4}
chmod -R a+rX,g-w,o-w .
find . -type f | xargs chmod a-x
# Patching
%patch501
%patch511
%build
# Nothing to build
@@ -98,7 +105,7 @@ find . -type f | xargs chmod a-x
make DESTDIR=%{buildroot}
# cleanup
%fdupes %{buildroot}
%fdupes -q %{buildroot}
%post
update-xml-catalog