Web lists-archives.com

Re: Bug#915407: libpam-systemd: please add a virtual package "logind" to allow alternatives




On Mon, Dec 24, 2018 at 05:37:56PM -0300, Felipe Sateler wrote:
> On Sat, Dec 22, 2018 at 5:33 PM Adam Borowski <kilobyte@xxxxxxxxxx> wrote:
> > Could you please either take this patch or propose a different approach?
> > I have received no feedback other than a brief unconclusive remark on IRC.
> 
> Sorry for the radio silence. Let's try to remedy that.

Thank you for moving this forward!

> > opt-in for every depender on libpam-systemd
> 
> This is a good feature of the proposal: it requires explicit opt-in by
> reverse dependencies.

> > Thus: if package X and Y need APIs that elogind provides, they'd be changed
> > to:
> >     Depends: default-logind | logind
> > while package Z that needs a "bring-me-pink-pony" function will not.
> 
> I (not speaking for the whole team), have no objection to this patch.
> However, it was pointed out to me that virtual packages require policy
> updates[1], first starting as a debian-devel discussion. So I'm starting
> this now

Right.  In the meantime, you can test using libpam-elogind-compat which is
a hack that Provides: a real package.  This lacks the opt-in effect, but
outside of packaging metadata should work the same.

> The proposed virtual packages are:
> 
> logind: a org.freedesktop.login1 D-Bus API implementation
> default-logind: should be provided by the distributions default logind
> provider (currently pam-systemd)
> 
> Background: currently libpam-systemd provides two features currently used
> by third parties: one is the necessary hooks to start the systemd
> implementation of login1. The second is hooking up the systemd --user
> service manager. This virtual package attempts to disentangle the two so
> that packages that only require logind can use an alternative
> implementation.

Not sure if it's worth noting that the Provides must, and Depends can, be
versioned.  This allows requiring a certain level of the API.

> Adam/other elogind maintainers, please clarify/improve wording if this was
> somehow inaccurate.

Looks good to me, thank you!


Meow.
-- 
⢀⣴⠾⠻⢶⣦⠀ 
⣾⠁⢠⠒⠀⣿⡁ Ivan was a worldly man: born in St. Petersburg, raised in
⢿⡄⠘⠷⠚⠋⠀ Petrograd, lived most of his life in Leningrad, then returned
⠈⠳⣄⠀⠀⠀⠀ to the city of his birth to die.