Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Dec 2013 19:17:52 +0000
From:      "Teske, Devin" <Devin.Teske@fisglobal.com>
To:        Colin Percival <cperciva@freebsd.org>
Cc:        Devin Teske <dteske@freebsd.org>, FreeBSD RC <freebsd-rc@FreeBSD.org>
Subject:   Re: RFC: support for re-sourcing /etc/rc.conf
Message-ID:  <9EF48D5E-2706-4628-BF7B-DBBD5D7E227F@fisglobal.com>
In-Reply-To: <529CD535.5010903@freebsd.org>
References:  <529BEDDB.8010003@freebsd.org> <20131202.214853.1540734630471865242.hrs@allbsd.org> <529CD535.5010903@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Dec 2, 2013, at 10:45 AM, Colin Percival wrote:

> On 12/02/13 04:48, Hiroki Sato wrote:
>> Colin Percival <cperciva@freebsd.org> wrote:
>> cp> I'd like to commit the attached patch to /etc/rc.  When SIGALRM is r=
eceived,
>> cp> it reloads /etc/rc.conf; this makes it possible for an rc.d script t=
o perform
>> cp> first-boot system configuration and have it reflected by other rc.d =
scripts.
>> cp>
>> cp> In particular, this will allow me to provide EC2 user-data of
>> cp> 	>>/etc/rc.conf
>> cp> 	firstboot_pkgs_enable=3D"YES"
>> cp> 	firstboot_pkgs_list=3D"apache22"
>> cp> to an image with the sysutils/ec2-scripts and sysutils/firstboot-pkg=
s ports
>> cp> installed, and have a system running with apache22 installed moments=
 later.
>>=20
>> I am not familiar with sysutils/firstboot-pkgs and its use case, but
>> is it correct that packages are installed during /etc/rc and then
>> rc.conf will be updated before rc.d scripts for the installed
>> packages run from /etc/rc?  Where and when SIGALRM is sent from?
>=20
> No, the other way around -- a different script (part of ec2-scripts) upda=
tes
> /etc/rc.conf based on metadata provided at VM launch time.  One use of th=
is
> would be to set firstboot_pkgs_* variables to control the behaviour of the
> firstboot-pkgs port moments later in the boot process.
>=20

sysrc(8) in 9.2+ base comes to mind.
NB: Available as a port for older releases 4.8+ (sysutils/sysrc)


> So:
> 1. VM image is created with ec2-scripts and firstboot-pkgs installed.
> 2. VM image is launched with user-data saying "I want apache22".

"bsdconfig startup_rcvar" in 9.2+ base comes to mind.
NB: Avaiable as a port for older releases 9.0+ (sysutils/bsdconfig)


> 3. Early in the boot process, ec2-scripts reads that user-data, updates
>   /etc/rc.conf, and signals /etc/rc.
> 4. /etc/rc re-sources /etc/rc.conf.

Cool. How's the signaling in #3 done to get #4?

Edit: Hiroki suggests using using /etc/rc.conf.d/{name}
Edit: "sysrc -f /etc/rc.conf.d/{name} firstboot_pkgs_{blah}=3Detc" comes to=
 mind

> 5. Later in the boot process, firstboot-pkgs (having the new /etc/rc.conf
>   settings loaded) installs the apache22 package.
>=20

/usr/share/bsdconfig/packages/packages.subr in 9.2+ base comes to mind.
Library for installing packages from a script (from any media device).

In 11.0-CURRENT, you have realtime API documentation:

	bsdconfig includes packages/packages

or more specifically...

	bsdconfig includes -dF package_add

Will display full description of the API function, f_package_add().

In 9.2-R or 9-STABLE (after SVN r252995), it uses pkg-tools.
In 10.0-BETA4 or 10-STABLE (after SVN r258420) or higher, it uses pkgng.

FYI:

I like the idea of firstboot_pkgs_*
I also like Hiroki's idea of stashing it all into rc.conf.d
--=20
Devin

_____________
The information contained in this message is proprietary and/or confidentia=
l. If you are not the intended recipient, please: (i) delete the message an=
d all copies; (ii) do not disclose, distribute or use the message in any ma=
nner; and (iii) notify the sender immediately. In addition, please be aware=
 that any message addressed to our domain is subject to archiving and revie=
w by persons other than the intended recipient. Thank you.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9EF48D5E-2706-4628-BF7B-DBBD5D7E227F>