Bug 41171 - /var/tmp /var/run rpm failes to install apache
Summary: /var/tmp /var/run rpm failes to install apache
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 7.0
Hardware: noarch
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-05-18 00:11 UTC by Need Real Name
Modified: 2007-04-18 16:33 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2001-05-20 16:45:52 UTC
Embargoed:


Attachments (Terms of Use)

Description Need Real Name 2001-05-18 00:11:03 UTC
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. :-/
gatgul

How reproducible:
Didn't try

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

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

Additional info:

Comment 1 Jeff Johnson 2001-05-20 13:18:08 UTC
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 14:05:55 UTC
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 14:20:45 UTC
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 15:32:47 UTC
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
helpfull



Comment 5 Jeff Johnson 2001-05-20 16:45:47 UTC
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 13:34:40 UTC
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.