1
0

rework doc

- drop linux-doc
- always build tools with docs
This commit is contained in:
Konstantin Demin 2024-10-29 05:12:06 +03:00
parent 035dfc85aa
commit 6d27d8e6f8
14 changed files with 4 additions and 101 deletions

View File

@ -227,7 +227,6 @@ Build profiles
Several build profiles are understood and supported: Several build profiles are understood and supported:
- nodoc: Exclude most documentation
- pkg.linux.notools: Exclude userland tool packages (linux-kbuild-<version>, - pkg.linux.notools: Exclude userland tool packages (linux-kbuild-<version>,
linux-perf, etc.) linux-perf, etc.)
- pkg.linux.mintools: Build minimal set of userland tool packages - pkg.linux.mintools: Build minimal set of userland tool packages
@ -262,5 +261,4 @@ All builds *must* be done out-of-tree in a subdirectory of
debian/build, so that the output files do not end up in the debian/build, so that the output files do not end up in the
linux-source-<version> binary package. Currently kernel builds use linux-source-<version> binary package. Currently kernel builds use
debian/build/build_<arch>_<featureset>_<flavour>, userland code uses debian/build/build_<arch>_<featureset>_<flavour>, userland code uses
debian/build/build-tools/<source-dir> and documentation uses debian/build/build-tools/<source-dir>.
debian/build/build-doc.

View File

@ -114,10 +114,6 @@ class Gencontrol(Base):
do_meta = config.packages.meta \ do_meta = config.packages.meta \
and vars['source_suffix'] != '-' + vars['version'] and vars['source_suffix'] != '-' + vars['version']
if config.packages.docs:
self.bundle.add('docs', (), makeflags, vars)
if do_meta:
self.bundle.add('docs.meta', (), makeflags, vars)
if config.packages.source: if config.packages.source:
self.bundle.add('sourcebin', (), makeflags, vars) self.bundle.add('sourcebin', (), makeflags, vars)
if do_meta: if do_meta:

1
debian/rules vendored
View File

@ -71,7 +71,6 @@ clean-generated:
rm -f \ rm -f \
debian/control \ debian/control \
debian/control.md5sum \ debian/control.md5sum \
debian/linux-doc.maintscript \
debian/linux-headers-*.maintscript \ debian/linux-headers-*.maintscript \
debian/linux-headers-*.postinst \ debian/linux-headers-*.postinst \
debian/linux-image-*.NEWS \ debian/linux-image-*.NEWS \

View File

@ -13,15 +13,11 @@ MAKE_BPFTOOL += feature-libbfd=0 feature-libbfd-liberty=0 feature-libbfd-liberty
all: all:
$(MAKE_BPFTOOL) $(MAKE_BPFTOOL)
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
$(MAKE_BPFTOOL) doc $(MAKE_BPFTOOL) doc
endif
# Check that bpftool wasn't linked with libbfd # Check that bpftool wasn't linked with libbfd
type ldd type ldd
! ldd $(CURDIR)/bpftool | grep -E '\blibbfd' ! ldd $(CURDIR)/bpftool | grep -E '\blibbfd'
install: install:
$(MAKE_BPFTOOL) install $(MAKE_BPFTOOL) install
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
$(MAKE_BPFTOOL) doc-install $(MAKE_BPFTOOL) doc-install
endif

View File

@ -48,9 +48,7 @@ all:
# set. We must define it even when building to avoid a rebuild when we # set. We must define it even when building to avoid a rebuild when we
# run 'make install'. # run 'make install'.
+$(MAKE_PERF) -C $(top_srcdir)/tools/perf -f Makefile.perf all DESTDIR=dummy +$(MAKE_PERF) -C $(top_srcdir)/tools/perf -f Makefile.perf all DESTDIR=dummy
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
+$(MAKE_PERF) -C $(top_srcdir)/tools/perf/Documentation man +$(MAKE_PERF) -C $(top_srcdir)/tools/perf/Documentation man
endif
# Check that perf didn't get linked against incompatibly-licensed libraries # Check that perf didn't get linked against incompatibly-licensed libraries
@if readelf -d $(CURDIR)/perf | sed -rne 's/.*NEEDED.*\[(.*)\]/\1/p' | grep -E '\blib(bfd|crypto)'; then \ @if readelf -d $(CURDIR)/perf | sed -rne 's/.*NEEDED.*\[(.*)\]/\1/p' | grep -E '\blib(bfd|crypto)'; then \
echo; \ echo; \

