Re: strange problem compiling source rpms
On Fri, 13 Dec 2002 10:31:18 -0700, Bob Proulx <firstname.lastname@example.org> wrote:
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
> Faheem Mitha <email@example.com> [2002-12-12 21:57:35 +0000]:
>> > rpm is trying to mkdir /usr/src/rpm/SOURCES, of course this fails if
>> > /usr/src/rpm does not exist. It's dumb code and a bad error message.
> Actually it does not try to make the directories. It just fails if
> the directories are not premade.
>> Oh, I see. I thought something like install -d was the conventional
>> way to do this.
> Inside of rpm it is a C program and it should make the directories
> using C code. The 'install -d' is for makefiles which are shell
I see. But in that case the error message does seem rather misleading.
Why does it complain about not being able to make directories if it is
not trying to make them? (I haven't examined the internals of rpm).
> If you are building rpms and want to do so in your home directory this
> I suggest this.
> File $HOME/.rpmmacros:
> %_topdir /home/replay-with-your-login-name-here/src/rpms
> Then make all of the directories it wants in ~/src/rpms/RPMS, etc. and
> you can have a private build area. This is they way I build my own
> rpms. No collisions with other processes in the shared /usr/src
I would have thought the only way there might be problems would be if
multiple users were to try to build rpms (as user) in /usr/src/rpm,
and then only if they were trying to build the same package. There
would then be problems with files with different permissions colliding
with each other. Is this correct? I recently ran into this problem
with kernel building, and I'm now using /usr/local/src/login-name as a
build area for packages (eg kernel) that I am building myself on a
multiuser system. I prefer this to