APPLIED: [UNSTABLE][PATCH] UBUNTU: [Packaging] drop useless linux-doc
Dimitri John Ledkov
dimitri.ledkov at canonical.com
Wed Dec 6 21:33:15 UTC 2023
On Tue, 5 Dec 2023 at 22:25, Dimitri John Ledkov
<dimitri.ledkov at 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 at canonical.com>
> Acked-by: Magali Lemes <magali.lemes.do.sacramento at 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
--
Dimitri
Sent from Ubuntu Pro
https://ubuntu.com/pro
More information about the kernel-team
mailing list