View File

@ -18,9 +18,6 @@ all:
install: install:
+$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower install DESTDIR=$(DESTDIR) +$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower install DESTDIR=$(DESTDIR)
ifneq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
rm -rf $(DESTDIR)/usr/share/man
endif
clean: clean:
+$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower clean +$(MAKE_CPUPOWER) -C $(top_srcdir)/tools/power/cpupower clean

View File

@ -14,9 +14,6 @@ all:
install: install:
$(MAKE_RTLA) install $(MAKE_RTLA) install
ifneq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
rm -rf $(DESTDIR)/usr/share/man
endif
clean: clean:
rm -rf * rm -rf *

View File

@ -23,9 +23,6 @@ all:
install: install:
$(MAKE) V=1 install $(MAKE) V=1 install
ifneq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
rm -rf $(DESTDIR)/usr/share/man
endif
clean: clean:
rm -rf * rm -rf *

48
debian/rules.real vendored
View File

@ -189,20 +189,6 @@ endif
rm -f $(INSTALL_DIR)/lib/modules/$(REAL_VERSION)/source rm -f $(INSTALL_DIR)/lib/modules/$(REAL_VERSION)/source
@$(stamp) @$(stamp)
$(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc
# sphinx commands in /usr/bin are managed by the alternatives system.
# Change $PATH to make sure we consistently use the Python 3 version.
$(STAMPS_DIR)/build-doc: PATH:=/usr/share/sphinx/scripts/python3:$(PATH)
$(STAMPS_DIR)/build-doc: $(STAMPS_DIR)/source
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
mkdir -p '$(BUILD_DIR)'
rm -rf '$(DIR)'
$(call copy_source,$(DIR))
+$(MAKE_CLEAN) -C '$(DIR)' PYTHON=python3 xmldocs
+$(MAKE_CLEAN) -C '$(DIR)' PYTHON=python3 htmldocs
endif
@$(stamp)
define dh_binary_pre define dh_binary_pre
dh_testroot dh_testroot
dh_prep dh_prep
@ -240,40 +226,6 @@ binary_meta:
$(dh_binary_pre) $(dh_binary_pre)
$(dh_binary_post) $(dh_binary_post)
build_doc: $(STAMPS_DIR)/build-doc
binary_doc: DIR = $(BUILD_DIR)/build-doc
binary_doc: OUT_DIR = $(DESTDIR)/usr/share/doc/$(PACKAGE_NAME)
binary_doc: $(STAMPS_DIR)/build-doc
$(dh_binary_pre)
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
mkdir -p $(OUT_DIR)
set -o pipefail; \
find CREDITS MAINTAINERS README Documentation \
-name '.gitignore' -prune -o -name DocBook -prune -o \
-path Documentation/media -prune -o \
-path Documentation/sphinx -prune -o \
-name 'Makefile*' -prune -o \
-print | \
cpio -pd --preserve-modification-time '$(OUT_DIR)'
set -o pipefail; \
cd $(DIR)/Documentation/output; \
find * -name '*.rst' -prune -o -name objects.inv -prune \
-o -name xml -prune -o -print | \
cpio -pd --preserve-modification-time '$(OUT_DIR)/html'
find $(OUT_DIR)/Documentation -type f | xargs gzip -9n
# Fix up symlinks to gzipped docs
cd $(OUT_DIR)/Documentation; \
find -type l | while read link; do \
dest="$$(readlink -f "$$link")"; \
if [ -f "$$dest.gz" ]; then \
rm -f "$$link"; \
ln -sr "$$dest.gz" "$$link.gz"; \
fi; \
done
endif
$(dh_binary_post)
build_headers-common: build_headers-common:
binary_headers-common: PACKAGE_NAME_KBUILD = linux-kbuild-$(ABINAME) binary_headers-common: PACKAGE_NAME_KBUILD = linux-kbuild-$(ABINAME)

View File

@ -1,15 +0,0 @@
Package: @source_basename@-doc-@version@
Meta-Rules-Target: doc
Build-Profiles: <!nodoc !pkg.linux.quick>
Architecture: all
Build-Depends: cpio, graphviz, python3-sphinx, python3-sphinx-rtd-theme,
texlive-latex-base, texlive-latex-extra, dvipng, python3-yaml
Depends: ${misc:Depends}
Section: doc
Multi-Arch: foreign
Description: Linux kernel specific documentation for version @version@
This package provides the various README files and HTML documentation for
the Linux kernel version @version@. Plenty of information, including the
descriptions of various kernel subsystems, filesystems, driver-specific
notes and the like. An index to the documentation is installed as
/usr/share/doc/linux-doc-@version@/html/index.html.

View File

@ -1,10 +0,0 @@
Package: @source_basename@-doc@source_suffix@
Meta-Rules-Target: meta
Meta-Rules-Makeflags: INSTALLDOCS_LINK_DOC=@source_basename@-doc-@version@
Build-Profiles: <!nodoc !pkg.linux.nometa !pkg.linux.quick>
Section: doc
Architecture: all
Depends: @source_basename@-doc-@version@ (= ${binary:Version}), ${misc:Depends}
Description: Linux kernel specific documentation (meta-package)
This package depends on the package containing the documentation for the
latest Linux kernel.

View File

@ -1 +0,0 @@
dir_to_symlink /usr/share/doc/@package@ @source_basename@-doc-@version@ 5.7~rc5-1~exp1 @package@

View File

@ -4,6 +4,6 @@ Build-Profiles: <!pkg.linux.nokernel>
Build-Depends: Build-Depends:
kmod, kmod,
Depends: kmod, linux-base (>= 4.3~), ${misc:Depends} Depends: kmod, linux-base (>= 4.3~), ${misc:Depends}
Suggests: firmware-linux-free, linux-doc-@version@, debian-kernel-handbook Suggests: firmware-linux-free, debian-kernel-handbook
Description: Linux @upstreamversion@ for @class@ Description: Linux @upstreamversion@ for @class@
The Linux kernel @upstreamversion@ and modules for use on @longclass@. The Linux kernel @upstreamversion@ and modules for use on @longclass@.

View File

@ -4,7 +4,7 @@ Build-Profiles: <!pkg.linux.notools !pkg.linux.mintools>
Section: devel Section: devel
Architecture: linux-any Architecture: linux-any
Build-Depends: Build-Depends:
python3-docutils <!nodoc !pkg.linux.notools>, python3-docutils <!pkg.linux.notools>,
binutils-dev [hppa], binutils-dev [hppa],
libelf-dev, libelf-dev,
zlib1g-dev, zlib1g-dev,
@ -64,7 +64,7 @@ Build-Profiles: <!pkg.linux.notools !pkg.linux.mintools !nopython>
Section: devel Section: devel
Architecture: alpha amd64 arm64 armel armhf hppa i386 loong64 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 ppc64el riscv64 s390 s390x sh4 sparc sparc64 Architecture: alpha amd64 arm64 armel armhf hppa i386 loong64 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 ppc64el riscv64 s390 s390x sh4 sparc sparc64
Build-Depends: Build-Depends:
asciidoctor <!nodoc !pkg.linux.notools !nopython>, asciidoctor <!pkg.linux.notools !nopython>,
gcc-multilib [amd64 mips64 mips64el mips64r6 mips64r6el ppc64 s390x sparc64] <!cross>, gcc-multilib [amd64 mips64 mips64el mips64r6 mips64r6el ppc64 s390x sparc64] <!cross>,
libaudit-dev, libaudit-dev,
libbabeltrace-dev, libbabeltrace-dev,
@ -84,7 +84,6 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, ${python3:Depends}
Provides: linux-tools-@version@ Provides: linux-tools-@version@
Conflicts: linux-tools-@version@ Conflicts: linux-tools-@version@
Replaces: linux-tools-@version@ Replaces: linux-tools-@version@
Suggests: linux-doc-@version@
Description: Performance analysis tools for Linux Description: Performance analysis tools for Linux
This package contains the 'perf' performance analysis tools for Linux. This package contains the 'perf' performance analysis tools for Linux.