diff mbox series

[UNSTABLE] UBUNTU: [Packaging] drop useless linux-doc

Message ID 20231205222507.1197350-1-dimitri.ledkov@canonical.com
State New
Headers show
Series [UNSTABLE] UBUNTU: [Packaging] drop useless linux-doc | expand

Commit Message

Dimitri John Ledkov Dec. 5, 2023, 10:25 p.m. UTC
Sometime between bionic and focal, linux-doc build became
broken. Meaning it has stopped producing sphinx html build, and was
only doing compressed installation of the Restructured Text
documentation. But such compressed restructured text is not readable,
navigatable or searchable by any edoc readers.

Separately, our tree doesn't actually contain any Ubuntu-delta
specific documentation, meaning the upstream linux/linux-next docs
that are published at https://kernel.org/doc/html/ are directly
applicable to the Ubuntu kernel. And provide a much nicer experience
in terms of searching, rendering, reading.

If we do have any significant Documentation delta, we are better off
linking to correct upstream documentation, and publishing delta-only
Documentation on our public instance of read-the-docs. Or point users
at our source package and/or git repo to read Documentation/ from
there.

Droping this build doesn't save any significant build-time (as it was
already practically doing nothing). But it does save a lot of
disk-space due to reduced build-dependencies on the full TeX Live
installation. In minimal noble chroot, build dependencies installation
goes dow from requiring 1,269 MB to just 542 MB. Thus significantly
reducing the size of all our chroots (locally on developer machines,
during launchpad builds, during outside of launchpad builds).

Manpages (generated using asciidoc & rst2man) are preserved and are
still produced. As those are genuinely useful, and are republished to
manpages.ubuntu.com as well.

Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Acked-by: Magali Lemes <magali.lemes.do.sacramento@canonical.com>

---
 debian.master/control.d/flavour-control.stub |  2 +-
 debian.master/control.d/linux-doc.stub       | 12 ---------
 debian.master/control.stub.in                | 12 ---------
 debian.master/rules.d/i386.mk                |  1 -
 debian.master/rules.d/riscv64.mk             |  1 -
 debian/rules                                 |  6 -----
 debian/rules.d/0-common-vars.mk              | 17 ------------
 debian/rules.d/1-maintainer.mk               |  3 ---
 debian/rules.d/2-binary-arch.mk              |  8 ------
 debian/rules.d/3-binary-indep.mk             | 28 ++------------------
 10 files changed, 3 insertions(+), 87 deletions(-)
 delete mode 100644 debian.master/control.d/linux-doc.stub

Comments

Emil Renner Berthing Dec. 6, 2023, 11:49 a.m. UTC | #1
Dimitri John Ledkov wrote:
> Sometime between bionic and focal, linux-doc build became
> broken. Meaning it has stopped producing sphinx html build, and was
> only doing compressed installation of the Restructured Text
> documentation. But such compressed restructured text is not readable,
> navigatable or searchable by any edoc readers.
>
> Separately, our tree doesn't actually contain any Ubuntu-delta
> specific documentation, meaning the upstream linux/linux-next docs
> that are published at https://kernel.org/doc/html/ are directly
> applicable to the Ubuntu kernel. And provide a much nicer experience
> in terms of searching, rendering, reading.
>
> If we do have any significant Documentation delta, we are better off
> linking to correct upstream documentation, and publishing delta-only
> Documentation on our public instance of read-the-docs. Or point users
> at our source package and/or git repo to read Documentation/ from
> there.
>
> Droping this build doesn't save any significant build-time (as it was
> already practically doing nothing). But it does save a lot of
> disk-space due to reduced build-dependencies on the full TeX Live
> installation. In minimal noble chroot, build dependencies installation
> goes dow from requiring 1,269 MB to just 542 MB. Thus significantly
> reducing the size of all our chroots (locally on developer machines,
> during launchpad builds, during outside of launchpad builds).
>
> Manpages (generated using asciidoc & rst2man) are preserved and are
> still produced. As those are genuinely useful, and are republished to
> manpages.ubuntu.com as well.
>
> Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
> Acked-by: Magali Lemes <magali.lemes.do.sacramento@canonical.com>

You missed only the comment in debian/rules:

-# Builds the source, doc and linux-headers indep packages
+# Builds the source and linux-headers indep packages
 include $(DROOT)/rules.d/3-binary-indep.mk

Also I assume you've checked that the xmlto, asciidoc and python3-docutils
dependencies are still needed.

In any case this is a nice cleanup!

Acked-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>

