On Thu, Apr 16, 2015 at 06:42:58PM +0000, Bryan Evenson wrote:
> Paul,
> 
> > -----Original Message-----
> > From: Paul Eggleton [mailto:paul.eggle...@linux.intel.com]
> > Sent: Thursday, April 16, 2015 1:57 PM
> > To: Bryan Evenson
> > Cc: openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] sysvinit upgrade woes
> > 
> > Hi Bryan,
> > 
> > On Thursday 16 April 2015 13:53:14 Bryan Evenson wrote:
> > > > -----Original Message-----
> > > > From: openembedded-core-boun...@lists.openembedded.org
> > > > [mailto:openembedded-core-boun...@lists.openembedded.org] On
> > Behalf
> > > > Of Bryan Evenson
> > > > Sent: Tuesday, April 14, 2015 11:26 AM
> > > > To: openembedded-core@lists.openembedded.org
> > > > Subject: [OE-core] sysvinit upgrade woes
> > > >
> > > > I am using opkg for package management and sysvinit for init.  I am
> > > > testing a large jump on an upgrade and I have been having a few issues.
> > > > One issue I have traced to sysvinit's upgrade, but I'm unsure how to
> > > > remedy the solution.
> > > >
> > > > At some point during the upgrade process, opkg records what the new
> > > > version is of all the packages getting installed.  However, when I
> > > > upgrade sysvinit causes sysvinit to restart before opkg has recorded
> > > > which packages were just installed.  So opkg thinks that it didn't
> > > > upgrade anything even though all packages were upgraded.  I verified
> > > > that if I call "opkg upgrade" for all packages that require upgrade
> > > > except for sysvinit that opkg correctly records which packages were
> > > > upgraded.  However, the end user doesn't have that kind of control,
> > > > so upgrading in this manner is not an option.
> > > >
> > > > Has anyone else seen a similar issue?  Any ideas on how to hold off
> > > > sysvinit from restarting until after opkg has finished recording its
> > > > information?
> > >
> > > I've found the problem but don't yet have a good solution.  At the end
> > > of the sysvinit-inittab pkg_postinst script is the line:
> > >
> > >   kill -HUP 1
> > >
> > > This kills init before opkg has finished doing its job.  On my system,
> > > I've added a .bbappend with a pk_postinst script as follows for items
> > > that require a reboot after installation:
> > >
> > >     touch /var/run/reboot-required
> > >     echo "${PN}" >>/var/run/reboot-required.pkgs
> > >
> > > After my system performs firmware upgrade, it checks if
> > > /var/run/reboot-required exists and then reboots the system.  So on my
> > > system, I changed the pkg_postinst script for sysvinit-inittab to
> > > replace the "kill -HUP 1" with the reboot required notations.
> > >
> > > Is there some suitable solution that would be reasonable to change in
> > > the sysvinit-inittab recipe that would work for other people?
> > 
> > SIGHUP is supposed to make sysvinit re-read inittab, not kill it. Can you 
> > tell
> > what is actually happening?
> 
> Ah, I don't know for sure what is happening but now I have a different guess. 
>  I have tried running the upgrade with "opkg -V4 upgrade" (insanely verbose 
> debug output) and I can tell that is doing the postinst scripts when the 
> upgrade stops and I get logged out.  I am doing my testing through the debug 
> serial port on my system.  My best guess without further proof is that the 
> SIGHUP restarts my terminal which in turn kills "opkg upgrade" which was 
> commanded through my terminal.
> 
> If that is what is happening, then the upgrade should continue normally if I 
> send it to the background ("opkg upgrade &"), correct?  Or it would run just 
> fine if a cron job started the upgrade?

You can also run it in GNU screen session to verify this. I remember
seeing this behavior couple years ago and I prefer screen since then
(also for using the same screen after you set the network over serial
cable and then want to continue in the same shell but over network).

> > Cheers,
> > Paul
> > 
> > --
> > 
> > Paul Eggleton
> > Intel Open Source Technology Centre
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: martin.ja...@gmail.com
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to