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