2001-11-19 22:00:50

by John Ellson

[permalink] [raw]
Subject: [PATCH] "make modules_install" breaks with new /bin/cp

linux-2.4.15-pre6, fileutils-4.1.1-1.i386.rpm

With my configuration (details not important), "make modules_install" results in:

mkdir -p /lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp soundcore.o sound.o cs4232.o ad1848.o pss.o ad1848.o mpu401.o cs4232.o uart401.o ad1848.o mpu401.o uart6850.o
v_midi.o btaudio.o /lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with `ad1848.o'
cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/cs4232.o' with `cs4232.o'
cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with `ad1848.o'
cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/mpu401.o' with `mpu401.o'
make[2]: *** [_modinst__] Error 1

This hasn't been a problem with earlier version of /bin/cp (upto fileutils-4.1-4.i386.rpm in RH7.2),
but /bin/cp from fileutils-4.1.1-1.i386.rpm (in the Rawhide collection) is more pedantic about
multiple copies of the same file.

This patch works around this "feature". It would be better if the Makefiles were changed to only
install modules once, but thats a deeper problem.



--- Rules.make.orig Mon Nov 19 16:49:55 2001
+++ Rules.make Mon Nov 19 16:50:20 2001
@@ -173,7 +173,7 @@
_modinst__: dummy
ifneq "$(strip $(ALL_MOBJS))" ""
mkdir -p $(MODLIB)/kernel/$(MOD_DESTDIR)
-
cp $(ALL_MOBJS) $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET)
+
for i in $(ALL_MOBJS);do cp $$i $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET);done
endif

.PHONY: modules_install




--
John Ellson ([email protected]) Lucent Technologies, Holmdel, NJ, 07733


2001-11-19 22:29:05

by Richard Gooch

[permalink] [raw]
Subject: Re: [PATCH] "make modules_install" breaks with new /bin/cp

John Ellson writes:
> linux-2.4.15-pre6, fileutils-4.1.1-1.i386.rpm
>
> With my configuration (details not important), "make modules_install" results in:
>
> mkdir -p /lib/modules/2.4.15-pre6/kernel/drivers/sound/
> cp soundcore.o sound.o cs4232.o ad1848.o pss.o ad1848.o mpu401.o cs4232.o uart401.o ad1848.o mpu401.o uart6850.o
> v_midi.o btaudio.o /lib/modules/2.4.15-pre6/kernel/drivers/sound/
> cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with `ad1848.o'
> cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/cs4232.o' with `cs4232.o'
> cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with `ad1848.o'
> cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/mpu401.o' with `mpu401.o'
> make[2]: *** [_modinst__] Error 1
>
> This hasn't been a problem with earlier version of /bin/cp (upto
> fileutils-4.1-4.i386.rpm in RH7.2), but /bin/cp from
> fileutils-4.1.1-1.i386.rpm (in the Rawhide collection) is more
> pedantic about multiple copies of the same file.
>
> This patch works around this "feature". It would be better if the
> Makefiles were changed to only install modules once, but thats a
> deeper problem.

No, the fix is to upgrade to fileutils-4.1-4.i386.rpm. cp should not
be complaining unless you ask it to. The default should be to do what
you ask. For the same reason, cp does not have "cp -i" as the default
behaviour.

Regards,

Richard....
Permanent: [email protected]
Current: [email protected]

2001-11-20 03:20:59

by John Ellson

[permalink] [raw]
Subject: Re: [PATCH] "make modules_install" breaks with new /bin/cp

Richard Gooch wrote:

>John Ellson writes:
>
>>linux-2.4.15-pre6, fileutils-4.1.1-1.i386.rpm
>>
>>With my configuration (details not important), "make modules_install" results in:
>>
>>mkdir -p /lib/modules/2.4.15-pre6/kernel/drivers/sound/
>>cp soundcore.o sound.o cs4232.o ad1848.o pss.o ad1848.o mpu401.o cs4232.o uart401.o ad1848.o mpu401.o uart6850.o
>>v_midi.o btaudio.o /lib/modules/2.4.15-pre6/kernel/drivers/sound/
>>cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with `ad1848.o'
>>cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/cs4232.o' with `cs4232.o'
>>cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with `ad1848.o'
>>cp: will not overwrite just-created `/lib/modules/2.4.15-pre6/kernel/drivers/sound/mpu401.o' with `mpu401.o'
>>make[2]: *** [_modinst__] Error 1
>>
>>This hasn't been a problem with earlier version of /bin/cp (upto
>>fileutils-4.1-4.i386.rpm in RH7.2), but /bin/cp from
>>fileutils-4.1.1-1.i386.rpm (in the Rawhide collection) is more
>>pedantic about multiple copies of the same file.
>>
>>This patch works around this "feature". It would be better if the
>>Makefiles were changed to only install modules once, but thats a
>>deeper problem.
>>
>
>No, the fix is to upgrade to fileutils-4.1-4.i386.rpm. cp should not
>be complaining unless you ask it to. The default should be to do what
>you ask. For the same reason, cp does not have "cp -i" as the default
>behaviour.
>

Unfortunately 4.1.1 comes after 4.1, so what you suggest is a downgrade.

If you want to argue with the fileutils maintainers, please go ahead.
I'm just giving a heads-up to
linux-kernel folks that this problem is coming and offering a work-around.

I could agree that any behavior change to a 30 year old utility is a
bug, even if some argue that
it is an improvement. However, this is not the place to argue about cp.

I'm more concerned about the Makefile bug that installs modules multiple
times. Perhaps this is
fixed by Eric's CML, in which case all that is needed is a work-around
for a while.

John



2001-11-20 04:39:37

by Frédéric L. W. Meunier

[permalink] [raw]
Subject: Re: [PATCH] "make modules_install" breaks with new /bin/cp

John Ellson wrote:

> Unfortunately 4.1.1 comes after 4.1, so what you suggest is a
> downgrade.

Don't you know 4.1.1 is a test release from
ftp://alpha.gnu.org/gnu/fetish/ ?

>From README-alpha:

This is a test release of this package.

It's been too long (too many changes) since the last release.
Be careful with this one (4.1.1). I may well have broken

something.

Please send comments and problem reports to jim @ meyering.net.

> If you want to argue with the fileutils maintainers, please
> go ahead. I'm just giving a heads-up to linux-kernel folks
> that this problem is coming and offering a work-around.

Why don't you report the "problem" to Jim or ask Red Hat to
patch their RawHide package.

--
0@pervalidus.{net, {dyndns.}org} Tel: 55-21-2717-2399 (Niter?i-RJ BR)