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:
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...
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 !)
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.
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
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?
Presumably reinstallin a more complete set of packages from a manifest "works" for you. Reopen this bug if I'm wrong ...