[Summary] This could be a somewhat straight forward case for the source itself. It is a bit light on tests, but otherwise fine as it was pre-reviewed in the former version being src:fuse.
The biggest problem is that we generally don't want duplication if we can avoid it. In this case I tried but qemu (as the first to pull it into main) would not be able to work with fuse2 as an alternative. MIR Team NACK until we can transition to fuse3 as a whole under the lead of foundations. Or at least consider v3 important enough to have it in main concurrently to v2. I'll give them a call if this is on their radar at all yet. List of specific binary packages to be promoted to main: libfuse3-3, libfuse3-dev Recommended TODO: - tests should be added/improved before this is later on promoted to main - security will have to do a re-evaluation, but that likely is rather quick based on fuse(2) being already in main. [Duplication] There is the predecessor in main (same project same source older version). It was decided in Debian to have both packaged separately - probably for the many dependencies that still are on the old version. $ reverse-depends --release impish src:fuse |& grep '^\*' -c 161 $ reverse-depends --release impish src:fuse3 |& grep '^\*' -c 7 There are various use cases for fuse, and the server Team is only touching very few of them. I wonder if we should wait until fuse3 is more adopted and then let foundations (who own fuse2) own this one as well. They have the experience to deal with it from fuse2 already. Note: I have tried to enable fuse(2) with the qemu build, as it first seems that it would need 3.8 only for the hole support. But it needs fuse3 in all cases. Therefore we can not provide the feature as-is with fuse2. [Dependencies] OK: - no other Dependencies to MIR due to this - no -dev/-debug/-doc packages that need exclusion [Embedded sources and static linking] OK: - no embedded source present - no static linking [Security] OK: - history of CVEs does not look concerning Not that there would be none, but they are identical to "fuse" which is in main. - does not run a daemon as root - does not use webkit1,2 - does not use lib*v8 directly - does not open a port - does not process arbitrary web content - does not use centralized online accounts - does not integrate arbitrary javascript into the desktop - does not deal with system authentication (eg, pam), etc) Problems: - does parse data formats - as this is the very nature of what a filesystem does. [Common blockers] OK: - does not FTBFS currently - no translation present, but none needed for this case (user visible)? - not a python/go package, no extra constraints to consider in that regard - no new python2 dependency Problems: - does have a test suite that runs at build time - But this test suite foes not fail the build upon error. - does not have a test suite that runs as autopkgtest - The package has no team bug subscriber (yet) [Packaging red flags] OK: - Ubuntu does not carry a delta - symbols tracking is in place - d/watch is present and looks ok - Upstream update history is good - Debian/Ubuntu update history is good - the current release is packaged - promoting this does not seem to cause issues for MOTUs that so far maintained the package - no massive Lintian warnings - d/rules is rather clean - Does not have Built-Using - is not on the lto-disabled list [Upstream red flags] OK: - no Errors/warnings during the build - no incautious use of malloc/sprintf (as far as I can check it) - no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH - no use of user nobody - no important open bugs (crashers, etc) in Debian or Ubuntu or Upstream - no dependency on webkit, qtwebkit, seed or libgoa-* - not part of the UI for extra checks Problems: - use of setuid for e.g. fusermount3 binary This is the same for fuse(2) so I guess it is fine, but this is another +1 on needing a security review. P.S. sorry Paride for rejecting after I did ask you to have a look at it; But for what it is worth I can confirm the the MIR request itself was perfectly done! ** Description changed: Please promote the following binary packages built from src:fuse3 to main: - libfuse3-3 - libfuse3-dev [Availability] The inclusion of fuse3 in Ubuntu is fairly recent, first being imported in Focal as a sync from Debian, however its predecessor src:fuse from the same upstream (libfuse [1]) has been packaged in Debian since 2002, it's already in main and has been in Ubuntu forever. The upstream project is "the reference implementation of the Linux FUSE (Filesystem in Userspace) interface" [1] , and can be fully trusted to keep maintaining the package in the foreseeable future. fuse3 is currently a sync from Debian in Focal, Groovy, Hirsute and Impish. [Rationale] QEMU 6.0 added support for FUSE block exports, which allow mounting the guest view of any QEMU block device node as a host file. Debian enabled this feature in src:qemu 1:6.0+dfsg-1~exp0 [3], currently in experimental, by adding a new build-dep on libfuse3-dev [4]. We want to bring this support to Ubuntu when merging qemu 6.0 from Debian, and therefore we need to MIR bin:libfuse3-dev and its runtime counterpart bin:libfuse3-3. [Security] The package is a library and won't add daemons, setuid binaries, or anything requiring authentication. (This is contrast with the bin:fuse3 package which ships a setuid binary, but which is not part of this MIR.) The upstream README.md at [1] has a "Security implications" section which only deals with fuse3, no warning is raised regarding the library. Given the popularity of the project we can assume that Linus' law applies [5]. [Quality assurance] There are 0 open bugs in Ubuntu against src:fuse3. In Debian there are a few bugs against bin:fuse3, including a Serious (=> RC) bug, currently tagged "bullseye-ignore", but considered valid. The bin:fuse3 package is not part of this MIR. (It is likely that we'll want to also MIR bin:fuse3 at some point, and I considered doing so as part of this MIR, but it is more sensible to wait for that RC bug to be fixed before proceeding.) There are no noteworthy Debian bugs against src:fuse3 or any bin: package part of this MIR. [Dependencies] libfuse3-3: libc6 [ok] libfuse3-dev: libfuse3-3, libselinux-dev [ok] fuse3: libc6, libfuse3-3, adduser, mount, sed, lsb-base [ok] [Standards compliance] $ lintian fuse3_3.10.3-2.dsc N: 2 hints overridden (2 errors) The two overridden errors are "source-is-missing" errors for Javascript files which are not used or installed by any binary package: source-is-missing doc/html/jquery.js line length is 32401 characters (>512) source-is-missing doc/html/menu.js line length is 695 characters (>512) The second source-is-missing error looks like a false positive to me (the JS is not minimized). Avoiding the override on jquery would require a +dfsg repacked source, with the extra maintenance it requires. I agree with the overrides in this case. [Maintenance] ============= - The Server Team will maintain the package. + The Foundations Team maintains fuse (v2) so far and we are looking to + them if they plan to transition to and own v3 at some point. -- [1] https://github.com/libfuse/libfuse [2] https://wiki.qemu.org/ChangeLog/6.0 [3] https://metadata.ftp-master.debian.org/changelogs//main/q/qemu/qemu_6.0+dfsg-1~exp0_changelog [4] https://salsa.debian.org/qemu-team/qemu/-/commit/9fdcf4181e1c8120e6b7c9059209656469bf499b [5] https://en.wikipedia.org/wiki/Linus%27s_law [6] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=918984 -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1934510 Title: [MIR] fuse3 as a dependency of qemu 6.0 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/fuse3/+bug/1934510/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs