/[smeserver]/rpms/e-smith-lib/sme10/e-smith-lib-2.6.0-bz11177-signals.patch
ViewVC logotype

Annotation of /rpms/e-smith-lib/sme10/e-smith-lib-2.6.0-bz11177-signals.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Fri Jan 1 23:22:03 2021 UTC (3 years, 9 months ago) by jpp
Branch: MAIN
* Fri Jan 01 2021 Jean-Philipe Pialasse <tests@pialasse.com> 2.6.0-12.sme
- add support for signals SIG* with systemd [SME: 11177]
  fix typo for reload-or-try-restart
  unsupervised services: really stop when disabled and start stopped enabled ones

1 jpp 1.1 diff -Nur e-smith-lib-2.6.0.old/root/etc/e-smith/events/actions/adjust-services e-smith-lib-2.6.0/root/etc/e-smith/events/actions/adjust-services
2     --- e-smith-lib-2.6.0.old/root/etc/e-smith/events/actions/adjust-services 2021-01-01 17:54:05.634000000 -0500
3     +++ e-smith-lib-2.6.0/root/etc/e-smith/events/actions/adjust-services 2021-01-01 18:00:37.726000000 -0500
4     @@ -129,10 +129,10 @@
5     else
6     {
7     my $enabled = ($s->prop('status') || 'disabled') eq 'enabled';
8     - # stop the service if it is now disabled
9     - unshift(@actions,'stop') unless $enabled;
10     - # bring the service up if it is enabled (and we're not stopping it or running it once)
11     - push(@actions,'start') if ($enabled && !grep { /^(down|stop|d|once|o|start|restart|reload-or-restart)$/ } @actions) ;
12     + # bring the service up if it is enabled (and we're not stopping it or running it once, or using signal able to start it)
13     + unshift(@actions,'start') if ($enabled && !grep { /^(down|stop|d|once|o|start|restart|reload-or-restart)$/ } @actions) ;
14     + # stop the service if it is disabled
15     + @actions = ('stop');
16     foreach (@actions)
17     {
18     warn "adjusting non-supervised $service ($_)\n";
19     diff -Nur e-smith-lib-2.6.0.old/root/usr/share/perl5/vendor_perl/esmith/util.pm e-smith-lib-2.6.0/root/usr/share/perl5/vendor_perl/esmith/util.pm
20     --- e-smith-lib-2.6.0.old/root/usr/share/perl5/vendor_perl/esmith/util.pm 2021-01-01 17:54:05.636000000 -0500
21     +++ e-smith-lib-2.6.0/root/usr/share/perl5/vendor_perl/esmith/util.pm 2021-01-01 18:14:35.366000000 -0500
22     @@ -1119,7 +1119,7 @@
23     die "serviceControl: ACTION must be specified";
24     }
25    
26     - if ( $serviceAction =~ /^(start|stop|restart|reload|graceful|adjust|svdisable|reload-or-restart|try-restart|try-reload-or-restart|enable -now|sigterm|sighup|sigusr1|sigusr2)$/ )
27     + if ( $serviceAction =~ /^(start|stop|restart|reload|graceful|adjust|svdisable|reload-or-restart|try-restart|reload-or-try-restart|enable -now|enable|disable|sig[A-Za-z12]+)$/ )
28     {
29     my ($startScript) = glob("/etc/rc.d/rc7.d/S*$serviceName") ||'' ;
30     my ($systemdScript) = "/usr/lib/systemd/system/$serviceName.service" ||'';
31     @@ -1133,9 +1133,14 @@
32    
33     if (-e $systemdScript and ! -e $startScript){
34     # systemd is not aware of adjust, sigusr1, sigusr2, sigterm, sighup
35     - $serviceAction = ( $serviceAction =~/^(adjust|graceful|sighup|sigusr1|sigusr2)$/ ) ? "reload" : $serviceAction;
36     - $serviceAction = ( $serviceAction eq "sigterm" ) ? "restart" : $serviceAction;
37     - if ($serviceAction =~/^(start|stop|restart|reload|reload-or-restart|try-restart|try-reload-or-restart|enable -now)$/) {
38     + $serviceAction = ( $serviceAction =~/^(adjust|graceful)$/ ) ? "reload" : $serviceAction;
39     + if ($serviceAction =~/^(sig[A-Za-z12]+)$/) {
40     + $serviceAction=uc($serviceAction);
41     + system('/usr/bin/systemctl',"kill","--signal=$serviceAction","$serviceName.service") == '0'
42     + || warn "serviceControl: Couldn't " .
43     + "system( /usr/bin/systemctl kill --signal=$serviceAction $serviceName.service): $!\n";
44     + }
45     + elsif ($serviceAction =~/^(start|stop|restart|reload|reload-or-restart|try-restart|reload-or-try-restart|enable -now|enable|disable)$/) {
46     system('/usr/bin/systemctl',"$serviceAction","$serviceName.service") == '0'
47     || warn "serviceControl: Couldn't " .
48     "system( /usr/bin/systemctl $serviceAction $serviceName.service): $!\n";
49     @@ -1148,7 +1153,7 @@
50     elsif (-e $startScript) {
51     my $background = $params{'BACKGROUND'} || 'false';
52    
53     - die "serviceControl: Unknown serviceAction $serviceAction" if ($serviceAction =~/^(reload-or-restart|try-restart|try-reload-or-restart|enable -now)$/);
54     + die "serviceControl: Unknown serviceAction $serviceAction" if ($serviceAction =~/^(reload-or-restart|try-restart|reload-or-try-restart|enable -now|enable|disable)$/);
55     if ( $background eq 'true' )
56     {
57     backgroundCommand( 0, $startScript, $serviceAction );

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed