Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-05-14 Thread Niels Thykier

Michael Biebl:

Hello Niels, hello Sebastian



Hi Michael,



Am 24.03.23 um 16:28 schrieb Niels Thykier:

Sebastian Ramacher:

[...]

Any progress here? If this issue should be fixed for bookworm, time is
running short.

Cheers


I find that anytime I look at this bug my motivation to work on Debian 
instantly vanishes. In fact, I cannot even motivate myself to read the 
bug log to figure out what the consensus is. Accordingly, I will play 
the constitution 2.1.1 and step out of the way.
My attempt to raise this issue with debhelper and the release-team was 
to gather a consensus with how to deal with the affected packages.
A change to debhelper seemed liked the most straightforward approach to 
me.


I agree with all of this and I think you were both entitled and correct 
in raising the issue. I am still open to this being a bug in debhelper.


It was not meant as an attempt to force Niels into something he 
feels uncomfortable with, which he obviously does.

I apologize to Niels for that and hereby close this bug report.

Michael


Your reaction here does not match what I had expected from my email and 
I suspect my intentions were not perceived by you as I intended them. To 
start with the most important points:


You have done *nothing* to me that requires an apology from you.

You have *not* forced me to do something I am uncomfortable with.

As far as I am concerned, there was and is *no* conflict between
you and I.

We are good if you ask me. I am mostly sad that I made you think
otherwise, but that is on me.


Coming back to what I wanted to communicate: Starting with the context, 
the timing of my email came after two mails asking for an update on this 
bug that had not been answered by anyone. I.e., my email was a response 
to the requests for a update on the bug - both requests were in my view 
reasonable.
  As the named maintainer/uploader of debhelper, there is always an 
implicit assumption that I will be proactive in dealing with bugs, when 
there is no clear owner of the bug. Especially bugs that affect the 
upcoming release during the freeze. Given that I did not see a response 
and I could not easily identify a clear owner of the bug, I felt these 
emails hanged on me via the implicit assumption.


I wanted to make it very clear that I would *not* be able to live up to 
that assumption. If someone wanted this change, they would have to do it 
without involving me at any point. I was hoping that someone would take 
end to end ownership and deliver it without involving me. As opposed to 
a PR/patch that I would have to review - or leaving me to discuss with 
the RT what kind of change was acceptable this stage - or leaving me to 
reopen the discussion with the tech-ctte whether allowing services in 
/usr is acceptable as it would open up for file moves between /lib and 
/usr/lib, which they said they would not want when the original bug was 
filed (#995569).


  I would not have been able to do that and I doubt I will be able to do
  that any time soon.

But if someone wanted to do that. Great! It would have been a burden off 
my shoulder. On the flip-side, if no one else was willing to do the 
work, then I would not have to feel bad about not being able to do it 
either.  Either way would relieve me of the pressure of this bug.


Eventually, dh_installsystemd (et al.) will probably have to support 
/usr/lib. If someone fixes that now, great. If someone fixes later, great.


I do not mind the change. I mind the assumption that I will be doing it 
(in this or in future releases). Feel free to reopen this bug. As long 
as we all agree that for the timing being, *I* will *not* be interacting 
with the bug, do any design or review of the solution, or deal with any 
fallout of implementing the solution.
  Whoever owns up to dealing with all of that gets to deliver this 
feature. They get to do it without having to follow the NMU rules as far 
as I am concerned unless a co-maintainer steps up and takes ownership of 
this bug, because to me that is part of "stepping out of the way" when 
you are not volunteering to do the work.



In summary:

 * I do not feel you did anything wrong or owe me an apology.

 * I mind doing the work; not the change. If you (anyone) want
   this change and you commit to doing it. Please reopen the bug and go
   ahead as long as you do not "depend" on or "need" me for any part of
   it.

I hope my intentions were more clear this time.

Best regards,
Niels



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-04-11 Thread Laurent Bigonville
FTR, I opened RC bugs against all the impacted packages so they will 
hopefully be fixed for bookworm


See: 
https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=debhelper%40packages.debian.org=systemd-files-in-usr-bookworm




Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-03-24 Thread Niels Thykier

Sebastian Ramacher:

[...]

Any progress here? If this issue should be fixed for bookworm, time is
running short.

Cheers


I find that anytime I look at this bug my motivation to work on Debian 
instantly vanishes. In fact, I cannot even motivate myself to read the 
bug log to figure out what the consensus is. Accordingly, I will play 
the constitution 2.1.1 and step out of the way.


If there are any recent debhelper contributors that want to claim this, 
then I will give preference to them and how they want to handle it.


Otherwise, if no debhelper contributor steps up, then I will waive the 
NMU process on this side of the release on the debhelper package to 
anyone, who ones to pick this up. Please keep the following in mind:


 1) Be adviced that you need to look at multiple helpers that interact
with the systemd services.  Notably, dh_installsystemd,
dh_installsystemduser and dh_installinit - all of which assumes
there is one and only one directly for these services.  Good luck

 2) I would that you push the changes to the salsa repo (it is
DD-writable by default, others will have to do a PR) but a nmudiff
CC'ed to this bug on top of the main branch in salsa will do.
- Please use the main branch, there are some translation changes
  since last upload, which should be a non-issue.
- If you are a DD, just push the changes to main and move on. Do not
  expect me to review a PR before you upload.

 3) I expect that you upload and handle any fall out. Fall out here
includes judging consensus, fix FTBFS, RC bugs or deal with
discussions including the tech-ctte or the release team about the
proposed solution, managing the unblock request (etc.).
- Assume I will not be involved in any of these steps.

 3) If you do change any translatable strings, please consider to notify
the translators.  At least pt and de translators recently updated
and I feel it would be a shame if they were not 100%. But not enough
that I expect I will invest in a follow up upload.

My apologies to the release team. Having been on the release team, I 
know this is probably not the message you wanted this close to the 
release. Sadly, it is the "best" I can do.


With that said and done, as far as bug is concerned, I am out!

Best regards,
Niels



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-03-22 Thread Sebastian Ramacher
On 2023-02-28 16:14:42 -0700, Sam Hartman wrote:
> > "Michael" == Michael Biebl  writes:
> 
> Michael> If a service is not supposed to be enabled, then an
> Michael> override for dh_installsystemd is the correct solution,
> Michael> setting --no-enable, but not by moving it into a
> Michael> subpackage.
> 
> Sorry, I was imprecise.
> Imagine something like a webserver.
> You might well want to install the web server binary so you can run it
> as a user for development testing an app or for sharing files.
> But you might also want to  install it as a system service.
> I think two options are viable depending on factors like whether some
> dependencies want to know that it is running as a system service and
> how common each configuration will be:
> 
> * Install a disabled unit by default but keep everything into one
>   package
> 
> * or move the system service unit into its own package.  If you just
>   want the binary you install one package, but if you want the system
>   service, you install the package containing the unit.
>   In this case the unit is enabled by default.
> 
> If we were to move units back from /usr/lib/systemd/system to
> /lib/systemd/system, the second case would potentially trigger the dpkg
> bug.  But:
> 
> 
> Michael> I also don't see a good reason, why a unit file, once
> Michael> installed in /usr/lib/systemd/system should ever move back
> Michael> to /lib/systemd/system.
> 
> I agree with you here.   This requires keeping the debhelper change
> rather than backing it out after the bookworm release.
> I think both you and I support that.

Any progress here? If this issue should be fixed for bookworm, time is
running short.

Cheers
-- 
Sebastian Ramacher



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-03-17 Thread Lee Garrett

Hi,

is there any update on fixing this issue before the bookworm release? I stumbled 
upon this bug report trying to fix #1032418, which is a rather grave bug. zcfan 
is one of the 37 packages affected. Because of this issue, dh_installsystemd 
does not generate a .postrm file to stop the service, so when a user installs 
zcfan, and after that thinkfan, zcfan is removed, but the service still runs. 
Since there are now two services controlling the fan speed, it will cause 
unpredictable behaviour and potentially HW damage.


Regards,
Lee



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sam Hartman
> "Michael" == Michael Biebl  writes:

Michael> If a service is not supposed to be enabled, then an
Michael> override for dh_installsystemd is the correct solution,
Michael> setting --no-enable, but not by moving it into a
Michael> subpackage.

Sorry, I was imprecise.
Imagine something like a webserver.
You might well want to install the web server binary so you can run it
as a user for development testing an app or for sharing files.
But you might also want to  install it as a system service.
I think two options are viable depending on factors like whether some
dependencies want to know that it is running as a system service and
how common each configuration will be:

* Install a disabled unit by default but keep everything into one
  package

* or move the system service unit into its own package.  If you just
  want the binary you install one package, but if you want the system
  service, you install the package containing the unit.
  In this case the unit is enabled by default.

If we were to move units back from /usr/lib/systemd/system to
/lib/systemd/system, the second case would potentially trigger the dpkg
bug.  But:


Michael> I also don't see a good reason, why a unit file, once
Michael> installed in /usr/lib/systemd/system should ever move back
Michael> to /lib/systemd/system.

I agree with you here.   This requires keeping the debhelper change
rather than backing it out after the bookworm release.
I think both you and I support that.


signature.asc
Description: PGP signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Luca Boccassi
On Tue, 28 Feb 2023 23:54:15 +0100 Michael Biebl 
wrote:
> Am 28.02.23 um 21:48 schrieb Sam Hartman:
> >  >> Moreover, I suspect in a number of the cases related to
this
> >  >> current bug, replaces will be likely.  I suspect that in
some of
> >  >> the cases where units have been introduced that are
disabled
> >  >> currently, but will be enabled by the dh_installsystemd
change,
> >  >> we will discover we'd like those units disabled in some
> >  >> configurations.  A logical way to handle that may be to
split out
> >  >> the units into separate packages.  That makes the replaces
> >  >> interacts with file moves class of bugs more likely in this
> >  >> situation than average.
> > 
> >  Sebastian> The TC advice refers to files moving between
packages
> >  Sebastian> which wouldn't be the case here (at least not in
> >  Sebastian> general).
> > 
> > Not in general, but I think that these  systemd units will be more
> > likely than average to move packages.
> > 
> > These units have been sitting around more or less doing nothing for
> > months.
> > And in most cases we don't have bugs.
> > 
> > I'm imagining the  following situation:
> > 
> > * We make the debhelper change
> > 
> > * unit b in package a starts running
> > 
> > * Users complain that they don't really always want that.
> > 
> > * We release
> > 
> > * unit b is moved back to /lib/systemd/system
> > 
> > * Later the complaints get serious enough that package a splits
into a
> >    and a-daemon, a-daemon replaces/breaks a<< version-of-split.  a-
daemon
> >    now has b.
> 
> If a service is not supposed to be enabled, then an override for 
> dh_installsystemd is the correct solution, setting --no-enable, but
not 
> by moving it into a subpackage.
> 
> I also don't see a good reason, why a unit file, once installed in 
> /usr/lib/systemd/system should ever move back to /lib/systemd/system.

Also it is trivial for users to disable or mask units, so there is
really no reason to move them to subpackages.

-- 
Kind regards,
Luca Boccassi


signature.asc
Description: This is a digitally signed message part


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Michael Biebl

Am 28.02.23 um 21:48 schrieb Sam Hartman:

 >> Moreover, I suspect in a number of the cases related to this
 >> current bug, replaces will be likely.  I suspect that in some of
 >> the cases where units have been introduced that are disabled
 >> currently, but will be enabled by the dh_installsystemd change,
 >> we will discover we'd like those units disabled in some
 >> configurations.  A logical way to handle that may be to split out
 >> the units into separate packages.  That makes the replaces
 >> interacts with file moves class of bugs more likely in this
 >> situation than average.

 Sebastian> The TC advice refers to files moving between packages
 Sebastian> which wouldn't be the case here (at least not in
 Sebastian> general).

Not in general, but I think that these  systemd units will be more
likely than average to move packages.

These units have been sitting around more or less doing nothing for
months.
And in most cases we don't have bugs.

I'm imagining the  following situation:

* We make the debhelper change

* unit b in package a starts running

* Users complain that they don't really always want that.

* We release

* unit b is moved back to /lib/systemd/system

* Later the complaints get serious enough that package a splits into a
   and a-daemon, a-daemon replaces/breaks a<< version-of-split.  a-daemon
   now has b.


If a service is not supposed to be enabled, then an override for 
dh_installsystemd is the correct solution, setting --no-enable, but not 
by moving it into a subpackage.


I also don't see a good reason, why a unit file, once installed in 
/usr/lib/systemd/system should ever move back to /lib/systemd/system.



Michael




OpenPGP_signature
Description: OpenPGP digital signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sam Hartman
>> Moreover, I suspect in a number of the cases related to this
>> current bug, replaces will be likely.  I suspect that in some of
>> the cases where units have been introduced that are disabled
>> currently, but will be enabled by the dh_installsystemd change,
>> we will discover we'd like those units disabled in some
>> configurations.  A logical way to handle that may be to split out
>> the units into separate packages.  That makes the replaces
>> interacts with file moves class of bugs more likely in this
>> situation than average.

Sebastian> The TC advice refers to files moving between packages
Sebastian> which wouldn't be the case here (at least not in
Sebastian> general).

Not in general, but I think that these  systemd units will be more
likely than average to move packages.

These units have been sitting around more or less doing nothing for
months.
And in most cases we don't have bugs.

I'm imagining the  following situation:

* We make the debhelper change

* unit b in package a starts running

* Users complain that they don't really always want that.

* We release

* unit b is moved back to /lib/systemd/system

* Later the complaints get serious enough that package a splits into a
  and a-daemon, a-daemon replaces/breaks a<< version-of-split.  a-daemon
  now has b.

* Now we have a potential problem where we have both a file move and a
  replaces, and b can disappear on an upgrade from a pre-split a to
  a+a-daemon after the split.
  Whether that happens depends on dpkg's order of operations

The nasty thing about this situation is that moving b from /usr to /
can happen at very different points in the release cycle from doing the
split and adding the replaces.
You need to remember whether during the release cycle you've had any
moves that can involve aliased paths.
If you have, you must not later in the release cycle introduce replaces.

So, in general, we'll be fine.  But in specific I don't think we'll be
fine that removing the debhelper code will be a sane thing to do.


signature.asc
Description: PGP signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sebastian Ramacher
On 2023-02-28 10:26:07 -0700, Sam Hartman wrote:
> > "Sebastian" == Sebastian Ramacher  writes:
> 
> Sebastian> Can you expand your concern? I expect that this issue
> Sebastian> goes away as soon as we can assume that all systems are
> Sebastian> /usr-merged. At that point I expect that we are able to
> Sebastian> drop the workaround from debhelper and packages can move
> Sebastian> the files to the expected location without issues.
> 
> Quoting the TC advice:
> 
> > 
> > - On merged-/usr systems, there is a possible failure mode involving
> >   files being moved between packages (with Replaces) during the same
> >   release cycle that their logical location is changed from the root
> >   filesystem to the corresponding aliased directory in /usr, which
> > can
> >   result in the affected file disappearing. This can be avoided by
> > not
> >   changing the file's logical location until the beginning of the
> > Debian
> >   13 development cycle, after the transition to merged-/usr is
> > complete.
> 
> 
> I think it is only true that files can move in the Debian 13 cycle if
> the dpkg issues are fixed.
> If dpkg is not fixed, then the issue with replaces interacting badly
> with file moves will still exist.
> 
> Moreover, I suspect in a number of the cases related to this current
> bug, replaces will be likely.  I suspect that in some of the cases where
> units have been introduced that are disabled currently, but will be
> enabled by the dh_installsystemd change, we will discover we'd like
> those units disabled in some configurations.  A logical way to handle
> that may be to split out the units into separate packages.
> That makes the replaces interacts with file moves class of bugs more
> likely in this situation than average.

