[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Perl installation problem

     While testing the upgrading of rex to hamm I have discovered
several problems or possible bugs.  I will post each of these as
separate messages, and ask if anyone else has encountered them, and if
they should be reported as bugs.

     While updating perl 5.003.07-10 using perl_5.004.04-3.deb, I first
installed perl-base_5.004.04-3.deb, then perl_5.004.04-3.deb. This
resulted in the following error:

dpkg: error processing perl (--install):
 subprocess post-installation script returned error exit status 123

     The perl.postinst script was examined, and the effects of the
commands in this script were checked.  The symlinks and directories to
be created by this file existed, and the directories to be removed
were not there.  A dummy perl.postinst was prepared, and perl
configured successfully by dpkg.

     I am using bash 2.01-5, and a custom compiled kernel 2.0.27.
This problem is reproducible, at least on my system.  I have 

     The problem appears to be in the last command in perl.postinst:

"           find /usr/lib/perl5/i486-linux -type d -links 2 -print0 | xargs -r0
rmdir -p 2> /dev/null
        # the last will remove all the directories that are now empty or will be empty when the empty subdirs disappear"

          This command is intended to remove any empty subdirectories
in /usr/lib/perl5/i486-linux.  On my system, this find command returns
three non-empty directories, which the rm command properly refuses to
remove.  So far so good.  However, since the script is set -e, this
causes it to exit immediately with a non-zero exit status [1].  IMHO,
the -e option should be unset prior to this command, and another error
trapping approach used that does not cause the script to fail when the
rm command acts properly.

     As a test, I have removed the output redirection from this script
and inserted echo statements before and after the find command in
question.  The echo statement immediately before the find command is
executed, but the script exits before executing the second echo

     Has anyone else encountered this failure in perl?

     Should it be reported as a bug against perl?

[1] The -e option does not cause a script to exit "if the command that
fails . . . is part of an if statement".  I am not sure if this means
part of an if . . . then construct, or just part of the conditions of
the if statement, but I believe it is the latter.


TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .

Reply to: