Menu

#196 rpm installation failed

v1.5.x
open
nobody
None
1
2014-12-26
2014-11-27
taspenatu
No

The installation of the rpm on CentOS failed.

# yum localinstall opensearchserver-1.5.8-b795.rpm 
.
.
.
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Error in PREIN scriptlet in rpm package opensearchserver-1.5.8-1.noarch
Usage: useradd [options] LOGIN

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
.
.
.
/var/tmp/rpm-tmp.R3UJVk: line 2: -g: command not found
/var/tmp/rpm-tmp.R3UJVk: line 3: OpenSearchServer: command not found
error: %pre(opensearchserver-1.5.8-1.noarch) scriptlet failed, exit status 127
error:   install: %pre scriptlet failed (2), skipping opensearchserver-1.5.8-1
  Verifying  : opensearchserver-.5.8-1.noarch                             1/1

Failed: opensearchserver.noarch 0:1.5.8-1

The problem is a wrong formatting in the preinstall scriptlet:

# rpm -qp --scripts opensearchserver-1.5.8-b795.rpm
preinstall scriptlet (using /bin/sh):
getent passwd opensearchserver >/dev/null || useradd -r
                                                        -g daemon -d /var/lib/opensearchserver -s /bin/bash -c
                                                        "OpenSearchServer" opensearchserver
postinstall scriptlet (using /bin/sh):
cp -f /usr/share/opensearchserver/opensearchserver
                                                        /etc/init.d   /opensearchserver && chmod a+x
                                                        /etc/init.d/opensearchserver

The workaround is to rpmrebuild opensearchserver and put the commands to a single line (alternative put backslashes at the end of the lines).

# rpmrebuild -e -p opensearchserver-1.5.8-b795.rpm

And the result should look like this

# rpm -qp --scripts /root/rpmbuild/RPMS/noarch/opensearchserver-1.5.8-1.noarch.rpm
preinstall scriptlet (using /bin/sh):
getent passwd opensearchserver >/dev/null || useradd -r -g daemon -d /var/lib/opensearchserver -s /bin/bash -c "OpenSearchServer" opensearchserver
postinstall scriptlet (using /bin/sh):
cp -f /usr/share/opensearchserver/opensearchserver /etc/init.d/opensearchserver && chmod a+x /etc/init.d/opensearchserver

Discussion

  • taspenatu

    taspenatu - 2014-11-28

    Ok, I'll try the new build.
    I've seen another (maybe already fixed) bug in the gui.

    Thanks a lot!

     

Log in to post a comment.