btrfs-progs/Documentation/Makefile
Peter Wu 74f7b51c74 btrfs-progs: Documentation: fix broken conversion
Fixes various formatting issues:

Fixes quoting issues in various manpages. Before/After excerpts for
mkfs.btrfs(8), btrfs-qgroup(8):

    mkfs.btrfs [-A|--alloc-start '<alloc-start>']
    mkfs.btrfs [-A|--alloc-start <alloc-start>]
    id 0/<subvolume id>''
    id 0/<subvolume id>
    If multiple '<attr>'s is given, use comma to separate.
    If multiple <attr>s is given, use comma to separate.

The one that is most apparent is the removal of text in
btrfs-subvolume(8) and others. Before/After:

    list [options] [-G <value>] [-C <value>] [--sort=rootid,gen,ogen,path] <path>
    list [options] [-G [+|-]<value>] [-C [+|-]<value>] [--sort=rootid,gen,ogen,path] <path>
    create [-i <qgroupid>] <name>
    create [-i <qgroupid>] [<dest>]<name>

This happens because `<foo>` was replaced by `'<foo>'` in the sed
expression, which is then treated as a constrained quote. As a result,
the `[...]` before the string gets interpreted as "quoted text
attributes".

In this patch, the sed expression is dropped and asciidoc is configured
to recognize `<...>` as a unconstrained quoted string (such that
`<attr>s` is correctly emphasized) and to avoid adding quotes in
contexts where it is not needed.

A remaining problem is that some texts (the one between brackets) do not
add the emphasis for `<...>`. While this could be solved by replacing
`[` and `]` with `&#91;` and `&#93;` using sed, it introduces formatting
problems in btrfs-zero-log(8) because the context is ignored.

Signed-off-by: Peter Wu <peter@lekensteyn.nl>
Signed-off-by: David Sterba <dsterba@suse.cz>
2015-01-09 18:36:50 +01:00

121 lines
3.1 KiB
Makefile

# Guard against environment variables
MAN8_TXT =
# Top level commands
MAN8_TXT += btrfs.txt
MAN8_TXT += btrfs-convert.txt
MAN8_TXT += btrfs-debug-tree.txt
MAN8_TXT += btrfs-find-root.txt
MAN8_TXT += btrfs-image.txt
MAN8_TXT += btrfs-map-logical.txt
MAN8_TXT += btrfs-show-super.txt
MAN8_TXT += btrfstune.txt
MAN8_TXT += btrfs-zero-log.txt
MAN8_TXT += fsck.btrfs.txt
MAN8_TXT += mkfs.btrfs.txt
# Sub commands for btrfs
MAN8_TXT += btrfs-subvolume.txt
MAN8_TXT += btrfs-filesystem.txt
MAN8_TXT += btrfs-balance.txt
MAN8_TXT += btrfs-device.txt
MAN8_TXT += btrfs-scrub.txt
MAN8_TXT += btrfs-check.txt
MAN8_TXT += btrfs-rescue.txt
MAN8_TXT += btrfs-inspect-internal.txt
MAN8_TXT += btrfs-send.txt
MAN8_TXT += btrfs-receive.txt
MAN8_TXT += btrfs-quota.txt
MAN8_TXT += btrfs-qgroup.txt
MAN8_TXT += btrfs-replace.txt
MAN8_TXT += btrfs-restore.txt
MAN8_TXT += btrfs-property.txt
# Mount manpage
MAN5_TXT += btrfs-mount.txt
MAN_TXT = $(MAN8_TXT) $(MAN5_TXT)
MAN_XML = $(patsubst %.txt,%.xml,$(MAN_TXT))
DOC_MAN5 = $(patsubst %.txt,%.5,$(MAN5_TXT))
GZ_MAN5 = $(patsubst %.txt,%.5.gz,$(MAN5_TXT))
DOC_MAN8 = $(patsubst %.txt,%.8,$(MAN8_TXT))
GZ_MAN8 = $(patsubst %.txt,%.8.gz,$(MAN8_TXT))
mandir ?= $(prefix)/share/man
man8dir = $(mandir)/man8
man5dir = $(mandir)/man5
ASCIIDOC = asciidoc
ASCIIDOC_EXTRA =
MANPAGE_XSL = manpage-normal.xsl
XMLTO = xmlto
XMLTO_EXTRA =
XMLTO_EXTRA = -m manpage-bold-literal.xsl
GZIPCMD = gzip
INSTALL ?= install
RM ?= rm -f
LNS ?= ln -sf
BTRFS_VERSION = $(shell sed -n 's/.*BTRFS_BUILD_VERSION "Btrfs \(.*\)"/\1/p'\
../version.h)
ifneq ($(findstring $(MAKEFLAGS),s),s)
ifndef V
QUIET_RM = @
QUIET_ASCIIDOC = @echo " [ASCII] $@";
QUIET_XMLTO = @echo " [XMLTO] $@";
QUIET_GZIP = @echo " [GZ] $@";
QUIET_STDERR = 2> /dev/null
QUIET_SUBDIR0 = +@subdir=
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \
$(MAKE) $(PRINT_DIR) -C $$subdir
export V
endif
endif
all: man
man: man5 man8
man5: $(GZ_MAN5)
man8: $(GZ_MAN8)
install: install-man
install-man: man
$(INSTALL) -d -m 755 $(DESTDIR)$(man5dir)
$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
$(INSTALL) -m 644 $(GZ_MAN5) $(DESTDIR)$(man5dir)
# the source file name of btrfs.5 clashes with section 8 page, but we
# want to keep the code generic
mv $(DESTDIR)$(man5dir)/btrfs-mount.5.gz $(DESTDIR)$(man5dir)/btrfs.5.gz
$(INSTALL) -m 644 $(GZ_MAN8) $(DESTDIR)$(man8dir)
$(LNS) btrfs-check.8.gz $(DESTDIR)$(man8dir)/btrfsck.8.gz
uninstall:
cd $(DESTDIR)$(man8dir); rm -f btrfs-check.8.gz $(GZ_MAN8)
rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(man8dir)
clean:
$(QUIET_RM)$(RM) *.xml *.xml+ *.5 *.5.gz *.8 *.8.gz
%.5.gz : %.5
$(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@
%.8.gz : %.8
$(QUIET_GZIP)$(GZIPCMD) -n -c $< > $@
%.5 : %.xml
$(QUIET_XMLTO)$(RM) $@ && \
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
%.8 : %.xml
$(QUIET_XMLTO)$(RM) $@ && \
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
%.xml : %.txt asciidoc.conf
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(ASCIIDOC) -b docbook -d manpage -f asciidoc.conf \
$(ASCIIDOC_EXTRA) -abtrfs_version=$(BTRFS_VERSION) \
-o $@+ $< && \
mv $@+ $@