diff mbox

opensm/configure.in: Remove Default-Start from opensmd init script

Message ID 5108E0F6.3060602@acm.org (mailing list archive)
State Accepted
Delegated to: Alex Netes
Headers show

Commit Message

Bart Van Assche Jan. 30, 2013, 8:59 a.m. UTC
On 01/29/13 18:18, Alex Netes wrote:
> During opensm RPM packaging, `chkconfig --add opensmd` is called.
> `chkconfig --add` creates the appropriate entry as specified by the
> default values in the init script. Having opensmd run by default on boot
> isn't desired.
>
> Signed-off-by: Alex Netes <alexne@mellanox.com>
> ---
>   configure.in | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/configure.in b/configure.in
> index 4515ae2..f798be2 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -18,12 +18,13 @@ AC_ARG_WITH([rdma_service],
>   AC_SUBST(RDMA_SERVICE, ${with_rdma_service:-${default_rdma_service}})
>
>   if { rpm -q sles-release || rpm -q openSUSE-release; } >/dev/null 2>&1; then
> -   default_start="2 3 5"
>      default_stop="0 1 4 6"
>   else
> -   default_start="2 3 4 5"
>      default_stop="0 1 6"
>   fi
> +
> +default_start="null"
> +
>   AC_SUBST(DEFAULT_START, $default_start)
>   AC_SUBST(DEFAULT_STOP, $default_stop)

Sorry but this patch doesn't make sense to me. This patch will prevent 
anyone to enable opensm to run during boot via chkconfig. How about 
replacing the above by the (untested) patch below ?

iff --git a/opensm.spec.in b/opensm.spec.in
index 6ae525b..2325b70 100644

Bart.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Alex Netes Jan. 30, 2013, 12:35 p.m. UTC | #1
On 09:59 Wed 30 Jan     , Bart Van Assche wrote:
> On 01/29/13 18:18, Alex Netes wrote:
> >During opensm RPM packaging, `chkconfig --add opensmd` is called.
> >`chkconfig --add` creates the appropriate entry as specified by the
> >default values in the init script. Having opensmd run by default on boot
> >isn't desired.
> >
> >Signed-off-by: Alex Netes <alexne@mellanox.com>
> >---
> >  configure.in | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> >diff --git a/configure.in b/configure.in
> >index 4515ae2..f798be2 100644
> >--- a/configure.in
> >+++ b/configure.in
> >@@ -18,12 +18,13 @@ AC_ARG_WITH([rdma_service],
> >  AC_SUBST(RDMA_SERVICE, ${with_rdma_service:-${default_rdma_service}})
> >
> >  if { rpm -q sles-release || rpm -q openSUSE-release; } >/dev/null 2>&1; then
> >-   default_start="2 3 5"
> >     default_stop="0 1 4 6"
> >  else
> >-   default_start="2 3 4 5"
> >     default_stop="0 1 6"
> >  fi
> >+
> >+default_start="null"
> >+
> >  AC_SUBST(DEFAULT_START, $default_start)
> >  AC_SUBST(DEFAULT_STOP, $default_stop)
> 
> Sorry but this patch doesn't make sense to me. This patch will
> prevent anyone to enable opensm to run during boot via chkconfig.
> How about replacing the above by the (untested) patch below ?
> 
> iff --git a/opensm.spec.in b/opensm.spec.in
> index 6ae525b..2325b70 100644
> --- a/opensm.spec.in
> +++ b/opensm.spec.in
> @@ -107,13 +107,6 @@ rm -rf $RPM_BUILD_ROOT
> 
>  %post
>  if [ $1 = 1 ]; then
> -    if [ -e /sbin/chkconfig ]; then
> -        /sbin/chkconfig --add opensmd
> -    elif [ -e /usr/sbin/update-rc.d ]; then
> -        /usr/sbin/update-rc.d opensmd defaults
> -    else
> -        /usr/lib/lsb/install_initd /etc/init.d/opensmd
> -    fi
>      if type systemctl >/dev/null 2>&1; then
>          systemctl --system daemon-reload
>      fi
> 
> Bart.
> 

Thanks. I was sure that you need to add the service prior to be able
to enable/disable it. Your suggestion works on RHEL/SUSE. I'll also test in on
Debian.

--Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Jan. 30, 2013, 3:43 p.m. UTC | #2
On 01/30/13 03:59, Bart Van Assche wrote:
> On 01/29/13 18:18, Alex Netes wrote:
>> During opensm RPM packaging, `chkconfig --add opensmd` is called.
>> `chkconfig --add` creates the appropriate entry as specified by the
>> default values in the init script. Having opensmd run by default on boot
>> isn't desired.
>>
>> Signed-off-by: Alex Netes <alexne@mellanox.com>
>> ---
>>   configure.in | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/configure.in b/configure.in
>> index 4515ae2..f798be2 100644
>> --- a/configure.in
>> +++ b/configure.in
>> @@ -18,12 +18,13 @@ AC_ARG_WITH([rdma_service],
>>   AC_SUBST(RDMA_SERVICE, ${with_rdma_service:-${default_rdma_service}})
>>
>>   if { rpm -q sles-release || rpm -q openSUSE-release; } >/dev/null
>> 2>&1; then
>> -   default_start="2 3 5"
>>      default_stop="0 1 4 6"
>>   else
>> -   default_start="2 3 4 5"
>>      default_stop="0 1 6"
>>   fi
>> +
>> +default_start="null"
>> +
>>   AC_SUBST(DEFAULT_START, $default_start)
>>   AC_SUBST(DEFAULT_STOP, $default_stop)
> 
> Sorry but this patch doesn't make sense to me. This patch will prevent
> anyone to enable opensm to run during boot via chkconfig.

It does not.  It means that chkconfig add does not create any start
links, just all kill links.  To actually enabled it, chkconfig --level
2345 opensmd on will still work.  Which was the intent: leave it off by
default, enabled by the admin.

> How about
> replacing the above by the (untested) patch below ?
> 
> iff --git a/opensm.spec.in b/opensm.spec.in
> index 6ae525b..2325b70 100644
> --- a/opensm.spec.in
> +++ b/opensm.spec.in
> @@ -107,13 +107,6 @@ rm -rf $RPM_BUILD_ROOT
> 
>  %post
>  if [ $1 = 1 ]; then
> -    if [ -e /sbin/chkconfig ]; then
> -        /sbin/chkconfig --add opensmd
> -    elif [ -e /usr/sbin/update-rc.d ]; then
> -        /usr/sbin/update-rc.d opensmd defaults
> -    else
> -        /usr/lib/lsb/install_initd /etc/init.d/opensmd
> -    fi
>      if type systemctl >/dev/null 2>&1; then
>          systemctl --system daemon-reload
>      fi

This is not the correct fix.  It leaves the init script unadded to the
system, which means chkconfig --list will not show it properly until the
user manually adds it later.
Bart Van Assche Jan. 30, 2013, 4 p.m. UTC | #3
On 01/30/13 16:43, Doug Ledford wrote:
> On 01/30/13 03:59, Bart Van Assche wrote:
>> On 01/29/13 18:18, Alex Netes wrote:
>>> During opensm RPM packaging, `chkconfig --add opensmd` is called.
>>> `chkconfig --add` creates the appropriate entry as specified by the
>>> default values in the init script. Having opensmd run by default on boot
>>> isn't desired.
>>>
>>> Signed-off-by: Alex Netes <alexne@mellanox.com>
>>> ---
>>>    configure.in | 5 +++--
>>>    1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/configure.in b/configure.in
>>> index 4515ae2..f798be2 100644
>>> --- a/configure.in
>>> +++ b/configure.in
>>> @@ -18,12 +18,13 @@ AC_ARG_WITH([rdma_service],
>>>    AC_SUBST(RDMA_SERVICE, ${with_rdma_service:-${default_rdma_service}})
>>>
>>>    if { rpm -q sles-release || rpm -q openSUSE-release; } >/dev/null
>>> 2>&1; then
>>> -   default_start="2 3 5"
>>>       default_stop="0 1 4 6"
>>>    else
>>> -   default_start="2 3 4 5"
>>>       default_stop="0 1 6"
>>>    fi
>>> +
>>> +default_start="null"
>>> +
>>>    AC_SUBST(DEFAULT_START, $default_start)
>>>    AC_SUBST(DEFAULT_STOP, $default_stop)
>>
>> Sorry but this patch doesn't make sense to me. This patch will prevent
>> anyone to enable opensm to run during boot via chkconfig.
>
> It does not.  It means that chkconfig add does not create any start
> links, just all kill links.  To actually enabled it, chkconfig --level
> 2345 opensmd on will still work.  Which was the intent: leave it off by
> default, enabled by the admin.
>
>> How about
>> replacing the above by the (untested) patch below ?
>>
>> iff --git a/opensm.spec.in b/opensm.spec.in
>> index 6ae525b..2325b70 100644
>> --- a/opensm.spec.in
>> +++ b/opensm.spec.in
>> @@ -107,13 +107,6 @@ rm -rf $RPM_BUILD_ROOT
>>
>>   %post
>>   if [ $1 = 1 ]; then
>> -    if [ -e /sbin/chkconfig ]; then
>> -        /sbin/chkconfig --add opensmd
>> -    elif [ -e /usr/sbin/update-rc.d ]; then
>> -        /usr/sbin/update-rc.d opensmd defaults
>> -    else
>> -        /usr/lib/lsb/install_initd /etc/init.d/opensmd
>> -    fi
>>       if type systemctl >/dev/null 2>&1; then
>>           systemctl --system daemon-reload
>>       fi
>
> This is not the correct fix.  It leaves the init script unadded to the
> system, which means chkconfig --list will not show it properly until the
> user manually adds it later.

Which convention is followed for other packages ? This is what I found in
the Fedora 18 iscsi-initiator-utils package
(http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
* iscsid.init: Default-Start: 3 4 5
* iscsi-initiator-utils.spec:
%post
/sbin/ldconfig
if [ "$1" -eq "1" ]; then
         if [ ! -f %{_sysconfdir}/iscsi/initiatorname.iscsi ]; then
                 echo "InitiatorName=`/sbin/iscsi-iname`" > 
%{_sysconfdir}/iscsi/initiatorname.iscsi
         fi
         /sbin/chkconfig --add iscsid
         /sbin/chkconfig --add iscsi
fi

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Jan. 30, 2013, 5:48 p.m. UTC | #4
On 1/30/2013 11:00 AM, Bart Van Assche wrote:
> On 01/30/13 16:43, Doug Ledford wrote:
>> On 01/30/13 03:59, Bart Van Assche wrote:
>>> On 01/29/13 18:18, Alex Netes wrote:
>>>> During opensm RPM packaging, `chkconfig --add opensmd` is called.
>>>> `chkconfig --add` creates the appropriate entry as specified by the
>>>> default values in the init script. Having opensmd run by default on
>>>> boot
>>>> isn't desired.
>>>>
>>>> Signed-off-by: Alex Netes <alexne@mellanox.com>
>>>> ---
>>>>    configure.in | 5 +++--
>>>>    1 file changed, 3 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/configure.in b/configure.in
>>>> index 4515ae2..f798be2 100644
>>>> --- a/configure.in
>>>> +++ b/configure.in
>>>> @@ -18,12 +18,13 @@ AC_ARG_WITH([rdma_service],
>>>>    AC_SUBST(RDMA_SERVICE,
>>>> ${with_rdma_service:-${default_rdma_service}})
>>>>
>>>>    if { rpm -q sles-release || rpm -q openSUSE-release; } >/dev/null
>>>> 2>&1; then
>>>> -   default_start="2 3 5"
>>>>       default_stop="0 1 4 6"
>>>>    else
>>>> -   default_start="2 3 4 5"
>>>>       default_stop="0 1 6"
>>>>    fi
>>>> +
>>>> +default_start="null"
>>>> +
>>>>    AC_SUBST(DEFAULT_START, $default_start)
>>>>    AC_SUBST(DEFAULT_STOP, $default_stop)
>>>
>>> Sorry but this patch doesn't make sense to me. This patch will prevent
>>> anyone to enable opensm to run during boot via chkconfig.
>>
>> It does not.  It means that chkconfig add does not create any start
>> links, just all kill links.  To actually enabled it, chkconfig --level
>> 2345 opensmd on will still work.  Which was the intent: leave it off by
>> default, enabled by the admin.
>>
>>> How about
>>> replacing the above by the (untested) patch below ?
>>>
>>> iff --git a/opensm.spec.in b/opensm.spec.in
>>> index 6ae525b..2325b70 100644
>>> --- a/opensm.spec.in
>>> +++ b/opensm.spec.in
>>> @@ -107,13 +107,6 @@ rm -rf $RPM_BUILD_ROOT
>>>
>>>   %post
>>>   if [ $1 = 1 ]; then
>>> -    if [ -e /sbin/chkconfig ]; then
>>> -        /sbin/chkconfig --add opensmd
>>> -    elif [ -e /usr/sbin/update-rc.d ]; then
>>> -        /usr/sbin/update-rc.d opensmd defaults
>>> -    else
>>> -        /usr/lib/lsb/install_initd /etc/init.d/opensmd
>>> -    fi
>>>       if type systemctl >/dev/null 2>&1; then
>>>           systemctl --system daemon-reload
>>>       fi
>>
>> This is not the correct fix.  It leaves the init script unadded to the
>> system, which means chkconfig --list will not show it properly until the
>> user manually adds it later.
> 
> Which convention is followed for other packages ? This is what I found in
> the Fedora 18 iscsi-initiator-utils package
> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
> 
> * iscsid.init: Default-Start: 3 4 5
> * iscsi-initiator-utils.spec:

Okay, first off, any package that still uses the SysV initscripts as of
Fedora 18 is not what I would call a package that is keeping up with the
Fedora packaging guidelines or Fedora technologies.  As such, I'm not
really sure you want to use it as an example of a good package.
However, that being said, you will note in this spec file that the iSCSI
initiator package does exactly what you removed, or suggested be
removed, from the opensmd spec file.  It unilaterally adds the
initscript to the system.  The default start/stop settings are
different, but the add action is the same.

All initscripts should be added to the system, regardless of their
default start/stop settings, and the default-start and default-stop
should be used to control *how* they are added by default, and chkconfig
--level .* <scriptname> [on|off] should be used to control whether or
not they are on or off differently than their default settings.

> %post
> /sbin/ldconfig
> if [ "$1" -eq "1" ]; then
>         if [ ! -f %{_sysconfdir}/iscsi/initiatorname.iscsi ]; then
>                 echo "InitiatorName=`/sbin/iscsi-iname`" >
> %{_sysconfdir}/iscsi/initiatorname.iscsi
>         fi
>         /sbin/chkconfig --add iscsid
>         /sbin/chkconfig --add iscsi
> fi
> 
> Bart.
Bart Van Assche Jan. 30, 2013, 7:12 p.m. UTC | #5
On 01/30/13 18:48, Doug Ledford wrote:
> On 1/30/2013 11:00 AM, Bart Van Assche wrote:
>> Which convention is followed for other packages ? This is what I found in
>> the Fedora 18 iscsi-initiator-utils package
>> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
>>
>> * iscsid.init: Default-Start: 3 4 5
>> * iscsi-initiator-utils.spec:
>
> Okay, first off, any package that still uses the SysV initscripts as of
> Fedora 18 is not what I would call a package that is keeping up with the
> Fedora packaging guidelines or Fedora technologies.  As such, I'm not
> really sure you want to use it as an example of a good package.
> However, that being said, you will note in this spec file that the iSCSI
> initiator package does exactly what you removed, or suggested be
> removed, from the opensmd spec file.  It unilaterally adds the
> initscript to the system.  The default start/stop settings are
> different, but the add action is the same.
>
> All initscripts should be added to the system, regardless of their
> default start/stop settings, and the default-start and default-stop
> should be used to control *how* they are added by default, and chkconfig
> --level .* <scriptname> [on|off] should be used to control whether or
> not they are on or off differently than their default settings.

Thanks for the detailed reply. Regarding the purpose of the patch at the 
start of this thread: do you know whether it is LSB-compliant to use 
"Default-Start: null" or should "Default-Start" be left out entirely in 
order not to create the start links ? See e.g. 
http://refspecs.linuxbase.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Jan. 30, 2013, 7:24 p.m. UTC | #6
On 1/30/2013 2:12 PM, Bart Van Assche wrote:
> On 01/30/13 18:48, Doug Ledford wrote:
>> On 1/30/2013 11:00 AM, Bart Van Assche wrote:
>>> Which convention is followed for other packages ? This is what I
>>> found in
>>> the Fedora 18 iscsi-initiator-utils package
>>> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
>>>
>>>
>>> * iscsid.init: Default-Start: 3 4 5
>>> * iscsi-initiator-utils.spec:
>>
>> Okay, first off, any package that still uses the SysV initscripts as of
>> Fedora 18 is not what I would call a package that is keeping up with the
>> Fedora packaging guidelines or Fedora technologies.  As such, I'm not
>> really sure you want to use it as an example of a good package.
>> However, that being said, you will note in this spec file that the iSCSI
>> initiator package does exactly what you removed, or suggested be
>> removed, from the opensmd spec file.  It unilaterally adds the
>> initscript to the system.  The default start/stop settings are
>> different, but the add action is the same.
>>
>> All initscripts should be added to the system, regardless of their
>> default start/stop settings, and the default-start and default-stop
>> should be used to control *how* they are added by default, and chkconfig
>> --level .* <scriptname> [on|off] should be used to control whether or
>> not they are on or off differently than their default settings.
> 
> Thanks for the detailed reply. Regarding the purpose of the patch at the
> start of this thread: do you know whether it is LSB-compliant to use
> "Default-Start: null" or should "Default-Start" be left out entirely in
> order not to create the start links ? See e.g.
> http://refspecs.linuxbase.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.
> 
> 
> Bart.

I've always used "Default-start:" without any listed levels, but I
haven't really tested it either and the spec is not specific about this
particular possible configuration.
Alex Netes Jan. 31, 2013, 7:21 a.m. UTC | #7
On 14:24 Wed 30 Jan     , Doug Ledford wrote:
> On 1/30/2013 2:12 PM, Bart Van Assche wrote:
> > On 01/30/13 18:48, Doug Ledford wrote:
> >> On 1/30/2013 11:00 AM, Bart Van Assche wrote:
> >>> Which convention is followed for other packages ? This is what I
> >>> found in
> >>> the Fedora 18 iscsi-initiator-utils package
> >>> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
> >>>
> >>>
> >>> * iscsid.init: Default-Start: 3 4 5
> >>> * iscsi-initiator-utils.spec:
> >>
> >> Okay, first off, any package that still uses the SysV initscripts as of
> >> Fedora 18 is not what I would call a package that is keeping up with the
> >> Fedora packaging guidelines or Fedora technologies.  As such, I'm not
> >> really sure you want to use it as an example of a good package.
> >> However, that being said, you will note in this spec file that the iSCSI
> >> initiator package does exactly what you removed, or suggested be
> >> removed, from the opensmd spec file.  It unilaterally adds the
> >> initscript to the system.  The default start/stop settings are
> >> different, but the add action is the same.
> >>
> >> All initscripts should be added to the system, regardless of their
> >> default start/stop settings, and the default-start and default-stop
> >> should be used to control *how* they are added by default, and chkconfig
> >> --level .* <scriptname> [on|off] should be used to control whether or
> >> not they are on or off differently than their default settings.
> > 
> > Thanks for the detailed reply. Regarding the purpose of the patch at the
> > start of this thread: do you know whether it is LSB-compliant to use
> > "Default-Start: null" or should "Default-Start" be left out entirely in
> > order not to create the start links ? See e.g.
> > http://refspecs.linuxbase.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.
> > 
> > 
> > Bart.
> 
> I've always used "Default-start:" without any listed levels, but I
> haven't really tested it either and the spec is not specific about this
> particular possible configuration.
> 
> 

It's how the script was defined before. The behavior on RHEL and SLES is
different when not specifying "Default-start:". On RHEL, `chkconfig opensmd on`
adds the service to the default runlevels: 2 3 4 5. While on SLES it doesn't.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Doug Ledford Jan. 31, 2013, 2:20 p.m. UTC | #8
On 01/31/13 02:21, Alex Netes wrote:
> On 14:24 Wed 30 Jan     , Doug Ledford wrote:
>> On 1/30/2013 2:12 PM, Bart Van Assche wrote:
>>> On 01/30/13 18:48, Doug Ledford wrote:
>>>> On 1/30/2013 11:00 AM, Bart Van Assche wrote:
>>>>> Which convention is followed for other packages ? This is what I
>>>>> found in
>>>>> the Fedora 18 iscsi-initiator-utils package
>>>>> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
>>>>>
>>>>>
>>>>> * iscsid.init: Default-Start: 3 4 5
>>>>> * iscsi-initiator-utils.spec:
>>>>
>>>> Okay, first off, any package that still uses the SysV initscripts as of
>>>> Fedora 18 is not what I would call a package that is keeping up with the
>>>> Fedora packaging guidelines or Fedora technologies.  As such, I'm not
>>>> really sure you want to use it as an example of a good package.
>>>> However, that being said, you will note in this spec file that the iSCSI
>>>> initiator package does exactly what you removed, or suggested be
>>>> removed, from the opensmd spec file.  It unilaterally adds the
>>>> initscript to the system.  The default start/stop settings are
>>>> different, but the add action is the same.
>>>>
>>>> All initscripts should be added to the system, regardless of their
>>>> default start/stop settings, and the default-start and default-stop
>>>> should be used to control *how* they are added by default, and chkconfig
>>>> --level .* <scriptname> [on|off] should be used to control whether or
>>>> not they are on or off differently than their default settings.
>>>
>>> Thanks for the detailed reply. Regarding the purpose of the patch at the
>>> start of this thread: do you know whether it is LSB-compliant to use
>>> "Default-Start: null" or should "Default-Start" be left out entirely in
>>> order not to create the start links ? See e.g.
>>> http://refspecs.linuxbase.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.
>>>
>>>
>>> Bart.
>>
>> I've always used "Default-start:" without any listed levels, but I
>> haven't really tested it either and the spec is not specific about this
>> particular possible configuration.
>>
>>
> 
> It's how the script was defined before. The behavior on RHEL and SLES is
> different when not specifying "Default-start:". On RHEL, `chkconfig opensmd on`
> adds the service to the default runlevels: 2 3 4 5. While on SLES it doesn't.

That sounds like a bug in SLES to be honest.  chkconfig opensmd on
without --levels should follow the Default-Start: item (just like
chkconfig add opensmd).
Alex Netes Feb. 4, 2013, 3:36 p.m. UTC | #9
On 09:20 Thu 31 Jan     , Doug Ledford wrote:
> On 01/31/13 02:21, Alex Netes wrote:
> > On 14:24 Wed 30 Jan     , Doug Ledford wrote:
> >> On 1/30/2013 2:12 PM, Bart Van Assche wrote:
> >>> On 01/30/13 18:48, Doug Ledford wrote:
> >>>> On 1/30/2013 11:00 AM, Bart Van Assche wrote:
> >>>>> Which convention is followed for other packages ? This is what I
> >>>>> found in
> >>>>> the Fedora 18 iscsi-initiator-utils package
> >>>>> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
> >>>>>
> >>>>>
> >>>>> * iscsid.init: Default-Start: 3 4 5
> >>>>> * iscsi-initiator-utils.spec:
> >>>>
> >>>> Okay, first off, any package that still uses the SysV initscripts as of
> >>>> Fedora 18 is not what I would call a package that is keeping up with the
> >>>> Fedora packaging guidelines or Fedora technologies.  As such, I'm not
> >>>> really sure you want to use it as an example of a good package.
> >>>> However, that being said, you will note in this spec file that the iSCSI
> >>>> initiator package does exactly what you removed, or suggested be
> >>>> removed, from the opensmd spec file.  It unilaterally adds the
> >>>> initscript to the system.  The default start/stop settings are
> >>>> different, but the add action is the same.
> >>>>
> >>>> All initscripts should be added to the system, regardless of their
> >>>> default start/stop settings, and the default-start and default-stop
> >>>> should be used to control *how* they are added by default, and chkconfig
> >>>> --level .* <scriptname> [on|off] should be used to control whether or
> >>>> not they are on or off differently than their default settings.
> >>>
> >>> Thanks for the detailed reply. Regarding the purpose of the patch at the
> >>> start of this thread: do you know whether it is LSB-compliant to use
> >>> "Default-Start: null" or should "Default-Start" be left out entirely in
> >>> order not to create the start links ? See e.g.
> >>> http://refspecs.linuxbase.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.
> >>>
> >>>
> >>> Bart.
> >>
> >> I've always used "Default-start:" without any listed levels, but I
> >> haven't really tested it either and the spec is not specific about this
> >> particular possible configuration.
> >>
> >>
> > 
> > It's how the script was defined before. The behavior on RHEL and SLES is
> > different when not specifying "Default-start:". On RHEL, `chkconfig opensmd on`
> > adds the service to the default runlevels: 2 3 4 5. While on SLES it doesn't.
> 
> That sounds like a bug in SLES to be honest.  chkconfig opensmd on
> without --levels should follow the Default-Start: item (just like
> chkconfig add opensmd).
> 

I think that RHEL and SLES implemented chkconfig differently. From man page of
chkconfig on RHEL: "By  default,  the  on  and off options affect only
runlevels 2, 3, 4, and 5". While in SLES nothing is mentioned regarding the
defaults. 
It's not acceptable to load opensm by default on boot, so I don't see other
choice right now except of reverting commit 01ab74450fd1227cf2dfb9219ffd697d3beb4a45
or doing something similar of what I suggested at the start of the thread.

--Alex
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bart Van Assche Feb. 4, 2013, 4:05 p.m. UTC | #10
On 02/04/13 16:36, Alex Netes wrote:
> On 09:20 Thu 31 Jan     , Doug Ledford wrote:
>> On 01/31/13 02:21, Alex Netes wrote:
>>> On 14:24 Wed 30 Jan     , Doug Ledford wrote:
>>>> On 1/30/2013 2:12 PM, Bart Van Assche wrote:
>>>>> On 01/30/13 18:48, Doug Ledford wrote:
>>>>>> On 1/30/2013 11:00 AM, Bart Van Assche wrote:
>>>>>>> Which convention is followed for other packages ? This is what I
>>>>>>> found in
>>>>>>> the Fedora 18 iscsi-initiator-utils package
>>>>>>> (http://be.mirror.eurid.eu/fedora/linux/releases/18/Fedora/source/SRPMS/i/iscsi-initiator-utils-6.2.0.872-19.fc18.src.rpm):
>>>>>>>
>>>>>>>
>>>>>>> * iscsid.init: Default-Start: 3 4 5
>>>>>>> * iscsi-initiator-utils.spec:
>>>>>>
>>>>>> Okay, first off, any package that still uses the SysV initscripts as of
>>>>>> Fedora 18 is not what I would call a package that is keeping up with the
>>>>>> Fedora packaging guidelines or Fedora technologies.  As such, I'm not
>>>>>> really sure you want to use it as an example of a good package.
>>>>>> However, that being said, you will note in this spec file that the iSCSI
>>>>>> initiator package does exactly what you removed, or suggested be
>>>>>> removed, from the opensmd spec file.  It unilaterally adds the
>>>>>> initscript to the system.  The default start/stop settings are
>>>>>> different, but the add action is the same.
>>>>>>
>>>>>> All initscripts should be added to the system, regardless of their
>>>>>> default start/stop settings, and the default-start and default-stop
>>>>>> should be used to control *how* they are added by default, and chkconfig
>>>>>> --level .* <scriptname> [on|off] should be used to control whether or
>>>>>> not they are on or off differently than their default settings.
>>>>>
>>>>> Thanks for the detailed reply. Regarding the purpose of the patch at the
>>>>> start of this thread: do you know whether it is LSB-compliant to use
>>>>> "Default-Start: null" or should "Default-Start" be left out entirely in
>>>>> order not to create the start links ? See e.g.
>>>>> http://refspecs.linuxbase.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/initscrcomconv.html.
>>>>>
>>>>>
>>>>> Bart.
>>>>
>>>> I've always used "Default-start:" without any listed levels, but I
>>>> haven't really tested it either and the spec is not specific about this
>>>> particular possible configuration.
>>>>
>>>>
>>>
>>> It's how the script was defined before. The behavior on RHEL and SLES is
>>> different when not specifying "Default-start:". On RHEL, `chkconfig opensmd on`
>>> adds the service to the default runlevels: 2 3 4 5. While on SLES it doesn't.
>>
>> That sounds like a bug in SLES to be honest.  chkconfig opensmd on
>> without --levels should follow the Default-Start: item (just like
>> chkconfig add opensmd).
>>
>
> I think that RHEL and SLES implemented chkconfig differently. From man page of
> chkconfig on RHEL: "By  default,  the  on  and off options affect only
> runlevels 2, 3, 4, and 5". While in SLES nothing is mentioned regarding the
> defaults.
> It's not acceptable to load opensm by default on boot, so I don't see other
> choice right now except of reverting commit 01ab74450fd1227cf2dfb9219ffd697d3beb4a45
> or doing something similar of what I suggested at the start of the thread.

But why has commit 01ab744 to be reverted ? All that's needed to avoid 
that chkconfig gets enabled at boot during RPM installation is something 
like the patch at the top of this thread. Unless I'm overlooking something ?

Bart.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/opensm.spec.in
+++ b/opensm.spec.in
@@ -107,13 +107,6 @@  rm -rf $RPM_BUILD_ROOT

  %post
  if [ $1 = 1 ]; then
-    if [ -e /sbin/chkconfig ]; then
-        /sbin/chkconfig --add opensmd
-    elif [ -e /usr/sbin/update-rc.d ]; then
-        /usr/sbin/update-rc.d opensmd defaults
-    else
-        /usr/lib/lsb/install_initd /etc/init.d/opensmd
-    fi
      if type systemctl >/dev/null 2>&1; then
          systemctl --system daemon-reload
      fi