On 03/04/2011 03:04 PM, Jakub Jelinek wrote:
On Fri, Mar 04, 2011 at 09:55:29AM -0500, Clyde E. Kunkel wrote:
> It said "Non-fatal," but should this be of concern?
>
>
> Updating : glibc-2.13.90-5.x86_64 3/82
> Non-fatal POSTIN scriptlet failure in rpm package glibc-2.13.90-5.x86_64
> /usr/sbin/glibc_post_upgrade: While trying to execute /sbin/service
> child exited with exit code 1
> warning: %post(glibc-2.13.90-5.x86_64) scriptlet failed, exit status 1
Possibly glibc_post_upgrade needs some hacks for systemd.
/* Check if telinit is available and either SysVInit fifo,
or upstart telinit. */
if (access ("/sbin/telinit", X_OK)
|| ((!!access ("/dev/initctl", F_OK))
^ !access ("/sbin/initctl", X_OK)))
_exit (0);
/* Check if we are not inside of some chroot, because we'd just
timeout and leave /etc/initrunlvl. */
if (readlink ("/proc/1/exe", initpath, 256)<= 0 ||
readlink ("/proc/1/root", initpath, 256)<= 0)
_exit (0);
if (check_elf ("/proc/1/exe"))
verbose_exec (116, "/sbin/telinit", "/sbin/telinit",
"u");
/* Check if we can safely condrestart sshd. */
if (access ("/sbin/service", X_OK) == 0
&& access ("/usr/sbin/sshd", X_OK) == 0
&& access ("/etc/rc.d/init.d/sshd", X_OK) == 0
&& access ("/bin/bash", X_OK) == 0)
{
if (check_elf ("/usr/sbin/sshd"))
verbose_exec (-121, "/sbin/service", "/sbin/service",
"sshd", "condrestart");
}
It wants to telinit u (to avoid unclean shutdown) and
condrestart sshd (if both exists and it isn't inside of a chroot
and the corresponding init is running and be able to handle telinit u
/etc/rc.d/init.d/sshd
and service sshd condrestart has also chance of working.
If this changed somehow with systemd, it needs to be tweaked.
You will need to add additional systemd checks to that.
Things are heading in that direction if a native systemd file exist for
a service the old traditional SysV script wont be installed by default
with it ( which is good ) however it will be packed separately ( encase
you choose to use another init system ) hence checks like these
"/etc/rc.d/init.d/sshd" effectevly will fail in those cases.
It's also probably best to use "systemctl" in addition to
"service" command.
JBG