/bin/install

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

/bin/install

Claes Wikström
Folks,

It appears if as the install command in GNU fileutils
behave differently in later releases.

The bug in the erlang Makefiles manifests itself in
gentoo linux systems which run an install command that is slightly
newer than on i.e. rh9.0.

Anyway, older install did complain when we tried to
install the same file twice.

Try for example:

# touch foo; install foo foo /tmp

This command fails on newer install. See:

# install --version
install (fileutils) 4.1.11
Written by David MacKenzie.

Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# touch foo; install -c foo foo /tmp
install: will not overwrite just-created `/tmp/foo' with `foo'
# echo $?
1

Thus erlang Makefiles fail to install a number of files:

The easiest way to reproduce is to do:

# make install > /tmp/stdout

Anything that gets written to stderr is an error.

I attach a patch. apply as :

# cd otp_src_R9B-1;
# patch -p0 < /path/to/install.patch


/klacke



Claes Wikstrom                        -- Caps lock is nowhere and
http://www.hyber.org                  -- everything is under control          
-------------- next part --------------
Index: lib/cosNotification/src/Makefile
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/cosNotification/src/Makefile,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 Makefile
*** lib/cosNotification/src/Makefile 8 Oct 2002 07:42:25 -0000 1.1.1.2
--- lib/cosNotification/src/Makefile 26 May 2003 09:28:44 -0000
***************
*** 363,369 ****
  $(INSTALL_DIR) $(RELSYSDIR)/ebin
  $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) $(RELSYSDIR)/ebin
  $(INSTALL_DIR) $(RELSYSDIR)/src
! $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) $(YECC_FILES) $(GEN_YECC_ERL_FILES) $(GEN_YECC_HRL_FILES) $(RELSYSDIR)/src
  $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) $(YECC_FILES) $(RELSYSDIR)/src
  $(INSTALL_DIR) $(RELSYSDIR)/include
  $(INSTALL_DATA) $(GEN_HRL_FILES) $(RELSYSDIR)/include
--- 363,369 ----
  $(INSTALL_DIR) $(RELSYSDIR)/ebin
  $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) $(RELSYSDIR)/ebin
  $(INSTALL_DIR) $(RELSYSDIR)/src
! $(INSTALL_DATA) $(GEN_FILES) $(IDL_FILES) $(YECC_FILES)  $(GEN_YECC_HRL_FILES) $(RELSYSDIR)/src
  $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(GEN_ERL_FILES) $(IDL_FILES) $(YECC_FILES) $(RELSYSDIR)/src
  $(INSTALL_DIR) $(RELSYSDIR)/include
  $(INSTALL_DATA) $(GEN_HRL_FILES) $(RELSYSDIR)/include
