Date: Sat, 19 Jul 2014 12:56:42 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Lars Engels <lars.engels@0x20.net>, Adrian Chadd <adrian@freebsd.org>, Andreas Nilsson <andrnils@gmail.com>, Navdeep Parhar <nparhar@gmail.com>, Craig Rodrigues <rodrigc@freebsd.org>, freebsd-doc@freebsd.org, Alberto Mijares <amijaresp@gmail.com>, freebsd-current Current <freebsd-current@freebsd.org>, ports <freebsd-ports@freebsd.org>, freebsd-rc@freebsd.org Subject: Re: [PATCHES] Extend service(8) and rc(8) was: Re: HOWTO articles for migrating from Linux to FreeBSD, especially for pkg? Message-ID: <CAJ-VmokX2Y%2BSeOFzXaoOsXj_NCx1aD_Zz9Rx9yTAcGijFXOV7w@mail.gmail.com> In-Reply-To: <20140719160809.GU96250@e-new.0x20.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> <20140719160809.GU96250@e-new.0x20.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi! I like it! It's a useful command line API. Eventually people will realise there needs to be a more formal method for describing/controlling the underlying framework, but I leave that up to bapt to figure out and .. well, push people to do. :) Thanks! -a On 19 July 2014 09:08, Lars Engels <lars.engels@0x20.net> 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. > > I've updated the patch and extended it a little: > > https://phabric.freebsd.org/D451 > > It can now print the rc options for a service. > It needs however to have the options listed as comments between the > KEYWORDS section and the sourcing of /etc/rc.subr. > > > And I've made some changes to rc.subr itself: > > https://phabric.freebsd.org/D452 > > So now you can use > > # service sshd describe > Secure Shell Daemon > > and > > # service sshd extracommands > configtest keygen reload > > > Sorry for the mess in phabricator's SUMMARY. I will learn the markup > syntax later... > > > Lars
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokX2Y%2BSeOFzXaoOsXj_NCx1aD_Zz9Rx9yTAcGijFXOV7w>