Bug 41171 - /var/tmp /var/run rpm failes to install apache
/var/tmp /var/run rpm failes to install apache
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
noarch Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Johnson
David Lawrence
Depends On:
  Show dependency treegraph
Reported: 2001-05-17 20:11 EDT by Need Real Name
Modified: 2007-04-18 12:33 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2001-05-20 12:45:52 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2001-05-17 20:11:03 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.2.17-15 alpha)

Description of problem:
trying to install the apache from the rpm tends to do nothing until the
directories /var/tmp and /var/run are created. This is a chroot'd system i
am trying to build from scratch. so without these directories I get no
error messages, and no apache. :-/

How reproducible:
Didn't try

Steps to Reproduce:
1. i suppose remove /var/tmp & /var/run	
2.rpm -U apache.........

Expected Results:  should have expected an error message, rather than
silence on the missing directories.

Additional info:
Comment 1 Jeff Johnson 2001-05-20 09:18:08 EDT
How are you installing apache in a changeroot? If you've disabled
dependency checks with --nodeps or are you using --force, that's
the problem. There's more to setting up a chroot than installing a
package, you need to install the filesystem package to create
/var/tmp for example...
Comment 2 Need Real Name 2001-05-20 10:05:55 EDT
I have no doubt that is correct, that /var/tmp, and /var/run should be there in
the "chroot'd", as well as a host of all sorts of other files ( libraries, rpm,
perl, grep, bzip2, and on and on and on! ) A lot of the necessary 'apache'
dependencies  were installed.  Some with --nodeps. I dont think many with
--force.  ( BTW all RPM's of the dependent packages was installed in the
'chroot'd directory)

But rpm -i apache... would just not install. No error messages, no warnings -
nada. --force did nothing, and -vv did not show anything unusual.  I think that
there was some other pkg that also did nothing. The only time i really know if
the pkg is installed, is if i repeat the rpm command, and it tells me the pkg is
allready installed. 

Since the whole purpose was to install apache on its own chroot'd directory, I
needed to figure out why it is failing to do so. Installed strace, and saw that
rpm failed to open /var/tmp & /var/run.  Created these directories, and away rpm
installed apache.

So were are the error messages from rpm ? I would think that for the case of
installing apache, that the refusal to do so was because /var/run || /var/tmp ||
both was not there. An error message would have been appropriate ( certainly on
the -vv switch listing there shudda been an error message !)

Comment 3 Jeff Johnson 2001-05-20 10:20:45 EDT
Complaining about lack of error messages when you have installed some
packages with --nodeps does not make much sense IMHO, you've turned
off whatever error messages were already there to warn you of a problem.

You need to create your chroot using a manifest of packages to be installed.
Attempt to install all the packages together *without* --nodeps, add packages
to the manifest until you have everything needed to create an apache chroot.
Comment 4 Need Real Name 2001-05-20 11:32:47 EDT
I think you are confused about the purpose of the nodeps message. I think that
the purpose of the --nodeps feature is to (attempt) install the package
irrespective of the lack of dependencies. The purpose of --force is to force it
to install it even if there is a copy allready installed. The --nodeps is just
not an equivalent to --quiet || --really-really-quiet ( if there was such
options ). 

There seems to be 2 issues here. 
1) dependencies in order for apache to be installed
2) dependencies in order for apache fo be run.

My issue is with #1. Here RPM is clearly in control, and has knowlege that the
package failed to install because of a missing part ( maybe it couldnt execute
rm, chdir, or find /var/tmp or find /really/really/obscure/file.needed). There
are no error messages. There is no feature to print out the rpm/pkg script (
with system responses) as it goes along.
Some folks like to add a -x to the shell script to see why the shell script
(silently) fails to do anything. It is not yet clear to me wether rpm needs
/var/tmp,/var/run or the apache rpm needs it. But an equiv -x feature would
readily point out the /var/tmp || /var/run file is missing.  Some means of
addressing the failure, or informing the installer ( maybe with -vvvv ) would be

Comment 5 Jeff Johnson 2001-05-20 12:45:47 EDT
Yes, there are two issues, but it doesn't matter same the same mechanism
is used (i.e. dependencies) to track pre-requisites in both cases. So, unless
you have installed all the pre-requisite packages (i.e. filesystem package
which includes /var/tmp), a later package will not install correctly, in this
case brecause rpm requires /var/tmp to create and run scripts. BTW later
versions of rpm automagically create whatever is configured as the %_tmppath
directory, you appear to be running an older version of rpm.

Have you tried building your chroot from a manifest as suggested?
Comment 6 Jeff Johnson 2001-05-21 09:34:40 EDT
Presumably reinstallin a more complete set of packages from a manifest
"works" for you. Reopen this bug if I'm wrong ...

Note You need to log in before you can comment on or make changes to this bug.