diff -pruN 11.1.0/debian/changelog 11.1.0ubuntu2/debian/changelog
--- 11.1.0/debian/changelog	2019-08-16 05:20:52.000000000 +0000
+++ 11.1.0ubuntu2/debian/changelog	2019-12-23 17:14:23.000000000 +0000
@@ -1,3 +1,21 @@
+lsb (11.1.0ubuntu2) focal; urgency=medium
+
+  * Drop lsb-core and lsb-printing packages on i386.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Mon, 23 Dec 2019 11:14:23 -0600
+
+lsb (11.1.0ubuntu1) focal; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Re-added LSB compatibility packages, so that auto-downloadable
+      LSB-based printer driver packages work.
+    - lsb_release.py: restore support for querying the list of installed
+      modules, since for the moment some modules are still supported.
+    - Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+      by printer driver packages.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 18 Oct 2019 14:14:10 -0700
+
 lsb (11.1.0) unstable; urgency=medium
 
   * Drop cursor-moving code from init-functions
@@ -5,6 +23,18 @@ lsb (11.1.0) unstable; urgency=medium
 
  -- Dmitry Bogatov <KAction@debian.org>  Fri, 16 Aug 2019 05:20:52 +0000
 
+lsb (11.0.1ubuntu1) eoan; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Re-added LSB compatibility packages, so that auto-downloadable
+      LSB-based printer driver packages work.
+    - lsb_release.py: restore support for querying the list of installed
+      modules, since for the moment some modules are still supported.
+    - Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+      by printer driver packages.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 16 Aug 2019 00:26:10 -0700
+
 lsb (11.0.1) unstable; urgency=medium
 
   * Improve portability of init-functions.d/00-verbose.
@@ -27,6 +57,18 @@ lsb (11.0.0) unstable; urgency=medium
 
  -- Dmitry Bogatov <KAction@debian.org>  Tue, 13 Aug 2019 18:24:19 +0000
 
+lsb (10.2019051400ubuntu1) eoan; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Re-added LSB compatibility packages, so that auto-downloadable
+      LSB-based printer driver packages work.
+    - lsb_release.py: restore support for querying the list of installed
+      modules, since for the moment some modules are still supported.
+    - Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+      by printer driver packages.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Thu, 06 Jun 2019 13:48:00 -0700
+
 lsb (10.2019051400) unstable; urgency=medium
 
   [ Harald Dunkel ]
@@ -35,6 +77,18 @@ lsb (10.2019051400) unstable; urgency=me
 
  -- Didier Raboud <odyx@debian.org>  Tue, 14 May 2019 08:50:39 +0200
 
+lsb (10.2019031300ubuntu1) disco; urgency=medium
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Re-added LSB compatibility packages, so that auto-downloadable
+      LSB-based printer driver packages work.
+    - lsb_release.py: restore support for querying the list of installed
+      modules, since for the moment some modules are still supported.
+    - Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+      by printer driver packages.
+
+ -- Adam Conrad <adconrad@ubuntu.com>  Tue, 02 Apr 2019 13:17:44 -0600
+
 lsb (10.2019031300) unstable; urgency=low
 
   [ Dmitry Bogatov ]
@@ -43,6 +97,22 @@ lsb (10.2019031300) unstable; urgency=lo
 
  -- Didier Raboud <odyx@debian.org>  Wed, 13 Mar 2019 21:42:26 +0100
 
+lsb (10.2018112800ubuntu1) disco; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Re-added LSB compatibility packages, so that auto-downloadable
+      LSB-based printer driver packages work.
+    - lsb_release.py: restore support for querying the list of installed
+      modules, since for the moment some modules are still supported.
+    - Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+      by printer driver packages.
+  * Dropped changes, no longer needed:
+    - Added Conflicts/Replaces against cups-filters-invalid-mta and
+      cups-filters-lsb for upgrade compatibility from the Xenial development
+      cycle.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 01 Feb 2019 13:07:26 -0800
+
 lsb (10.2018112800) unstable; urgency=medium
 
   * Remove support for /etc/lsb-release in favour of /usr/lib/os-release
@@ -58,6 +128,23 @@ lsb (10.2018112800) unstable; urgency=me
 
  -- Didier Raboud <odyx@debian.org>  Wed, 28 Nov 2018 20:21:37 +0100
 
