Patchwork [1/1] initscripts: remove -i from halt/reboot arguments and allow override

login
register
mail settings
Submitter Paul Eggleton
Date April 27, 2011, 4:49 p.m.
Message ID <318c3139745e74177a23f323881dbd76ddc42006.1303922644.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/3007/
State New, archived
Headers show

Comments

Paul Eggleton - April 27, 2011, 4:49 p.m.
From: Paul Eggleton <paul.eggleton@linux.intel.com>

Introduces a variable HALTARGS which specifies the arguments sent to
halt and reboot, and sets the default value to "-d -f", dropping the
previous -i (shut down all network interfaces before halt/reboot, which
causes a freeze with NFS root.)

Fixes [YOCTO #997].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/recipes-core/initscripts/initscripts-1.0/halt |    2 +-
 .../initscripts/initscripts-1.0/reboot             |    2 +-
 meta/recipes-core/initscripts/initscripts_1.0.bb   |    9 ++++++++-
 3 files changed, 10 insertions(+), 3 deletions(-)
Darren Hart - April 27, 2011, 5:56 p.m.
On 04/27/2011 09:49 AM, Paul Eggleton wrote:
> From: Paul Eggleton <paul.eggleton@linux.intel.com>
> 
> Introduces a variable HALTARGS which specifies the arguments sent to
> halt and reboot, and sets the default value to "-d -f", dropping the
> previous -i (shut down all network interfaces before halt/reboot, which
> causes a freeze with NFS root.)
> 
> Fixes [YOCTO #997].

Is the SED_* tag a common search/replace mechanism in OE recipes? It's
fine, I'm just wondering if there is an accepted best practice for this
sort of thing. I know we do some sed replacements of /usr/bin and /etc.

> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

Acked-by: Darren Hart <dvhart@linux.intel.com>

> ---
>  meta/recipes-core/initscripts/initscripts-1.0/halt |    2 +-
>  .../initscripts/initscripts-1.0/reboot             |    2 +-
>  meta/recipes-core/initscripts/initscripts_1.0.bb   |    9 ++++++++-
>  3 files changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/halt b/meta/recipes-core/initscripts/initscripts-1.0/halt
> index 609b793..021d9be 100755
> --- a/meta/recipes-core/initscripts/initscripts-1.0/halt
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/halt
> @@ -24,6 +24,6 @@ then
>  	hddown=""
>  fi
>  
> -halt -d -f -i -p $hddown
> +halt SED_HALTARGS -p $hddown
>  
>  : exit 0
> diff --git a/meta/recipes-core/initscripts/initscripts-1.0/reboot b/meta/recipes-core/initscripts/initscripts-1.0/reboot
> index 4c55885..cf32e95 100755
> --- a/meta/recipes-core/initscripts/initscripts-1.0/reboot
> +++ b/meta/recipes-core/initscripts/initscripts-1.0/reboot
> @@ -12,4 +12,4 @@
>  PATH=/sbin:/bin:/usr/sbin:/usr/bin
>  
>  echo -n "Rebooting... "
> -reboot -d -f -i
> +reboot SED_HALTARGS
> diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb
> index d990925..720c252 100644
> --- a/meta/recipes-core/initscripts/initscripts_1.0.bb
> +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb
> @@ -6,7 +6,7 @@ DEPENDS = "makedevs"
>  RDEPENDS_${PN} = "makedevs"
>  LICENSE = "GPLv2"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
> -PR = "r124"
> +PR = "r125"
>  
>  SRC_URI = "file://functions \
>             file://halt \
> @@ -38,6 +38,13 @@ SRC_URI_append_arm = " file://alignment.sh"
>  
>  KERNEL_VERSION = ""
>  
> +HALTARGS ?= "-d -f"
> +
> +do_configure() {
> +	sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/halt
> +	sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/reboot
> +}
> +
>  do_install () {
>  #
>  # Create directories and install device independent scripts
Paul Eggleton - April 28, 2011, 10:13 a.m.
On Wednesday 27 April 2011 18:56:09 Darren Hart wrote:
> Is the SED_* tag a common search/replace mechanism in OE recipes? It's
> fine, I'm just wondering if there is an accepted best practice for this
> sort of thing. I know we do some sed replacements of /usr/bin and /etc.

Is there a more appropriate mechanism for substituting values of variables 
into files (genuinely asking)? If this is the best mechanism it's possible we 
might want to have a standard naming scheme though, I just made this one up on 
the spot - I see in some other places we've used FIXMExxxx, so at least it's 
not the worst :)

Cheers,
Paul
Koen Kooi - April 28, 2011, 11:03 a.m.
Op 28 apr 2011, om 12:13 heeft Paul Eggleton het volgende geschreven:

> On Wednesday 27 April 2011 18:56:09 Darren Hart wrote:
>> Is the SED_* tag a common search/replace mechanism in OE recipes? It's
>> fine, I'm just wondering if there is an accepted best practice for this
>> sort of thing. I know we do some sed replacements of /usr/bin and /etc.
> 
> Is there a more appropriate mechanism for substituting values of variables 
> into files (genuinely asking)?

It's the one I use :)

regards,

Koen
Darren Hart - April 28, 2011, 6:57 p.m.
On 04/28/2011 03:13 AM, Paul Eggleton wrote:
> On Wednesday 27 April 2011 18:56:09 Darren Hart wrote:
>> Is the SED_* tag a common search/replace mechanism in OE recipes? It's
>> fine, I'm just wondering if there is an accepted best practice for this
>> sort of thing. I know we do some sed replacements of /usr/bin and /etc.
> 
> Is there a more appropriate mechanism for substituting values of variables 
> into files (genuinely asking)? If this is the best mechanism it's possible we 
> might want to have a standard naming scheme though, I just made this one up on 
> the spot - I see in some other places we've used FIXMExxxx, so at least it's 
> not the worst :)

There is an effort to document how to do initscripts, so including
something along these lines would be appropriate there. I have no
objection to SED_.... FIXMExxx that's a different story ;-)

> 
> Cheers,
> Paul
>

Patch

diff --git a/meta/recipes-core/initscripts/initscripts-1.0/halt b/meta/recipes-core/initscripts/initscripts-1.0/halt
index 609b793..021d9be 100755
--- a/meta/recipes-core/initscripts/initscripts-1.0/halt
+++ b/meta/recipes-core/initscripts/initscripts-1.0/halt
@@ -24,6 +24,6 @@  then
 	hddown=""
 fi
 
-halt -d -f -i -p $hddown
+halt SED_HALTARGS -p $hddown
 
 : exit 0
diff --git a/meta/recipes-core/initscripts/initscripts-1.0/reboot b/meta/recipes-core/initscripts/initscripts-1.0/reboot
index 4c55885..cf32e95 100755
--- a/meta/recipes-core/initscripts/initscripts-1.0/reboot
+++ b/meta/recipes-core/initscripts/initscripts-1.0/reboot
@@ -12,4 +12,4 @@ 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 
 echo -n "Rebooting... "
-reboot -d -f -i
+reboot SED_HALTARGS
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb
index d990925..720c252 100644
--- a/meta/recipes-core/initscripts/initscripts_1.0.bb
+++ b/meta/recipes-core/initscripts/initscripts_1.0.bb
@@ -6,7 +6,7 @@  DEPENDS = "makedevs"
 RDEPENDS_${PN} = "makedevs"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-PR = "r124"
+PR = "r125"
 
 SRC_URI = "file://functions \
            file://halt \
@@ -38,6 +38,13 @@  SRC_URI_append_arm = " file://alignment.sh"
 
 KERNEL_VERSION = ""
 
+HALTARGS ?= "-d -f"
+
+do_configure() {
+	sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/halt
+	sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/reboot
+}
+
 do_install () {
 #
 # Create directories and install device independent scripts