The TC advice refers to files moving between packages which wouldn't be
the case here (at least not in general).

Cheers
-- 
Sebastian Ramacher



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sam Hartman
> "Sebastian" == Sebastian Ramacher  writes:

Sebastian> Can you expand your concern? I expect that this issue
Sebastian> goes away as soon as we can assume that all systems are
Sebastian> /usr-merged. At that point I expect that we are able to
Sebastian> drop the workaround from debhelper and packages can move
Sebastian> the files to the expected location without issues.

Quoting the TC advice:

> 
> - On merged-/usr systems, there is a possible failure mode involving
>   files being moved between packages (with Replaces) during the same
>   release cycle that their logical location is changed from the root
>   filesystem to the corresponding aliased directory in /usr, which
> can
>   result in the affected file disappearing. This can be avoided by
> not
>   changing the file's logical location until the beginning of the
> Debian
>   13 development cycle, after the transition to merged-/usr is
> complete.


I think it is only true that files can move in the Debian 13 cycle if
the dpkg issues are fixed.
If dpkg is not fixed, then the issue with replaces interacting badly
with file moves will still exist.

Moreover, I suspect in a number of the cases related to this current
bug, replaces will be likely.  I suspect that in some of the cases where
units have been introduced that are disabled currently, but will be
enabled by the dh_installsystemd change, we will discover we'd like
those units disabled in some configurations.  A logical way to handle
that may be to split out the units into separate packages.
That makes the replaces interacts with file moves class of bugs more
likely in this situation than average.

--Sam


signature.asc
Description: PGP signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sebastian Ramacher
On 2023-02-28 07:28:18 -0700, Sam Hartman wrote:
> > "Sebastian" == Sebastian Ramacher  writes:
> 
> Sebastian> On 2023-02-23 11:12:00 -0700, Sam Hartman wrote:
> >> > "Sean" == Sean Whitton  writes:
> >> 
> Sean> Hello,
> Sean> On Wed 22 Feb 2023 at 09:55AM +01, Sebastian Ramacher wrote:
> >> 
> >> >> Unless I am missing something, having dh_installsystemd look
> >> at >> the service files in /usr/lib is the only viable solution
> >> for >> bullseye -> bookworm. We could fix individual packages
> >> that >> didn't include those files in bullseye, but for all the
> >> others we >> are unable to move the files from /usr/lib to /lib.
> >> 
> Sean> You're saying we can't move them in that case because the TC
> Sean> resolution says no moving /usr/lib->/lib ?  Or some other
> Sean> reason?  I thought we only said that files couldn't move in
> Sean> the other direction.
> >> 
> >> Well, there is the underlying technical issue that made the TC
> >> resolution reasonable.  Moving paths between aliased locations
> >> plus replaces will always produce behavior that is predictable
> >> and potentially bad with the current dpkg.  It's independent on
> >> whether it's /usr/lib or /lib on source or destination.
> >> 
> >> I agree with the analysis and believe that having
> >> dh_installsystemd look in /usr/lib/systemd is the option least
> >> likely to create breakage.
> 
> Sebastian> As there were no follow ups to this message, I think we
> Sebastian> reached concensus on the issue. Thus, let's have that
> Sebastian> implemented in dh_installsystemd for bookworm and the
> Sebastian> affected packages binNMUs.
> 
> I agree roughly with this part.
> We may run into bugs where it turns out having a particular unit enabled
> doesn't actually provide the behavior we were looking for.
> I.E. we've been happy without the unit for a while now, and it turns out
> that was the right state.
> I suspect the number of such bugs will be small, and we'll just have to
> find them through testing.
> 
> Sebastian> Once the release cycle of
> Sebastian> trixie starts, the workaround for bookworm can be
> Sebastian> dropped.
> 
> I don't think that's correct unless dpkg is fixed.
> Once we've shipped with the unit in /usr/lib/systemd, we cannot move to
> /lib/systemd without potentially triggering the dpkg situation.
> So, I don't see how we can ever remove this.

Can you expand your concern? I expect that this issue goes away as soon
as we can assume that all systems are /usr-merged. At that point I
expect that we are able to drop the workaround from debhelper and
packages can move the files to the expected location without issues.

Cheers
-- 
Sebastian Ramacher



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sam Hartman
> "Sebastian" == Sebastian Ramacher  writes:

Sebastian> On 2023-02-23 11:12:00 -0700, Sam Hartman wrote:
>> > "Sean" == Sean Whitton  writes:
>> 
Sean> Hello,
Sean> On Wed 22 Feb 2023 at 09:55AM +01, Sebastian Ramacher wrote:
>> 
>> >> Unless I am missing something, having dh_installsystemd look
>> at >> the service files in /usr/lib is the only viable solution
>> for >> bullseye -> bookworm. We could fix individual packages
>> that >> didn't include those files in bullseye, but for all the
>> others we >> are unable to move the files from /usr/lib to /lib.
>> 
Sean> You're saying we can't move them in that case because the TC
Sean> resolution says no moving /usr/lib->/lib ?  Or some other
Sean> reason?  I thought we only said that files couldn't move in
Sean> the other direction.
>> 
>> Well, there is the underlying technical issue that made the TC
>> resolution reasonable.  Moving paths between aliased locations
>> plus replaces will always produce behavior that is predictable
>> and potentially bad with the current dpkg.  It's independent on
>> whether it's /usr/lib or /lib on source or destination.
>> 
>> I agree with the analysis and believe that having
>> dh_installsystemd look in /usr/lib/systemd is the option least
>> likely to create breakage.

