ports/162049: The Ports tree lacks a framework to restart services

Chris Rees crees at freebsd.org
Mon Oct 31 09:23:24 UTC 2011


On 31 October 2011 08:37, Doug Barton <dougb at freebsd.org> wrote:
> On 10/31/2011 00:38, Dominic Fandrey wrote:
>> On 31/10/2011 07:28, Doug Barton wrote:
>>> On 10/27/2011 09:27, Scott Lambert wrote:
>>>> On Thu, Oct 27, 2011 at 11:15:00AM +0200, Ed Schouten wrote:
>>>>> What really bothers me when I use the FreeBSD Ports tree on one of my
>>>>> systems, is that the behaviour of dealing with services is quite
>>>>> inconsistent.
>>>>
>>>> If all of that is contingent upon a boolean knob the admin can set,
>>>> something like NO_RESTART_SERVICES, I suspect everyone could get
>>>> what they want and the bikeshed would be limitted to what the default
>>>> for that boolean should be.
>>>>
>>>> The people who don't want the services restarted automagically can
>>>> set it and, once things use the new ports framewoork properly, not
>>>> have to worry about suprises.  The people who want everything to
>>>> restarted as soon as possible can set the knob the other way.
>>>>
>>>
>>>
>>> I think Scott's on the right track. The way that I envision it working
>>> would be a 3-knob system. One knob to always restart the services, one
>>> to never do it; and then asking on a per-port basis, which should be the
>>> default. I can imagine portmaster detecting this option in the pre-build
>>> phase similarly to how it detects and warns about IS_INTERACTIVE now,
>>> and giving the user a menu of options for how to handle it. I'm happy to
>>> add more details if people are interested.
>>
>> I think this should be handled in the pkg-install script. Pkg based
>> upgrade tools _do_ exist.
>
> Yeah, that's what I said below. :)
>
>>> Where this actually becomes interesting is not in the ports
>>> build/install process, which is pretty easy to deal with, but with
>>> package installs/deinstalls. I definitely think it's doable, what we
>>> probably want to do is put a knob for this in the port's Makefile, and
>>> handle the stop/start for both the port and the package with a little
>>> script that can be included in the package, and run with @exec and @unexec.
>>
>> Note the Porters' Handboock chapter 6.23.1. The knob to stop services is
>> already there.
>
> That feature as it exists currently isn't even close to adequate, and is
> causing more problems than it solves. Hence the discussion.

I'd be happy to code this; I've offered once before. However, I had a
hard time convincing people that it wasn't something that
portmaster/portupgrade should be doing instead...

Chris


More information about the freebsd-ports mailing list