Hi наб, Hi debian-mentors (package replacement question below), On Sat, Sep 07, 2024 at 03:31:16AM +0200, наб wrote: > * Package name : libcurlfs > Version : 0 > Upstream Contact: наб <nabijaczlew...@nabijaczleweli.xyz> > * URL : https://sr.ht/~nabijaczleweli/libcurlfs > * License : 0BSD > Programming Lang: C++ > Description : mounts remote HTTP/HTTPS URLs as a FUSE filesystem
this package looks useful. I'll sponsor it. Thanks for working on this. > This was written as a direct replacement for httpfs2 Looking at d/control, you don't seem to declare the replacement properly. You need Conflicts+Replaces, not +Breaks, cf. https://www.debian.org/doc/debian-policy/ch-relationships.html#replacing-whole-packages-forcing-their-removal Quoting policy: > When one binary package declares a conflict with another using a > Conflicts field, dpkg will refuse to allow them to be unpacked on the > system at the same time. This is a stronger restriction than Breaks, > which prevents the broken package from being configured while the > breaking package is in the “Unpacked” state but allows both packages to > be unpacked at the same time. Since you include an overlapping httpfs2 symlink in your package Breaks is inappropriate as even just unpacking would cause a file conflict with httpfs2. I get this when trying to install libcurlfs over httpfs2: dpkg: regarding libcurlfs_0-1_amd64.deb containing libcurlfs: libcurlfs breaks httpfs2 httpfs2 (version 0.1.4-1.1) is present and installed. dpkg: error processing archive libcurlfs_0-1_amd64.deb (--install): installing libcurlfs would break httpfs2, and deconfiguration is not permitted (--auto-deconfigure might help) Further Provides: httpfs2 (= 1) doesn't look right. I don't think you need a versioned provides here since no other packages depend on httpfs2, but I don't have much experience with replaceing packages. I think it would also be useful to just take over httpfs2 on upgrade from bookworm, but I can't find any relevant advice on how one might do that. I thought perhaps the provides with a higher version number than httpfs2 in stable would encourage apt to upgrade from httpfs2 to libcurlfs on it's own but I didn't see that happen when upgrade testing in my local repo setup. One idea I had was to just to build a httpfs2 pseudopackage that depends on libcurlfs as part of src:libcurlfs. Thoughts? Thanks, --Daniel
signature.asc
Description: PGP signature