Sebastian> As there were no follow ups to this message, I think we
Sebastian> reached concensus on the issue. Thus, let's have that
Sebastian> implemented in dh_installsystemd for bookworm and the
Sebastian> affected packages binNMUs.

I agree roughly with this part.
We may run into bugs where it turns out having a particular unit enabled
doesn't actually provide the behavior we were looking for.
I.E. we've been happy without the unit for a while now, and it turns out
that was the right state.
I suspect the number of such bugs will be small, and we'll just have to
find them through testing.

Sebastian> Once the release cycle of
Sebastian> trixie starts, the workaround for bookworm can be
Sebastian> dropped.

I don't think that's correct unless dpkg is fixed.
Once we've shipped with the unit in /usr/lib/systemd, we cannot move to
/lib/systemd without potentially triggering the dpkg situation.
So, I don't see how we can ever remove this.


signature.asc
Description: PGP signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-28 Thread Sebastian Ramacher
On 2023-02-23 11:12:00 -0700, Sam Hartman wrote:
> > "Sean" == Sean Whitton  writes:
> 
> Sean> Hello,
> Sean> On Wed 22 Feb 2023 at 09:55AM +01, Sebastian Ramacher wrote:
> 
> >> Unless I am missing something, having dh_installsystemd look at
> >> the service files in /usr/lib is the only viable solution for
> >> bullseye -> bookworm. We could fix individual packages that
> >> didn't include those files in bullseye, but for all the others we
> >> are unable to move the files from /usr/lib to /lib.
> 
> Sean> You're saying we can't move them in that case because the TC
> Sean> resolution says no moving /usr/lib->/lib ?  Or some other
> Sean> reason?  I thought we only said that files couldn't move in
> Sean> the other direction.
> 
> Well, there is the underlying technical issue that made the TC
> resolution reasonable.
> Moving paths between  aliased locations plus replaces will always
> produce behavior that is predictable and potentially bad with the
> current dpkg.
> It's independent on whether it's /usr/lib or /lib on source or
> destination.
> 
> I agree with the analysis and believe that having dh_installsystemd look
> in /usr/lib/systemd is the option least likely to create breakage.

As there were no follow ups to this message, I think we reached
concensus on the issue. Thus, let's have that implemented in
dh_installsystemd for bookworm and the affected packages binNMUs. Once
the release cycle of trixie starts, the workaround for bookworm can be
dropped.

Cheers
-- 
Sebastian Ramacher



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-23 Thread Luca Boccassi
On Thu, 23 Feb 2023 11:12:00 -0700 Sam Hartman 
wrote:
> > "Sean" == Sean Whitton  writes:
> 
> Sean> Hello,
> Sean> On Wed 22 Feb 2023 at 09:55AM +01, Sebastian Ramacher
wrote:
> 
> >> Unless I am missing something, having dh_installsystemd look
at
> >> the service files in /usr/lib is the only viable solution for
> >> bullseye -> bookworm. We could fix individual packages that
> >> didn't include those files in bullseye, but for all the others
we
> >> are unable to move the files from /usr/lib to /lib.
> 
> Sean> You're saying we can't move them in that case because the
TC
> Sean> resolution says no moving /usr/lib->/lib ?  Or some other
> Sean> reason?  I thought we only said that files couldn't move in
> Sean> the other direction.
> 
> Well, there is the underlying technical issue that made the TC
> resolution reasonable.
> Moving paths between  aliased locations plus replaces will always
> produce behavior that is predictable and potentially bad with the
> current dpkg.
> It's independent on whether it's /usr/lib or /lib on source or
> destination.
> 
> I agree with the analysis and believe that having dh_installsystemd
look
> in /usr/lib/systemd is the option least likely to create breakage.

If those files have always been shipped in /usr then yes, I agree we
should leave them there. We might have a problem if they were in /lib
in bullseye though, but am I correct in understanding that this is not
the case for any of the highlighted packages?

-- 
Kind regards,
Luca Boccassi


signature.asc
Description: This is a digitally signed message part


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-23 Thread Sam Hartman
> "Sean" == Sean Whitton  writes:

Sean> Hello,
Sean> On Wed 22 Feb 2023 at 09:55AM +01, Sebastian Ramacher wrote:

>> Unless I am missing something, having dh_installsystemd look at
>> the service files in /usr/lib is the only viable solution for
>> bullseye -> bookworm. We could fix individual packages that
>> didn't include those files in bullseye, but for all the others we
>> are unable to move the files from /usr/lib to /lib.

Sean> You're saying we can't move them in that case because the TC
Sean> resolution says no moving /usr/lib->/lib ?  Or some other
Sean> reason?  I thought we only said that files couldn't move in
Sean> the other direction.

