glibc-2.13.90-5.x86_64 Non-fatal POSTIN scriptlet failure during Fedora 15 update

Jakub Jelinek jakub at redhat.com
Fri Mar 4 15:04:08 UTC 2011


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
and service sshd condrestart has also chance of working.

If this changed somehow with systemd, it needs to be tweaked.

	Jakub


More information about the test mailing list