Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jul 2014 17:31:26 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        Baptiste Daroussin <bapt@freebsd.org>
Cc:        Craig Rodrigues <rodrigc@freebsd.org>, Lars Engels <lars.engels@0x20.net>, freebsd-doc@freebsd.org, Alberto Mijares <amijaresp@gmail.com>, freebsd-current Current <freebsd-current@freebsd.org>, Andreas Nilsson <andrnils@gmail.com>, Navdeep Parhar <nparhar@gmail.com>, ports <freebsd-ports@freebsd.org>
Subject:   Re: HOWTO articles for migrating from Linux to FreeBSD, especially for pkg?
Message-ID:  <CAJ-VmokyGFM3SVySyNCgqiRSvc5dVP3T_fyRrfSb5cf6jEczUQ@mail.gmail.com>
In-Reply-To: <20140718212148.GQ28314@ivaldir.etoilebsd.net>
References:  <CAG=rPVcyqq2072%2BgF_X91BocxykJB6%2BU0cMhaNexxfVFpVqUbA@mail.gmail.com> <CAJ-Vmo=p6-7KCL8C09O4dPq04pitW5wDbtsDAyz-u4Qtr7rpRA@mail.gmail.com> <CAGZBXN8-Gq1=w8SBHCw26ZX4a29KHBx%2B4FV9XGK1HJiCOGuJ9A@mail.gmail.com> <CAJ-Vmo=8uAXqmX8D%2BoP%2B63dHWVKN6cn8wBH0HNsVmUciNRF1BA@mail.gmail.com> <53C82EC4.8060304@gmail.com> <CAPS9%2BSuswkJNuwhT=o%2B7sBQpbaN0-jhnRK5drugqZw54%2BqzgzA@mail.gmail.com> <20140718142835.GF96250@e-new.0x20.net> <CAJ-VmoktHRSCxze91SxUaMB4CmfyqrDL3_ako3hObDmR3SrY5g@mail.gmail.com> <20140718212148.GQ28314@ivaldir.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 18 July 2014 14:21, Baptiste Daroussin <bapt@freebsd.org> wrote:
> On Fri, Jul 18, 2014 at 12:10:34PM -0700, Adrian Chadd wrote:
>> Hi!
>>
>>
>> On 18 July 2014 07:28, Lars Engels <lars.engels@0x20.net> wrote:
>> > On Thu, Jul 17, 2014 at 10:21:17PM +0200, Andreas Nilsson wrote:
>> >> On Thu, Jul 17, 2014 at 10:15 PM, Navdeep Parhar <nparhar@gmail.com> wrote:
>> >>
>> >> > On 07/17/14 13:12, Adrian Chadd wrote:
>> >> > > On 17 July 2014 13:03, Alberto Mijares <amijaresp@gmail.com> wrote:
>> >> > >> On Thu, Jul 17, 2014 at 2:58 PM, Adrian Chadd <adrian@freebsd.org>
>> >> > wrote:
>> >> > >>> Hi!
>> >> > >>>
>> >> > >>> 3) The binary packages need to work out of the box
>> >> > >>> 4) .. which means, when you do things like pkg install apache, it
>> >> > >>> can't just be installed and not be enabled, because that's a bit of a
>> >> > >>> problem;
>> >> > >>
>> >> > >>
>> >> > >> No. Please NEVER do that! The user must be able to edit the files and
>> >> > >> start the service by himself.
>> >> > >
>> >> > > Cool, so what's the single line command needed to type in to start a
>> >> > > given package service?
>> >> >
>> >> > Aren't sysrc(8) and service(8) for this kind of stuff?
>> >> >
>> >>
>> >> They sure are.
>> >>
>> >> Well, pkg install $service ; sysrc ${service}_enable="YES" would do.
>> >> Although some services have different names than the packge, which is sort
>> >> of annoying.
>> >
>> > I hacked up a solution for service(8):
>> >
>> > http://bsd-geek.de/FreeBSD/service.sh.enable-disable.patch
>> >
>> > The patch adds the following directives to service(8):
>> >
>> > enable: Grabs an rc script's rcvar value and runs "sysrc foo_enable=YES"
>> > disable: The opposite of enable
>> > rcdelete: Deletes an rc script's rcvar value from /etc/rc.conf using
>> >           "sysrc -x foo_enable"
>> >
>> > The nice thing about is that you can use one of the new directives on
>> > one line with the old ones, as long as the new are the first argument:
>> >
>> > # service syslogd enable
>> > # service apache24 disable stop
>> > # service apache24 rcdelete stop
>> > # service nginx enable start
>> >
>> >
>> > So after installing a package, to start and enable a daemon permanently
>> > all you have to run is
>> > # service foo enable start
>> >
>> > Lars
>> >
>> > P.S.: Thansk to Devin for his hard work on sysrc!
>>
>> Having a way for sysrc and service to know what particular options and
>> services are exposed by a given package or installed "thing" would be
>> nice. Right now the namespace is very flat and it's not obvious in all
>> instances what needs to happen to make it useful and what the options
>> are.
>>
>> "Oh, hm, I'd like to know what options there are for controlling the
>> installed apache24 package, let's see"...
>>
>> I remember IRIX having that command to list services, stop them and
>> start them, configure them enabled and disabled. Solaris grew
>> something like that with Solaris 10 and after the initial learning
>> curve it was great. Hving something like that would be 100% awesome.
>>
> you are asking for rcng2 with a declarative init config rather the  a script

It can be a series of scripts. The problem is that the namespace for
options has nothing else attached, like "Hi I'm an option that
starts/stops a service", "Hi I'm an option that's for this package",
"Hi I'm an option that's for this class of things." Right now there's
just a series of shell variables with educated guesses about what
package they're related to and what they do, rather than anything that
specifically says what they do.


-a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokyGFM3SVySyNCgqiRSvc5dVP3T_fyRrfSb5cf6jEczUQ>