Index: lib/gs/src/Makefile
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/gs/src/Makefile,v
retrieving revision 1.3
diff -c -r1.3 Makefile
*** lib/gs/src/Makefile 8 Oct 2002 11:46:31 -0000 1.3
--- lib/gs/src/Makefile 26 May 2003 09:28:45 -0000
***************
*** 114,120 ****
  $(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \
  $(GSTK_GENERIC) $(RELSYSDIR)/src
  $(INSTALL_DIR) $(RELSYSDIR)/ebin
! $(INSTALL_DATA) $(TARGET_FILES) $(KEEP_AS_IS) $(RELSYSDIR)/ebin
 
 
  release_docs_spec:
--- 114,120 ----
  $(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \
  $(GSTK_GENERIC) $(RELSYSDIR)/src
  $(INSTALL_DIR) $(RELSYSDIR)/ebin
! $(INSTALL_DATA) $(TARGET_FILES)  $(RELSYSDIR)/ebin
 
 
  release_docs_spec:
Index: lib/kernel/ebin/erl_prim_loader.beam
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/kernel/ebin/erl_prim_loader.beam,v
retrieving revision 1.13
diff -c -r1.13 erl_prim_loader.beam
Binary files /tmp/cvsLj4irE and erl_prim_loader.beam differ
Index: lib/kernel/ebin/init.beam
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/kernel/ebin/init.beam,v
retrieving revision 1.8
diff -c -r1.8 init.beam
Binary files /tmp/cvsbDF0un and init.beam differ
Index: lib/kernel/ebin/prim_file.beam
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/kernel/ebin/prim_file.beam,v
retrieving revision 1.2
diff -c -r1.2 prim_file.beam
Binary files /tmp/cvsyh7Qy6 and prim_file.beam differ
Index: lib/megaco/src/text/Makefile
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/megaco/src/text/Makefile,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 Makefile
*** lib/megaco/src/text/Makefile 25 Feb 2003 08:28:02 -0000 1.1.1.2
--- lib/megaco/src/text/Makefile 26 May 2003 09:28:48 -0000
***************
*** 48,57 ****
  $(INTERNAL_YRL_FILES:%.yrl=%.erl)
 
  BEAM_TARGET_FILES = \
- $(INTERNAL_YRL_FILES:%.yrl=$(EBIN)/%.$(EMULATOR)) \
  $(MODULES:%=$(EBIN)/%.$(EMULATOR))
 
! TARGET_FILES = $(ERL_TARGET_FILES) $(BEAM_TARGET_FILES)
 
 
  # ----------------------------------------------------
--- 48,62 ----
  $(INTERNAL_YRL_FILES:%.yrl=%.erl)
 
  BEAM_TARGET_FILES = \
  $(MODULES:%=$(EBIN)/%.$(EMULATOR))
 
! YRL_BEAM_TARGET_FILES = \
! $(INTERNAL_YRL_FILES:%.yrl=$(EBIN)/%.$(EMULATOR))
!
!
!
! TARGET_FILES = $(ERL_TARGET_FILES) $(BEAM_TARGET_FILES) $(YRL_BEAM_TARGETS)
!
 
 
  # ----------------------------------------------------
***************
*** 61,66 ****
--- 66,75 ----
  ERL_COMPILE_FLAGS += -Ddebug
  endif
 
+ # ifeq ($(USE_HIPE),true)
+ # ERL_COMPILE_FLAGS += +native
+ # endif
+
  ifeq ($(WARN_UNUSED_WARS),true)
  ERL_COMPILE_FLAGS += +warn_unused_vars
  endif
***************
*** 89,94 ****
--- 98,105 ----
  @echo "INTERNAL_YRL_FILES = $(INTERNAL_YRL_FILES)"
  @echo ""
  @echo "INTERNAL_HRL_FILES = $(INTERNAL_HRL_FILES)"
+ @echo ""
+ @echo "BEAM_TARGET_FILES = $(BEAM_TARGET_FILES) "
  @echo ""
 
 
Index: lib/orber/priv/Makefile
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/orber/priv/Makefile,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 Makefile
*** lib/orber/priv/Makefile 8 Oct 2002 07:42:24 -0000 1.1.1.1
--- lib/orber/priv/Makefile 26 May 2003 09:28:48 -0000
***************
*** 37,43 ****
  blank.html \
  info_frames.html \
  main_frame.html \
- orber_help.txt \
  start_info.html
 
  #
--- 37,42 ----
Index: lib/snmp/mibs/Makefile
===================================================================
RCS file: /home/share/erlang/cvsroot/otp/lib/snmp/mibs/Makefile,v
retrieving revision 1.1.1.2
diff -c -r1.1.1.2 Makefile
*** lib/snmp/mibs/Makefile 25 Feb 2003 08:27:24 -0000 1.1.1.2
--- lib/snmp/mibs/Makefile 26 May 2003 09:28:49 -0000
***************
*** 59,71 ****
  FUNCS_FILES = \
  STANDARD-MIB.funcs \
  SNMPv2-MIB.funcs \
- SNMP-COMMUNITY-MIB.mib \
- SNMP-FRAMEWORK-MIB.mib \
- SNMP-MPD-MIB.mib \
  SNMP-NOTIFICATION-MIB.funcs \
! SNMP-TARGET-MIB.funcs \
! SNMP-USER-BASED-SM-MIB.mib \
! SNMP-VIEW-BASED-ACM-MIB.mib
 
  V1_MIB_FILES= v1/OTP-SNMPEA-MIB.mib.v1
 
--- 59,67 ----
  FUNCS_FILES = \
  STANDARD-MIB.funcs \
  SNMPv2-MIB.funcs \
  SNMP-NOTIFICATION-MIB.funcs \
! SNMP-TARGET-MIB.funcs
!
 
  V1_MIB_FILES= v1/OTP-SNMPEA-MIB.mib.v1
 

Reply | Threaded
Open this post in threaded view
|

/bin/install

Kent Boortz-2

klacke writes:
> It appears if as the install command in GNU fileutils
> behave differently in later releases.
>
> The bug in the erlang Makefiles manifests itself in
> gentoo linux systems which run an install command that is slightly
> newer than on i.e. rh9.0.
.
.
> # touch foo; install -c foo foo /tmp
> install: will not overwrite just-created `/tmp/foo' with `foo'
> # echo $?
> 1

I have installed version 5.0 of the GNU install program (part of
coreutils 5.0) for one of our daily builds to make sure the R9C
release will be correct in this respect.

Thank you for the patch and for reporting this,

kent