ACK/Cmnt: [UNSTABLE][PATCH] UBUNTU: [Packaging] drop useless linux-doc

Dimitri John Ledkov dimitri.ledkov at canonical.com
Wed Dec 6 21:03:48 UTC 2023


On Wed, 6 Dec 2023 at 11:49, Emil Renner Berthing
<emil.renner.berthing at 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 at canonical.com>
> > Acked-by: Magali Lemes <magali.lemes.do.sacramento at 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 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
> >
> > --
> > kernel-team mailing list
> > kernel-team at lists.ubuntu.com
> > https://lists.ubuntu.com/mailman/listinfo/kernel-team



-- 
Dimitri

Sent from Ubuntu Pro
https://ubuntu.com/pro



More information about the kernel-team mailing list