public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
* DESTDIR patch from 2007
@ 2009-05-26 19:39 Brendan Conoboy
  2009-05-28  9:25 ` Keith Seitz
  0 siblings, 1 reply; 2+ messages in thread
From: Brendan Conoboy @ 2009-05-26 19:39 UTC (permalink / raw)
  To: insight

[-- Attachment #1: Type: text/plain, Size: 601 bytes --]

Hi folks,

I recently needed to build gdb and its tcl/tk dependencies such that the 
install directory was different from the configured prefix.  One 
normally does this by setting INSTALL_ROOT or DESTDIR, but some of the 
dependencies (itcl/tcl/tk) didn't honor these fully.  This patch, from 
2007 got me most of the way there:

http://sources.redhat.com/ml/insight/2007-q1/msg00041.html

Attached is an updated version of this patch that covers a few of the 
additional changes in the last year.  Is this something that can be 
committed here?

-- 
Brendan Conoboy / Red Hat, Inc. / blc@redhat.com

[-- Attachment #2: tcltk-destdir.patch --]
[-- Type: text/plain, Size: 15804 bytes --]

Index: itcl/itcl/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/itcl/itcl/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.5
***************
*** 149,155 ****
  includedir = @includedir@
  oldincludedir = /usr/include
  
! DESTDIR =
  
  pkgdatadir = $(datadir)/@PACKAGE@@VERSION@
  pkglibdir = $(libdir)/@PACKAGE@@VERSION@
--- 149,155 ----
  includedir = @includedir@
  oldincludedir = /usr/include
  
! DESTDIR = $(DESTDIR)
  
  pkgdatadir = $(datadir)/@PACKAGE@@VERSION@
  pkglibdir = $(libdir)/@PACKAGE@@VERSION@
***************
*** 272,287 ****
  #========================================================================
  
  install-libraries: libraries
! 	$(mkinstalldirs) $(includedir)
! 	@echo "Installing header files in $(includedir)"
  	@for i in $(GENERIC_HDRS) ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(includedir) ; \
  	done;
! 	@echo "Installing library files in $(ITCL_LIBRARY)"
  	@for i in $(srcdir)/library/*.tcl ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(ITCL_LIBRARY) ; \
  	done;
  
  #========================================================================
--- 272,287 ----
  #========================================================================
  
  install-libraries: libraries
! 	$(mkinstalldirs) $(DESTDIR)$(includedir)
! 	@echo "Installing header files in $(DESTDIR)$(includedir)"
  	@for i in $(GENERIC_HDRS) ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \
  	done;
! 	@echo "Installing library files in $(DESTDIR)$(ITCL_LIBRARY)"
  	@for i in $(srcdir)/library/*.tcl ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(DESTDIR)$(ITCL_LIBRARY) ; \
  	done;
  
  #========================================================================
***************
*** 290,301 ****
  #========================================================================
  
  install-doc: doc
! 	$(mkinstalldirs) $(mandir)/mann
! 	@echo "Installing man pages in $(mandir)"
  	@for i in $(srcdir)/doc/*.n; \
  	    do \
  	    echo "Installing $$i"; \
! 	    $(INSTALL_DATA) $$i $(mandir)/mann ; \
  	    done
  
  test: $(TCLSH_PROG)
--- 290,301 ----
  #========================================================================
  
  install-doc: doc
! 	$(mkinstalldirs) $(DESTDIR)$(mandir)/mann
! 	@echo "Installing man pages in $(DESTDIR)$(mandir)"
  	@for i in $(srcdir)/doc/*.n; \
  	    do \
  	    echo "Installing $$i"; \
! 	    $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/mann ; \
  	    done
  
  test: $(TCLSH_PROG)
***************
*** 445,451 ****
  	    $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
  	  else :; fi; \
  	done
! 	$(INSTALL_DATA) pkgIndex.tcl $(pkglibdir)
  
  #========================================================================
  # Install binary executables (e.g. .exe files)
--- 445,451 ----
  	    $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
  	  else :; fi; \
  	done
! 	$(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir)
  
  #========================================================================
  # Install binary executables (e.g. .exe files)
***************
*** 483,489 ****
  	$(mkinstalldirs)  $(DESTDIR)$(libdir)
  	$(mkinstalldirs)  $(DESTDIR)$(bindir)
  	$(mkinstalldirs)  $(DESTDIR)$(pkglibdir)
! 	$(mkinstalldirs)  $(ITCL_LIBRARY)
  
  .PHONY: all binaries clean depend distclean doc install installdirs \
  libraries test
--- 483,489 ----
  	$(mkinstalldirs)  $(DESTDIR)$(libdir)
  	$(mkinstalldirs)  $(DESTDIR)$(bindir)
  	$(mkinstalldirs)  $(DESTDIR)$(pkglibdir)
! 	$(mkinstalldirs)  $(DESTDIR)$(ITCL_LIBRARY)
  
  .PHONY: all binaries clean depend distclean doc install installdirs \
  libraries test
Index: itcl/itk/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/itcl/itk/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.4
diff -c -r1.2 -r1.4
*** itcl/itk/Makefile.in	16 Feb 2003 06:18:14 -0000	1.2
--- itcl/itk/Makefile.in	23 May 2009 21:48:26 -0000	1.4
***************
*** 137,143 ****
  includedir = @includedir@
  oldincludedir = /usr/include
  
! DESTDIR =
  
  pkgdatadir = $(datadir)/@PACKAGE@@VERSION@
  pkglibdir = $(libdir)/@PACKAGE@@VERSION@
--- 137,143 ----
  includedir = @includedir@
  oldincludedir = /usr/include
  
! DESTDIR = $(DESTDIR)
  
  pkgdatadir = $(datadir)/@PACKAGE@@VERSION@
  pkglibdir = $(libdir)/@PACKAGE@@VERSION@
***************
*** 267,282 ****
  #========================================================================
  
  install-libraries: libraries
! 	$(mkinstalldirs) $(includedir)
! 	@echo "Installing header files in $(includedir)"
  	@for i in $(GENERIC_HDRS) ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(includedir) ; \
  	done;
! 	@echo "Installing library files in $(ITK_LIBRARY)"
  	@for i in $(srcdir)/library/*.* $(srcdir)/library/tclIndex ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(ITK_LIBRARY) ; \
  	done;
  
  #========================================================================
--- 267,282 ----
  #========================================================================
  
  install-libraries: libraries
! 	$(mkinstalldirs) $(DESTDIR)$(includedir)
! 	@echo "Installing header files in $(DESTDIR)$(includedir)"
  	@for i in $(GENERIC_HDRS) ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(DESTDIR)$(includedir) ; \
  	done;
! 	@echo "Installing library files in $(DESTDIR)$(ITK_LIBRARY)"
  	@for i in $(srcdir)/library/*.* $(srcdir)/library/tclIndex ; do \
  	    echo "Installing $$i" ; \
! 	    $(INSTALL_DATA) $$i $(DESTDIR)$(ITK_LIBRARY) ; \
  	done;
  
  #========================================================================
***************
*** 285,296 ****
  #========================================================================
  
  install-doc: doc
! 	$(mkinstalldirs) $(mandir)/mann
! 	@echo "Installing man pages in $(mandir)"
  	@for i in $(srcdir)/doc/*.n; \
  	    do \
! 	    echo "Installing $$i info $(mandir)/mann"; \
! 	    $(INSTALL_DATA) $$i $(mandir)/mann ; \
  	    done
  
  test: $(TCLSH_PROG)
--- 285,296 ----
  #========================================================================
  
  install-doc: doc
! 	$(mkinstalldirs) $(DESTDIR)$(mandir)/mann
! 	@echo "Installing man pages in $(DESTDIR)$(mandir)"
  	@for i in $(srcdir)/doc/*.n; \
  	    do \
! 	    echo "Installing $$i info $(DESTDIR)$(mandir)/mann"; \
! 	    $(INSTALL_DATA) $$i $(DESTDIR)$(mandir)/mann ; \
  	    done
  
  test: $(TCLSH_PROG)
***************
*** 419,425 ****
  	    $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
  	  else :; fi; \
  	done
! 	$(INSTALL_DATA) pkgIndex.tcl $(pkglibdir)
  
  #========================================================================
  # Install binary executables (e.g. .exe files)
--- 419,425 ----
  	    $(RANLIB) $(DESTDIR)$(libdir)/$$p; \
  	  else :; fi; \
  	done
! 	$(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir)
  
  #========================================================================
  # Install binary executables (e.g. .exe files)
***************
*** 457,463 ****
  	$(mkinstalldirs)  $(DESTDIR)$(libdir)
  	$(mkinstalldirs)  $(DESTDIR)$(bindir)
  	$(mkinstalldirs)  $(DESTDIR)$(pkglibdir)
! 	$(mkinstalldirs)  $(ITK_LIBRARY)
  
  .PHONY: all binaries clean depend distclean doc install installdirs \
  libraries test
--- 457,463 ----
  	$(mkinstalldirs)  $(DESTDIR)$(libdir)
  	$(mkinstalldirs)  $(DESTDIR)$(bindir)
  	$(mkinstalldirs)  $(DESTDIR)$(pkglibdir)
! 	$(mkinstalldirs)  $(DESTDIR)$(ITK_LIBRARY)
  
  .PHONY: all binaries clean depend distclean doc install installdirs \
  libraries test
Index: itcl/iwidgets/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/itcl/iwidgets/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -r1.2 -r1.3
*** itcl/iwidgets/Makefile.in	2 Feb 2004 15:04:11 -0000	1.2
--- itcl/iwidgets/Makefile.in	23 May 2009 20:17:52 -0000	1.3
***************
*** 36,48 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT =
  
  # Path name to use when installing library scripts:
  
  # REDHAT LOCAL
  #SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/lib/iwidgets$(IWIDGETS_VERSION)
! SCRIPT_INSTALL_DIR = @datadir@/iwidgets$(IWIDGETS_VERSION)
  # END REDHAT LOCAL
  
  # Directory in which to install the archive libtcl.a:
--- 36,48 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT = $(DESTDIR)
  
  # Path name to use when installing library scripts:
  
  # REDHAT LOCAL
  #SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/lib/iwidgets$(IWIDGETS_VERSION)
! SCRIPT_INSTALL_DIR = $(INSTALL_ROOT)@datadir@/iwidgets$(IWIDGETS_VERSION)
  # END REDHAT LOCAL
  
  # Directory in which to install the archive libtcl.a:
Index: itcl/iwidgets3.0.0/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/itcl/iwidgets3.0.0/Makefile.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -c -r1.3 -r1.4
*** itcl/iwidgets3.0.0/Makefile.in	2 Feb 2005 13:17:38 -0000	1.3
--- itcl/iwidgets3.0.0/Makefile.in	23 May 2009 21:50:31 -0000	1.4
***************
*** 37,43 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT =
  
  # Path name to use when installing library scripts:
  
--- 37,43 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT = $(DESTDIR)
  
  # Path name to use when installing library scripts:
  
Index: itcl/iwidgets3.0.0/unix/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/itcl/iwidgets3.0.0/unix/Makefile.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -c -r1.3 -r1.4
*** itcl/iwidgets3.0.0/unix/Makefile.in	2 Feb 2005 13:17:40 -0000	1.3
--- itcl/iwidgets3.0.0/unix/Makefile.in	23 May 2009 21:50:31 -0000	1.4
***************
*** 40,46 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT =
  
   # CYGNUS LOCAL - The default library directory is the share directory...
  # Directory from which applications will reference the library of
--- 40,46 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT = $(DESTDIR)
  
   # CYGNUS LOCAL - The default library directory is the share directory...
  # Directory from which applications will reference the library of
Index: tcl/cygwin/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/tcl/cygwin/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -r1.2 -r1.3
*** tcl/cygwin/Makefile.in	16 Feb 2003 01:31:26 -0000	1.2
--- tcl/cygwin/Makefile.in	23 May 2009 21:48:26 -0000	1.3
***************
*** 32,38 ****
  includedir = @includedir@
  oldincludedir = /usr/include
  
! DESTDIR =
  
  pkgdatadir = $(datadir)/@PACKAGE@
  pkglibdir = $(libdir)/@PACKAGE@
--- 32,38 ----
  includedir = @includedir@
  oldincludedir = /usr/include
  
! DESTDIR = $(DESTDIR)
  
  pkgdatadir = $(datadir)/@PACKAGE@
  pkglibdir = $(libdir)/@PACKAGE@
Index: tcl/unix/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/tcl/unix/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -r1.2 -r1.3
*** tcl/unix/Makefile.in	16 Feb 2003 01:31:34 -0000	1.2
--- tcl/unix/Makefile.in	23 May 2009 20:20:01 -0000	1.3
***************
*** 38,44 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT		=
  
  # Path for the platform independent Tcl scripting libraries:
  # REDHAT LOCAL
--- 38,44 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT		= $(DESTDIR)
  
  # Path for the platform independent Tcl scripting libraries:
  # REDHAT LOCAL
Index: tcl/win/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/tcl/win/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -r1.2 -r1.3
*** tcl/win/Makefile.in	16 Feb 2003 01:31:35 -0000	1.2
--- tcl/win/Makefile.in	23 May 2009 21:50:31 -0000	1.3
***************
*** 34,40 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT	=
  
  # Directory from which applications will reference the library of Tcl
  # scripts (note: you can set the TCL_LIBRARY environment variable at
--- 34,40 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT	= $(DESTDIR)
  
  # Directory from which applications will reference the library of Tcl
  # scripts (note: you can set the TCL_LIBRARY environment variable at
Index: tk/unix/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/tk/unix/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -r1.2 -r1.3
*** tk/unix/Makefile.in	16 Feb 2003 05:31:30 -0000	1.2
--- tk/unix/Makefile.in	23 May 2009 20:20:01 -0000	1.3
***************
*** 41,47 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT		=
  
  # Directory from which applications will reference the library of Tcl
  # scripts (note: you can set the TK_LIBRARY environment variable at
--- 41,47 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT		= $(DESTDIR)
  
  # Directory from which applications will reference the library of Tcl
  # scripts (note: you can set the TK_LIBRARY environment variable at
Index: tk/win/Makefile.in
===================================================================
RCS file: /cvs/cvsfiles/gnupro/tk/win/Makefile.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -c -r1.3 -r1.4
*** tk/win/Makefile.in	17 Dec 2003 21:39:03 -0000	1.3
--- tk/win/Makefile.in	23 May 2009 21:50:31 -0000	1.4
***************
*** 34,40 ****
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT		=
  
  # Directory from which applications will reference the library of Tk
  # scripts (note: you can set the TK_LIBRARY environment variable at
--- 34,40 ----
  # to be different than those used for actually reference files at
  # run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
  # when installing files.
! INSTALL_ROOT		= $(DESTDIR)
  
  # Directory from which applications will reference the library of Tk
  # scripts (note: you can set the TK_LIBRARY environment variable at

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: DESTDIR patch from 2007
  2009-05-26 19:39 DESTDIR patch from 2007 Brendan Conoboy
@ 2009-05-28  9:25 ` Keith Seitz
  0 siblings, 0 replies; 2+ messages in thread
From: Keith Seitz @ 2009-05-28  9:25 UTC (permalink / raw)
  To: Brendan Conoboy; +Cc: insight

Brendan Conoboy wrote:

> Attached is an updated version of this patch that covers a few of the 
> additional changes in the last year.  Is this something that can be 
> committed here?

Absolutely. I'll try to make sure that this works with Kevin's new Tcl 
import, too.

Keith

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-05-26 19:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-26 19:39 DESTDIR patch from 2007 Brendan Conoboy
2009-05-28  9:25 ` Keith Seitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).