+lsb (9.20170808ubuntu1) bionic; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Re-added LSB compatibility packages, so that auto-downloadable
+      LSB-based printer driver packages work.
+    - Added Conflicts/Replaces against cups-filters-invalid-mta and
+      cups-filters-lsb for upgrade compatibility from the Xenial development
+      cycle.
+    - lsb_release.py: restore support for querying the list of installed
+      modules, since for the moment some modules are still supported.
+    - Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+      by printer driver packages.
+  * Dropped changes:
+    - 01-upstart-lsb: obsoleted upstream, no longer used in Ubuntu.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Tue, 05 Dec 2017 14:54:13 -0800
+
 lsb (9.20170808) unstable; urgency=medium
 
   * Remove Jeff Licquia from Uploaders, with thanks for his past work
@@ -123,6 +210,49 @@ lsb (9.20160601) unstable; urgency=mediu
 
  -- Didier Raboud <odyx@debian.org>  Wed, 01 Jun 2016 08:46:56 +0200
 
+lsb (9.20160110ubuntu5) yakkety; urgency=medium
+
+  * Revert changes to python2 vs. python3 installation of lsb_release.py,
+    inadvertently breaking imports of lsb_release in python2.  LP: #1596638.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Wed, 06 Jul 2016 08:20:18 -0700
+
+lsb (9.20160110ubuntu4) yakkety; urgency=medium
+
+  * Make the 'lsb' package depend on libjpeg62 as well, known to be needed
+    by printer driver packages.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Wed, 22 Jun 2016 01:26:31 +0000
+
+lsb (9.20160110ubuntu3) yakkety; urgency=medium
+
+  * lsb_release.py: restore support for querying the list of installed
+    modules, since for the moment some modules are still supported.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Tue, 21 Jun 2016 21:25:00 +0000
+
+lsb (9.20160110ubuntu2) yakkety; urgency=medium
+
+  [ Till Kamppeter ]
+  * Re-added LSB compatibility packages, so that auto-downloadable
+    LSB-based printer driver packages work.  Thanks to Till Kammpeter
+    for the patch.  LP: #1536353
+  * Added Conflicts/Replaces against cups-filters-invalid-mta and
+    cups-filters-lsb for upgrade compatibility from the Xenial development
+    cycle.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Sat, 18 Jun 2016 17:16:59 +0000
+
+lsb (9.20160110ubuntu1) yakkety; urgency=medium
+
+  * 01-upstart-lsb: when diverting an init script to an upstart job, we
+    can't directly map the 'status' subcommand to /sbin/status because the
+    return value of the latter is always 0 if we communicated successfully
+    with upstart.  Instead, parse the output of the command to correctly map
+    this to the LSB return codes.  LP: #1582813.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Tue, 17 May 2016 17:04:06 -0700
+
 lsb (9.20160110) unstable; urgency=medium
 
   * Merge the last Ubuntu diff