Well, there is the underlying technical issue that made the TC
resolution reasonable.
Moving paths between  aliased locations plus replaces will always
produce behavior that is predictable and potentially bad with the
current dpkg.
It's independent on whether it's /usr/lib or /lib on source or
destination.

I agree with the analysis and believe that having dh_installsystemd look
in /usr/lib/systemd is the option least likely to create breakage.



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-23 Thread Sean Whitton
Hello,

On Wed 22 Feb 2023 at 09:55AM +01, Sebastian Ramacher wrote:

> Unless I am missing something, having dh_installsystemd look at the
> service files in /usr/lib is the only viable solution for bullseye ->
> bookworm. We could fix individual packages that didn't include those
> files in bullseye, but for all the others we are unable to move the
> files from /usr/lib to /lib.

You're saying we can't move them in that case because the TC resolution
says no moving /usr/lib->/lib ?  Or some other reason?
I thought we only said that files couldn't move in the other direction.

Are there any of the 35 packages that did in fact ship them in /usr in
bullseye?

-- 
Sean Whitton


signature.asc
Description: PGP signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-22 Thread Sebastian Ramacher
On 2023-02-21 15:43:08 +0100, Michael Biebl wrote:
> Hi Niels
> 
> On Tue, 21 Feb 2023 10:47:09 +0100 Niels Thykier  wrote:
> 
> > Sorry for being terse, I should be working on something else right now
> > but prioritized a short message over nothing.
> > 
> > Duplicate of #995569.
> 
> Sorry, missed that...
> 
>  My concerns from back then still applies and I
> > will not implement this feature until they are resolved. For the record,
> > I do not feel the tech-ctte's resolution back then answered my question.
> > 
> > Additionally, we are in the bookworm freeze where toolchains are frozen
> > and have been for a month now. I am also not going to implement this
> > change for bookwork unless there is an agreement from the release team
> > in place that this is the direction we want to go (I do not have time to
> > look at that discussion right now either).
> 
> Looping in the release team.
> 
> Quoting Helmut from IRC:
> 
> helmut
> 'I am indeed wondering whether the ctte's acceptance of "usr-is-merged is
> pulled by init-system-helpers" would be sufficient to address nthykier's
> concerns. That's new compared to his earlier rejection.'
> 
> 
> I'm currently evaluating what the best course of action is here.
> 
> The patch for dh_installsystemd would be quite simple and then we'd mostly
> need a couple of binNMUs. In Trixie we will need that anyway and I assume
> for backports it would be beneficial as well.
> This all speaks in favor of changing dh_installsystemd.
> 
> The alternative is to basically have 35 RC bugs against affected packages
> and fixing those individually by moving the files to /lib

Unless I am missing something, having dh_installsystemd look at the
service files in /usr/lib is the only viable solution for bullseye ->
bookworm. We could fix individual packages that didn't include those
files in bullseye, but for all the others we are unable to move the
files from /usr/lib to /lib.

Cheers
-- 
Sebastian Ramacher



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-22 Thread Sebastian Ramacher
On 2023-02-21 09:45:34 -0700, Sam Hartman wrote:
> > "Michael" == Michael Biebl  writes:
> Michael> Excluding packages that only ship overrides/drop-ins, this
> Michael> makes 37 affected packages in bookworm.
> 
> If I'm understanding this issue correctly, the concern would be a
> package that moved from /lib/systemd/system to /usr/lib/systemd/system.
> Under the TC resolution, that should not be happening for bookworm.
> 
> At least some of those packages are new services that have never been in
> /lib/systemd/system.  I believe for example pam is in that set.
> 
> That's presumably not going to break something in the way that a file
> moving between /lib and /usr/lib is.
> But we don't want to encourage that movement.
> 
> It seems like knowing how many incorrect moves we've had would also be
> valuable--how many things that used to be in /lib/systemd but are now
> appearing in /usr/lib.

None as far as I can tell.

Cheers
-- 
Sebastian Ramacher



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-21 Thread Sam Hartman
> "Michael" == Michael Biebl  writes:

Michael> Am 21.02.23 um 17:45 schrieb Sam Hartman:
>>> "Michael" == Michael Biebl  writes:
Michael> Excluding packages that only ship overrides/drop-ins, this
Michael> makes 37 affected packages in bookworm.
>> 
>> If I'm understanding this issue correctly, the concern would be a
>> package that moved from /lib/systemd/system to
>> /usr/lib/systemd/system.

Michael> Well, not really. I'm concerned about packages shipping
Michael> files in /usr/lib/systemd/system and expecting that those
Michael> services are properly enabled/started/restarted/stopped.

I appreciate that is your concern.
However, it would be easier to work with you if you expressed empathy
and understanding for the other related concerns in the space.
My understanding is that the reason this is not a trivially accepted
patch is related to usrmerge and the issue I brought up.
Have I got that right?



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-21 Thread Michael Biebl

Am 21.02.23 um 17:45 schrieb Sam Hartman:

"Michael" == Michael Biebl  writes:

 Michael> Excluding packages that only ship overrides/drop-ins, this
 Michael> makes 37 affected packages in bookworm.

If I'm understanding this issue correctly, the concern would be a
package that moved from /lib/systemd/system to /usr/lib/systemd/system.


