Package: chromium
Version: 98.0.4758.102-1~deb11u1
Severity: normal

(This was initially sent to 1005...@bugs.debian.org;
dilinger convinced me this should be a new ticket.)

Hi, I ship chromium in prisons, where we extremely do not want
unprivileged users to be able to add new drivers (fuse) and
applications (flatpak/bubblewrap/xdg-desktop-portal). [*]

https://bugs.debian.org/1005230 and
https://bugs.debian.org/1005410 were recently fixed by adding
    Depends: xdg-desktop-portal-gtk | xdg-desktop-portal-backend
which means chromium now hard-depends on fuse and bubblewrap.

 1. xdg-desktop-portal-* is not needed for XFCE and sway users.

    As an experiment, I tried

       dpkg --force-depends --purge \
           xdg-desktop-portal \
           xdg-desktop-portal-backend \
           xdg-desktop-portal-gtk \
           fuse libfuse2 \
           fuse3 libfuse3-3 \
           bubblewrap flatpak \
           libgnome-desktop-3-19

    And after doing so, I rebooted, logged into a GUI as a new user,
    started chromium, successfully browsed to https://example.com/, and
    successfully used File Open and File Save dialogues (the were GTK3-style).

    I tested this with Debian 11 / Xorg / XFCE.
    I tested this with Debian 11 / sway / Xwayland.

    In both cases, everything worked,
    i.e. the desktop portal is (presumably) not needed.

    I'm not sure why other people seem to need xdg-desktop-portal-*.
    My only guess is that I was testing in a qemu VM, and
    maybe chromium silently disables sandboxing when it detects a VM???

    I briefly tried to test task-gnome-desktop, but
    gdm3 didn't auto-start, so I gave up.

    I didn't test KDE, LXDE, Cinnamon, Mate, wlroots, or plain X (no DE/WM at 
all).

    Boring details (turnkey test script &c) are in my earlier emails here:
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005230#25


 2. I have a viable workaround, which
    is just to make a fake xdg-desktop-portal package.
    This is not really interesting to anyone else, but
    I attach it for completeness.


>From MY perspective, the "easy" answer is to just downgrade Depends to 
>Recommends.

