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