]> git.saurik.com Git - apt.git/commitdiff
- separate manpages from the rest of the doc building
authorDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 14 May 2012 12:39:15 +0000 (14:39 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 14 May 2012 12:39:15 +0000 (14:39 +0200)
  - make apt and apt-utils packages depend on manpages instead of full doc

Makefile
buildlib/defaults.mak
buildlib/manpage.mak
debian/changelog
debian/rules
doc/makefile
test/Makefile

index a35ad1d371ae5968d59f24948b4e6e7355dfdec1..24f5b3e2bf20a5180772639ea6fef0f4c30d28a0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ endif
 default: startup all
 
 .PHONY: headers library clean veryclean all binary program doc test update-po
-all headers library clean veryclean binary program doc test update-po startup dirs:
+all headers library clean veryclean binary program doc manpages test update-po startup dirs:
        $(MAKE) -C apt-pkg $@
        $(MAKE) -C apt-inst $@
        $(MAKE) -C methods $@
@@ -21,7 +21,7 @@ all headers library clean veryclean binary program doc test update-po startup di
        $(MAKE) -C po $@
        $(MAKE) -C test $@
 
-all headers library clean veryclean binary program doc test update-po: startup dirs
+all headers library clean veryclean binary program doc manpages test update-po: startup dirs
 
 dirs: startup
 
index c10813e9d2126bc15744b063f004a42212f1a00a..7b084f4b916ddc484472d91c28f8e84f6facf0e7 100644 (file)
@@ -121,7 +121,7 @@ MKDIRS := $(BIN)
 all: dirs binary doc
 binary: library program
 maintainer-clean dist-clean distclean pristine sanity: veryclean
-startup headers library clean veryclean program test update-po:
+startup headers library clean veryclean program test update-po manpages:
 
 veryclean:
        echo Very Clean done for $(SUBDIR)
index 6cdf73ccf1690013aa4ec65ae90f6e80aa158d46..063841d86b80dc2232180d1edf8f98590ca0e511 100644 (file)
@@ -14,7 +14,8 @@ LOCAL := manpage-$(firstword $(SOURCE))
 $(LOCAL)-LIST := $(addprefix $(DOC)/,$(SOURCE))
 
 # Install generation hooks
-doc: $($(LOCAL)-LIST)
+doc: manpages
+manpages: $($(LOCAL)-LIST)
 veryclean: veryclean/$(LOCAL)
 
 MKDIRS += $(DOC)
index 12097ca6f76594c2240931eddedf1a3a4a4da8ce..3de297513c4dc5c5b84d0da1d5a6bf853344dd87 100644 (file)
@@ -6,10 +6,12 @@ apt (0.9.4) UNRELEASED; urgency=low
       as we don't need a symbol for it as it is not in a header
   * Makefile, buildlib/*.mak:
     - reshuffle dependencies so that parallel building seems to work
+    - separate manpages from the rest of the doc building
   * prepare-release:
     - apt-inst version isn't apt versions, so don't override variable
   * debian/rules:
     - apt-utils packages manpages, so it should depend on build-doc
+    - make apt and apt-utils packages depend on manpages instead of full doc
 
  -- David Kalnischkies <kalnischkies@gmail.com>  Fri, 11 May 2012 23:26:59 +0200
 
index fcdff9d01e49fec15c6eb913096d68560751c334..7b221fc2a051df20a04fb2cfbcc3b08a9e18f7d6 100755 (executable)
@@ -67,7 +67,8 @@ LIBAPT_INST=libapt-inst$(LIBAPTINST_MAJOR)
 export DPKG_GENSYMBOLS_CHECK_LEVEL=0
 
 build: build/build-stamp
-build-doc: build/build-doc-stamp
+build-doc: build-manpages build/build-doc-stamp
+build-manpages: build/build-manpages-stamp
 
 # Note that this is unconditionally done first as part of loading environment.mak
 # The true is needed to force make to reload environment.mak after running
@@ -97,11 +98,16 @@ else
 endif
        touch $@
 
-build/build-doc-stamp: build/configure-stamp
+build/build-doc-stamp: build/build-manpages-stamp build/configure-stamp
        # Add here commands to compile the package.
        $(MAKE) doc
        touch $@
 
+build/build-manpages-stamp: build/configure-stamp
+       # Add here commands to compile the package.
+       $(MAKE) manpages
+       touch $@
+
 clean:
        dh_testdir
 
@@ -167,7 +173,7 @@ apt-doc: build-doc
 
 binary-arch: $(LIBAPT_PKG) $(LIBAPT_INST) apt libapt-pkg-dev apt-utils apt-transport-https
 apt_MANPAGES = apt-cache apt-cdrom apt-config apt-get apt-key apt-mark apt-secure apt apt.conf apt_preferences sources.list
-apt: build build-doc
+apt: build build-manpages
        dh_testdir -p$@
        dh_testroot -p$@
        dh_prep -p$@
@@ -231,7 +237,7 @@ libapt-pkg-dev: build debian/libapt-pkg-dev.install
        dh_builddeb -p$@
 
 apt-utils_MANPAGES = apt-sortpkgs apt-ftparchive apt-extracttemplates
-apt-utils: build build-doc
+apt-utils: build build-manpages
        dh_testdir -p$@
        dh_testroot -p$@
        dh_prep -p$@
index df2ddb25f37fc582643f230e9f1bd15c250b6f19..f5258693520e0a1d4ede575f6799557eb420e3a2 100644 (file)
@@ -11,6 +11,11 @@ SOURCE = $(wildcard *.sgml)
 DEBIANDOC_HTML_OPTIONS=-l en.UTF-8
 include $(DEBIANDOC_H)
 
+MANPAGEPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po)))
+MANPAGEPOLIST = $(patsubst %,manpages-translation-%,$(MANPAGEPO))
+
+doc: manpages
+
 # Do not use XMLTO, build the manpages directly with XSLTPROC
 ifdef XSLTPROC
 # generate a list of accepted man page translations
@@ -22,15 +27,26 @@ LOCAL := manpage-$(firstword $(SOURCE))
 $(LOCAL)-LIST := $(SOURCE)
 
 # Install generation hooks
-doc: $($(LOCAL)-LIST)
-veryclean: veryclean/$(LOCAL)
+manpages: $(MANPAGEPOLIST) $($(LOCAL)-LIST)
 
 $($(LOCAL)-LIST) :: % : %.xml $(INCLUDES)
        echo Creating man page $@
        $(XSLTPROC) -o $@ $(STYLESHEET) $<
 
+$(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a
+       $(MAKE) -C $(dir $<) doc
+
+.PHONY: manpages dirs-manpage-subdirs $(MANPAGEPOLIST)
+dirs: dirs-manpage-subdirs
+dirs-manpage-subdirs:
+       for i in $(MANPAGEPO); do \
+               test -d $$i || mkdir $$i; \
+               test -f $$i/makefile || sed "s#@@LANG@@#$$i#" lang.makefile > $$i/makefile; \
+       done
+
 # Clean rule
 .PHONY: veryclean/$(LOCAL)
+veryclean: veryclean/$(LOCAL)
 veryclean/$(LOCAL):
        -rm -rf $($(@F)-LIST)
 
@@ -47,12 +63,6 @@ TARGET = binary
 include $(COPY_H)
 
 .PHONY: clean clean-subdirs veryclean veryclean-subdirs all binary doc
-doc:
-       for i in $(shell ls po/*.po | sed -r 's#po/([a-z]+[A-Z_]*).po#\1#'); do \
-               test -d $$i || mkdir $$i; \
-               test -f $$i/makefile || sed "s#@@LANG@@#$$i#" lang.makefile > $$i/makefile; \
-               $(MAKE) -C $$i $@; \
-       done
 
 clean: clean-subdirs
 veryclean: veryclean-subdirs
index b42a90b25b1b743e759992c7d9665cf1e5f3623f..8207ebdab8648578a63db46e53e659797cf07175 100644 (file)
@@ -7,7 +7,7 @@ ifndef NOISY
 endif
 
 .PHONY: startup headers library clean veryclean all binary program doc test update-po
-startup all clean veryclean binary program dirs test update-po:
+startup all clean veryclean binary program dirs test update-po manpages:
        $(MAKE) -C libapt $@
        $(MAKE) -C interactive-helper $@