However this will re-break chromium for people who have neither gtk*
nor xdg-desktop-portal* installed (i.e. #1005230).

dilinger suggested something like the below.
Getting this just right will require some Deep Thinks.
I don't understand chromium internals enough to do that myself :-(

    Depends: libgtk-4-1 |
             libgtk-3-0 |
             xdg-desktop-portal-gtk |
             xdg-desktop-portal-backend


[*] I have a bunch of other layers to block these, but
    "libfuse* isn't even installed" is really nice layer to have.
    e.g. detainee kernels have CONFIG_FUSE_FS disabled
    (though CONFIG_USER_NS is enabled due to systemd).
Format: 3.0 (native)
Source: xdg-desktop-portal-ersatz
Binary: xdg-desktop-portal-ersatz
Architecture: all
Version: 11.0
Maintainer: Trent W. Buck <t...@cyber.com.au>
Uploaders: Trent W. Buck <trentb...@gmail.com>
Standards-Version: 4.3.0
Build-Depends: debhelper-compat (= 13)
Package-List:
 xdg-desktop-portal-ersatz deb metapackages optional arch=all
Checksums-Sha1:
 00944a5479997e1b0bf1ee953b263e7c6eb2ada4 2008 
xdg-desktop-portal-ersatz_11.0.tar.xz
Checksums-Sha256:
 c682a6987abb0b0c6c8a9d125a544f7300d3ac114501ec44723cf9351de00e2d 2008 
xdg-desktop-portal-ersatz_11.0.tar.xz
Files:
 6b2741ba9134a28c6e35ae8d317f7565 2008 xdg-desktop-portal-ersatz_11.0.tar.xz

Attachment: xdg-desktop-portal-ersatz_11.0.tar.xz
Description: application/xz

Attachment: xdg-desktop-portal-ersatz_11.0_all.deb
Description: application/vnd.debian.binary-package

 dpkg-buildpackage -us -uc -ui
dpkg-buildpackage: info: source package xdg-desktop-portal-ersatz
dpkg-buildpackage: info: source version 11.0
dpkg-buildpackage: info: source distribution bullseye
dpkg-buildpackage: info: source changed by Trent W. Buck <trentb...@gmail.com>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (native)'
dpkg-source: info: building xdg-desktop-portal-ersatz in 
xdg-desktop-portal-ersatz_11.0.tar.xz
dpkg-source: info: building xdg-desktop-portal-ersatz in 
xdg-desktop-portal-ersatz_11.0.dsc
 debian/rules binary
dh binary
   create-stamp debian/debhelper-build-stamp
dpkg-deb: building package 'xdg-desktop-portal-ersatz' in 
'../xdg-desktop-portal-ersatz_11.0_all.deb'.
 dpkg-genbuildinfo
 dpkg-genchanges  >../xdg-desktop-portal-ersatz_11.0_amd64.changes
dpkg-genchanges: info: including full source code in upload
 dpkg-source --after-build .
dpkg-buildpackage: info: full upload; Debian-native package (full source is 
included)
Now running lintian xdg-desktop-portal-ersatz_11.0_amd64.changes ...
warning: running with root privileges is not recommended!
W: xdg-desktop-portal-ersatz: debian-changelog-line-too-long line 4
W: xdg-desktop-portal-ersatz: debian-changelog-line-too-long line 7
W: xdg-desktop-portal-ersatz: extended-description-line-too-long line 14
W: xdg-desktop-portal-ersatz: extended-description-line-too-long line 15
Finished running lintian.
Format: 1.0
Source: xdg-desktop-portal-ersatz
Binary: xdg-desktop-portal-ersatz
Architecture: all source
Version: 11.0
Checksums-Md5:
 f6c154b76e0749b94119ae1a829b02a3 665 xdg-desktop-portal-ersatz_11.0.dsc
 1fbbb11ae2622436b0e1741d7e244e5b 2564 xdg-desktop-portal-ersatz_11.0_all.deb
Checksums-Sha1:
 891d5dc0a7b3cb51f7f90c757798aed4c28ce29e 665 xdg-desktop-portal-ersatz_11.0.dsc
 fb22dd56973e883c28a359df6709b57946e8afae 2564 
xdg-desktop-portal-ersatz_11.0_all.deb
Checksums-Sha256:
 c7d44da31a5ed228942157f1f3c975c47421474a21f775c8b58313514ebb3e24 665 
xdg-desktop-portal-ersatz_11.0.dsc
 9be2a965ee4899923482eca2d56f1235439c0c09d925ad8d0320d37d9a625769 2564 
xdg-desktop-portal-ersatz_11.0_all.deb
Build-Origin: Debian
Build-Architecture: amd64
Build-Date: Tue, 22 Feb 2022 05:25:12 +0000
Installed-Build-Depends:
 autoconf (= 2.69-14),
 automake (= 1:1.16.3-2),
 autopoint (= 0.21-4),
 autotools-dev (= 20180224.1+nmu1),
 base-files (= 11.1+deb11u2),
 base-passwd (= 3.5.51),
 bash (= 5.1-2+b3),
 binutils (= 2.35.2-2),
 binutils-common (= 2.35.2-2),
 binutils-x86-64-linux-gnu (= 2.35.2-2),
 bsdextrautils (= 2.36.1-8+deb11u1),
 bsdutils (= 1:2.36.1-8+deb11u1),
 build-essential (= 12.9),
 bzip2 (= 1.0.8-4),
 coreutils (= 8.32-4+b1),
 cpp (= 4:10.2.1-1),
 cpp-10 (= 10.2.1-6),
 dash (= 0.5.11+git20200708+dd9ef66-5),
 debconf (= 1.5.77),
 debhelper (= 13.3.4),
 debianutils (= 4.11.2),
 dh-autoreconf (= 20),
 dh-strip-nondeterminism (= 1.12.0-1),
 diffutils (= 1:3.7-5),
 dpkg (= 1.20.9),
 dpkg-dev (= 1.20.9),
 dwz (= 0.13+20210201-1),
 file (= 1:5.39-3),
 findutils (= 4.8.0-1),
 g++ (= 4:10.2.1-1),
 g++-10 (= 10.2.1-6),
 gcc (= 4:10.2.1-1),
 gcc-10 (= 10.2.1-6),
 gcc-10-base (= 10.2.1-6),
 gettext (= 0.21-4),
 gettext-base (= 0.21-4),
 grep (= 3.6-1),
 groff-base (= 1.22.4-6),
 gzip (= 1.10-4),
 hostname (= 3.23),
 init-system-helpers (= 1.60),
 intltool-debian (= 0.35.0+20060710.5),
 libacl1 (= 2.2.53-10),
 libarchive-zip-perl (= 1.68-1),
 libasan6 (= 10.2.1-6),
 libatomic1 (= 10.2.1-6),
 libattr1 (= 1:2.4.48-6),
 libaudit-common (= 1:3.0-2),
 libaudit1 (= 1:3.0-2),
 libbinutils (= 2.35.2-2),
 libblkid1 (= 2.36.1-8+deb11u1),
 libbz2-1.0 (= 1.0.8-4),
 libc-bin (= 2.31-13+deb11u2),
 libc-dev-bin (= 2.31-13+deb11u2),
 libc6 (= 2.31-13+deb11u2),
 libc6-dev (= 2.31-13+deb11u2),
 libcap-ng0 (= 0.7.9-2.2+b1),
 libcc1-0 (= 10.2.1-6),
 libcom-err2 (= 1.46.2-2),
 libcrypt-dev (= 1:4.4.18-4),
 libcrypt1 (= 1:4.4.18-4),
 libctf-nobfd0 (= 2.35.2-2),
 libctf0 (= 2.35.2-2),
 libdb5.3 (= 5.3.28+dfsg1-0.8),
 libdebconfclient0 (= 0.260),
 libdebhelper-perl (= 13.3.4),
 libdpkg-perl (= 1.20.9),
 libelf1 (= 0.183-1),
 libfile-stripnondeterminism-perl (= 1.12.0-1),
 libgcc-10-dev (= 10.2.1-6),
 libgcc-s1 (= 10.2.1-6),
 libgcrypt20 (= 1.8.7-6),
 libgdbm-compat4 (= 1.19-2),
 libgdbm6 (= 1.19-2),
 libgmp10 (= 2:6.2.1+dfsg-1+deb11u1),
 libgomp1 (= 10.2.1-6),
 libgpg-error0 (= 1.38-2),
 libgssapi-krb5-2 (= 1.18.3-6+deb11u1),
 libicu67 (= 67.1-7),
 libisl23 (= 0.23-1),
 libitm1 (= 10.2.1-6),
 libk5crypto3 (= 1.18.3-6+deb11u1),
 libkeyutils1 (= 1.6.1-2),
 libkrb5-3 (= 1.18.3-6+deb11u1),
 libkrb5support0 (= 1.18.3-6+deb11u1),
 liblsan0 (= 10.2.1-6),
 liblz4-1 (= 1.9.3-2),
 liblzma5 (= 5.2.5-2),
 libmagic-mgc (= 1:5.39-3),
 libmagic1 (= 1:5.39-3),
 libmount1 (= 2.36.1-8+deb11u1),
 libmpc3 (= 1.2.0-1),
 libmpfr6 (= 4.1.0-3),
 libnsl-dev (= 1.3.0-2),
 libnsl2 (= 1.3.0-2),
 libpam-modules (= 1.4.0-9+deb11u1),
 libpam-modules-bin (= 1.4.0-9+deb11u1),
 libpam-runtime (= 1.4.0-9+deb11u1),
 libpam0g (= 1.4.0-9+deb11u1),
 libpcre2-8-0 (= 10.36-2),
 libpcre3 (= 2:8.39-13),
 libperl5.32 (= 5.32.1-4+deb11u2),
 libpipeline1 (= 1.5.3-1),
 libquadmath0 (= 10.2.1-6),
 libseccomp2 (= 2.5.1-1+deb11u1),
 libselinux1 (= 3.1-3),
 libsigsegv2 (= 2.13-1),
 libsmartcols1 (= 2.36.1-8+deb11u1),
 libssl1.1 (= 1.1.1k-1+deb11u1),
 libstdc++-10-dev (= 10.2.1-6),
 libstdc++6 (= 10.2.1-6),
 libsub-override-perl (= 0.09-2),
 libsystemd0 (= 247.3-6),
 libtinfo6 (= 6.2+20201114-2),
 libtirpc-common (= 1.3.1-1),
 libtirpc-dev (= 1.3.1-1),
 libtirpc3 (= 1.3.1-1),
 libtool (= 2.4.6-15),
 libtsan0 (= 10.2.1-6),
 libubsan1 (= 10.2.1-6),
 libuchardet0 (= 0.0.7-1),
 libudev1 (= 247.3-6),
 libunistring2 (= 0.9.10-4),
 libuuid1 (= 2.36.1-8+deb11u1),
 libxml2 (= 2.9.10+dfsg-6.7),
 libzstd1 (= 1.4.8+dfsg-2.1),
 linux-libc-dev (= 5.10.92-1),
 login (= 1:4.8.1-1),
 lsb-base (= 11.1.0),
 m4 (= 1.4.18-5),
 make (= 4.3-4.1),
 man-db (= 2.9.4-2),
 mawk (= 1.3.4.20200120-2),
 ncurses-base (= 6.2+20201114-2),
 ncurses-bin (= 6.2+20201114-2),
 patch (= 2.7.6-7),
 perl (= 5.32.1-4+deb11u2),
 perl-base (= 5.32.1-4+deb11u2),
 perl-modules-5.32 (= 5.32.1-4+deb11u2),
 po-debconf (= 1.0.21+nmu1),
 sed (= 4.7-1),
 sensible-utils (= 0.0.14),
 sysvinit-utils (= 2.96-7),
 tar (= 1.34+dfsg-1),
 util-linux (= 2.36.1-8+deb11u1),
 xz-utils (= 5.2.5-2),
 zlib1g (= 1:1.2.11.dfsg-2)
Environment:
 DEB_BUILD_OPTIONS="parallel=8 terse"
 LANG="C.UTF-8"
 LC_ALL="C.UTF-8"
 LC_COLLATE="C"
 SOURCE_DATE_EPOCH="1645506077"
Format: 1.8
Date: Tue, 22 Feb 2022 16:01:17 +1100
Source: xdg-desktop-portal-ersatz
Binary: xdg-desktop-portal-ersatz
Architecture: source all
Version: 11.0
Distribution: bullseye
Urgency: medium
Maintainer: Trent W. Buck <t...@cyber.com.au>
Changed-By: Trent W. Buck <trentb...@gmail.com>
Description:
 xdg-desktop-portal-ersatz - work around https://bugs.debian.org/1005230
Changes:
 xdg-desktop-portal-ersatz (11.0) bullseye; urgency=medium
 .
   * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005230#25
     Chromium wrongly claims it needs xdg-desktop-portal-gtk | 
xdg-desktop-portal-backend.
     It does not.
     While I wait for a human to reply to my emails (see URL),
     create a dummy package that will prevent chromium from installing fuse and 
bubblewrap.
 .
   * This belongs in prisonpc-ersatz, but if upstream responds soon, I can
     roll-back this entire stub package.  Keeping it separate makes it
     easier to redact from the apt repo.
Checksums-Sha1:
 891d5dc0a7b3cb51f7f90c757798aed4c28ce29e 665 xdg-desktop-portal-ersatz_11.0.dsc
 00944a5479997e1b0bf1ee953b263e7c6eb2ada4 2008 
xdg-desktop-portal-ersatz_11.0.tar.xz
 fb22dd56973e883c28a359df6709b57946e8afae 2564 
xdg-desktop-portal-ersatz_11.0_all.deb
 458dcb3cfbdf1562d243710d23e7f3b3cf564417 4992 
xdg-desktop-portal-ersatz_11.0_amd64.buildinfo
Checksums-Sha256:
 c7d44da31a5ed228942157f1f3c975c47421474a21f775c8b58313514ebb3e24 665 
xdg-desktop-portal-ersatz_11.0.dsc
 c682a6987abb0b0c6c8a9d125a544f7300d3ac114501ec44723cf9351de00e2d 2008 
xdg-desktop-portal-ersatz_11.0.tar.xz
 9be2a965ee4899923482eca2d56f1235439c0c09d925ad8d0320d37d9a625769 2564 
xdg-desktop-portal-ersatz_11.0_all.deb
 0d89496165801499f7f1b68e3438a2e72698e3af2898316103e486cef56a6959 4992 
xdg-desktop-portal-ersatz_11.0_amd64.buildinfo
Files:
 f6c154b76e0749b94119ae1a829b02a3 665 metapackages optional 
xdg-desktop-portal-ersatz_11.0.dsc
 6b2741ba9134a28c6e35ae8d317f7565 2008 metapackages optional 
xdg-desktop-portal-ersatz_11.0.tar.xz
 1fbbb11ae2622436b0e1741d7e244e5b 2564 metapackages optional 
xdg-desktop-portal-ersatz_11.0_all.deb
 daef2ca7671a3f75e5a41363b445c367 4992 metapackages optional 
xdg-desktop-portal-ersatz_11.0_amd64.buildinfo

Reply via email to