@@ -1568,3 +1698,4 @@ lsb (1.1.0-1) unstable; urgency=low
   * Initial Release.  (Closes: #134658)
 
  -- Chris Lawrence <lawrencc@debian.org>  Sun, 17 Feb 2002 14:07:32 -0600
+
diff -pruN 11.1.0/debian/control 11.1.0ubuntu2/debian/control
--- 11.1.0/debian/control	2019-08-13 18:17:37.000000000 +0000
+++ 11.1.0ubuntu2/debian/control	2019-12-23 17:14:09.000000000 +0000
@@ -1,7 +1,8 @@
 Source: lsb
 Section: misc
 Priority: optional
-Maintainer: Debian sysvinit maintainers <debian-init-diversity@chiark.greenend.org.uk>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian sysvinit maintainers <debian-init-diversity@chiark.greenend.org.uk>
 Uploaders: Dmitry Bogatov <KAction@debian.org>
 Build-Depends:
  po-debconf (>= 0.5.0),
@@ -16,6 +17,139 @@ Homepage: https://wiki.linuxfoundation.o
 Vcs-Browser: https://salsa.debian.org/debian/lsb
 Vcs-Git: https://salsa.debian.org/debian/lsb.git
 
+Package: lsb-core
+Architecture: amd64 armhf arm64 ppc64el s390x
+Multi-Arch: foreign
+Depends: lsb-release (>= ${source:Version}),
+ ${glibc},
+ libz1,
+ libncurses5,
+ libpam0g,
+ lsb-invalid-mta (>= ${source:Version}) | mail-transport-agent,
+ at,
+ bc,
+ binutils,
+ bsdmainutils,
+ bsdutils,
+ cpio,
+ cron | cron-daemon,
+ ed,
+ file,
+ libc6-dev | libc-dev,
+ locales,
+ cups-bsd | lpr,
+ lprng | cups-client,
+ m4,
+ mailx | mailutils,
+ make,
+ man-db,
+ mawk | gawk,
+ ncurses-term,
+ passwd,
+ patch,
+ pax,
+ procps,
+ psmisc,
+ rsync,
+ alien (>= 8.36),
+ python3,
+ ${python3:Depends},
+ ${misc:Depends},
+ ${depends},
+ lsb-base (>= ${source:Version}),
+ lsb-security (>= ${source:Version}),
+ time
+Provides: lsb-core-noarch, ${provides}
+Description: Linux Standard Base core support package
+ The Linux Standard Base (http://www.linuxbase.org/) is a standard
+ core system that third-party applications written for Linux can
+ depend upon.
+ .
+ This package provides an implementation of the core of the Linux Standard
+ Base for Debian on the Intel x86, Intel ia64 (Itanium), IBM S390, and
+ PowerPC 32-bit architectures with the Linux kernel. Future revisions of the
+ specification and this package may support the LSB on additional
+ architectures and kernels.
+ .
+ The intent of this package is to provide a best current practice way
+ of installing and running LSB packages on Debian GNU/Linux. Its
+ presence does not imply that Debian fully complies
+ with the Linux Standard Base, and should not be construed as a
+ statement that Debian is LSB-compliant.
+
+Package: lsb-printing
+Architecture: amd64 armhf arm64 ppc64el s390x
+Depends: lsb-core (>= ${source:Version}),
+ libcups2,
+ libcupsimage2,
+ foomatic-filters,
+ ghostscript,
+ cups-filters (>= 1.0.36) | ghostscript-cups,
+ ${misc:Depends}
+Provides: lsb-printing-noarch, ${provides}
+Description: Linux Standard Base Printing package
+ The Linux Standard Base (http://www.linuxbase.org/) is a standard
+ core system that third-party applications written for Linux can
+ depend upon.
+ .
+ This package provides an implementation of the Linux Standard Base
+ Printing specification for Debian on the Intel x86, Intel ia64 (Itanium),
+ IBM S390, and PowerPC 32-bit architectures with the Linux kernel. Future
+ revisions of the specification and this package may support the LSB on
+ additional architectures and kernels.
+ .
+ The intent of this package is to provide a best current practice way
+ of installing and running LSB packages on Debian GNU/Linux. Its
+ presence does not imply that Debian fully complies
+ with the Linux Standard Base, and should not be construed as a
+ statement that Debian is LSB-compliant.
+
+Package: lsb-security
+Architecture: any
+Depends: libnss3,
+ libnspr4,
+ ${misc:Depends}
+Recommends: lsb-core (>= ${source:Version}),
+Provides: lsb-security-noarch,
+ ${provides}
+Description: Linux Standard Base Security package
+ The Linux Standard Base (http://www.linuxbase.org/) is a standard
+ core system that third-party applications written for Linux can
+ depend upon.
+ .
+ This package provides an implementation of the Linux Standard Base Security
+ specification for Debian on the Intel x86, Intel ia64 (Itanium), IBM S390,
+ and PowerPC 32-bit architectures with the Linux kernel. Future revisions of
+ the specification and this package may support the LSB on additional
+ architectures and kernels.
+ .
+ The intent of this package is to provide a best current practice way
+ of installing and running LSB packages on Debian GNU/Linux. Its
+ presence does not imply that Debian fully complies
+ with the Linux Standard Base, and should not be construed as a
+ statement that Debian is LSB-compliant.
+
+Package: lsb
+Architecture: all
+Depends: lsb-core (>= ${source:Version}),
+ lsb-printing (>= ${source:Version}),
+ ${misc:Depends}, libjpeg62
+Description: Linux Standard Base support package
+ The Linux Standard Base (http://www.linuxbase.org/) is a standard
+ core system that third-party applications written for Linux can
+ depend upon.
+ .
+ This package provides an implementation of only the printing and core
+ modules of the Linux Standard Base for Ubuntu.  Recent versions of Ubuntu
+ do not implement the full LSB interfaces; this package is provided only for
+ compatibility with third-party printer driver packages which depend on the
+ lsb package.
+ .
+ The intent of this package is to provide a best current practice way
+ of installing and running LSB packages on Debian GNU/Linux. Its presence
+ does not imply that Ubuntu fully complies with the Linux Standard Base,
+ and should not be construed as a statement that Ubuntu is LSB-compliant.
+
 Package: lsb-base
 Architecture: all
 Multi-Arch: foreign
@@ -50,4 +184,32 @@ Description: Linux Standard Base version
  .
  While it is intended for use by LSB packages, this command may also
  be useful for programmatically distinguishing between a pure Debian
- installation and derived distributions.
\ No newline at end of file
+ installation and derived distributions.
+
+Package: lsb-invalid-mta
+Architecture: all
+Depends: ${misc:Depends}
+Suggests: lsb
+Provides: mail-transport-agent
+Conflicts: mail-transport-agent
+Description: Linux Standard Base sendmail dummy
+ The Linux Standard Base (http://www.linuxbase.org/) is a standard
+ core system that third-party applications written for Linux can
+ depend upon.
+ .
+ This package contains nothing else than a fake /usr/sbin/sendmail
+ command to fulfill the LSB's requirement of providing this command without
+ requiring an MTA to get installed, which once introduces a daemon which
+ can cause security problems and second, users get asked questions about
+ how they want their MTA configured when in reality they simply wanted to
+ install a desktop application or a printer driver, but the dependency on
+ LSB compliance pulls in an MTA with the installation.
+ .
+ The LSB requirement on /usr/sbin/sendmail comes from old times where Linux
+ and Unix machines had all fixed IPs and did server tasks in data centers.
+ Today's typical desktop Linux machines do not do local e-mail any more as
+ users use external e-mail services.
+ .
+ The /usr/sbin/sendmail always exits with exit status -1 (255) and sends a
+ warning message to stderr, so that if a program actually tries to send e-mail
+ via the sendmail command the user gets note.
diff -pruN 11.1.0/debian/lsb-base.NEWS 11.1.0ubuntu2/debian/lsb-base.NEWS
--- 11.1.0/debian/lsb-base.NEWS	2019-03-09 18:30:52.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-base.NEWS	2019-08-25 21:11:20.000000000 +0000
@@ -1,8 +1,9 @@
 lsb (9.20150826) unstable; urgency=low
 
   This update drops all lsb-* compatibility packages, and is therefore an
-  abandon of the pursuit of LSB compatibility for Debian. Only lsb-release and
-  lsb-base are kept as they continue to be used throughout the archive.
+  abandon of the pursuit of LSB compatibility for Debian. Only lsb-release,
+  lsb-base, and lsb-printing are kept as they continue to be used throughout
+  the archive.
 
  -- Didier Raboud <odyx@debian.org>  Wed, 26 Aug 2015 12:00:00 +0200
 
diff -pruN 11.1.0/debian/lsb-core.dirs 11.1.0ubuntu2/debian/lsb-core.dirs
--- 11.1.0/debian/lsb-core.dirs	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-core.dirs	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,3 @@
+usr/lib/lsb
+var/lib/lsb
+etc/profile.d
diff -pruN 11.1.0/debian/lsb-core.install 11.1.0ubuntu2/debian/lsb-core.install
--- 11.1.0/debian/lsb-core.install	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-core.install	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,4 @@
+initdutils.py /usr/lib/lsb
+install_initd /usr/lib/lsb
+remove_initd /usr/lib/lsb
+lsbinstall /usr/lib/lsb
diff -pruN 11.1.0/debian/lsb-core.lintian-overrides 11.1.0ubuntu2/debian/lsb-core.lintian-overrides
--- 11.1.0/debian/lsb-core.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-core.lintian-overrides	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,2 @@
+# The purpose of LSB is to ensure that those packages are present. Being explicit cannot hurt.
+depends-on-essential-package-without-using-version depends: bsdutils
diff -pruN 11.1.0/debian/lsb-core.manpages 11.1.0ubuntu2/debian/lsb-core.manpages
--- 11.1.0/debian/lsb-core.manpages	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-core.manpages	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1 @@
+lsb.8
diff -pruN 11.1.0/debian/lsb-core.postinst 11.1.0ubuntu2/debian/lsb-core.postinst
--- 11.1.0/debian/lsb-core.postinst	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-core.postinst	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+set -e
+
+setup_ldso_symlink () {
+    ARCH=$DPKG_MAINTSCRIPT_ARCH
+    if [ -z "$ARCH" ]; then
+        ARCH=$(dpkg --print-architecture)
+    fi
+    case "$ARCH" in
+        s390|ppc64|sparc|sparc64|alpha|hppa|m68k|mipsel)
+            ln -sf ld.so.1 /lib/ld-lsb-$ARCH.so.1
+            ln -sf ld.so.1 /lib/ld-lsb-$ARCH.so.2
+            ln -sf ld.so.1 /lib/ld-lsb-$ARCH.so.3
+            ;;
+        powerpc)
+            ln -sf ld.so.1 /lib/ld-lsb-ppc32.so.1
+            ln -sf ld.so.1 /lib/ld-lsb-ppc32.so.2
+            ln -sf ld.so.1 /lib/ld-lsb-ppc32.so.3
+            ;;
+        i386)
+            ln -sf ld-linux.so.2 /lib/ld-lsb.so.1
+            ln -sf ld-linux.so.2 /lib/ld-lsb.so.2
+            ln -sf ld-linux.so.2 /lib/ld-lsb.so.3
+            ;;
+        amd64)
+            ln -sf ld-linux.so.2 /lib/ld-lsb.so.1
+            ln -sf ld-linux.so.2 /lib/ld-lsb.so.2
+            ln -sf ld-linux.so.2 /lib/ld-lsb.so.3
+            ln -sf ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.2
+            ln -sf ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
+            ;;
+        ia64)
+            ln -sf ld-linux-ia64.so.2 /lib/ld-lsb-ia64.so.1
+            ln -sf ld-linux-ia64.so.2 /lib/ld-lsb-ia64.so.2
+            ln -sf ld-linux-ia64.so.2 /lib/ld-lsb-ia64.so.3
+            ;;
+        *)
+            echo "ld-lsb-*.so.1 symlink for $ARCH is unknown!"
+            ;;
+    esac
+}
+
+PATH=/sbin:/usr/sbin:$PATH
+export PATH
+
+case "$1" in
+    configure)
+        if dpkg --compare-versions "$2" lt "3.2+Debian30" ; then
+          [ -L /lib/ld-lsb-x86-64.so.2 ] && rm /lib/ld-lsb-x86-64.so.2 || true
+          [ -L /lib/ld-lsb-x86-64.so.3 ] && rm /lib/ld-lsb-x86-64.so.3 || true
+        fi
+        setup_ldso_symlink
+        ;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+        ;;
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
diff -pruN 11.1.0/debian/lsb-core.prerm 11.1.0ubuntu2/debian/lsb-core.prerm
--- 11.1.0/debian/lsb-core.prerm	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-core.prerm	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+set -e
+
+remove_ldso_symlink () {
+    ARCH=$DPKG_MAINTSCRIPT_ARCH
+    if [ -z "$ARCH" ]; then
+        ARCH=$(dpkg --print-architecture)
+    fi
+    case "$ARCH" in
+        s390|ia64|ppc64|sparc|sparc64|alpha|hppa|m68k|mipsel)
+            rm -f /lib/ld-lsb-$ARCH.so.[123]
+            ;;
+        powerpc)
+            rm -f /lib/ld-lsb-ppc32.so.[123]
+            ;;
+        i386)
+            rm -f /lib/ld-lsb.so.[123]
+            ;;
+        amd64)
+            rm -f /lib/ld-lsb.so.[123] /lib64/ld-lsb-x86-64.so.[23]
+            ;;
+        *)
+            echo "ld-lsb-*.so.1 symlink for $ARCH is unknown; not removed."
+            ;;
+    esac
+}
+
+PATH=/sbin:/usr/sbin:$PATH
+export PATH
+
+case "$1" in
+    remove)
+        remove_ldso_symlink
+        rm -f /var/lib/lsb/facilities
+        rm -f /var/lib/lsb/depends
+        ;;
+    failed-upgrade|upgrade|deconfigure)
+        ;;
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+
+#DEBHELPER#
diff -pruN 11.1.0/debian/lsb-cxx.substvars 11.1.0ubuntu2/debian/lsb-cxx.substvars
--- 11.1.0/debian/lsb-cxx.substvars	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-cxx.substvars	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,4 @@
+provides=lsb-cxx-amd64
+provides=lsb-cxx-amd64
+provides=lsb-cxx-amd64
+provides=lsb-cxx-amd64
diff -pruN 11.1.0/debian/lsb-desktop.substvars 11.1.0ubuntu2/debian/lsb-desktop.substvars
--- 11.1.0/debian/lsb-desktop.substvars	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-desktop.substvars	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,4 @@
+provides=lsb-qt4-amd64, lsb-desktop-amd64
+provides=lsb-qt4-amd64, lsb-desktop-amd64
+provides=lsb-qt4-amd64, lsb-desktop-amd64
+provides=lsb-qt4-amd64, lsb-desktop-amd64
diff -pruN 11.1.0/debian/lsb-graphics.substvars 11.1.0ubuntu2/debian/lsb-graphics.substvars
--- 11.1.0/debian/lsb-graphics.substvars	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-graphics.substvars	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,4 @@
+provides=lsb-graphics-amd64
+provides=lsb-graphics-amd64
+provides=lsb-graphics-amd64
+provides=lsb-graphics-amd64
diff -pruN 11.1.0/debian/lsb-invalid-mta.install 11.1.0ubuntu2/debian/lsb-invalid-mta.install
--- 11.1.0/debian/lsb-invalid-mta.install	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-invalid-mta.install	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1 @@
+sendmail /usr/sbin/
diff -pruN 11.1.0/debian/lsb-invalid-mta.links 11.1.0ubuntu2/debian/lsb-invalid-mta.links
--- 11.1.0/debian/lsb-invalid-mta.links	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-invalid-mta.links	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1 @@
+usr/sbin/sendmail usr/lib/sendmail
diff -pruN 11.1.0/debian/lsb-invalid-mta.lintian-overrides 11.1.0ubuntu2/debian/lsb-invalid-mta.lintian-overrides
--- 11.1.0/debian/lsb-invalid-mta.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-invalid-mta.lintian-overrides	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,2 @@
+# Dummy sendmail needs no manpage
+binary-without-manpage usr/sbin/sendmail
diff -pruN 11.1.0/debian/lsb-languages.substvars 11.1.0ubuntu2/debian/lsb-languages.substvars
--- 11.1.0/debian/lsb-languages.substvars	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-languages.substvars	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,4 @@
+provides=lsb-languages-amd64
+provides=lsb-languages-amd64
+provides=lsb-languages-amd64
+provides=lsb-languages-amd64
diff -pruN 11.1.0/debian/lsb.lintian-overrides 11.1.0ubuntu2/debian/lsb.lintian-overrides
--- 11.1.0/debian/lsb.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb.lintian-overrides	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,2 @@
+# LSB packages are empty on purpose
+empty-binary-package
diff -pruN 11.1.0/debian/lsb-multimedia.substvars 11.1.0ubuntu2/debian/lsb-multimedia.substvars
--- 11.1.0/debian/lsb-multimedia.substvars	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-multimedia.substvars	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,4 @@
+provides=lsb-multimedia-amd64
+provides=lsb-multimedia-amd64
+provides=lsb-multimedia-amd64
+provides=lsb-multimedia-amd64
diff -pruN 11.1.0/debian/lsb-printing.lintian-overrides 11.1.0ubuntu2/debian/lsb-printing.lintian-overrides
--- 11.1.0/debian/lsb-printing.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-printing.lintian-overrides	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,2 @@
+# LSB packages are empty on purpose
+empty-binary-package
diff -pruN 11.1.0/debian/lsb-security.lintian-overrides 11.1.0ubuntu2/debian/lsb-security.lintian-overrides
--- 11.1.0/debian/lsb-security.lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 11.1.0ubuntu2/debian/lsb-security.lintian-overrides	2019-04-02 19:17:37.000000000 +0000
@@ -0,0 +1,2 @@
+# LSB packages are empty on purpose
+empty-binary-package
diff -pruN 11.1.0/debian/README.Debian 11.1.0ubuntu2/debian/README.Debian
--- 11.1.0/debian/README.Debian	2019-03-09 18:30:51.000000000 +0000
+++ 11.1.0ubuntu2/debian/README.Debian	2019-08-25 21:11:20.000000000 +0000
@@ -1,12 +1,36 @@
-lsb for Debian
+lsb for Ubuntu
 --------------
 
