Colin Percival <[email protected]> wrote in <[email protected]>:
cp> On 12/02/13 04:48, Hiroki Sato wrote: cp> > Colin Percival <[email protected]> wrote: cp> > cp> I'd like to commit the attached patch to /etc/rc. When SIGALRM is received, cp> > cp> it reloads /etc/rc.conf; this makes it possible for an rc.d script to perform cp> > cp> first-boot system configuration and have it reflected by other rc.d scripts. cp> > cp> cp> > cp> In particular, this will allow me to provide EC2 user-data of cp> > cp> >>/etc/rc.conf cp> > cp> firstboot_pkgs_enable="YES" cp> > cp> firstboot_pkgs_list="apache22" cp> > cp> to an image with the sysutils/ec2-scripts and sysutils/firstboot-pkgs ports cp> > cp> installed, and have a system running with apache22 installed moments later. cp> > cp> > I am not familiar with sysutils/firstboot-pkgs and its use case, but cp> > is it correct that packages are installed during /etc/rc and then cp> > rc.conf will be updated before rc.d scripts for the installed cp> > packages run from /etc/rc? Where and when SIGALRM is sent from? cp> cp> No, the other way around -- a different script (part of ec2-scripts) updates cp> /etc/rc.conf based on metadata provided at VM launch time. One use of this cp> would be to set firstboot_pkgs_* variables to control the behaviour of the cp> firstboot-pkgs port moments later in the boot process. cp> cp> So: cp> 1. VM image is created with ec2-scripts and firstboot-pkgs installed. cp> 2. VM image is launched with user-data saying "I want apache22". cp> 3. Early in the boot process, ec2-scripts reads that user-data, updates cp> /etc/rc.conf, and signals /etc/rc. cp> 4. /etc/rc re-sources /etc/rc.conf. cp> 5. Later in the boot process, firstboot-pkgs (having the new /etc/rc.conf cp> settings loaded) installs the apache22 package. So, if I understand it correctly, the ec2-scripts add $firstboot_pkgs_enable and $firstboot_pkgs_list into /etc/rc.conf and then send a signal to /etc/rc, and then the firstboot-pkg script runs. In this case, I think creating /etc/rc.conf.d/firstboot-pkg in ec2-scripts is simpler. Sourcing /etc/rc.conf happens only once, but sourcing /etc/rc.conf.d/<name> happens every time when "load_rc_config <name>" is called. If firstboot-pkgs calls load_rc_config, it should work as expected without sending a signal. -- Hiroki
pgpy1HIvTlUHb.pgp
Description: PGP signature
