From e4ccb0c342afbf2947a099dfb83729cdc700a3a3 Mon Sep 17 00:00:00 2001 From: Dimitri John Ledkov Date: Fri, 1 Dec 2023 13:46:48 +0000 Subject: [PATCH] UBUNTU: [Packaging] drop useless linux-doc 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 down 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 Acked-by: Magali Lemes Acked-by: Emil Renner Berthing Acked-by: Agathe Porte Signed-off-by: Dimitri John Ledkov --- 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 | 8 +----- 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, 4 insertions(+), 88 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: -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 , - docbook-utils , - ghostscript , - fig2dev , bzip2 , sharutils , asciidoc , - python3-sphinx , - python3-sphinx-rtd-theme , - fontconfig , python3-docutils , - imagemagick , - graphviz , - dvipng , - fonts-noto-cjk , - latexmk , - librsvg2-bin , 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..a8f018135862 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 @@ -166,7 +165,7 @@ distclean: clean # Builds the image, arch headers and debug packages include $(DROOT)/rules.d/2-binary-arch.mk -# 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 # Various checks to be performed on builds @@ -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