>
> ---
>  debian.master/control.d/flavour-control.stub |  2 +-
>  debian.master/control.d/linux-doc.stub       | 12 ---------
>  debian.master/control.stub.in                | 12 ---------
>  debian.master/rules.d/i386.mk                |  1 -
>  debian.master/rules.d/riscv64.mk             |  1 -
>  debian/rules                                 |  6 -----
>  debian/rules.d/0-common-vars.mk              | 17 ------------
>  debian/rules.d/1-maintainer.mk               |  3 ---
>  debian/rules.d/2-binary-arch.mk              |  8 ------
>  debian/rules.d/3-binary-indep.mk             | 28 ++------------------
>  10 files changed, 3 insertions(+), 87 deletions(-)
>  delete mode 100644 debian.master/control.d/linux-doc.stub
>
> diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
> index 67b3a877202a..a7ba586e6909 100644
> --- a/debian.master/control.d/flavour-control.stub
> +++ b/debian.master/control.d/flavour-control.stub
> @@ -31,7 +31,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.
>  Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool
>  Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x]
>  Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR
> -Suggests: fdutils, linux-doc | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
> +Suggests: fdutils, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
>  Description: Linux kernel image for version PKGVER on DESC
>   This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on
>   DESC.
> diff --git a/debian.master/control.d/linux-doc.stub b/debian.master/control.d/linux-doc.stub
> deleted file mode 100644
> index a0e04473286d..000000000000
> --- a/debian.master/control.d/linux-doc.stub
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -Package: linux-doc
> -Build-Profiles: <!stage1>
> -Architecture: all
> -Section: doc
> -Priority: optional
> -Depends: ${misc:Depends}
> -Description: Linux kernel specific documentation for version PKGVER
> - This package provides the various documents in the PKGVER kernel
> - Documentation/ subdirectory.  These document kernel subsystems, APIs, device
> - drivers, and so on.  See
> - /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is
> - contained in each file.
> diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
> index 5dc9ed39f849..0a1f830cbf79 100644
> --- a/debian.master/control.stub.in
> +++ b/debian.master/control.stub.in
> @@ -43,22 +43,10 @@ Build-Depends:
>   libstdc++-dev,
>  Build-Depends-Indep:
>   xmlto <!stage1>,
> - docbook-utils <!stage1>,
> - ghostscript <!stage1>,
> - fig2dev <!stage1>,
>   bzip2 <!stage1>,
>   sharutils <!stage1>,
>   asciidoc <!stage1>,
> - python3-sphinx <!stage1>,
> - python3-sphinx-rtd-theme <!stage1>,
> - fontconfig <!stage1>,
>   python3-docutils <!stage1>,
> - imagemagick <!stage1>,
> - graphviz <!stage1>,
> - dvipng <!stage1>,
> - fonts-noto-cjk <!stage1>,
> - latexmk <!stage1>,
> - librsvg2-bin <!stage1>,
>  Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES=
>  XS-Testsuite: autopkgtest
>  #XS-Testsuite-Depends: gcc-4.7 binutils
> diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
> index a9327adb7052..bdeb8bd9ba10 100644
> --- a/debian.master/rules.d/i386.mk
> +++ b/debian.master/rules.d/i386.mk
> @@ -12,6 +12,5 @@ do_tools	= false
>  do_tools_common	= false
>  do_extras_package = false
>  do_source_package = false
> -do_doc_package	= false
>  do_flavour_header_package = false
>  do_common_headers_indep = false
> diff --git a/debian.master/rules.d/riscv64.mk b/debian.master/rules.d/riscv64.mk
> index 2fa468ae8c1e..6a936c98d1f4 100644
> --- a/debian.master/rules.d/riscv64.mk
> +++ b/debian.master/rules.d/riscv64.mk
> @@ -14,6 +14,5 @@ do_tools	= false
>  do_tools_common	= false
>  do_extras_package = false
>  do_source_package = false
> -do_doc_package	= false
>  do_flavour_header_package = false
>  do_common_headers_indep = false
> diff --git a/debian/rules b/debian/rules
> index 396c853fbe85..138640d42dbb 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -79,7 +79,6 @@ ifneq ($(DEB_BUILD_PROFILE),)
>  endif
>  ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
>      do_tools=false
> -    do_doc_package=false
>      do_source_package=false
>      do_flavour_image_package=false
>      do_flavour_header_package=false
> @@ -178,11 +177,6 @@ ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub))
>  	control_files += $(DEBIAN)/control.d/linux-libc-dev.stub
>  endif
>  endif
> -ifeq ($(do_doc_package),true)
> -ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub))
> -	control_files += $(DEBIAN)/control.d/linux-doc.stub
> -endif
> -endif
>
>  # Calculate Ubuntu Compatible Signing levels
>  UBUNTU_COMPATIBLE_SIGNING=$(shell grep -qx ' *Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3)' debian/canonical-revoked-certs.pem && echo ubuntu/4 pro/3)
> diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
> index 2110020d03fa..ade7674b1111 100644
> --- a/debian/rules.d/0-common-vars.mk
> +++ b/debian/rules.d/0-common-vars.mk
> @@ -111,23 +111,6 @@ rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
>  indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release)
>  indep_lib_rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
>
> -#
> -# The generation of content in the doc package depends on
> -# 'do_doc_package_content=true'. There are usually build errors during the development
> -# cycle, so its OK to leave 'do_doc_package_content=false' until those build
> -# failures get sorted out. Finally, the doc package doesn't really need to be built
> -# for developer testing (its kind of slow), so only do it if on a buildd.
> -ifneq ($(filter --,$(variants)),)
> -do_doc_package=true
> -else
> -do_doc_package=false
> -endif
> -do_doc_package_content=false
> -ifeq ($(do_full_build),false)
> -do_doc_package_content=false
> -endif
> -doc_pkg_name=$(src_pkg_name)-doc
> -
>  #
>  # Similarly with the linux-source package, you need not build it as a developer. Its
>  # somewhat I/O intensive and utterly useless.
> diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
> index a5ea2241be79..9882dac7aa13 100644
> --- a/debian/rules.d/1-maintainer.mk
> +++ b/debian/rules.d/1-maintainer.mk
> @@ -48,7 +48,6 @@ printenv:
>  	@echo "bin_pkg_name              = $(bin_pkg_name)"
>  	@echo "hdr_pkg_name              = $(hdrs_pkg_name)"
>  	@echo "rust_pkg_name             = $(rust_pkg_name)"
> -	@echo "doc_pkg_name              = $(doc_pkg_name)"
>  	@echo "ubuntu_selftests          = $(ubuntu_selftests)"
>  	@echo "arch                      = $(arch)"
>  	@echo "kmake                     = $(kmake)"
> @@ -69,8 +68,6 @@ printenv:
>  	@echo "do_mainline_build         = $(do_mainline_build)"
>  	@echo "do_dbgsym_package         = $(do_dbgsym_package)"
>  	@echo "do_dtbs                   = $(do_dtbs)"
> -	@echo "do_doc_package            = $(do_doc_package)"
> -	@echo "do_doc_package_content    = $(do_doc_package_content)"
>  	@echo "do_source_package         = $(do_source_package)"
>  	@echo "do_source_package_content = $(do_source_package_content)"
>  	@echo "do_extras_package         = $(do_extras_package)"
> diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> index cbd5e1f06504..aaea57aacc48 100644
> --- a/debian/rules.d/2-binary-arch.mk
> +++ b/debian/rules.d/2-binary-arch.mk
> @@ -243,14 +243,6 @@ endif
>  	  ) \
>  	)
>
> -	# Install the full changelog.
> -ifeq ($(do_doc_package),true)
> -	install -d $(bindoc)
> -	cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \
> -		gzip -9 >$(bindoc)/changelog.Debian.old.gz
> -	chmod 644 $(bindoc)/changelog.Debian.old.gz
> -endif
> -
>  ifeq ($(do_dbgsym_package),true)
>  	# Debug image is simple
>  	install -m644 -D $(builddir)/build-$*/vmlinux \
> diff --git a/debian/rules.d/3-binary-indep.mk b/debian/rules.d/3-binary-indep.mk
> index d64df69aabd0..6e459a09d4e8 100644
> --- a/debian/rules.d/3-binary-indep.mk
> +++ b/debian/rules.d/3-binary-indep.mk
> @@ -4,7 +4,7 @@ build-indep:
>
>  # The binary-indep dependency chain is:
>  #
> -# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep
> +# install-headers <- install-source <- install-tools <- install-indep <- binary-indep
>  # install-headers <- binary-headers
>  #
>  indep_hdrpkg = $(indep_hdrs_pkg_name)
> @@ -31,30 +31,6 @@ ifeq ($(do_flavour_header_package),true)
>  endif
>  	@touch $@
>
> -docpkg = $(doc_pkg_name)
> -docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg)
> -.PHONY: install-doc
> -install-doc: $(stampdir)/stamp-prepare-indep
> -	@echo Debug: $@
> -ifeq ($(do_doc_package),true)
> -	dh_testdir
> -	dh_testroot
> -
> -	install -d $(docdir)
> -ifeq ($(do_doc_package_content),true)
> -	# First the html docs. We skip these for autobuilds
> -	install -d $(docdir)/$(doc_pkg_name)-tmp
> -	$(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs
> -	install -d $(docdir)/html
> -	rsync -aL $(docdir)/$(doc_pkg_name)-tmp/Documentation/output/ \
> -		$(docdir)/html/
> -	rm -rf $(docdir)/$(doc_pkg_name)-tmp
> -endif
> -	# Copy the rest
> -	cp -a Documentation/* $(docdir)
> -	find $(docdir) -name .gitignore | xargs rm -f
> -endif
> -
>  srcpkg = linux-source-$(release)
>  srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)
>  balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg)
> @@ -182,7 +158,7 @@ $(stampdir)/stamp-prepare-indep:
>  	@touch $@
>
>  .PHONY: install-indep
> -install-indep: $(stampdir)/stamp-install-headers install-doc install-source install-tools
> +install-indep: $(stampdir)/stamp-install-headers install-source install-tools
>  	@echo Debug: $@
>
>  # This is just to make it easy to call manually. Normally done in
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Agathe Porte Dec. 6, 2023, 3:29 p.m. UTC | #2
2023-12-05 23:26 CET, Dimitri John Ledkov:
> Sometime between bionic and focal, linux-doc build became
> broken. Meaning it has stopped producing sphinx html build, and was
> only doing compressed installation of the Restructured Text
> documentation. But such compressed restructured text is not readable,
> navigatable or searchable by any edoc readers.
> 
> Separately, our tree doesn't actually contain any Ubuntu-delta
> specific documentation, meaning the upstream linux/linux-next docs
> that are published at https://kernel.org/doc/html/ are directly
> applicable to the Ubuntu kernel. And provide a much nicer experience
> in terms of searching, rendering, reading.
> 
> If we do have any significant Documentation delta, we are better off
> linking to correct upstream documentation, and publishing delta-only
> Documentation on our public instance of read-the-docs. Or point users
> at our source package and/or git repo to read Documentation/ from
> there.
> 
> Droping this build doesn't save any significant build-time (as it was
> already practically doing nothing). But it does save a lot of
> disk-space due to reduced build-dependencies on the full TeX Live
> installation. In minimal noble chroot, build dependencies installation
> goes dow from requiring 1,269 MB to just 542 MB. Thus significantly
> reducing the size of all our chroots (locally on developer machines,
> during launchpad builds, during outside of launchpad builds).
> 
> Manpages (generated using asciidoc & rst2man) are preserved and are
> still produced. As those are genuinely useful, and are republished to
> manpages.ubuntu.com as well.
> 
> Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
> Acked-by: Magali Lemes <magali.lemes.do.sacramento@canonical.com>
> 
> ---
>  debian.master/control.d/flavour-control.stub |  2 +-
>  debian.master/control.d/linux-doc.stub       | 12 ---------
>  debian.master/control.stub.in                | 12 ---------
>  debian.master/rules.d/i386.mk                |  1 -
>  debian.master/rules.d/riscv64.mk             |  1 -
>  debian/rules                                 |  6 -----
>  debian/rules.d/0-common-vars.mk              | 17 ------------
>  debian/rules.d/1-maintainer.mk               |  3 ---
>  debian/rules.d/2-binary-arch.mk              |  8 ------
>  debian/rules.d/3-binary-indep.mk             | 28 ++------------------
>  10 files changed, 3 insertions(+), 87 deletions(-)
>  delete mode 100644 debian.master/control.d/linux-doc.stub
> 
> diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
> index 67b3a877202a..a7ba586e6909 100644
> --- a/debian.master/control.d/flavour-control.stub
> +++ b/debian.master/control.d/flavour-control.stub
> @@ -31,7 +31,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.
>  Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool
>  Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x]
>  Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR
> -Suggests: fdutils, linux-doc | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
> +Suggests: fdutils, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
>  Description: Linux kernel image for version PKGVER on DESC
>   This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on
>   DESC.
> diff --git a/debian.master/control.d/linux-doc.stub b/debian.master/control.d/linux-doc.stub
> deleted file mode 100644
> index a0e04473286d..000000000000
> --- a/debian.master/control.d/linux-doc.stub
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -Package: linux-doc
> -Build-Profiles: <!stage1>
> -Architecture: all
> -Section: doc
> -Priority: optional
> -Depends: ${misc:Depends}
> -Description: Linux kernel specific documentation for version PKGVER
> - This package provides the various documents in the PKGVER kernel
> - Documentation/ subdirectory.  These document kernel subsystems, APIs, device
> - drivers, and so on.  See
> - /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is
> - contained in each file.
> diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
> index 5dc9ed39f849..0a1f830cbf79 100644
> --- a/debian.master/control.stub.in
> +++ b/debian.master/control.stub.in
> @@ -43,22 +43,10 @@ Build-Depends:
>   libstdc++-dev,
>  Build-Depends-Indep:
>   xmlto <!stage1>,
> - docbook-utils <!stage1>,
> - ghostscript <!stage1>,
> - fig2dev <!stage1>,
>   bzip2 <!stage1>,
>   sharutils <!stage1>,
>   asciidoc <!stage1>,
> - python3-sphinx <!stage1>,
> - python3-sphinx-rtd-theme <!stage1>,
> - fontconfig <!stage1>,
>   python3-docutils <!stage1>,
> - imagemagick <!stage1>,
> - graphviz <!stage1>,
> - dvipng <!stage1>,
> - fonts-noto-cjk <!stage1>,
> - latexmk <!stage1>,
> - librsvg2-bin <!stage1>,
>  Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES=
>  XS-Testsuite: autopkgtest
>  #XS-Testsuite-Depends: gcc-4.7 binutils
> diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
> index a9327adb7052..bdeb8bd9ba10 100644
> --- a/debian.master/rules.d/i386.mk
> +++ b/debian.master/rules.d/i386.mk
> @@ -12,6 +12,5 @@ do_tools	= false
>  do_tools_common	= false
>  do_extras_package = false
>  do_source_package = false
> -do_doc_package	= false
>  do_flavour_header_package = false
>  do_common_headers_indep = false
> diff --git a/debian.master/rules.d/riscv64.mk b/debian.master/rules.d/riscv64.mk
> index 2fa468ae8c1e..6a936c98d1f4 100644
> --- a/debian.master/rules.d/riscv64.mk
> +++ b/debian.master/rules.d/riscv64.mk
> @@ -14,6 +14,5 @@ do_tools	= false
>  do_tools_common	= false
>  do_extras_package = false
>  do_source_package = false
> -do_doc_package	= false
>  do_flavour_header_package = false
>  do_common_headers_indep = false
> diff --git a/debian/rules b/debian/rules
> index 396c853fbe85..138640d42dbb 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -79,7 +79,6 @@ ifneq ($(DEB_BUILD_PROFILE),)
>  endif
>  ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
>      do_tools=false
> -    do_doc_package=false
>      do_source_package=false
>      do_flavour_image_package=false
>      do_flavour_header_package=false
> @@ -178,11 +177,6 @@ ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub))
>  	control_files += $(DEBIAN)/control.d/linux-libc-dev.stub
>  endif
>  endif
> -ifeq ($(do_doc_package),true)
> -ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub))
> -	control_files += $(DEBIAN)/control.d/linux-doc.stub
> -endif
> -endif
>  
>  # Calculate Ubuntu Compatible Signing levels
>  UBUNTU_COMPATIBLE_SIGNING=$(shell grep -qx ' *Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3)' debian/canonical-revoked-certs.pem && echo ubuntu/4 pro/3)
> diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
> index 2110020d03fa..ade7674b1111 100644
> --- a/debian/rules.d/0-common-vars.mk
> +++ b/debian/rules.d/0-common-vars.mk
> @@ -111,23 +111,6 @@ rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
>  indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release)
>  indep_lib_rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
>  
> -#
> -# The generation of content in the doc package depends on
> -# 'do_doc_package_content=true'. There are usually build errors during the development
> -# cycle, so its OK to leave 'do_doc_package_content=false' until those build
> -# failures get sorted out. Finally, the doc package doesn't really need to be built
> -# for developer testing (its kind of slow), so only do it if on a buildd.
> -ifneq ($(filter --,$(variants)),)
> -do_doc_package=true
> -else
> -do_doc_package=false
> -endif
> -do_doc_package_content=false
> -ifeq ($(do_full_build),false)
> -do_doc_package_content=false
> -endif
> -doc_pkg_name=$(src_pkg_name)-doc
> -
>  #
>  # Similarly with the linux-source package, you need not build it as a developer. Its
>  # somewhat I/O intensive and utterly useless.
> diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
> index a5ea2241be79..9882dac7aa13 100644
> --- a/debian/rules.d/1-maintainer.mk
> +++ b/debian/rules.d/1-maintainer.mk
> @@ -48,7 +48,6 @@ printenv:
>  	@echo "bin_pkg_name              = $(bin_pkg_name)"
>  	@echo "hdr_pkg_name              = $(hdrs_pkg_name)"
>  	@echo "rust_pkg_name             = $(rust_pkg_name)"
> -	@echo "doc_pkg_name              = $(doc_pkg_name)"
>  	@echo "ubuntu_selftests          = $(ubuntu_selftests)"
>  	@echo "arch                      = $(arch)"
>  	@echo "kmake                     = $(kmake)"
> @@ -69,8 +68,6 @@ printenv:
>  	@echo "do_mainline_build         = $(do_mainline_build)"
>  	@echo "do_dbgsym_package         = $(do_dbgsym_package)"
>  	@echo "do_dtbs                   = $(do_dtbs)"
> -	@echo "do_doc_package            = $(do_doc_package)"
> -	@echo "do_doc_package_content    = $(do_doc_package_content)"
>  	@echo "do_source_package         = $(do_source_package)"
>  	@echo "do_source_package_content = $(do_source_package_content)"
>  	@echo "do_extras_package         = $(do_extras_package)"
> diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> index cbd5e1f06504..aaea57aacc48 100644
> --- a/debian/rules.d/2-binary-arch.mk
> +++ b/debian/rules.d/2-binary-arch.mk
> @@ -243,14 +243,6 @@ endif
>  	  ) \
>  	)
>  
> -	# Install the full changelog.
> -ifeq ($(do_doc_package),true)
> -	install -d $(bindoc)
> -	cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \
> -		gzip -9 >$(bindoc)/changelog.Debian.old.gz
> -	chmod 644 $(bindoc)/changelog.Debian.old.gz
> -endif
> -
>  ifeq ($(do_dbgsym_package),true)
>  	# Debug image is simple
>  	install -m644 -D $(builddir)/build-$*/vmlinux \
> diff --git a/debian/rules.d/3-binary-indep.mk b/debian/rules.d/3-binary-indep.mk
> index d64df69aabd0..6e459a09d4e8 100644
> --- a/debian/rules.d/3-binary-indep.mk
> +++ b/debian/rules.d/3-binary-indep.mk
> @@ -4,7 +4,7 @@ build-indep:
>  
>  # The binary-indep dependency chain is:
>  #
> -# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep
> +# install-headers <- install-source <- install-tools <- install-indep <- binary-indep
>  # install-headers <- binary-headers
>  #
>  indep_hdrpkg = $(indep_hdrs_pkg_name)
> @@ -31,30 +31,6 @@ ifeq ($(do_flavour_header_package),true)
>  endif
>  	@touch $@
>  
> -docpkg = $(doc_pkg_name)
> -docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg)
> -.PHONY: install-doc
> -install-doc: $(stampdir)/stamp-prepare-indep
> -	@echo Debug: $@
> -ifeq ($(do_doc_package),true)
> -	dh_testdir
> -	dh_testroot
> -
> -	install -d $(docdir)
> -ifeq ($(do_doc_package_content),true)
> -	# First the html docs. We skip these for autobuilds
> -	install -d $(docdir)/$(doc_pkg_name)-tmp
> -	$(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs
> -	install -d $(docdir)/html
> -	rsync -aL $(docdir)/$(doc_pkg_name)-tmp/Documentation/output/ \
> -		$(docdir)/html/
> -	rm -rf $(docdir)/$(doc_pkg_name)-tmp
> -endif
> -	# Copy the rest
> -	cp -a Documentation/* $(docdir)
> -	find $(docdir) -name .gitignore | xargs rm -f
> -endif
> -
>  srcpkg = linux-source-$(release)
>  srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)
>  balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg)
> @@ -182,7 +158,7 @@ $(stampdir)/stamp-prepare-indep:
>  	@touch $@
>  
>  .PHONY: install-indep
> -install-indep: $(stampdir)/stamp-install-headers install-doc install-source install-tools
> +install-indep: $(stampdir)/stamp-install-headers install-source install-tools
>  	@echo Debug: $@
>  
>  # This is just to make it easy to call manually. Normally done in

Acked-by: Agathe Porte <agathe.porte@canonical.com>
Dimitri John Ledkov Dec. 6, 2023, 9:03 p.m. UTC | #3
On Wed, 6 Dec 2023 at 11:49, Emil Renner Berthing
<emil.renner.berthing@canonical.com> wrote:
>
> Dimitri John Ledkov wrote:
> > Sometime between bionic and focal, linux-doc build became
> > broken. Meaning it has stopped producing sphinx html build, and was
> > only doing compressed installation of the Restructured Text
> > documentation. But such compressed restructured text is not readable,
> > navigatable or searchable by any edoc readers.
> >
> > Separately, our tree doesn't actually contain any Ubuntu-delta
> > specific documentation, meaning the upstream linux/linux-next docs
> > that are published at https://kernel.org/doc/html/ are directly
> > applicable to the Ubuntu kernel. And provide a much nicer experience
> > in terms of searching, rendering, reading.
> >
> > If we do have any significant Documentation delta, we are better off
> > linking to correct upstream documentation, and publishing delta-only
> > Documentation on our public instance of read-the-docs. Or point users
> > at our source package and/or git repo to read Documentation/ from
> > there.
> >
> > Droping this build doesn't save any significant build-time (as it was
> > already practically doing nothing). But it does save a lot of
> > disk-space due to reduced build-dependencies on the full TeX Live
> > installation. In minimal noble chroot, build dependencies installation
> > goes dow from requiring 1,269 MB to just 542 MB. Thus significantly
> > reducing the size of all our chroots (locally on developer machines,
> > during launchpad builds, during outside of launchpad builds).
> >
> > Manpages (generated using asciidoc & rst2man) are preserved and are
> > still produced. As those are genuinely useful, and are republished to
> > manpages.ubuntu.com as well.
> >
> > Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
> > Acked-by: Magali Lemes <magali.lemes.do.sacramento@canonical.com>
>
> You missed only the comment in debian/rules:
>
> -# Builds the source, doc and linux-headers indep packages
> +# Builds the source and linux-headers indep packages
>  include $(DROOT)/rules.d/3-binary-indep.mk
>
> Also I assume you've checked that the xmlto, asciidoc and python3-docutils
> dependencies are still needed.
>

Yes, that's what "Manpages (generated using asciidoc & rst2man) are
preserved and are still produced." stands for. As those things are
needed to have asciidoc & rst2man running to generate manpages like
for perl and kvm-stat and similar.


> In any case this is a nice cleanup!

:-)

>
> Acked-by: Emil Renner Berthing <emil.renner.berthing@canonical.com>
>
> >
> > ---
> >  debian.master/control.d/flavour-control.stub |  2 +-
> >  debian.master/control.d/linux-doc.stub       | 12 ---------
> >  debian.master/control.stub.in                | 12 ---------
> >  debian.master/rules.d/i386.mk                |  1 -
> >  debian.master/rules.d/riscv64.mk             |  1 -
> >  debian/rules                                 |  6 -----
> >  debian/rules.d/0-common-vars.mk              | 17 ------------
> >  debian/rules.d/1-maintainer.mk               |  3 ---
> >  debian/rules.d/2-binary-arch.mk              |  8 ------
> >  debian/rules.d/3-binary-indep.mk             | 28 ++------------------
> >  10 files changed, 3 insertions(+), 87 deletions(-)
> >  delete mode 100644 debian.master/control.d/linux-doc.stub
> >
> > diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
> > index 67b3a877202a..a7ba586e6909 100644
> > --- a/debian.master/control.d/flavour-control.stub
> > +++ b/debian.master/control.d/flavour-control.stub
> > @@ -31,7 +31,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.
> >  Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool
> >  Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x]
> >  Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR
> > -Suggests: fdutils, linux-doc | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
> > +Suggests: fdutils, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
> >  Description: Linux kernel image for version PKGVER on DESC
> >   This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on
> >   DESC.
> > diff --git a/debian.master/control.d/linux-doc.stub b/debian.master/control.d/linux-doc.stub
> > deleted file mode 100644
> > index a0e04473286d..000000000000
> > --- a/debian.master/control.d/linux-doc.stub
> > +++ /dev/null
> > @@ -1,12 +0,0 @@
> > -Package: linux-doc
> > -Build-Profiles: <!stage1>
> > -Architecture: all
> > -Section: doc
> > -Priority: optional
> > -Depends: ${misc:Depends}
> > -Description: Linux kernel specific documentation for version PKGVER
> > - This package provides the various documents in the PKGVER kernel
> > - Documentation/ subdirectory.  These document kernel subsystems, APIs, device
> > - drivers, and so on.  See
> > - /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is
> > - contained in each file.
> > diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
> > index 5dc9ed39f849..0a1f830cbf79 100644
> > --- a/debian.master/control.stub.in
> > +++ b/debian.master/control.stub.in
> > @@ -43,22 +43,10 @@ Build-Depends:
> >   libstdc++-dev,
> >  Build-Depends-Indep:
> >   xmlto <!stage1>,
> > - docbook-utils <!stage1>,
> > - ghostscript <!stage1>,
> > - fig2dev <!stage1>,
> >   bzip2 <!stage1>,
> >   sharutils <!stage1>,
> >   asciidoc <!stage1>,
> > - python3-sphinx <!stage1>,
> > - python3-sphinx-rtd-theme <!stage1>,
> > - fontconfig <!stage1>,
> >   python3-docutils <!stage1>,
> > - imagemagick <!stage1>,
> > - graphviz <!stage1>,
> > - dvipng <!stage1>,
> > - fonts-noto-cjk <!stage1>,
> > - latexmk <!stage1>,
> > - librsvg2-bin <!stage1>,
> >  Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES=
> >  XS-Testsuite: autopkgtest
> >  #XS-Testsuite-Depends: gcc-4.7 binutils
> > diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
> > index a9327adb7052..bdeb8bd9ba10 100644
> > --- a/debian.master/rules.d/i386.mk
> > +++ b/debian.master/rules.d/i386.mk
> > @@ -12,6 +12,5 @@ do_tools    = false
> >  do_tools_common      = false
> >  do_extras_package = false
> >  do_source_package = false
> > -do_doc_package       = false
> >  do_flavour_header_package = false
> >  do_common_headers_indep = false
> > diff --git a/debian.master/rules.d/riscv64.mk b/debian.master/rules.d/riscv64.mk
> > index 2fa468ae8c1e..6a936c98d1f4 100644
> > --- a/debian.master/rules.d/riscv64.mk
> > +++ b/debian.master/rules.d/riscv64.mk
> > @@ -14,6 +14,5 @@ do_tools    = false
> >  do_tools_common      = false
> >  do_extras_package = false
> >  do_source_package = false
> > -do_doc_package       = false
> >  do_flavour_header_package = false
> >  do_common_headers_indep = false
> > diff --git a/debian/rules b/debian/rules
> > index 396c853fbe85..138640d42dbb 100755
> > --- a/debian/rules
> > +++ b/debian/rules
> > @@ -79,7 +79,6 @@ ifneq ($(DEB_BUILD_PROFILE),)
> >  endif
> >  ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
> >      do_tools=false
> > -    do_doc_package=false
> >      do_source_package=false
> >      do_flavour_image_package=false
> >      do_flavour_header_package=false
> > @@ -178,11 +177,6 @@ ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub))
> >       control_files += $(DEBIAN)/control.d/linux-libc-dev.stub
> >  endif
> >  endif
> > -ifeq ($(do_doc_package),true)
> > -ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub))
> > -     control_files += $(DEBIAN)/control.d/linux-doc.stub
> > -endif
> > -endif
> >
> >  # Calculate Ubuntu Compatible Signing levels
> >  UBUNTU_COMPATIBLE_SIGNING=$(shell grep -qx ' *Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3)' debian/canonical-revoked-certs.pem && echo ubuntu/4 pro/3)
> > diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
> > index 2110020d03fa..ade7674b1111 100644
> > --- a/debian/rules.d/0-common-vars.mk
> > +++ b/debian/rules.d/0-common-vars.mk
> > @@ -111,23 +111,6 @@ rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
> >  indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release)
> >  indep_lib_rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
> >
> > -#
> > -# The generation of content in the doc package depends on
> > -# 'do_doc_package_content=true'. There are usually build errors during the development
> > -# cycle, so its OK to leave 'do_doc_package_content=false' until those build
> > -# failures get sorted out. Finally, the doc package doesn't really need to be built
> > -# for developer testing (its kind of slow), so only do it if on a buildd.
> > -ifneq ($(filter --,$(variants)),)
> > -do_doc_package=true
> > -else
> > -do_doc_package=false
> > -endif
> > -do_doc_package_content=false
> > -ifeq ($(do_full_build),false)
> > -do_doc_package_content=false
> > -endif
> > -doc_pkg_name=$(src_pkg_name)-doc
> > -
> >  #
> >  # Similarly with the linux-source package, you need not build it as a developer. Its
> >  # somewhat I/O intensive and utterly useless.
> > diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
> > index a5ea2241be79..9882dac7aa13 100644
> > --- a/debian/rules.d/1-maintainer.mk
> > +++ b/debian/rules.d/1-maintainer.mk
> > @@ -48,7 +48,6 @@ printenv:
> >       @echo "bin_pkg_name              = $(bin_pkg_name)"
> >       @echo "hdr_pkg_name              = $(hdrs_pkg_name)"
> >       @echo "rust_pkg_name             = $(rust_pkg_name)"
> > -     @echo "doc_pkg_name              = $(doc_pkg_name)"
> >       @echo "ubuntu_selftests          = $(ubuntu_selftests)"
> >       @echo "arch                      = $(arch)"
> >       @echo "kmake                     = $(kmake)"
> > @@ -69,8 +68,6 @@ printenv:
> >       @echo "do_mainline_build         = $(do_mainline_build)"
> >       @echo "do_dbgsym_package         = $(do_dbgsym_package)"
> >       @echo "do_dtbs                   = $(do_dtbs)"
> > -     @echo "do_doc_package            = $(do_doc_package)"
> > -     @echo "do_doc_package_content    = $(do_doc_package_content)"
> >       @echo "do_source_package         = $(do_source_package)"
> >       @echo "do_source_package_content = $(do_source_package_content)"
> >       @echo "do_extras_package         = $(do_extras_package)"
> > diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> > index cbd5e1f06504..aaea57aacc48 100644
> > --- a/debian/rules.d/2-binary-arch.mk
> > +++ b/debian/rules.d/2-binary-arch.mk
> > @@ -243,14 +243,6 @@ endif
> >         ) \
> >       )
> >
> > -     # Install the full changelog.
> > -ifeq ($(do_doc_package),true)
> > -     install -d $(bindoc)
> > -     cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \
> > -             gzip -9 >$(bindoc)/changelog.Debian.old.gz
> > -     chmod 644 $(bindoc)/changelog.Debian.old.gz
> > -endif
> > -
> >  ifeq ($(do_dbgsym_package),true)
> >       # Debug image is simple
> >       install -m644 -D $(builddir)/build-$*/vmlinux \
> > diff --git a/debian/rules.d/3-binary-indep.mk b/debian/rules.d/3-binary-indep.mk
> > index d64df69aabd0..6e459a09d4e8 100644
> > --- a/debian/rules.d/3-binary-indep.mk
> > +++ b/debian/rules.d/3-binary-indep.mk
> > @@ -4,7 +4,7 @@ build-indep:
> >
> >  # The binary-indep dependency chain is:
> >  #
> > -# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep
> > +# install-headers <- install-source <- install-tools <- install-indep <- binary-indep
> >  # install-headers <- binary-headers
> >  #
> >  indep_hdrpkg = $(indep_hdrs_pkg_name)
> > @@ -31,30 +31,6 @@ ifeq ($(do_flavour_header_package),true)
> >  endif
> >       @touch $@
> >
> > -docpkg = $(doc_pkg_name)
> > -docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg)
> > -.PHONY: install-doc
> > -install-doc: $(stampdir)/stamp-prepare-indep
> > -     @echo Debug: $@
> > -ifeq ($(do_doc_package),true)
> > -     dh_testdir
> > -     dh_testroot
> > -
> > -     install -d $(docdir)
> > -ifeq ($(do_doc_package_content),true)
> > -     # First the html docs. We skip these for autobuilds
> > -     install -d $(docdir)/$(doc_pkg_name)-tmp
> > -     $(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs
> > -     install -d $(docdir)/html
> > -     rsync -aL $(docdir)/$(doc_pkg_name)-tmp/Documentation/output/ \
> > -             $(docdir)/html/
> > -     rm -rf $(docdir)/$(doc_pkg_name)-tmp
> > -endif
> > -     # Copy the rest
> > -     cp -a Documentation/* $(docdir)
> > -     find $(docdir) -name .gitignore | xargs rm -f
> > -endif
> > -
> >  srcpkg = linux-source-$(release)
> >  srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)
> >  balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg)
> > @@ -182,7 +158,7 @@ $(stampdir)/stamp-prepare-indep:
> >       @touch $@
> >
> >  .PHONY: install-indep
> > -install-indep: $(stampdir)/stamp-install-headers install-doc install-source install-tools
> > +install-indep: $(stampdir)/stamp-install-headers install-source install-tools
> >       @echo Debug: $@
> >
> >  # This is just to make it easy to call manually. Normally done in
> >
> > --
> > kernel-team mailing list
> > kernel-team@lists.ubuntu.com
> > https://lists.ubuntu.com/mailman/listinfo/kernel-team
Dimitri John Ledkov Dec. 6, 2023, 9:33 p.m. UTC | #4
On Tue, 5 Dec 2023 at 22:25, Dimitri John Ledkov
<dimitri.ledkov@canonical.com> wrote:
>
> Sometime between bionic and focal, linux-doc build became
> broken. Meaning it has stopped producing sphinx html build, and was
> only doing compressed installation of the Restructured Text
> documentation. But such compressed restructured text is not readable,
> navigatable or searchable by any edoc readers.
>
> Separately, our tree doesn't actually contain any Ubuntu-delta
> specific documentation, meaning the upstream linux/linux-next docs
> that are published at https://kernel.org/doc/html/ are directly
> applicable to the Ubuntu kernel. And provide a much nicer experience
> in terms of searching, rendering, reading.
>
> If we do have any significant Documentation delta, we are better off
> linking to correct upstream documentation, and publishing delta-only
> Documentation on our public instance of read-the-docs. Or point users
> at our source package and/or git repo to read Documentation/ from
> there.
>
> Droping this build doesn't save any significant build-time (as it was
> already practically doing nothing). But it does save a lot of
> disk-space due to reduced build-dependencies on the full TeX Live
> installation. In minimal noble chroot, build dependencies installation
> goes dow from requiring 1,269 MB to just 542 MB. Thus significantly
> reducing the size of all our chroots (locally on developer machines,
> during launchpad builds, during outside of launchpad builds).
>
> Manpages (generated using asciidoc & rst2man) are preserved and are
> still produced. As those are genuinely useful, and are republished to
> manpages.ubuntu.com as well.
>
> Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
> Acked-by: Magali Lemes <magali.lemes.do.sacramento@canonical.com>
>
> ---
>  debian.master/control.d/flavour-control.stub |  2 +-
>  debian.master/control.d/linux-doc.stub       | 12 ---------
>  debian.master/control.stub.in                | 12 ---------
>  debian.master/rules.d/i386.mk                |  1 -
>  debian.master/rules.d/riscv64.mk             |  1 -
>  debian/rules                                 |  6 -----
>  debian/rules.d/0-common-vars.mk              | 17 ------------
>  debian/rules.d/1-maintainer.mk               |  3 ---
>  debian/rules.d/2-binary-arch.mk              |  8 ------
>  debian/rules.d/3-binary-indep.mk             | 28 ++------------------
>  10 files changed, 3 insertions(+), 87 deletions(-)
>  delete mode 100644 debian.master/control.d/linux-doc.stub
>
> diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
> index 67b3a877202a..a7ba586e6909 100644
> --- a/debian.master/control.d/flavour-control.stub
> +++ b/debian.master/control.d/flavour-control.stub
> @@ -31,7 +31,7 @@ Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.
>  Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool
>  Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x]
>  Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR
> -Suggests: fdutils, linux-doc | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
> +Suggests: fdutils, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
>  Description: Linux kernel image for version PKGVER on DESC
>   This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on
>   DESC.
> diff --git a/debian.master/control.d/linux-doc.stub b/debian.master/control.d/linux-doc.stub
> deleted file mode 100644
> index a0e04473286d..000000000000
> --- a/debian.master/control.d/linux-doc.stub
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -Package: linux-doc
> -Build-Profiles: <!stage1>
> -Architecture: all
> -Section: doc
> -Priority: optional
> -Depends: ${misc:Depends}
> -Description: Linux kernel specific documentation for version PKGVER
> - This package provides the various documents in the PKGVER kernel
> - Documentation/ subdirectory.  These document kernel subsystems, APIs, device
> - drivers, and so on.  See
> - /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is
> - contained in each file.
> diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
> index 5dc9ed39f849..0a1f830cbf79 100644
> --- a/debian.master/control.stub.in
> +++ b/debian.master/control.stub.in
> @@ -43,22 +43,10 @@ Build-Depends:
>   libstdc++-dev,
>  Build-Depends-Indep:
>   xmlto <!stage1>,
> - docbook-utils <!stage1>,
> - ghostscript <!stage1>,
> - fig2dev <!stage1>,
>   bzip2 <!stage1>,
>   sharutils <!stage1>,
>   asciidoc <!stage1>,
> - python3-sphinx <!stage1>,
> - python3-sphinx-rtd-theme <!stage1>,
> - fontconfig <!stage1>,
>   python3-docutils <!stage1>,
> - imagemagick <!stage1>,
> - graphviz <!stage1>,
> - dvipng <!stage1>,
> - fonts-noto-cjk <!stage1>,
> - latexmk <!stage1>,
> - librsvg2-bin <!stage1>,
>  Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES=
>  XS-Testsuite: autopkgtest
>  #XS-Testsuite-Depends: gcc-4.7 binutils
> diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
> index a9327adb7052..bdeb8bd9ba10 100644
> --- a/debian.master/rules.d/i386.mk
> +++ b/debian.master/rules.d/i386.mk
> @@ -12,6 +12,5 @@ do_tools      = false
>  do_tools_common        = false
>  do_extras_package = false
>  do_source_package = false
> -do_doc_package = false
>  do_flavour_header_package = false
>  do_common_headers_indep = false
> diff --git a/debian.master/rules.d/riscv64.mk b/debian.master/rules.d/riscv64.mk
> index 2fa468ae8c1e..6a936c98d1f4 100644
> --- a/debian.master/rules.d/riscv64.mk
> +++ b/debian.master/rules.d/riscv64.mk
> @@ -14,6 +14,5 @@ do_tools      = false
>  do_tools_common        = false
>  do_extras_package = false
>  do_source_package = false
> -do_doc_package = false
>  do_flavour_header_package = false
>  do_common_headers_indep = false
> diff --git a/debian/rules b/debian/rules
> index 396c853fbe85..138640d42dbb 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -79,7 +79,6 @@ ifneq ($(DEB_BUILD_PROFILE),)
>  endif
>  ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
>      do_tools=false
> -    do_doc_package=false
>      do_source_package=false
>      do_flavour_image_package=false
>      do_flavour_header_package=false
> @@ -178,11 +177,6 @@ ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub))
>         control_files += $(DEBIAN)/control.d/linux-libc-dev.stub
>  endif
>  endif
> -ifeq ($(do_doc_package),true)
> -ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub))
> -       control_files += $(DEBIAN)/control.d/linux-doc.stub
> -endif
> -endif
>
>  # Calculate Ubuntu Compatible Signing levels
>  UBUNTU_COMPATIBLE_SIGNING=$(shell grep -qx ' *Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3)' debian/canonical-revoked-certs.pem && echo ubuntu/4 pro/3)
> diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
> index 2110020d03fa..ade7674b1111 100644
> --- a/debian/rules.d/0-common-vars.mk
> +++ b/debian/rules.d/0-common-vars.mk
> @@ -111,23 +111,6 @@ rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
>  indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release)
>  indep_lib_rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
>
> -#
> -# The generation of content in the doc package depends on
> -# 'do_doc_package_content=true'. There are usually build errors during the development
> -# cycle, so its OK to leave 'do_doc_package_content=false' until those build
> -# failures get sorted out. Finally, the doc package doesn't really need to be built
> -# for developer testing (its kind of slow), so only do it if on a buildd.
> -ifneq ($(filter --,$(variants)),)
> -do_doc_package=true
> -else
> -do_doc_package=false
> -endif
> -do_doc_package_content=false
> -ifeq ($(do_full_build),false)
> -do_doc_package_content=false
> -endif
> -doc_pkg_name=$(src_pkg_name)-doc
> -
>  #
>  # Similarly with the linux-source package, you need not build it as a developer. Its
>  # somewhat I/O intensive and utterly useless.
> diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
> index a5ea2241be79..9882dac7aa13 100644
> --- a/debian/rules.d/1-maintainer.mk
> +++ b/debian/rules.d/1-maintainer.mk
> @@ -48,7 +48,6 @@ printenv:
>         @echo "bin_pkg_name              = $(bin_pkg_name)"
>         @echo "hdr_pkg_name              = $(hdrs_pkg_name)"
>         @echo "rust_pkg_name             = $(rust_pkg_name)"
> -       @echo "doc_pkg_name              = $(doc_pkg_name)"
>         @echo "ubuntu_selftests          = $(ubuntu_selftests)"
>         @echo "arch                      = $(arch)"
>         @echo "kmake                     = $(kmake)"
> @@ -69,8 +68,6 @@ printenv:
>         @echo "do_mainline_build         = $(do_mainline_build)"
>         @echo "do_dbgsym_package         = $(do_dbgsym_package)"
>         @echo "do_dtbs                   = $(do_dtbs)"
> -       @echo "do_doc_package            = $(do_doc_package)"
> -       @echo "do_doc_package_content    = $(do_doc_package_content)"
>         @echo "do_source_package         = $(do_source_package)"
>         @echo "do_source_package_content = $(do_source_package_content)"
>         @echo "do_extras_package         = $(do_extras_package)"
> diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> index cbd5e1f06504..aaea57aacc48 100644
> --- a/debian/rules.d/2-binary-arch.mk
> +++ b/debian/rules.d/2-binary-arch.mk
> @@ -243,14 +243,6 @@ endif
>           ) \
>         )
>
> -       # Install the full changelog.
> -ifeq ($(do_doc_package),true)
> -       install -d $(bindoc)
> -       cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \
> -               gzip -9 >$(bindoc)/changelog.Debian.old.gz
> -       chmod 644 $(bindoc)/changelog.Debian.old.gz
> -endif
> -
>  ifeq ($(do_dbgsym_package),true)
>         # Debug image is simple
>         install -m644 -D $(builddir)/build-$*/vmlinux \
> diff --git a/debian/rules.d/3-binary-indep.mk b/debian/rules.d/3-binary-indep.mk
> index d64df69aabd0..6e459a09d4e8 100644
> --- a/debian/rules.d/3-binary-indep.mk
> +++ b/debian/rules.d/3-binary-indep.mk
> @@ -4,7 +4,7 @@ build-indep:
>
>  # The binary-indep dependency chain is:
>  #
> -# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep
> +# install-headers <- install-source <- install-tools <- install-indep <- binary-indep
>  # install-headers <- binary-headers
>  #
>  indep_hdrpkg = $(indep_hdrs_pkg_name)
> @@ -31,30 +31,6 @@ ifeq ($(do_flavour_header_package),true)
>  endif
>         @touch $@
>
> -docpkg = $(doc_pkg_name)
> -docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg)
> -.PHONY: install-doc
> -install-doc: $(stampdir)/stamp-prepare-indep
> -       @echo Debug: $@
> -ifeq ($(do_doc_package),true)
> -       dh_testdir
> -       dh_testroot
> -
> -       install -d $(docdir)
> -ifeq ($(do_doc_package_content),true)
> -       # First the html docs. We skip these for autobuilds
> -       install -d $(docdir)/$(doc_pkg_name)-tmp
> -       $(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs
> -       install -d $(docdir)/html
> -       rsync -aL $(docdir)/$(doc_pkg_name)-tmp/Documentation/output/ \
> -               $(docdir)/html/
> -       rm -rf $(docdir)/$(doc_pkg_name)-tmp
> -endif
> -       # Copy the rest
> -       cp -a Documentation/* $(docdir)
> -       find $(docdir) -name .gitignore | xargs rm -f
> -endif
> -
>  srcpkg = linux-source-$(release)
>  srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)
>  balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg)
> @@ -182,7 +158,7 @@ $(stampdir)/stamp-prepare-indep:
>         @touch $@
>
>  .PHONY: install-indep
> -install-indep: $(stampdir)/stamp-install-headers install-doc install-source install-tools
> +install-indep: $(stampdir)/stamp-install-headers install-source install-tools
>         @echo Debug: $@
>
>  # This is just to make it easy to call manually. Normally done in
diff mbox series

Patch

diff --git a/debian.master/control.d/flavour-control.stub b/debian.master/control.d/flavour-control.stub
index 67b3a877202a..a7ba586e6909 100644
--- a/debian.master/control.d/flavour-control.stub
+++ b/debian.master/control.d/flavour-control.stub
@@ -31,7 +31,7 @@  Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.
 Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool
 Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x]
 Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR
-Suggests: fdutils, linux-doc | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
+Suggests: fdutils, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR
 Description: Linux kernel image for version PKGVER on DESC
  This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on
  DESC.
diff --git a/debian.master/control.d/linux-doc.stub b/debian.master/control.d/linux-doc.stub
deleted file mode 100644
index a0e04473286d..000000000000
--- a/debian.master/control.d/linux-doc.stub
+++ /dev/null
@@ -1,12 +0,0 @@ 
-Package: linux-doc
-Build-Profiles: <!stage1>
-Architecture: all
-Section: doc
-Priority: optional
-Depends: ${misc:Depends}
-Description: Linux kernel specific documentation for version PKGVER
- This package provides the various documents in the PKGVER kernel
- Documentation/ subdirectory.  These document kernel subsystems, APIs, device
- drivers, and so on.  See
- /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is
- contained in each file.
diff --git a/debian.master/control.stub.in b/debian.master/control.stub.in
index 5dc9ed39f849..0a1f830cbf79 100644
--- a/debian.master/control.stub.in
+++ b/debian.master/control.stub.in
@@ -43,22 +43,10 @@  Build-Depends:
  libstdc++-dev,
 Build-Depends-Indep:
  xmlto <!stage1>,
- docbook-utils <!stage1>,
- ghostscript <!stage1>,
- fig2dev <!stage1>,
  bzip2 <!stage1>,
  sharutils <!stage1>,
  asciidoc <!stage1>,
- python3-sphinx <!stage1>,
- python3-sphinx-rtd-theme <!stage1>,
- fontconfig <!stage1>,
  python3-docutils <!stage1>,
- imagemagick <!stage1>,
- graphviz <!stage1>,
- dvipng <!stage1>,
- fonts-noto-cjk <!stage1>,
- latexmk <!stage1>,
- librsvg2-bin <!stage1>,
 Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES=
 XS-Testsuite: autopkgtest
 #XS-Testsuite-Depends: gcc-4.7 binutils
diff --git a/debian.master/rules.d/i386.mk b/debian.master/rules.d/i386.mk
index a9327adb7052..bdeb8bd9ba10 100644
--- a/debian.master/rules.d/i386.mk
+++ b/debian.master/rules.d/i386.mk
@@ -12,6 +12,5 @@  do_tools	= false
 do_tools_common	= false
 do_extras_package = false
 do_source_package = false
-do_doc_package	= false
 do_flavour_header_package = false
 do_common_headers_indep = false
diff --git a/debian.master/rules.d/riscv64.mk b/debian.master/rules.d/riscv64.mk
index 2fa468ae8c1e..6a936c98d1f4 100644
--- a/debian.master/rules.d/riscv64.mk
+++ b/debian.master/rules.d/riscv64.mk
@@ -14,6 +14,5 @@  do_tools	= false
 do_tools_common	= false
 do_extras_package = false
 do_source_package = false
-do_doc_package	= false
 do_flavour_header_package = false
 do_common_headers_indep = false
diff --git a/debian/rules b/debian/rules
index 396c853fbe85..138640d42dbb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -79,7 +79,6 @@  ifneq ($(DEB_BUILD_PROFILE),)
 endif
 ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
     do_tools=false
-    do_doc_package=false
     do_source_package=false
     do_flavour_image_package=false
     do_flavour_header_package=false
@@ -178,11 +177,6 @@  ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub))
 	control_files += $(DEBIAN)/control.d/linux-libc-dev.stub
 endif
 endif
-ifeq ($(do_doc_package),true)
-ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub))
-	control_files += $(DEBIAN)/control.d/linux-doc.stub
-endif
-endif
 
 # Calculate Ubuntu Compatible Signing levels
 UBUNTU_COMPATIBLE_SIGNING=$(shell grep -qx ' *Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3)' debian/canonical-revoked-certs.pem && echo ubuntu/4 pro/3)
diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
index 2110020d03fa..ade7674b1111 100644
--- a/debian/rules.d/0-common-vars.mk
+++ b/debian/rules.d/0-common-vars.mk
@@ -111,23 +111,6 @@  rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
 indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release)
 indep_lib_rust_pkg_name=$(src_pkg_name)-lib-rust-$(abi_release)
 
-#
-# The generation of content in the doc package depends on
-# 'do_doc_package_content=true'. There are usually build errors during the development
-# cycle, so its OK to leave 'do_doc_package_content=false' until those build
-# failures get sorted out. Finally, the doc package doesn't really need to be built
-# for developer testing (its kind of slow), so only do it if on a buildd.
-ifneq ($(filter --,$(variants)),)
-do_doc_package=true
-else
-do_doc_package=false
-endif
-do_doc_package_content=false
-ifeq ($(do_full_build),false)
-do_doc_package_content=false
-endif
-doc_pkg_name=$(src_pkg_name)-doc
-
 #
 # Similarly with the linux-source package, you need not build it as a developer. Its
 # somewhat I/O intensive and utterly useless.
diff --git a/debian/rules.d/1-maintainer.mk b/debian/rules.d/1-maintainer.mk
index a5ea2241be79..9882dac7aa13 100644
--- a/debian/rules.d/1-maintainer.mk
+++ b/debian/rules.d/1-maintainer.mk
@@ -48,7 +48,6 @@  printenv:
 	@echo "bin_pkg_name              = $(bin_pkg_name)"
 	@echo "hdr_pkg_name              = $(hdrs_pkg_name)"
 	@echo "rust_pkg_name             = $(rust_pkg_name)"
-	@echo "doc_pkg_name              = $(doc_pkg_name)"
 	@echo "ubuntu_selftests          = $(ubuntu_selftests)"
 	@echo "arch                      = $(arch)"
 	@echo "kmake                     = $(kmake)"
@@ -69,8 +68,6 @@  printenv:
 	@echo "do_mainline_build         = $(do_mainline_build)"
 	@echo "do_dbgsym_package         = $(do_dbgsym_package)"
 	@echo "do_dtbs                   = $(do_dtbs)"
-	@echo "do_doc_package            = $(do_doc_package)"
-	@echo "do_doc_package_content    = $(do_doc_package_content)"
 	@echo "do_source_package         = $(do_source_package)"
 	@echo "do_source_package_content = $(do_source_package_content)"
 	@echo "do_extras_package         = $(do_extras_package)"
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index cbd5e1f06504..aaea57aacc48 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -243,14 +243,6 @@  endif
 	  ) \
 	)
 
-	# Install the full changelog.
-ifeq ($(do_doc_package),true)
-	install -d $(bindoc)
-	cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \
-		gzip -9 >$(bindoc)/changelog.Debian.old.gz
-	chmod 644 $(bindoc)/changelog.Debian.old.gz
-endif
-
 ifeq ($(do_dbgsym_package),true)
 	# Debug image is simple
 	install -m644 -D $(builddir)/build-$*/vmlinux \
diff --git a/debian/rules.d/3-binary-indep.mk b/debian/rules.d/3-binary-indep.mk
index d64df69aabd0..6e459a09d4e8 100644
--- a/debian/rules.d/3-binary-indep.mk
+++ b/debian/rules.d/3-binary-indep.mk
@@ -4,7 +4,7 @@  build-indep:
 
 # The binary-indep dependency chain is:
 #
-# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep
+# install-headers <- install-source <- install-tools <- install-indep <- binary-indep
 # install-headers <- binary-headers
 #
 indep_hdrpkg = $(indep_hdrs_pkg_name)
@@ -31,30 +31,6 @@  ifeq ($(do_flavour_header_package),true)
 endif
 	@touch $@
 
-docpkg = $(doc_pkg_name)
-docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg)
-.PHONY: install-doc
-install-doc: $(stampdir)/stamp-prepare-indep
-	@echo Debug: $@
-ifeq ($(do_doc_package),true)
-	dh_testdir
-	dh_testroot
-
-	install -d $(docdir)
-ifeq ($(do_doc_package_content),true)
-	# First the html docs. We skip these for autobuilds
-	install -d $(docdir)/$(doc_pkg_name)-tmp
-	$(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs
-	install -d $(docdir)/html
-	rsync -aL $(docdir)/$(doc_pkg_name)-tmp/Documentation/output/ \
-		$(docdir)/html/
-	rm -rf $(docdir)/$(doc_pkg_name)-tmp
-endif
-	# Copy the rest
-	cp -a Documentation/* $(docdir)
-	find $(docdir) -name .gitignore | xargs rm -f
-endif
-
 srcpkg = linux-source-$(release)
 srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)
 balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg)
@@ -182,7 +158,7 @@  $(stampdir)/stamp-prepare-indep:
 	@touch $@
 
 .PHONY: install-indep
-install-indep: $(stampdir)/stamp-install-headers install-doc install-source install-tools
+install-indep: $(stampdir)/stamp-install-headers install-source install-tools
 	@echo Debug: $@
 
 # This is just to make it easy to call manually. Normally done in