-This package used to provide the Linux Standard Base on Debian systems.
-The LSB is a specification for allowing the same binary package to be used
-on multiple distributions.
+This package provides the Linux Standard Base on Ubuntu systems.  The
+LSB is a specification for allowing the same binary package to be used
+on multiple distributions.  
 
-Since version 9.20150826, this package stopped providing the compatibility
-LSB packages and only provides two otherwise important packages:
+INSTALLING LSB PACKAGES
+
+The "alien" package supports LSB packages on Ubuntu.  For example, to
+install an LSB package "lsb-mozilla-1.2-1_i386.rpm", type (as root):
+
+alien -i lsb-mozilla-1.2-1_i386.rpm
+
+Ideally, the package should be converted to an Ubuntu package and then
+installed by dpkg.  If this fails, there may be a problem with either
+the lsb package (most likely) or alien (less likely), and you should
+contact the vendor of the lsb package to resolve the problem.
+
+PACKAGE LAYOUT
+
+The LSB implementation in Ubuntu is currently divided into two
+packages:
+
+* The "lsb-core" package depends on the Ubuntu packages that are
+  required to comply with the LSB-Core 4.1 specification. It also
+  includes some subroutines that are used by LSB-compliant applications
+  when they are being installed or removed.
+
+* The "lsb-printing" package depends on the CUPS libraries (libcups2
+  and libcupsimage2), foomatic-filters, and Ghostscript.
+
+Other modules of the LSB implementation are no longer available in Ubuntu.
 
 * The "lsb-base" package includes a number of functions used by init.d
   scripts in some LSB packages.