Well, not really. I'm concerned about packages shipping files in 
/usr/lib/systemd/system and expecting that those services are properly 
enabled/started/restarted/stopped.






OpenPGP_signature
Description: OpenPGP digital signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-21 Thread Sam Hartman
> "Michael" == Michael Biebl  writes:
Michael> Excluding packages that only ship overrides/drop-ins, this
Michael> makes 37 affected packages in bookworm.

If I'm understanding this issue correctly, the concern would be a
package that moved from /lib/systemd/system to /usr/lib/systemd/system.
Under the TC resolution, that should not be happening for bookworm.

At least some of those packages are new services that have never been in
/lib/systemd/system.  I believe for example pam is in that set.

That's presumably not going to break something in the way that a file
moving between /lib and /usr/lib is.
But we don't want to encourage that movement.

It seems like knowing how many incorrect moves we've had would also be
valuable--how many things that used to be in /lib/systemd but are now
appearing in /usr/lib.



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-21 Thread Michael Biebl

For bookworm we have

$ apt-file search -x ^/usr/lib/systemd/system/
amazon-ec2-net-utils: /usr/lib/systemd/system/policy-routes@.service
amazon-ec2-net-utils: /usr/lib/systemd/system/refresh-policy-routes@.service
amazon-ec2-net-utils: /usr/lib/systemd/system/refresh-policy-routes@.timer
arno-iptables-firewall: 
/usr/lib/systemd/system/arno-iptables-firewall.service

boinc-client: /usr/lib/systemd/system/boinc-client.service
booth: /usr/lib/systemd/system/booth-arbitrator.service
caddy: /usr/lib/systemd/system/caddy-api.service
caddy: /usr/lib/systemd/system/caddy.service
ceph-iscsi: /usr/lib/systemd/system/rbd-target-api.service
ceph-iscsi: /usr/lib/systemd/system/rbd-target-gw.service
cfengine3: /usr/lib/systemd/system/cf-apache.service
cfengine3: /usr/lib/systemd/system/cf-execd.service
cfengine3: /usr/lib/systemd/system/cf-hub.service
cfengine3: /usr/lib/systemd/system/cf-monitord.service
cfengine3: /usr/lib/systemd/system/cf-postgres.service
cfengine3: /usr/lib/systemd/system/cf-reactor.service
cfengine3: /usr/lib/systemd/system/cf-runalerts.service
cfengine3: /usr/lib/systemd/system/cf-serverd.service
cfengine3: /usr/lib/systemd/system/cfengine3.service
cloudflare-ddns: /usr/lib/systemd/system/cloudflare-ddns.service
cloudflare-ddns: /usr/lib/systemd/system/cloudflare-ddns.timer
debomatic: /usr/lib/systemd/system/debomatic.service
drkonqi: /usr/lib/systemd/system/drkonqi-coredump-processor@.service
fail2ban: /usr/lib/systemd/system/fail2ban.service
fapolicyd: /usr/lib/systemd/system/fapolicyd.service
freedombox: /usr/lib/systemd/system/avahi-daemon.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/bind9.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/calibre-server-freedombox.service
freedombox: /usr/lib/systemd/system/coturn.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/deluged.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/freedombox-manual-upgrade.service
freedombox: /usr/lib/systemd/system/janus.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/matrix-synapse.service.d/freedombox.conf
freedombox: 
/usr/lib/systemd/system/mediawiki-jobrunner.service.d/freedombox.conf

freedombox: /usr/lib/systemd/system/nmbd.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/plinth.service
freedombox: /usr/lib/systemd/system/quasselcore.service.d/freedombox.conf
freedombox: 
/usr/lib/systemd/system/shadowsocks-libev-local@.service.d/freedombox.conf

freedombox: /usr/lib/systemd/system/smbd.service.d/freedombox.conf
freedombox: 
/usr/lib/systemd/system/syncthing@syncthing.service.d/freedombox.conf
freedombox: 
/usr/lib/systemd/system/transmission-daemon.service.d/freedombox.conf

freedombox: /usr/lib/systemd/system/tt-rss.service.d/freedombox.conf
freedombox: /usr/lib/systemd/system/wordpress-freedombox.service
freedombox: /usr/lib/systemd/system/wordpress-freedombox.timer
freedombox: /usr/lib/systemd/system/zramswap.service.d/freedombox.conf
fwknop-apparmor-profile: /usr/lib/systemd/system/usr.sbin.fwknopd
gammu-smsd: /usr/lib/systemd/system/gammu-smsd.service
libpam-modules-bin: /usr/lib/systemd/system/pam_namespace.service
mpd: /usr/lib/systemd/system/mpd.service
mpd: /usr/lib/systemd/system/mpd.socket
mpdscribble: /usr/lib/systemd/system/mpdscribble.service
nordugrid-arc-arex: /usr/lib/systemd/system/arc-arex-ws.service
nordugrid-arc-arex: /usr/lib/systemd/system/arc-arex.service
nordugrid-arc-datadelivery-service: 
/usr/lib/systemd/system/arc-datadelivery-service.service

nordugrid-arc-gridftpd: /usr/lib/systemd/system/arc-gridftpd.service
nordugrid-arc-hed: /usr/lib/systemd/system/arched.service
nordugrid-arc-infosys-ldap: 
/usr/lib/systemd/system/arc-infosys-ldap-slapd.service