@@ -16,3 +40,8 @@ LSB packages and only provides two other
 
 * The "lsb-release" package includes the lsb_release command, which provides
   information about the installed LSB modules and the underlying distribution.
+
+The LSB module packages are architecture-specific because of
+differences in the requirements of the LSB on various binary
+architectures.  In particular, each package provides
+lsb-{module}-noarch and lsb-{module}-{arch} virtual packages.
diff -pruN 11.1.0/lsb_release.py 11.1.0ubuntu2/lsb_release.py
--- 11.1.0/lsb_release.py	2019-03-09 18:30:52.000000000 +0000
+++ 11.1.0ubuntu2/lsb_release.py	2019-08-25 21:11:20.000000000 +0000
@@ -68,6 +68,11 @@ def lookup_codename(release, unknown=Non
         shortrelease = '%s' % m.group(1)
     return RELEASE_CODENAME_LOOKUP.get(shortrelease, unknown)
 
+# LSB compliance packages... may grow eventually
+PACKAGES = 'lsb-core lsb-cxx lsb-graphics lsb-desktop lsb-languages lsb-multimedia lsb-printing lsb-security'
+
+modnamere = re.compile(r'lsb-(?P<module>[a-z0-9]+)-(?P<arch>[^ ]+)(?: \(= (?P<version>[0-9.]+)\))?')
+
 def valid_lsb_versions(version, module):
     # If a module is ever released that only appears in >= version, deal
     # with that here
@@ -129,7 +134,44 @@ except NameError:
 
 # This is Debian-specific at present
 def check_modules_installed():
-    return []
+    # Find which LSB modules are installed on this system
+    C_env = os.environ.copy(); C_env['LC_ALL'] = 'C'
+    output = subprocess.Popen(['dpkg-query','-f',"${Version} ${Provides}\n",'-W'] + PACKAGES.split(),
+                              env=C_env,
+                              stdout=subprocess.PIPE,
+                              stderr=subprocess.PIPE,
+                              close_fds=True).communicate()[0].decode('utf-8')
+
+    if not output:
+        return []
+
+    modules = set()
+    for line in output.split(os.linesep):
+        if not line:
+           break
+        version, provides = line.split(' ', 1)
+        # Debian package versions can be 3.2-$REV, 3.2+$REV or 3.2~$REV.
+        version = re.split('[-+~]', version, 1)[0]
+        for pkg in provides.split(','):
+            mob = modnamere.search(pkg)
+            if not mob:
+                continue
+
+            mgroups = mob.groupdict()
+            # If no versioned provides...
+            if mgroups.get('version'):
+                module = '%(module)s-%(version)s-%(arch)s' % mgroups
+                modules.add(module)
+            else:
+                module = mgroups['module']
+                for v in valid_lsb_versions(version, module):
+                    mgroups['version'] = v
+                    module = '%(module)s-%(version)s-%(arch)s' % mgroups
+                    modules.add(module)
+
+    modules = list(modules)
+    modules.sort()
+    return modules
 
 longnames = {'v' : 'version', 'o': 'origin', 'a': 'suite',
              'c' : 'component', 'l': 'label'}