nordugrid-arc-infosys-ldap: /usr/lib/systemd/system/arc-infosys-ldap.service
nvme-cli: /usr/lib/systemd/system/nvmefc-boot-connections.service
nvme-cli: /usr/lib/systemd/system/nvmf-autoconnect.service
nvme-cli: /usr/lib/systemd/system/nvmf-connect.target
nvme-cli: /usr/lib/systemd/system/nvmf-connect@.service
pass-extension-tomb: /usr/lib/systemd/system/pass-close@.service
pcscd: /usr/lib/systemd/system/pcscd.service
pcscd: /usr/lib/systemd/system/pcscd.socket
phog: /usr/lib/systemd/system/greetd.service.d/phog.conf
powerman: /usr/lib/systemd/system/powerman.service
pvpgn: /usr/lib/systemd/system/pvpgn.service
python3-charon: /usr/lib/systemd/system/charon.service
qbittorrent-nox: /usr/lib/systemd/system/qbittorrent-nox@.service
shadowsocks-libev: /usr/lib/systemd/system/shadowsocks-libev-local@.service
shadowsocks-libev: /usr/lib/systemd/system/shadowsocks-libev-redir@.service
shadowsocks-libev: /usr/lib/systemd/system/shadowsocks-libev-server@.service
shadowsocks-libev: /usr/lib/systemd/system/shadowsocks-libev-tunnel@.service
systemd-oomd: 
/usr/lib/systemd/system/-.slice.d/10-oomd-root-slice-defaults.conf
systemd-oomd: 
/usr/lib/systemd/system/user@.service.d/10-oomd-user-service-defaults.conf

tcmu-runner: 

Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-21 Thread Michael Biebl

Hi Niels

On Tue, 21 Feb 2023 10:47:09 +0100 Niels Thykier  wrote:

Sorry for being terse, I should be working on something else right now 
but prioritized a short message over nothing.


Duplicate of #995569.


Sorry, missed that...

 My concerns from back then still applies and I
will not implement this feature until they are resolved. For the record, 
I do not feel the tech-ctte's resolution back then answered my question.


Additionally, we are in the bookworm freeze where toolchains are frozen 
and have been for a month now. I am also not going to implement this 
change for bookwork unless there is an agreement from the release team 
in place that this is the direction we want to go (I do not have time to 
look at that discussion right now either).


Looping in the release team.

Quoting Helmut from IRC:

helmut
'I am indeed wondering whether the ctte's acceptance of "usr-is-merged 
is pulled by init-system-helpers" would be sufficient to address 
nthykier's concerns. That's new compared to his earlier rejection.'



I'm currently evaluating what the best course of action is here.

The patch for dh_installsystemd would be quite simple and then we'd 
mostly need a couple of binNMUs. In Trixie we will need that anyway and 
I assume for backports it would be beneficial as well.

This all speaks in favor of changing dh_installsystemd.

The alternative is to basically have 35 RC bugs against affected 
packages and fixing those individually by moving the files to /lib


Dear release team, could you please have a look at 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031695 and share your 
opinion on how to proceed here.


Regards,
Michael


OpenPGP_signature
Description: OpenPGP digital signature


Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-21 Thread Niels Thykier

Control: forcemerge 1031695 995569

Michael Biebl:

Package: debhelper
Version: 13.11.4
Severity: important
X-Debbugs-Cc: pkg-systemd-maintain...@lists.alioth.debian.org

It appears we currently ship 35 packages in unstable installing 78
service files to /usr/lib/systemd/system which dh_installsystemd doesn't
handle:

[...]

The alternative is to update all those 35 packages and make sure they
install the files to /lib.


Michael


Sorry for being terse, I should be working on something else right now 
but prioritized a short message over nothing.


Duplicate of #995569. My concerns from back then still applies and I 
will not implement this feature until they are resolved. For the record, 
I do not feel the tech-ctte's resolution back then answered my question.


Additionally, we are in the bookworm freeze where toolchains are frozen 
and have been for a month now. I am also not going to implement this 
change for bookwork unless there is an agreement from the release team 
in place that this is the direction we want to go (I do not have time to 
look at that discussion right now either).


Thanks,
~Niels



Bug#1031695: dh_installsystemd doesn't handle files in /usr/lib/systemd/system

2023-02-20 Thread Michael Biebl
Package: debhelper
Version: 13.11.4
Severity: important
X-Debbugs-Cc: pkg-systemd-maintain...@lists.alioth.debian.org

It appears we currently ship 35 packages in unstable installing 78
service files to /usr/lib/systemd/system which dh_installsystemd doesn't
handle:

$ apt-file search -x ^/usr/lib/systemd/system | wc -l
78

$ apt-file search -x ^/usr/lib/systemd/system | cut -f1 -d':' | sort -u | wc -l
35

This means, those service files are not enabled and (re)started/stopped.

I suspect this is the result of the attempt last year, to move those
files to /usr where lintian warned for a while if files where installed
to /lib, so package maintainers started to update their packaging to
install in /usr instead.

I think dh_installsystemd should pick up files from
/usr/lib/systemd/system in list_installed_units() and then we could just
rebuild those packages.

The alternative is to update all those 35 packages and make sure they
install the files to /lib.


Michael